{
  "access": {
    "embargo": {
      "active": false,
      "reason": null
    },
    "files": "public",
    "record": "public",
    "status": "open"
  },
  "created": "2026-06-01T06:16:07.117861+00:00",
  "custom_fields": {},
  "deletion_status": {
    "is_deleted": false,
    "status": "P"
  },
  "files": {
    "count": 1,
    "default_preview": "h2o_nacl_geothermal_simulator_v1.0.0.tar.gz",
    "enabled": true,
    "entries": {
      "h2o_nacl_geothermal_simulator_v1.0.0.tar.gz": {
        "access": {
          "hidden": false
        },
        "checksum": "md5:585d485a105aac2947339e70d9f5a42b",
        "ext": "gz",
        "id": "d968925b-4ee0-4c4c-85c1-6bb1553c7850",
        "key": "h2o_nacl_geothermal_simulator_v1.0.0.tar.gz",
        "links": {
          "content": "https://zenodo.org/api/records/20451960/files/h2o_nacl_geothermal_simulator_v1.0.0.tar.gz/content",
          "self": "https://zenodo.org/api/records/20451960/files/h2o_nacl_geothermal_simulator_v1.0.0.tar.gz"
        },
        "metadata": {},
        "mimetype": "application/gzip",
        "size": 4694933481,
        "storage_class": "L"
      }
    },
    "order": [],
    "total_bytes": 4694933481
  },
  "id": "20451960",
  "is_draft": false,
  "is_published": true,
  "links": {
    "access": "https://zenodo.org/api/records/20451960/access",
    "access_grants": "https://zenodo.org/api/records/20451960/access/grants",
    "access_links": "https://zenodo.org/api/records/20451960/access/links",
    "access_request": "https://zenodo.org/api/records/20451960/access/request",
    "access_users": "https://zenodo.org/api/records/20451960/access/users",
    "archive": "https://zenodo.org/api/records/20451960/files-archive",
    "archive_media": "https://zenodo.org/api/records/20451960/media-files-archive",
    "communities": "https://zenodo.org/api/records/20451960/communities",
    "communities-suggestions": "https://zenodo.org/api/records/20451960/communities-suggestions",
    "doi": "https://doi.org/10.5281/zenodo.20451960",
    "draft": "https://zenodo.org/api/records/20451960/draft",
    "file_modification": "https://zenodo.org/api/records/20451960/file-modification",
    "files": "https://zenodo.org/api/records/20451960/files",
    "latest": "https://zenodo.org/api/records/20451960/versions/latest",
    "latest_html": "https://zenodo.org/records/20451960/latest",
    "media_files": "https://zenodo.org/api/records/20451960/media-files",
    "parent": "https://zenodo.org/api/records/20451959",
    "parent_doi": "https://doi.org/10.5281/zenodo.20451959",
    "parent_doi_html": "https://zenodo.org/doi/10.5281/zenodo.20451959",
    "parent_html": "https://zenodo.org/records/20451959",
    "preview_html": "https://zenodo.org/records/20451960?preview=1",
    "quota_increase": "https://zenodo.org/api/records/20451960/quota-increase",
    "request_deletion": "https://zenodo.org/api/records/20451960/request-deletion",
    "requests": "https://zenodo.org/api/records/20451960/requests",
    "reserve_doi": "https://zenodo.org/api/records/20451960/draft/pids/doi",
    "self": "https://zenodo.org/api/records/20451960",
    "self_doi": "https://doi.org/10.5281/zenodo.20451960",
    "self_doi_html": "https://zenodo.org/doi/10.5281/zenodo.20451960",
    "self_html": "https://zenodo.org/records/20451960",
    "self_iiif_manifest": "https://zenodo.org/api/iiif/record:20451960/manifest",
    "self_iiif_sequence": "https://zenodo.org/api/iiif/record:20451960/sequence/default",
    "versions": "https://zenodo.org/api/records/20451960/versions"
  },
  "media_files": {
    "count": 0,
    "enabled": false,
    "entries": {},
    "order": [],
    "total_bytes": 0
  },
  "metadata": {
    "creators": [
      {
        "affiliations": [
          {
            "id": "03zga2b32",
            "identifiers": [
              {
                "identifier": "03zga2b32",
                "scheme": "ror"
              },
              {
                "identifier": "grid.7914.b",
                "scheme": "grid"
              },
              {
                "identifier": "0000 0004 1936 7443",
                "scheme": "isni"
              }
            ],
            "name": "University of Bergen"
          }
        ],
        "person_or_org": {
          "family_name": "Oguntola",
          "given_name": "Micheal",
          "identifiers": [
            {
              "identifier": "0000-0001-6692-639X",
              "scheme": "orcid"
            }
          ],
          "name": "Oguntola, Micheal",
          "type": "personal"
        }
      },
      {
        "affiliations": [
          {
            "name": "Stanford University"
          },
          {
            "id": "edmo:544",
            "identifiers": [
              {
                "identifier": "edmo:544",
                "scheme": "edmo"
              }
            ],
            "name": "University of Bergen"
          }
        ],
        "person_or_org": {
          "family_name": "Duran",
          "given_name": "Omar",
          "identifiers": [
            {
              "identifier": "0000-0002-0343-9890",
              "scheme": "orcid"
            }
          ],
          "name": "Duran, Omar",
          "type": "personal"
        }
      },
      {
        "affiliations": [
          {
            "id": "03zga2b32",
            "identifiers": [
              {
                "identifier": "03zga2b32",
                "scheme": "ror"
              },
              {
                "identifier": "grid.7914.b",
                "scheme": "grid"
              },
              {
                "identifier": "0000 0004 1936 7443",
                "scheme": "isni"
              }
            ],
            "name": "University of Bergen"
          }
        ],
        "person_or_org": {
          "family_name": "Keilegavlen",
          "given_name": "Eirik",
          "identifiers": [
            {
              "identifier": "0000-0002-0333-9507",
              "scheme": "orcid"
            }
          ],
          "name": "Keilegavlen, Eirik",
          "type": "personal"
        }
      },
      {
        "affiliations": [
          {
            "name": "University of Bergen"
          }
        ],
        "person_or_org": {
          "family_name": "Berre",
          "given_name": "Inga",
          "identifiers": [
            {
              "identifier": "0000-0002-0212-7959",
              "scheme": "orcid"
            }
          ],
          "name": "Berre, Inga",
          "type": "personal"
        }
      }
    ],
    "description": "<p>This Docker image enables full reproduction of the simulations and figures presented in the manuscript:</p>\n<blockquote>\n<p>Oguntola, M. B., Duran, O., Keilegavlen, E., Berre, I. (2026). Mathematical Modeling of Salt Precipitation and Multi-Phase Flow in High Enthalpy Fractured Geothermal Systems.</p>\n</blockquote>\n<p>The image bundles the PorePy branch (cf-dfm-salt-precipitation), ParaView 6.1.0, Python plotting dependencies, LaTeX support for Matplotlib text rendering, and the H2O&ndash;NaCl thermodynamic lookup tables required by the simulations. No additional installation is required on the host beyond Docker.</p>\n<p>==================================================<br>1. <strong>Load the image</strong><br>==================================================</p>\n<pre class=\"language-markup\"><code>docker load -i h2o_nacl_geothermal_simulator_v1.0.0.tar.gz</code></pre>\n<p>==================================================<br>2. <strong>Start the container</strong><br>==================================================</p>\n<pre class=\"language-markup\"><code>mkdir -p work</code></pre>\n<pre class=\"language-markup\"><code>docker run -dit \\\n  --name geothermal-run \\\n  -v \"$PWD/work:/workdir/data\" \\\n  h2o-nacl-geothermal-simulator:v1.0.0</code></pre>\n<pre class=\"language-markup\"><code>docker exec -it geothermal-run /bin/bash</code></pre>\n<p>The container runs in detached mode. If your terminal session is interrupted, the simulations continue running, and you can re-attach at any time with:</p>\n<pre class=\"language-markup\"><code>docker exec -it geothermal-run /bin/bash</code></pre>\n<p>After attaching to the container, the command prompt should change to something similar to:</p>\n<p>root@f07f81fb5ea6:~/porepy/src/porepy/examples#</p>\n<p>==================================================<br>3. <strong>Run the simulations</strong><br>==================================================</p>\n<p>The four simulation cases are independent and can be run in any order. Several configurations are computationally intensive &mdash; runtimes vary from minutes (benchmark and Example 2) to several hours (Example 1 and 3) depending on hardware.</p>\n<p>Section 4 &mdash; 1D benchmark (verification against CSMP++):</p>\n<pre class=\"language-markup\"><code>python -m geothermal_flow.simulation_driver \\\n  --config geothermal_flow/configs/benchmark.yaml</code></pre>\n<p>Section 5.1 &mdash; Example 1:</p>\n<pre class=\"language-markup\"><code>python -m geothermal_flow.simulation_driver \\\n  --config geothermal_flow/configs/example1.yaml</code></pre>\n<p>Section 5.2 &mdash; Example 2:</p>\n<pre class=\"language-markup\"><code>python -m geothermal_flow.simulation_driver \\\n  --config geothermal_flow/configs/example2.yaml</code></pre>\n<p>Section 5.3 &mdash; Example 3:</p>\n<pre class=\"language-markup\"><code>python -m geothermal_flow.simulation_driver \\\n  --config geothermal_flow/configs/example3.yaml</code></pre>\n<p>Note: Figures 14 and 15 compare Examples 1 and 2 and require both simulations to complete before they can be generated.</p>\n<p>==================================================<br>4. <strong>Generate figures</strong><br>==================================================</p>\n<p>Once the relevant simulations have completed, generate all figures with:</p>\n<pre class=\"language-markup\"><code>python -m geothermal_flow.make_figures \\\n  --config geothermal_flow/configs/figures.yaml</code></pre>\n<p>Selected figures can be generated with:</p>\n<pre class=\"language-markup\"><code>python -m geothermal_flow.make_figures \\\n  --config geothermal_flow/configs/figures.yaml \\\n  --figures figure8 figure10\n</code></pre>\n<p>Final figures are written to work/figures/ on the host machine.</p>\n<p>==================================================<br>5. <strong>Clean up</strong><br>==================================================</p>\n<p>When finished, stop and remove the container:</p>\n<pre class=\"language-markup\"><code>docker stop geothermal-run\ndocker rm geothermal-run</code></pre>\n<p>Simulation outputs in work/ remain on the host after the container is removed.</p>\n<p>==================================================<br><strong>Notes on hardware</strong><br>==================================================</p>\n<p>The image is built for linux/amd64. On Apple Silicon Macs (M1/M2/M3/M4), Docker runs the image under emulation. This is functional but may be slower than running on native linux/amd64 hardware.</p>\n<p>==================================================<br><strong>Related deposits</strong><br>==================================================</p>\n<p>The H2O&ndash;NaCl thermodynamic lookup tables used during the original Docker build are separately archived at:&nbsp;<a href=\"https://doi.org/10.5281/zenodo.20394023\">https://doi.org/10.5281/zenodo.20394023</a></p>\n<p>Full instructions, troubleshooting, and figure-to-simulation dependency details are available in the README of the GitHub repository:&nbsp;<a href=\"https://github.com/mikeljordan/cf-brine-simulation\">https://github.com/mikeljordan/cf-brine-simulation</a></p>\n<p>==================================================<br><strong>Acknowledgement</strong><br>==================================================</p>\n<p>This result is part of a project that has received funding from the European Research Council (ERC) under the European Union&rsquo;s Horizon 2020 research and innovation programme (grant agreement No 101002507).</p>",
    "funding": [
      {
        "award": {
          "acronym": "MaPSI",
          "id": "00k4n6c32::101002507",
          "identifiers": [
            {
              "identifier": "https://cordis.europa.eu/projects/101002507",
              "scheme": "url"
            }
          ],
          "number": "101002507",
          "program": "H2020-EU.1.1.",
          "title": {
            "en": "Mathematical and Numerical Modelling of Process-Structure Interaction in Fractured Geothermal Systems"
          }
        },
        "funder": {
          "id": "00k4n6c32",
          "name": "European Commission"
        }
      }
    ],
    "publication_date": "2026-05-29",
    "publisher": "Zenodo",
    "related_identifiers": [
      {
        "identifier": "10.5281/zenodo.20394023",
        "relation_type": {
          "id": "references",
          "title": {
            "de": "Referenziert",
            "en": "References"
          }
        },
        "resource_type": {
          "id": "dataset",
          "title": {
            "de": "Datensatz",
            "en": "Dataset"
          }
        },
        "scheme": "doi"
      }
    ],
    "resource_type": {
      "id": "software",
      "title": {
        "de": "Software",
        "en": "Software"
      }
    },
    "rights": [
      {
        "description": {
          "en": "The Creative Commons Attribution license allows re-distribution and re-use of a licensed work on the condition that the creator is appropriately credited."
        },
        "icon": "cc-by-icon",
        "id": "cc-by-4.0",
        "props": {
          "scheme": "spdx",
          "url": "https://creativecommons.org/licenses/by/4.0/legalcode"
        },
        "title": {
          "en": "Creative Commons Attribution 4.0 International"
        }
      }
    ],
    "subjects": [
      {
        "subject": "geothermal"
      },
      {
        "subject": "salt precipitation"
      },
      {
        "subject": "multiphase flow"
      },
      {
        "subject": "compositional simulation"
      },
      {
        "subject": "fractured porous media"
      },
      {
        "subject": "high-enthalpy system"
      },
      {
        "subject": "discrete fracture-matrix"
      },
      {
        "subject": "H2O-NaCl"
      },
      {
        "subject": "Porepy"
      },
      {
        "subject": "salt dissolution"
      }
    ],
    "title": "Source code: Mathematical Modeling of Salt Precipitation and Multi-Phase Flow in High Enthalpy Fractured Geothermal Systems",
    "version": "v1.0.0"
  },
  "parent": {
    "access": {
      "owned_by": {
        "user": "1257359"
      },
      "settings": {
        "accept_conditions_text": null,
        "allow_guest_requests": false,
        "allow_user_requests": false,
        "secret_link_expiration": 0
      }
    },
    "communities": {
      "default": "22a7bfd0-6a8c-487e-8861-25c357335f71",
      "entries": [
        {
          "access": {
            "member_policy": "open",
            "members_visibility": "public",
            "record_submission_policy": "open",
            "review_policy": "members",
            "visibility": "public"
          },
          "children": {
            "allow": false
          },
          "created": "2025-03-18T12:57:17.200203+00:00",
          "custom_fields": {},
          "deletion_status": {
            "is_deleted": false,
            "status": "P"
          },
          "id": "22a7bfd0-6a8c-487e-8861-25c357335f71",
          "links": {},
          "metadata": {
            "description": "Archive for research produced by the Porous Media Group at the Department of Mathematics, University of Bergen, Norway",
            "organizations": [
              {
                "id": "03zga2b32"
              }
            ],
            "title": "pmgbergen",
            "type": {
              "id": "organization"
            },
            "website": "https://www.uib.no/en/node/143228"
          },
          "revision_id": 4,
          "slug": "pmgbergen",
          "updated": "2025-03-18T13:08:09.048754+00:00"
        }
      ],
      "ids": [
        "22a7bfd0-6a8c-487e-8861-25c357335f71"
      ]
    },
    "id": "20451959",
    "pids": {
      "doi": {
        "client": "datacite",
        "identifier": "10.5281/zenodo.20451959",
        "provider": "datacite"
      }
    }
  },
  "pids": {
    "doi": {
      "client": "datacite",
      "identifier": "10.5281/zenodo.20451960",
      "provider": "datacite"
    },
    "oai": {
      "identifier": "oai:zenodo.org:20451960",
      "provider": "oai"
    }
  },
  "revision_id": 10,
  "stats": {
    "all_versions": {
      "data_volume": 65729068734.0,
      "downloads": 14,
      "unique_downloads": 14,
      "unique_views": 32,
      "views": 40
    },
    "this_version": {
      "data_volume": 65729068734.0,
      "downloads": 14,
      "unique_downloads": 14,
      "unique_views": 32,
      "views": 40
    }
  },
  "status": "published",
  "swh": {},
  "updated": "2026-06-01T07:46:54.898390+00:00",
  "versions": {
    "index": 1,
    "is_latest": true
  }
}