Latest commit

History

187 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Computational Geosciences

Welcome to the Computational Geosciences resource at the University of Stavanger (UiS), Norway. This is an educational project funded by the Faculty of Science and Technology at UiS. The resource is made by students and faculty from the departments of Energy Resources (IER) and Mechanical and Structural Engineering (IMBM).

Students: Angela Hoch (IER), Adham Amer (IMBM), Vania Mansoor and Linda Olsen (IER).

Postdocs: David Oakley (IER)

Faculty: Nestor Cardozo (IER), Lisa Watson (IER), Wiktor Weibull (IER), and Knut Giljarhus (IMBM).

Please feel free to use this material for teaching and research. If you have any comments or want to contribute to the resource, please contact me at nestor.cardozo@uis.no

Manual: Working with the resource

The resource consists of a book in pdf format (compGeo.pdf), and a source folder where data, functions and notebooks are included. The book is a large, full-resolution file (18 MB).

The programming language of choice is Python, and our approach is as follows: We introduce briefly the theory and applications, implement them in Python functions, and illustrate them using Jupyter notebooks.

Clone the repository

The best way to work with the resource is to clone this repository. This saves all material to your local machine. It behaves almost like a copy.

  1. Open a terminal.
  2. Navigate to the folder where you would like to store the local copy of the repository. (cd <foldername>)
  3. Press the green button 'Code' on the right hand side and copy the path in the Clone section.
  4. Execute the terminal command git clone <fill in path here>.
  5. Now you can start working with the resource files. They are saved in the folder you chose in step 2.

Updating your local files

Once in a while you should update your local files to the latest changes in the repository. This is important since we will be making changes and including new chapters along.

  1. Open a terminal.
  2. Navigate inside the folder of the repository on your machine. (cd <foldername>)
  3. Execute the terminal command git pull

Background information

The notebooks follow the directory structure of the resource, which is based on data, functions and notebooks folders. We recommend that you follow the same directory structure when running the notebooks.

Current state

The first nine chapters are completed. The latest revision of these chapters on Aug. 2024 was significant. Please update. The last chapter (Ch. 10) on the inversion problem is in progress.

Last updated: December 19, 2025 (fixed several issues with uncertainties package).

About

Computational geosciences resource at UiS

Resources

Stars

52 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

187 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Computational Geosciences

Welcome to the Computational Geosciences resource at the University of Stavanger (UiS), Norway. This is an educational project funded by the Faculty of Science and Technology at UiS. The resource is made by students and faculty from the departments of Energy Resources (IER) and Mechanical and Structural Engineering (IMBM).

Students: Angela Hoch (IER), Adham Amer (IMBM), Vania Mansoor and Linda Olsen (IER).

Postdocs: David Oakley (IER)

Faculty: Nestor Cardozo (IER), Lisa Watson (IER), Wiktor Weibull (IER), and Knut Giljarhus (IMBM).

Please feel free to use this material for teaching and research. If you have any comments or want to contribute to the resource, please contact me at nestor.cardozo@uis.no

Manual: Working with the resource

The resource consists of a book in pdf format (compGeo.pdf), and a source folder where data, functions and notebooks are included. The book is a large, full-resolution file (18 MB).

The programming language of choice is Python, and our approach is as follows: We introduce briefly the theory and applications, implement them in Python functions, and illustrate them using Jupyter notebooks.

Clone the repository

The best way to work with the resource is to clone this repository. This saves all material to your local machine. It behaves almost like a copy.

  1. Open a terminal.
  2. Navigate to the folder where you would like to store the local copy of the repository. (cd <foldername>)
  3. Press the green button 'Code' on the right hand side and copy the path in the Clone section.
  4. Execute the terminal command git clone <fill in path here>.
  5. Now you can start working with the resource files. They are saved in the folder you chose in step 2.

Updating your local files

Once in a while you should update your local files to the latest changes in the repository. This is important since we will be making changes and including new chapters along.

  1. Open a terminal.
  2. Navigate inside the folder of the repository on your machine. (cd <foldername>)
  3. Execute the terminal command git pull

Background information

The notebooks follow the directory structure of the resource, which is based on data, functions and notebooks folders. We recommend that you follow the same directory structure when running the notebooks.

Current state

The first nine chapters are completed. The latest revision of these chapters on Aug. 2024 was significant. Please update. The last chapter (Ch. 10) on the inversion problem is in progress.

Last updated: December 19, 2025 (fixed several issues with uncertainties package).

About

Computational geosciences resource at UiS

Resources

Stars

