{"id":40218,"date":"2026-02-17T14:56:25","date_gmt":"2026-02-17T13:56:25","guid":{"rendered":"https:\/\/nr.no\/en\/?post_type=bc_project&#038;p=40218"},"modified":"2026-02-18T14:16:20","modified_gmt":"2026-02-18T13:16:20","slug":"how-co%e2%82%82-moves-underground-a-visual-simulation-fmu-for-ccs","status":"publish","type":"bc_project","link":"https:\/\/nr.no\/en\/projects\/how-co%e2%82%82-moves-underground-a-visual-simulation-fmu-for-ccs\/","title":{"rendered":"How CO\u2082 moves underground: Visualizing flow simulations"},"content":{"rendered":"\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<p><strong>CO<sub>2<\/sub>&nbsp;is stored deep underground, one key question matters more than anything else: will it stay there? To answer this, researchers run advanced computer simulations that show how CO<sub>2<\/sub>&nbsp;moves through geological formations over time. &nbsp;<\/strong><\/p>\n\n\n\n<p>We have developed tools that make these simulation results much easier to explore and understand. They help answer important questions such as: &nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Where does the CO<sub>2<\/sub>&nbsp;move?<\/li>\n\n\n\n<li>Is there any risk of leakage?<\/li>\n\n\n\n<li>How much CO<sub>2<\/sub>&nbsp;can be safely stored?<\/li>\n<\/ul>\n\n\n\t<div class=\"nr-spacer nr-spacer-medium wp-block-nr-spacer\">\n\t<\/div>\n\t\n\n\n<h2 class=\"wp-block-heading\"><strong>From raw simulation data to clear insight<\/strong><\/h2>\n\n\n\n<p>Even a single flow simulation produces huge amounts of data. In real projects, researchers typically run&nbsp;<strong>many simulations<\/strong>&nbsp;&#8211; maybe hundred or more &#8211; using slightly different assumptions to test uncertainty and sensitivity.<\/p>\n\n\n\n<p>This creates an&nbsp;<em>ensemble<\/em>&nbsp;of possible outcomes. &nbsp;<\/p>\n\n\n\n<p>Our tools make it possible to: &nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Explore one simulation in detail<\/li>\n\n\n\n<li>Summarize many simulations by calculating statistics over the entire ensemble<\/li>\n\n\n\n<li>Easily highlight and analyze simulations that require closer inspection<\/li>\n<\/ul>\n\n\n\n<p>Instead of working directly with complex 3D data and long tables, users get clear maps, plots, and statistics that show how the CO\u2082 plume develops over time. &nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"956\" height=\"559\" src=\"https:\/\/nr.no\/content\/uploads\/sites\/2\/2026\/02\/co2migration_websitecase_maps_0_4sec_inf.gif\" alt=\"Bird's-eye view of simulated CO2 plume migration on a synthetic case with four injection wells, over the period 2025-2060. &quot;No-go&quot; polygons can be used to mark areas where we don't want CO2 to enter, e.g., due to leakage risk. Notice how in this example the CO2 plume migrates into the &quot;No-go&quot; area around year 2035. Figure: NR.\" class=\"wp-image-40221\"\/><figcaption class=\"wp-element-caption\">Bird&#8217;s-eye view of simulated CO2 plume migration on a synthetic case with four injection wells, over the period 2025-2060. &#8220;No-go&#8221; polygons can be used to mark areas where we don&#8217;t want CO2 to enter, e.g., due to leakage risk. Notice how in this example the CO2 plume migrates into the &#8220;No-go&#8221; area around year 2035. Figure: NR.<\/figcaption><\/figure>\n\n\n\t<div class=\"nr-spacer nr-spacer-medium wp-block-nr-spacer\">\n\t<\/div>\n\t\n\n\n<p>The tools process results from reservoir flow simulators, primarily Eclipse and Cirrus, and are designed to work seamlessly with Equinor\u2019s&nbsp;<a href=\"https:\/\/github.com\/equinor\/fmu\">Fast Model Update (FMU) framework<\/a>. <\/p>\n\n\n\n<p><strong>They consist of two parts: &nbsp;<\/strong><\/p>\n\n\n\n<ol style=\"list-style-type:upper-roman\" class=\"wp-block-list\">\n<li>General post-processing scripts based on flow simulation results. <\/li>\n\n\n\n<li>Dedicated visualization plugin called CO<sub>2<\/sub>&nbsp;Migration, implemented in the web-based, open-source visualization framework&nbsp;<a href=\"https:\/\/www.ceetronsolutions.com\/projects\/webviz-web-based-visualization\">Webviz<\/a>.<\/li>\n<\/ol>\n\n\n\t<div class=\"nr-spacer nr-spacer-medium wp-block-nr-spacer\">\n\t<\/div>\n\t\n\n\n<h2 class=\"wp-block-heading\"><strong>CO<sub>2<\/sub>&nbsp;storage scenarios<\/strong><\/h2>\n\n\n\n<p><strong>The tools support these two common scenarios for storing CO<sub>2<\/sub>&nbsp;underground: &nbsp;<\/strong><\/p>\n\n\n\n<ol style=\"list-style-type:upper-roman\" class=\"wp-block-list\">\n<li>Saline aquifers, where the underground formations are filled with brine (salty water)<\/li>\n\n\n\n<li>Depleted fields, with remaining hydrocarbon gas and\/or oil present. These typically have existing extensive data from oil\/gas operations, and with proven containment properties.<\/li>\n<\/ol>\n\n\n\t<div class=\"nr-spacer nr-spacer-small wp-block-nr-spacer\">\n\t<\/div>\n\t\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1675\" height=\"1215\" src=\"https:\/\/nr.no\/content\/uploads\/sites\/2\/2026\/02\/co2migration_containment_state.png\" alt=\"The CO2 Migration plugin applied to a synthetic data set with four injection wells and three realizations. The 2D map shows the average CO2 gas saturation in year 2045. The plot at the bottom shows how the total mass of CO2 is divided into different containment areas (defined by the polygons in the plot above) and geological zones. Figure: NR.\" class=\"wp-image-40220\" srcset=\"https:\/\/nr.no\/content\/uploads\/sites\/2\/2026\/02\/co2migration_containment_state.png 1675w, https:\/\/nr.no\/content\/uploads\/sites\/2\/2026\/02\/co2migration_containment_state-300x218.png 300w, https:\/\/nr.no\/content\/uploads\/sites\/2\/2026\/02\/co2migration_containment_state-1024x743.png 1024w, https:\/\/nr.no\/content\/uploads\/sites\/2\/2026\/02\/co2migration_containment_state-768x557.png 768w, https:\/\/nr.no\/content\/uploads\/sites\/2\/2026\/02\/co2migration_containment_state-1536x1114.png 1536w\" sizes=\"auto, (max-width: 1675px) 100vw, 1675px\" \/><figcaption class=\"wp-element-caption\">The CO2 Migration plugin applied to a synthetic data set with four injection wells and three realizations. The 2D map shows the average CO2 gas saturation in year 2045. The plot at the bottom shows how the total mass of CO2 is divided into different containment areas (defined by the polygons in the plot above) and geological zones. Figure: NR.<\/figcaption><\/figure>\n\n\n\t<div class=\"nr-spacer nr-spacer-small wp-block-nr-spacer\">\n\t<\/div>\n\t\n\n\n<h2 class=\"wp-block-heading\"><strong>Core features<\/strong><\/h2>\n\n\n\n<p><strong>The post-processing scripts are designed to:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Aggregate 3D grid data into maps for relevant grid properties, such as CO<sub>2<\/sub>&nbsp;gas saturation, fraction dissolved in brine and CO<sub>2<\/sub>&nbsp;mass.<\/li>\n\n\n\n<li>Calculate migration time maps, showing the time it takes CO<sub>2<\/sub>&nbsp;to migrate to the different parts of the grid.<\/li>\n\n\n\n<li>Calculate mass or volume of CO<sub>2<\/sub>&nbsp;at each time step, classifying results based on the following categories:\n<ul class=\"wp-block-list has-medium-font-size\">\n<li>Containment areas: For which realizations can we observe leakage into the \u201cNo-go\u201d area?<\/li>\n\n\n\n<li>User-defined regions in the 3D grid model &#8211; similar to containment areas but more general. Do any of the realizations have CO<sub>2<\/sub>&nbsp;migrating into region X?<\/li>\n\n\n\n<li>Grid properties (gas saturation, dissolved fraction, etc) and CO<sub>2<\/sub>&nbsp;mass phases (free\/mobile gas, residual trapping, dissolved in water).<\/li>\n\n\n\n<li>Geological zones.<\/li>\n\n\n\n<li>Track separate plumes from multiple injection wells.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\t<div class=\"nr-spacer nr-spacer-medium wp-block-nr-spacer\">\n\t<\/div>\n\t\n\n\n<p><strong>These results can be visualized in the CO<sub>2<\/sub>&nbsp;Migration plugin:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Plot aggregation and migration time maps. Either for single realization, or produce plots of ensemble statistics over multiple\/all realizations.<\/li>\n\n\n\n<li>Various other plots, splitting or filtering results based on the categories described above:\n<ul class=\"wp-block-list\">\n<li>Time series plot of CO<sub>2<\/sub>&nbsp;mass or volume. For instance, how the total mass is split into the different phases (dissolved in water, free gas, residual trapping) as a function of time.<\/li>\n\n\n\n<li>Summary of CO<sub>2<\/sub>\u00a0distribution for a single time step. For instance, sort realizations on by how much CO<sub>2<\/sub>\u00a0is in the No-go area at the end of the simulations.<\/li>\n\n\n\n<li>Box plot.<\/li>\n\n\n\n<li>Cumulative probability plot.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1675\" height=\"1215\" src=\"https:\/\/nr.no\/content\/uploads\/sites\/2\/2026\/02\/co2migration_containment_over_time.png\" alt=\"The 2D map shows the average migration time in number of years for each grid node. The plot at the bottom shows the total mass of CO2 in the \u201cNo-go\u201d area, marked by the red polygon in the plot above, as a function of time. Figure: NR.\" class=\"wp-image-40219\" srcset=\"https:\/\/nr.no\/content\/uploads\/sites\/2\/2026\/02\/co2migration_containment_over_time.png 1675w, https:\/\/nr.no\/content\/uploads\/sites\/2\/2026\/02\/co2migration_containment_over_time-300x218.png 300w, https:\/\/nr.no\/content\/uploads\/sites\/2\/2026\/02\/co2migration_containment_over_time-1024x743.png 1024w, https:\/\/nr.no\/content\/uploads\/sites\/2\/2026\/02\/co2migration_containment_over_time-768x557.png 768w, https:\/\/nr.no\/content\/uploads\/sites\/2\/2026\/02\/co2migration_containment_over_time-1536x1114.png 1536w\" sizes=\"auto, (max-width: 1675px) 100vw, 1675px\" \/><figcaption class=\"wp-element-caption\"><br>The 2D map shows the average migration time in number of years for each grid node. The plot at the bottom shows the total mass of CO2 in the \u201cNo-go\u201d area, marked by the red polygon in the plot above, as a function of time. Figure: NR.<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<p><strong>To learn more about our work in this project, please contact:<\/strong><\/p>\n\n\n\t<div class=\"nr-spacer nr-spacer-small wp-block-nr-spacer\">\n\t<\/div>\n\t\n\n\t\t<div id=\"post-type-multi-block_5a5f6461ef021904038df457079933eb\" class=\"wp-block-post-type-multi type-manual style-card-bc_employee t2-grid\">\n\t\t\t\t\t\t\t<div class=\"t2-grid-item-col-12\">\n\t\t\t\t\t\t<a href=\"https:\/\/nr.no\/en\/employees\/audun-sektnan\/\" class='card-employee'>\n\t\t\t\t\t<figure>\n\t\t\t\t<img decoding=\"async\" src=\"https:\/\/nr.no\/content\/uploads\/sites\/2\/2024\/05\/audun-sektnan-21.jpg\" alt=\"\">\n\t\t\t<\/figure>\n\t\t\t\t<div class=\"card-employee__content\">\n\t\t\t<p class=\"card-employee__name\">Audun Sektnan<\/p>\n\t\t\t\t\t\t\t<p class=\"card-employee__position\">Senior Research Scientist<\/p>\n\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" height=\"24\" width=\"24\" class=\"t2-icon t2-icon-arrowforward\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M15.9 4.259a1.438 1.438 0 0 1-.147.037c-.139.031-.339.201-.421.359-.084.161-.084.529-.001.685.035.066 1.361 1.416 2.947 3l2.882 2.88-10.19.02c-8.543.017-10.206.029-10.29.075-.282.155-.413.372-.413.685 0 .313.131.53.413.685.084.046 1.747.058 10.29.075l10.19.02-2.882 2.88c-1.586 1.584-2.912 2.934-2.947 3-.077.145-.085.521-.013.66a.849.849 0 0 0 .342.35c.156.082.526.081.68-.001.066-.035 1.735-1.681 3.709-3.656 2.526-2.53 3.606-3.637 3.65-3.742A.892.892 0 0 0 23.76 12a.892.892 0 0 0-.061-.271c-.044-.105-1.124-1.212-3.65-3.742-1.974-1.975-3.634-3.616-3.689-3.645-.105-.055-.392-.107-.46-.083\"\/><\/svg>\n\t\t<\/div>\n\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\n\n\n<div class=\"wp-block-group has-primary-200-background-color has-background\">\n<p>Project: FMU for CCS<\/p>\n\n\n\n<p>Partner: Equinor<\/p>\n\n\n\n<p>Funding: Equinor<\/p>\n\n\n\n<p>Period: 2021 &#8211;<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-background\" style=\"background-color:#caecec\">\n<h3 class=\"wp-block-heading\"><strong>Where to find<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The post-processing scripts can be found in Equinor\u2019s open&nbsp;<a href=\"https:\/\/github.com\/equinor\/ccs-scripts\">ccs-scripts repository<\/a>. <\/li>\n\n\n\n<li>The CO<sub>2<\/sub>&nbsp;Migration plugin is part of the Webviz framework, see the&nbsp;<a href=\"https:\/\/github.com\/equinor\/webviz-subsurface\">GitHub repository<\/a>. &nbsp;<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<p><\/p>\n","protected":false},"featured_media":40232,"template":"","meta":{"_acf_changed":false,"_trash_the_other_posts":false,"editor_notices":[],"footnotes":""},"class_list":["post-40218","bc_project","type-bc_project","status-publish","has-post-thumbnail"],"acf":[],"_links":{"self":[{"href":"https:\/\/nr.no\/en\/wp-json\/wp\/v2\/bc_project\/40218","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nr.no\/en\/wp-json\/wp\/v2\/bc_project"}],"about":[{"href":"https:\/\/nr.no\/en\/wp-json\/wp\/v2\/types\/bc_project"}],"version-history":[{"count":5,"href":"https:\/\/nr.no\/en\/wp-json\/wp\/v2\/bc_project\/40218\/revisions"}],"predecessor-version":[{"id":40257,"href":"https:\/\/nr.no\/en\/wp-json\/wp\/v2\/bc_project\/40218\/revisions\/40257"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nr.no\/en\/wp-json\/wp\/v2\/media\/40232"}],"wp:attachment":[{"href":"https:\/\/nr.no\/en\/wp-json\/wp\/v2\/media?parent=40218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}