Skip to content

Commit

Permalink
Added generate_petro_jobs_for_field_update and tests
Browse files Browse the repository at this point in the history
Add testdata for generate_petro_jobs_for_field_update.
Add documentation
Update doc index
Added description of use
  • Loading branch information
oddvarlia committed Dec 10, 2024
1 parent 3b001d3 commit 883c269
Show file tree
Hide file tree
Showing 19 changed files with 1,920 additions and 1 deletion.
92 changes: 92 additions & 0 deletions docs/generate_petro_jobs_for_field_update.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
rms.generate_petro_jobs
===========================

When running FMU project where field parameters for both facies and
petrophysical properties is updated in ERT simultaneously,
some adjustments are needed in the RMS project to support this type
of workflow. It is necessary to have one petrosim job per facies.
To simplify the work with the RMS project, the function
*generate_petro_jobs* from *fmu.tools*
can be used in a python job in RMS.
It requires a small configuration file and will then
read an existing petrosim job from the RMS project and generate one new
petrosim job per facies. The new jobs are ready to be used
(put into the RMS workflow) and they will use the same model parameters
for the petrophysical properties as the original (existing) job,
but only for one facies.

The function *generate_petro_jobs* will modify
your RMS project when run from your RMS project
by adding new petrosim jobs, one per facies as specified in the
configuration file for the script. The configuration file is a yaml format
file defining which grid model and which facies 3D parameter to use and the
name of the original petrosim job. For each zone and each facies per zone
a list is specified of which petrophysical parameters to use in the new
petrosim jobs that are generated.


Usage
^^^^^
* Import the function *generate_petro_jobs* into a python job in RMS.
Specify a configuration file and specify the name of this configuration
file in the python job.

* Run the python job in RMS to generate the new petrosim jobs.

* Finally, update the workflowin RMS by using the generated jobs.

Example of python script in RMS

.. code-block:: python
from fmu.tools.rms import generate_petro_jobs
CONFIG_FILE = "generate_petro_jobs.yml"
if __name__ == "__main__":
generate_petro_jobs(CONFIG_FILE)
Example of configuration file for multi zone grid in RMS

.. code-block:: yaml
# Name of grid model for the petrophysics jobs
grid_name: MultiZoneBox
# Name of original petro job using facies realization as input
original_job_name: original_multi_zone
# Use empty string as zone name for single zone grids and zone name
# for multizone grids.
# For each zone, specify facies and for each facies specify
# petro variables to be used as field parameters in ERT update
# Example for a multizone grid with three zones:
used_petro_var:
Zone1:
F1: [P1, P2]
F2: [P1, P2]
F3: [P1, P2]
Zone2:
F1: [P1, P2]
F2: [P1, P2]
F3: [P1, P2]
Example of configuration file for single zone grid in RMS

.. code-block:: yaml
# Name of grid model for the petrophysics jobs
grid_name: SingleZoneBox
# Name of original petro job using facies realization as input
original_job_name: original_single_zone
# Use empty string as zone name for single zone grids and zone name
# for multizone grids.
# For each zone, specify facies and for each facies specify
# petro variables to be used as field parameters in ERT update
used_petro_var:
default:
F1: [P1, P2]
F2: [P1, P2]
F3: [P1, P2]
1 change: 1 addition & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ Contents:
qcforward
qcproperties
qcreset
generate_petro_jobs_for_field_update
properties
domain_conversion
create_rft_ertobs
Expand Down
9 changes: 8 additions & 1 deletion src/fmu/tools/rms/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,14 @@
Processing of volumetrics from RMS
"""

from .generate_petro_jobs_for_field_update import (
main as generate_petro_jobs,
)
from .import_localmodules import import_localmodule
from .volumetrics import rmsvolumetrics_txt2df

__all__ = ["rmsvolumetrics_txt2df", "import_localmodule"]
__all__ = [
"rmsvolumetrics_txt2df",
"import_localmodule",
"generate_petro_jobs",
]
Loading

0 comments on commit 883c269

Please sign in to comment.