52 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

187 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Computational Geosciences

Welcome to the Computational Geosciences resource at the University of Stavanger (UiS), Norway. This is an educational project funded by the Faculty of Science and Technology at UiS. The resource is made by students and faculty from the departments of Energy Resources (IER) and Mechanical and Structural Engineering (IMBM).

Students: Angela Hoch (IER), Adham Amer (IMBM), Vania Mansoor and Linda Olsen (IER).

Postdocs: David Oakley (IER)

Faculty: Nestor Cardozo (IER), Lisa Watson (IER), Wiktor Weibull (IER), and Knut Giljarhus (IMBM).

Please feel free to use this material for teaching and research. If you have any comments or want to contribute to the resource, please contact me at nestor.cardozo@uis.no

Manual: Working with the resource

The resource consists of a book in pdf format (compGeo.pdf), and a source folder where data, functions and notebooks are included. The book is a large, full-resolution file (18 MB).

The programming language of choice is Python, and our approach is as follows: We introduce briefly the theory and applications, implement them in Python functions, and illustrate them using Jupyter notebooks.

Clone the repository

The best way to work with the resource is to clone this repository. This saves all material to your local machine. It behaves almost like a copy.

  1. Open a terminal.
  2. Navigate to the folder where you would like to store the local copy of the repository. (cd <foldername>)
  3. Press the green button 'Code' on the right hand side and copy the path in the Clone section.
  4. Execute the terminal command git clone <fill in path here>.
  5. Now you can start working with the resource files. They are saved in the folder you chose in step 2.

Updating your local files

Once in a while you should update your local files to the latest changes in the repository. This is important since we will be making changes and including new chapters along.

  1. Open a terminal.
  2. Navigate inside the folder of the repository on your machine. (cd <foldername>)
  3. Execute the terminal command git pull

Background information

The notebooks follow the directory structure of the resource, which is based on data, functions and notebooks folders. We recommend that you follow the same directory structure when running the notebooks.

Current state

The first nine chapters are completed. The latest revision of these chapters on Aug. 2024 was significant. Please update. The last chapter (Ch. 10) on the inversion problem is in progress.

Last updated: December 19, 2025 (fixed several issues with uncertainties package).

About

Computational geosciences resource at UiS

Resources

Stars

52 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

187 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Computational Geosciences

Welcome to the Computational Geosciences resource at the University of Stavanger (UiS), Norway. This is an educational project funded by the Faculty of Science and Technology at UiS. The resource is made by students and faculty from the departments of Energy Resources (IER) and Mechanical and Structural Engineering (IMBM).

Students: Angela Hoch (IER), Adham Amer (IMBM), Vania Mansoor and Linda Olsen (IER).

Postdocs: David Oakley (IER)

Faculty: Nestor Cardozo (IER), Lisa Watson (IER), Wiktor Weibull (IER), and Knut Giljarhus (IMBM).

Please feel free to use this material for teaching and research. If you have any comments or want to contribute to the resource, please contact me at nestor.cardozo@uis.no

Manual: Working with the resource

The resource consists of a book in pdf format (compGeo.pdf), and a source folder where data, functions and notebooks are included. The book is a large, full-resolution file (18 MB).

The programming language of choice is Python, and our approach is as follows: We introduce briefly the theory and applications, implement them in Python functions, and illustrate them using Jupyter notebooks.

Clone the repository

The best way to work with the resource is to clone this repository. This saves all material to your local machine. It behaves almost like a copy.

  1. Open a terminal.
  2. Navigate to the folder where you would like to store the local copy of the repository. (cd <foldername>)
  3. Press the green button 'Code' on the right hand side and copy the path in the Clone section.
  4. Execute the terminal command git clone <fill in path here>.
  5. Now you can start working with the resource files. They are saved in the folder you chose in step 2.

Updating your local files

Once in a while you should update your local files to the latest changes in the repository. This is important since we will be making changes and including new chapters along.

  1. Open a terminal.
  2. Navigate inside the folder of the repository on your machine. (cd <foldername>)
  3. Execute the terminal command git pull

Background information

The notebooks follow the directory structure of the resource, which is based on data, functions and notebooks folders. We recommend that you follow the same directory structure when running the notebooks.

Current state

The first nine chapters are completed. The latest revision of these chapters on Aug. 2024 was significant. Please update. The last chapter (Ch. 10) on the inversion problem is in progress.

Last updated: December 19, 2025 (fixed several issues with uncertainties package).

About

Computational geosciences resource at UiS

Resources

Stars

52 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

187 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Computational Geosciences

Welcome to the Computational Geosciences resource at the University of Stavanger (UiS), Norway. This is an educational project funded by the Faculty of Science and Technology at UiS. The resource is made by students and faculty from the departments of Energy Resources (IER) and Mechanical and Structural Engineering (IMBM).

Students: Angela Hoch (IER), Adham Amer (IMBM), Vania Mansoor and Linda Olsen (IER).

Postdocs: David Oakley (IER)

Faculty: Nestor Cardozo (IER), Lisa Watson (IER), Wiktor Weibull (IER), and Knut Giljarhus (IMBM).

Please feel free to use this material for teaching and research. If you have any comments or want to contribute to the resource, please contact me at nestor.cardozo@uis.no

Manual: Working with the resource

The resource consists of a book in pdf format (compGeo.pdf), and a source folder where data, functions and notebooks are included. The book is a large, full-resolution file (18 MB).

The programming language of choice is Python, and our approach is as follows: We introduce briefly the theory and applications, implement them in Python functions, and illustrate them using Jupyter notebooks.

Clone the repository

The best way to work with the resource is to clone this repository. This saves all material to your local machine. It behaves almost like a copy.

  1. Open a terminal.
  2. Navigate to the folder where you would like to store the local copy of the repository. (cd <foldername>)
  3. Press the green button 'Code' on the right hand side and copy the path in the Clone section.
  4. Execute the terminal command git clone <fill in path here>.
  5. Now you can start working with the resource files. They are saved in the folder you chose in step 2.

Updating your local files

Once in a while you should update your local files to the latest changes in the repository. This is important since we will be making changes and including new chapters along.

  1. Open a terminal.
  2. Navigate inside the folder of the repository on your machine. (cd <foldername>)
  3. Execute the terminal command git pull

Background information

The notebooks follow the directory structure of the resource, which is based on data, functions and notebooks folders. We recommend that you follow the same directory structure when running the notebooks.

Current state

The first nine chapters are completed. The latest revision of these chapters on Aug. 2024 was significant. Please update. The last chapter (Ch. 10) on the inversion problem is in progress.

Last updated: December 19, 2025 (fixed several issues with uncertainties package).

About

Computational geosciences resource at UiS

Resources

Stars

52 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

187 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Computational Geosciences

Welcome to the Computational Geosciences resource at the University of Stavanger (UiS), Norway. This is an educational project funded by the Faculty of Science and Technology at UiS. The resource is made by students and faculty from the departments of Energy Resources (IER) and Mechanical and Structural Engineering (IMBM).

Students: Angela Hoch (IER), Adham Amer (IMBM), Vania Mansoor and Linda Olsen (IER).

Postdocs: David Oakley (IER)

Faculty: Nestor Cardozo (IER), Lisa Watson (IER), Wiktor Weibull (IER), and Knut Giljarhus (IMBM).

Please feel free to use this material for teaching and research. If you have any comments or want to contribute to the resource, please contact me at nestor.cardozo@uis.no

Manual: Working with the resource

The resource consists of a book in pdf format (compGeo.pdf), and a source folder where data, functions and notebooks are included. The book is a large, full-resolution file (18 MB).

The programming language of choice is Python, and our approach is as follows: We introduce briefly the theory and applications, implement them in Python functions, and illustrate them using Jupyter notebooks.

Clone the repository

The best way to work with the resource is to clone this repository. This saves all material to your local machine. It behaves almost like a copy.

  1. Open a terminal.
  2. Navigate to the folder where you would like to store the local copy of the repository. (cd <foldername>)
  3. Press the green button 'Code' on the right hand side and copy the path in the Clone section.
  4. Execute the terminal command git clone <fill in path here>.
  5. Now you can start working with the resource files. They are saved in the folder you chose in step 2.

Updating your local files

Once in a while you should update your local files to the latest changes in the repository. This is important since we will be making changes and including new chapters along.

  1. Open a terminal.
  2. Navigate inside the folder of the repository on your machine. (cd <foldername>)
  3. Execute the terminal command git pull

Background information

The notebooks follow the directory structure of the resource, which is based on data, functions and notebooks folders. We recommend that you follow the same directory structure when running the notebooks.

Current state

The first nine chapters are completed. The latest revision of these chapters on Aug. 2024 was significant. Please update. The last chapter (Ch. 10) on the inversion problem is in progress.

Last updated: December 19, 2025 (fixed several issues with uncertainties package).

About

Computational geosciences resource at UiS

Resources

Stars

52 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

187 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Computational Geosciences

Welcome to the Computational Geosciences resource at the University of Stavanger (UiS), Norway. This is an educational project funded by the Faculty of Science and Technology at UiS. The resource is made by students and faculty from the departments of Energy Resources (IER) and Mechanical and Structural Engineering (IMBM).

Students: Angela Hoch (IER), Adham Amer (IMBM), Vania Mansoor and Linda Olsen (IER).

Postdocs: David Oakley (IER)

Faculty: Nestor Cardozo (IER), Lisa Watson (IER), Wiktor Weibull (IER), and Knut Giljarhus (IMBM).

Please feel free to use this material for teaching and research. If you have any comments or want to contribute to the resource, please contact me at nestor.cardozo@uis.no

Manual: Working with the resource

The resource consists of a book in pdf format (compGeo.pdf), and a source folder where data, functions and notebooks are included. The book is a large, full-resolution file (18 MB).

The programming language of choice is Python, and our approach is as follows: We introduce briefly the theory and applications, implement them in Python functions, and illustrate them using Jupyter notebooks.

Clone the repository

The best way to work with the resource is to clone this repository. This saves all material to your local machine. It behaves almost like a copy.

  1. Open a terminal.
  2. Navigate to the folder where you would like to store the local copy of the repository. (cd <foldername>)
  3. Press the green button 'Code' on the right hand side and copy the path in the Clone section.
  4. Execute the terminal command git clone <fill in path here>.
  5. Now you can start working with the resource files. They are saved in the folder you chose in step 2.

Updating your local files

Once in a while you should update your local files to the latest changes in the repository. This is important since we will be making changes and including new chapters along.

  1. Open a terminal.
  2. Navigate inside the folder of the repository on your machine. (cd <foldername>)
  3. Execute the terminal command git pull

Background information

The notebooks follow the directory structure of the resource, which is based on data, functions and notebooks folders. We recommend that you follow the same directory structure when running the notebooks.

Current state

The first nine chapters are completed. The latest revision of these chapters on Aug. 2024 was significant. Please update. The last chapter (Ch. 10) on the inversion problem is in progress.

Last updated: December 19, 2025 (fixed several issues with uncertainties package).

About

Computational geosciences resource at UiS

Resources

Stars

52 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

187 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Computational Geosciences

Welcome to the Computational Geosciences resource at the University of Stavanger (UiS), Norway. This is an educational project funded by the Faculty of Science and Technology at UiS. The resource is made by students and faculty from the departments of Energy Resources (IER) and Mechanical and Structural Engineering (IMBM).

Students: Angela Hoch (IER), Adham Amer (IMBM), Vania Mansoor and Linda Olsen (IER).

Postdocs: David Oakley (IER)

Faculty: Nestor Cardozo (IER), Lisa Watson (IER), Wiktor Weibull (IER), and Knut Giljarhus (IMBM).

Please feel free to use this material for teaching and research. If you have any comments or want to contribute to the resource, please contact me at nestor.cardozo@uis.no

Manual: Working with the resource

The resource consists of a book in pdf format (compGeo.pdf), and a source folder where data, functions and notebooks are included. The book is a large, full-resolution file (18 MB).

The programming language of choice is Python, and our approach is as follows: We introduce briefly the theory and applications, implement them in Python functions, and illustrate them using Jupyter notebooks.

Clone the repository

The best way to work with the resource is to clone this repository. This saves all material to your local machine. It behaves almost like a copy.

  1. Open a terminal.
  2. Navigate to the folder where you would like to store the local copy of the repository. (cd <foldername>)
  3. Press the green button 'Code' on the right hand side and copy the path in the Clone section.
  4. Execute the terminal command git clone <fill in path here>.
  5. Now you can start working with the resource files. They are saved in the folder you chose in step 2.

Updating your local files

Once in a while you should update your local files to the latest changes in the repository. This is important since we will be making changes and including new chapters along.

  1. Open a terminal.
  2. Navigate inside the folder of the repository on your machine. (cd <foldername>)
  3. Execute the terminal command git pull

Background information

The notebooks follow the directory structure of the resource, which is based on data, functions and notebooks folders. We recommend that you follow the same directory structure when running the notebooks.

Current state

The first nine chapters are completed. The latest revision of these chapters on Aug. 2024 was significant. Please update. The last chapter (Ch. 10) on the inversion problem is in progress.

Last updated: December 19, 2025 (fixed several issues with uncertainties package).

About

Computational geosciences resource at UiS

Resources

Stars

52 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages