Updated ERT to 315ceeee250808ea6a6530233dd5125f9f76f06c

Support of reading LGR dimensions
Close file handles between access to files, keep ERT file-related cache to speed up reading of many files multiple times
p4#: 21477
This commit is contained in:
Magne Sjaastad
2013-04-29 13:13:42 +02:00
parent fad4761bc4
commit ca856f7603
256 changed files with 3358 additions and 24691 deletions

View File

@@ -1,70 +0,0 @@
ERTGUI core documentation
Codebase in C Codebase in Python
+--------------------+ +-------------------------+
| ERT |/------------\| ErtWrapper |
| shared C library |\------------/| ctypes wrapper |
+--------------------+ | (C <-> Python comm.) |
+-------------------------+
/\
||
||
\/
+-------------------------+
| ContentModel |
| Class for fetching and |
| updating data in ERT |
+-------------------------+
/\
||
||
\/
+-------------------------+
| Widgets |
| GUI components that |
| enables presentation |
| and modification of |
| data in ERT |
+-------------------------+
ERT:
the base software which the GUI controls.
ErtWrapper:
this class simplifies the link between Python code and the exposed
functions of the shared library of ERT.
All communication between ERT and the GUI is performed through this
class and type safety of the functions in the shared library are
provided through a prototyping functionality.
ContentModel:
This class is a base class for all widgets and algorithms that need
to communicate with ERT. Several abstract functions are defined that
must/can be implemented:
* initialize(model): typically used for prototyping of functions
* getter(model): used to fetch data from ERT
* setter(model, value): used for updating data values
* insert(model, value): used for adding data values
* remove(model, value): used for removing data values
The program should never call these functions directly but use:
* getFromModel(): which will call the getter automatically
* updateContent(value, operation = UPDATE|INSERT|REMOVE):
which will call setter/insert/remove respectively automatically.
A final function that must be implemented is fetchContent(). This function
will automatically be called when the model (ERT) is ready or has been
changed. This is also safe to be called by the program. Typical use of this
function is to call getFromModel() which returns the data generated by the
implemented getter function and then populate the widgets with the data.
Whenever changes are made to the GUI ERT should be updated by calls
to updateContent().
Widgets:
Several widgets have been implemented. Most of these subclass HelpedWidget
which subclass ContentModel and provide built-in help functionality.

View File

@@ -1,244 +0,0 @@
forward_model:
--------------
get:
----
model_config = enkf_main_get_model_config( enkf_main )
forward_model = model_config_get_forward_model( model_config )
names = forward_model_alloc_joblist( forward_model ) <- Allokerer en stringlist() med navnene p<> jobbene.
set
---
forward_model_clear( forward_model )
forward_model_add_job( forward_model , job_name );
forward_model_iset_job_arg( forward_model , job_nr , key , value); <- Set argument - observe that the jobs are identified with the index in
the forward model, and not by name.
more
----
s = enkf_main_get_site_config( enkf_main )
joblist = site_config_get_installed_jobs( s );
job_names = ext_joblist_alloc_list( joblist ); <- Stringlist
forward_model_get_job( forward_model , ?NAME?)
ext_joblist_get_job( joblist , ?NAME?)
ext_job = forward_model_iget_job( forward_model , job_nr )
arg_string = ext_job_get_private_args_as_string( ext_job );
ext_job_set_private_args_from_string( ext_job , "KEY1=Value1 , Key2=value2" )
ext_job_get_help_text( job );
--------------------------------------
LOG:
Get
---
log_file = enkf_main_get_log_file( enkf_main )
log_level = enkf_main_get_log_level( enkf_main )
Set
---
enkf_main_set_log_file( enkf_main , "log_file" )
enkf_main_set_log_level( enkf_main , log_level )
analysis_config = enkf_main_get_analysis_config( enkf_main )
log_path = analysis_config_get_log_path( analysis_config );
analysis_config_set_log_path( analysis_config , log_path );
INITIALIZED
-----------
enkf_main_is_initialized(enkf_main , active_mask);
active_mask er n<> en vector av typen: bool_vector som er implementert i
libutil. Dersom alle elemementene er aktive kan du sende inn None /
NULL, ellers m<> allokere og initialisere en active_mask instans:
mask = bool_vector_alloc(0 , false)
for index in selectedMembers:
bool_vector_iset( mask , index , true )
enkf_main_is_initialized( enkf_main , mask )
bool_vector_free( mask )
TEMPLATES:
----------
Get:
----
templates = enkf_main_get_templates( enkf_main );
s = ert_templates_alloc_list( templates ); <- Returnerer en stringlist med navn
template = ert_templates_get_template( templates , "Navn")
template_file = ert_template_get_template_file( template );
target_file = ert_template_get_target_file( template );
arg_string = ert_template_get_args_as_string( template )
Set: (kan enten gj<67>res med manuelle add / del eller ved hjelp av clear og add).
----
templates = enkf_main_get_templates( enkf_main );
ert_templates_clear( templates );
ert_templates_del_template( templates , "Key");
template = ert_templates_add_template( templates , "Key", "Template_file" , "target_file" , arg_string /* Can be None / NULL */);
template = ert_templates_get_template( templates , Key)
ert_template_set_target_file(template , target_file );
ert_template_set_template_file(template , template_file );
ert_template_set_args_as_string(template , arg_string);
INITIALIZATION
--------------
enkf_main_initialize_from_existing__( enkf_main , source_case , source_step , source_state ,
iens_mask , ranking_key /* Will be NULL*/ ,
node_list);
node_list ~ stringlist med de valgt nodene.
iens_mask = bool_vector_alloc(0 , false); <- Allokereres med false som default.
iens_mask ~ bool_vector hvor alle de aktive indeksene er satt til true
SCHEDULE_PREDICTION_FILE
------------------------
Get: enkf_main_get_schedule_prediction_file( enkf_main )
Set: enkf_main_set_schedule_prediction_file( enkf_main , filename )
REFCASE
-------
Get:
ecle_config = enkf_main_get_ecl_config( enkf_main );
refacse = ecl_config_get_refcase_name( ecl_config )
Set:
enkf_main_set_refcase( enkf_main , refcase ) ???????????????????? Ikkje load?
HISTORY_SOURCE
--------------
Get:
m = enkf_main_get_model_config( enkf_main )
history_source = model_config_get_history_source( m ) <- History_source ~ enum history_source_type fra libsched/src/history.y
Set:
m = enkf_main_get_model_config( enkf_main )
model_config_get_history_source( m , source) <- NB Hvis source har en av verdiene REFCASE_HISTORY / REFCASE_SMULATED du maa satt ett REFACSE forst.
PRE_CLEAR_RUNPATH:
-----------------
Get: enkf_main_get_pre_clear_runpath( enkf_main ) <- Return value: true | false
Set: enkf_main_set_pre_clear_runpath( enkf_main , true | false )
CASE_TABLE
----------
model_config = enkf_main_get_model_config( enkf_main );
get: model_config_get_case_table_file( model_config )
set: enkf_main_set_case_table( model_config , filename ); <- File must exist
REFCASE - Plotting:
------------------
Get:
ecl_config = enkf_main_get_ecl_config( enkf_main )
ecl_sum = ecl_config_get_refcase( ecl_config )
Plotting:
1. Sjekk om refcase har variabel:
ecl_sum_has_general_var( ecl_sum , key)
hvor 'key' er en summary key, som for eksempel "WWCT:OP_1". Dersom denne funksjonen returnerer true, maa du
sporre ecl_sum som en "oversettelse" fra key til en integer index, og siden bruke den indeksen:
key_index = ecl_sum_get_general_var_index( ecl_sum , key );
2. Alloker en tidsakse:
time_vector = ecl_sum_alloc_time_vector( ecl_sum , true /* Report_only kan vre true */);
Denne kan selvflgelig gjenbrukes mellom flere summary plott.
3. Alloker datavektor
data_vektor1 = ecl_sum_alloc_data_vector( ecl_sum , key_index1 , true );
Da har du x og y i en hhv time_t_vector og double_vector - en av joakims hjemmelade datastrukturer:
size: xxx_vector_get_size( )
get1: xxx_vector_iget( )
get2: xxx_vector_get_ptr() <- Returnerer en peker til underliggende data.
4. xxx_vector_free () naar du er ferdi.
5. (Ekstraoppgave:) en ecl_sum instans kan ogs<67> loades fra filsystemet (helt utenfor ERT sin database) med
ecl_sum = ecl_sum_fread_alloc_case( "Navn p<> en ECLIPSE.DATA fil" )
---------------------
Gen_data:
size:
-----
ensemble_config = enkf_main_get_ensemble_config( enkf_main )
config_node = ensemble_config_get_node( ensemble_config , "KEY")
gen_data_config = enkf_config_node_get_ref( config_node )
size = gen_date_config_get_initial_size( gen_data_config )
Value:
-----
value = enkf_node_user_get( enkf_node , "KEY:tall" , &valid) <----- NB Det er helt avgj<67>rende <20> sjekke at valid returnerer true,
gen_data typen er (altfor) fleksibel, og kan endre st<73>rrelse runtime.
At du har sjekket initiell st<73>rrelse er derfor desverre ikke tilstrekkelig
til <20> validere input.
----------------
Saving:
1. Sette config file: enkf_main_set_user_config_file( enkf_main , "config_file" ) [Denne trengs for "Save AS"]
2. enkf_main_fprintf_config( enkf_main );

View File

@@ -1,201 +0,0 @@
mask = util.bool_vector_alloc(ens_size , false)
# F<>rste arg: st<73>rrelse
# Andre arg: init verdi.
util.bool_vector_iset( mask , 67 , true )
# bool_ptr = util.bool_vector_get_ptr( mask )
# Send inn int_ptr
....
#util.bool_vector_free( mask )
#Missing initializer: job_script
# s = enkf_main_get_site_config( enkf_main )
# site_config_get_job_script( s );
# site_config_set_job_script( s , EXECUTABLE_FILE );
Missing initializer: install_job
s = enkf_main_get_site_config( enkf_main );
site_config_install_job( s , JOB_KEY , EXISTING_FILE ); <- Should have a GUI option for creating the
config file EXISTING_FILE
INSTALL_JOB:
-----------
1. Denne b<>r endre navn til "Private jobs"
2. Her blir get/set ganske komplisert - det er to grunner til det:
a) Listen over installerte jobber inneholder b<>de globale jobber,
som brukeren ikke har anledning til <20> manipulere, og "Private"
jobber som brukeren har installert og s<>ledes m<> f<> lov til <20>
manipulere.
b) Forel<65>pig er det bare basert en config_file, men n<>r vi f<>rst
lager GUI ville det v<>re veldig naturlig <20> lage mulighet for <20>
konfigurere en jobb via GUI.
3. Det opprinnelige GUI panelet best<73>r av to felt. Kutt ut det ene
feltet, men la det sprette opp ett vindu n<>r man legger til en
jobb.
Get:
s = enkf_main_get_site_config( enkf_main )
jl = site_config_get_installed_jobs( s )
h = ext_joblist_get_jobs( jl ) <- N<> er h en hash tabell.
#Itererer over hash_tabellen:
python_joblist = []
job = hash_get( h , job_name );
if ext_job_is_private( job ): <- Denne funksjonen er i libjob_queue
python_joblist.append( job_name )
OK : python_joblist skal inneholde de job_navnene som skal
vises i GUI.
Set: Her tror jeg det er enklest <20> respondere eksplisitt p<> add_job og
del_job events, istedet for <20> ta en batch prosess til slutt
add_job:
--------
job = ext_job_fscanf_alloc( job_name , site_config_get_license_root_path__( s ) , job_config_file ) # job_name and job_config_file from GUI.
ext_joblist_add_job( jl , job )
del_job
-------
ext_joblist_del_job( jl , job_name )
#Missing initializer: num_realizations
# enkf_main_get_ensemble_size( enkf_main );
# enkf_main_resize_ensemble( enkf_main ); <- Denne kan potensielt ta en del tid, og
b<>r v<>re beskyttet av en APPLY knapp.
Missing initializer: parameters
Missing initializer: param_type
Missing initializer: param_min
Missing initializer: param_max
Missing initializer: param_init
Missing initializer: param_output
Missing initializer: param_init_files
Missing initializer: param_file_generated_by_enkf
Missing initializer: param_file_loaded_by_enkf
Missing initializer: history_source
Missing initializer: obs_config
#Missing initializer: max_submit
# s = enkf_main_get_site_config( enkf_main );
# site_config_get_max_submit( s );
# site_config_set_max_submit( s , max_submit );
#Missing initializer: max_resample
# m = enkf_main_get_model_config( enkf_main );
# model_config_get_max_resample( m );
# model_config_set_max_resample( m , max_resample );
Missing initializer: forward_model
Missing initializer: case_table
Missing initializer: license_path
Missing initializer: runpath
# m = enkf_main_get_model_config( enkf_main )
# model_config_get_runpath_fmt( m )
# model_config_set_runpath_fmt( m , "/path/to/run%d" )
Missing initializer: pre_clear_runpath
Missing initializer: delete_runpath
Missing initializer: keep_runpath
Missing initializer: run_template
Missing initializer: dbase_type
Missing initializer: enspath
Missing initializer: select_case
#Missing initializer: log_file
#Missing initializer: log_level
# lg = enkf_main_get_logh( enkf_main );
# log_reset_filename( lg , "/some/path/to/FILENAME" );
# log_get_filename( lg );
#
# log_get_level( lg );
# log_set_level( lg , LOG_LEVEL)
Missing initializer: update_log_path
#Get: s = enkf_main_get_data_kw( enkf_main )
# subst_list_get_size( s )
# subst_list_iget_key( s )
# subst_list_iget_value( s )
#Set: enkf_main_clear_data_kw( enkf_main )
# enkf_main_add_data_kw( enkf_main , key , value )
#Get: m = enkf_main_get_model_config( enkf_main )
# model_config_get_enkf_sched_file( m )
#Set: model_config_set_enkf_sched_file( m , "FILENAME" )
#Get l = enkf_main_get_local_config( enkf_main );
# s = local_config_get_config_files( l ) # Stringlist
#Set local_config_clear_config_files( l )
# local_config_add_config_file(l , "FILENAME")
#Get s = enkf_main_get_site_config( enkf_main )
# site_config_get_max_running_(lsf|rsh|local)( s )
#Set site_config_get_max_running_(lsf|rsh|local)( s , value )
#Get s = enkf_main_get_site_config( enkf_main )
# h = site_config_get_rsh_host_list( s )
# Iterer over hash - men bruk hash_get_int() for aa faa antall jobber en host kan ta.
#Set site_config_clear_rsh_host_list( s )
# site_config_add_rsh_host( s , host_name , max_running )
#Get s = enkf_main_get_site_config( enkf_main )
# queue_name = site_config_get_lsf_queue( s )
#Set site_config_set_lsf_queue( s , "NORMAL" )
# site_config_set_job_queue( s , "LOCAL|LSF|RSH" );
# site_config_get_job_queue_name( s );
#self.job_script = "..."
#self.setenv = [["LSF_BINDIR", "/prog/LSF/7.0/linux2.6-glibc2.3-x86_64/bin"], ["LSF_LIBDIR", "/prog/LSF/7.0/linux2.6-glibc2.3-x86_64/lib"]]
#Get: s = enkf_main_get_site_config( enkf_main )
# h = site_config_get_env_hash( s )
#Set site_config_clear_env( s )
# site_config_setenv( s , var , value )
#self.update_path = [["PATH", "/prog/LSF/7.0/linux2.6-glibc2.3-x86_64/bin"], ["LD_LIBRARY_PATH", "/prog/LSF/7.0/linux2.6-glibc2.3-x86_64/lib"]]
#Get: s = enkf_main_get_site_config( enkf_main )
# pathlist = site_config_get_path_variables( s )
# valuelist = site_config_get_path_values( s )
#Set: site_config_clear_pathvar( s )
# site_config_update_pathvar( s , path , value );

View File

@@ -1,36 +0,0 @@
state = enkf_main_iget_state( enkf_main , iens );
status = enkf_state_get_run_status( state );
sim_start = enkf_state_get_start_time( state );
submit_time = enkf_state_get_submit_time( state );
Queue running:
-------------
s = enkf_main_get_site_config( enkf_main )
site_config_queue_is_running( s )
Kill simulation
---------------
enkf_state_kill_simulation( state )
Restart simulation
------------------
enkf_state_restart_simulation( state , resample ) /* Resample er en bool - True: Kj<4B>r ny initialisering */
Main queue pausing:
-------------------
job_queue_get_pause( jq )
job_queue_set_pause_on( jq )
job_queue_set_pause_off( jp )

View File

@@ -1,69 +0,0 @@
GEN_DATA (Det er ikke skille p GEN_DATA og GEN_PARAM - alt er GEN_DATA)
--------
1. Opprette en ny: ensemble_config_add_gen_data( ensemble_config , new_key );
2 Get:
gen_data_config = enkf_config_node_get_ref( config_node );
output_format = gen_data_config_get_output_format( gen_data_config ); <- Returverdien her er en enum: gen_data_file_format_type,
input_format = gen_data_config_get_input_format( gen_data_config ); definert i gen_data_config.h
template_file = gen_data_config_get_template_file( gen_data_config );
template_key = gen_data_config_get_template_key( gen_data_config );
init_file_fmt = gen_data_config_get_init_file_fmt( gen_data_config );
.....
enkf_config_node_get_enkf_outfile( config_node ) -> Include file (parameter/general)
enkf_config_node_get_min_std_file( config_node ) -> Min. std. (parameter/general)
enkf_config_node_get_enkf_infile( config_node ) -> File loaded by EnKF (general)
3. Update:
enkf_config_node_update_gen_data( config_node , input_format , output_format , /* Enum: gen_data_file_format_type */
init_file_format ,
template_file ,
template_key ,
enkf_outfile_fmt ,
enkf_infile_fmt ,
min_std_file );
Legg merke til at det er ganske MAANGE innbyrdes krav mellom de
forskjellige variablene som maa vaere tilfredsstilt; dette er
"dokumentert" i funksjonene enkf_config_node_update_gen_data() og
gen_data_config_update().
OBS_CONFIG:
----------
Get:
----
obs = enkf_main_get_obs( enkf_main );
enkf_obs_get_config_file( obs );
Set:
enkf_main_load_obs( enkf_main , obs_config_file );
KEEP_RUNPATH / DELETE_RUNPATH
-----------------------------
Denne variabelen er definert som en streng i tui - jeg foreslaar at du
heller bruker en tilsvarende tilnaerming som naar vi skal velge hvilke
realisasjoner som skal simuleres paa, hver av de smaa boksene skal ha
tre mulige verdier, tilsvarende enum keep_runpath_type i enkf_types.h.
Deretter:
enkf_main_iget_keep_runpath( enkf_main , index );
enkf_main_iset_keep_runpath( enkf_main , index , enum_value );

View File

@@ -1 +0,0 @@
A parameter controlling outlier behaviour in the EnKF algorithm. The default value is 1.50.

View File

@@ -1 +0,0 @@
If you use the <b>ENKF schedule file</b> option to jump over several dates at a time you can choose whether you want to use all the observations in between, or just the final. Select <b>Perform merge</b> if you want all observations to be used, unselect to use only the final observation.

View File

@@ -1 +0,0 @@
Here you select which EnKF algorithm to use. Use <b>ENKF_STANDARD</b> for the original EnKF algorithm, or <b>ENKF_SQRT</b> for the square root scheme.

View File

@@ -1 +0,0 @@
Select if the simulation should be started from time zero after each update.

View File

@@ -1 +0,0 @@
When the ERT application runs the EnKF algorithm, it will use ECLIPSE to simulate one report step at a time, and do an update after each step. However, in some cases it will be beneficial to turn off the EnKF update for some report steps or to skip some steps completely. <b>ENKF schedule file</b> can point to a file with a more advanced schedule for when to perform the updates. This is optional.

View File

@@ -1 +0,0 @@
Cutoff used on singular value spectrum. Default value: 0.99.

View File

@@ -1 +0,0 @@
This can point to a file with configuration information for local analysis.

View File

@@ -1 +0,0 @@
If using EnKF rerun, select here which time step to start from after each update.

View File

@@ -1 +0,0 @@
A summary of the data used for updates is stored in this directory.

View File

@@ -1,15 +0,0 @@
The restart files from ECLIPSE are organized by <b>keywords</b>, which are of three different types:
<ol>
<li> Keywords containing the dynamic solution, e.g. pressure and saturations. </li>
<li> Keywords containing various types of header information which is needed for a restart. </li>
<li> Keywords containing various types of diagnostic information which is <i>not</i> needed for a restart.</li>
</ol>
Keywords in category 2 and 3 are referred to as <b>static keywords</b>. To be able to restart ECLIPSE, the ERT application has to store the keywords in category 2, whereas keywords in category 3 can safely be dropped. To determine whether a particular keyword is in category 2 or 3 ERT considers an internal list of keywords. The current list contains the keywords:
<code>
<br/> INTEHEAD LOGIHEAD DOUBHEAD IGRP SGRP XGRP ZGRP IWEL SWEL XWEL ZWEL <br/>
ICON SCON XCON HIDDEN STARTSOL PRESSURE SWAT SGAS RS RV ENDSOL ICAQNUM ICAQ IAAQ <br/>
SCAQNUM SCAQ SAAQ ACAQNUM ACAQ XAAQ <br/>
ISEG ILBS ILBR RSEG ISTHW ISTHG <br/>
</code>
Here you can dynamically add to this list. The magic string <code>__ALL__</code> will add all static keywords, but use of this option is <b>strongly</b> discouraged, as it wastes a lot of disk space.

View File

@@ -1 +0,0 @@
The ECLIPSE data file used to control the simulations. The standard ECLIPSE data file needs to be modified in some ways in order to work with ERT.

View File

@@ -1 +0,0 @@
Using <b>Data keywords</b> you can assign arbitrary (Keyword , Value) pairs where all occurences of <code>&lt;Keyword&gt;</code> in the ECLIPSE Data file will be replaced by <code>Value</code>.

View File

@@ -1,5 +0,0 @@
The basename used for the ECLIPSE simulations. The name should contain a %d-specifier, which will be replazed by the realization number when running ECLIPSE. <br/>
Example: <b>BASE_%04d</b> will be replaced by <b>BASE_0007</b> for realization number 7. <br/>
Note that due to limitations in ECLIPSE, the basename <b>must</b> be in strictly upper or lower case.

View File

@@ -1 +0,0 @@
This should point to an existing <b>GRID/EGRID</b>-file belonging to your ECLIPSE-model.

View File

@@ -1,6 +0,0 @@
The <b>Init section</b> is used to handle initialization of the ECLIPSE run.
This can be used in two different ways:
<ul>
<li>If it is set to the name of an existing file, the contents of this file will be used for the initialization.
<li>If it is set to the name of a non-existing file, it will be assumed that a file with this name in the simulation folder will be generated when simulations are submitted, either by the ERT application itself, or by some job installed by the user. This generated file will then be used by ECLIPSE for initialization.
</ul>

View File

@@ -1 +0,0 @@
Here you may supply ERT with a <b>reference case</b>, i.e an existing ECLIPSE data file, which can be used as observations.

View File

@@ -1 +0,0 @@
A text file containing the <b>SCHEDULE</b> section of the ECLIPSE data file. The Schedule file is used to control the ECLIPSE simulations.

View File

@@ -1 +0,0 @@
This is the name of a schedule prediction file. It may contain a <code>%d</code>-specifier to get different files for different members. Observe that the ECLIPSE datafile should include <b>only one</b> schedule file, even if you are doing predictions.

View File

@@ -1 +0,0 @@
The name of the file ERT will export the field to when running simulations. Note that there should be an <code>IMPORT</code> statement in the ECLIPSE data file corresponding to the name given here.

View File

@@ -1 +0,0 @@
This if the name of the file generated by the forward model and read by ERT.

View File

@@ -1 +0,0 @@
Here you may select a mathematical function to be applied to the field <b>when it is loaded.</b>

View File

@@ -1 +0,0 @@
The <b>Init files</b> are the filenames (filename with an embedded %d) to load the initial field from. This can be in RMS ROFF format, ECLIPSE restart format or ECLIPSE GRDECL format.

View File

@@ -1 +0,0 @@
Here you can specify a maximum value for the selected field. This is optional.

View File

@@ -1 +0,0 @@
Here you can specify a minimum value for the selected field. This is optional.

View File

@@ -1 +0,0 @@
A file containing the minimum variance used in post analysis inflation.

View File

@@ -1 +0,0 @@
Here you may select a mathematical function to be applied to the field <b>before it is exported.</b>

View File

@@ -1,9 +0,0 @@
The <b>Fields</b> are parametrizations of quantities which have extent over the full grid. The fields can represent both dynamic properties (e.g pressure or saturations), and static properties (e.g porosity). </br>
<dl>
<dt><b>Dynamic:</b>
<dd>The name of a dynamic field must coincide with the name found in the ECLIPSE restart file, e.g <code>PRESSURE</code>.
<dt><b>Parameter:</b>
<dd>A parameter field represents a static property (e.g porosity or permeability). Here the name can be an arbitrary string.
<dt><b>General:</b>
<dd>Using a general field, you have fine-grained control over input/output. This is only relevant for advanced features.
</dl>

View File

@@ -1 +0,0 @@
This is the name of the file written by ERT to be read by the forward model.

View File

@@ -1 +0,0 @@
This if the name of the file generated by the forward model and read by ERT (i.e. the <code>RESULT_FILE</code>).

View File

@@ -1 +0,0 @@
Format string with <code>%d</code> of files to load the initial data from.

View File

@@ -1 +0,0 @@
A file containing the minimum variance used in post analysis inflation.

View File

@@ -1,10 +0,0 @@
The format of the file written by the forward model (i.e.the <code>RESULT_FILE</code>) and read by ERT.
The alternatives are:
<dl>
<dt>ASCII
<dd>A text file with formatted numbers.
<dt>BINARY_FLOAT
<dd>A vector of binary float numbers.
<dt>BINARY_DOUBLE
<dd>A vector of binary double numbers.
</dl>

View File

@@ -1,12 +0,0 @@
The format of the files ERT writes for the forward model.
The alternatives are:
<dl>
<dt>ASCII
<dd>A text file with formatted numbers.
<dt>ASCII_TEMPLATE
<dd>A plain text file with formatted numbers, and an arbitrary header/footer.
<dt>BINARY_FLOAT
<dd>A vector of binary float numbers.
<dt>BINARY_DOUBLE
<dd>A vector of binary double numbers.
</dl>

View File

@@ -1 +0,0 @@
If you use ASCII_TEMPLATE in <b>Output</b> you must also supply a <b>Template file</b>.

View File

@@ -1 +0,0 @@
If you use ASCII_TEMPLATE in <b>Output</b> you must also supply a <b>Template key</b>.

View File

@@ -1 +0,0 @@
This is the name of the file ERT creates for each ensemble member based on the <b>Template</b> file. Note that the <b>Include file</b> must be included manually with a statement in the ECLIPSE data file.

View File

@@ -1 +0,0 @@
Format string with <code>%d</code> of files to load the initial data from.

View File

@@ -1 +0,0 @@
A file containing the minimum variance used in post analysis inflation.

View File

@@ -1 +0,0 @@
The <b>Parameter file</b> is the input file which defines the names of the parameters you want to estimate, and their initial distribution.

View File

@@ -1 +0,0 @@
The <b>Template</b> file contains some parametrized ECLIPSE statements. The file should contain <code>&lt;xxxx&gt;</code>-keywords instead of values. ERT will then for each realization replace the keywords in the Template file with values from the distributions defined in the <b>Parameter file</b>.

View File

@@ -1 +0,0 @@
The number of members/realizations in your ensemble, i.e the ensemble size.

View File

@@ -1,9 +0,0 @@
ERT will read the historic rates from the <b>Schedule file</b>, but it is also possible to use historic data from another ECLIPSE run (e.g if historic data do not exist in the Schedule file).
<dl>
<dt><b>SCHEDULE</b>
<dd>ERT will use the historic data provided in the Schedule file.
<dt><b>REFCASE_SIMULATED</b>
<dd>ERT will use simulated values from another ECLIPSE run (a Reference case) as historic data.
<dt><b>REFCASE_HISTORY</b>
<dd>ERT will use historic data from a reference case.
</dl>

View File

@@ -1 +0,0 @@
This should point to an <b>observation file</b>, a file defining observations and associated uncertainties. It is optional, but strongly recommended to provide an observation file.

View File

@@ -1 +0,0 @@
In which format should the plots created by PLPLOT be saved (default: png).

View File

@@ -1,5 +0,0 @@
Here you may decide which application to use to view the plots. The default is a program called <code>/usr/bin/display</code>.
<br/>
<br/>
In order to avoid the plots from flashing in your face as they are created, set Image viewer to <code>/d/proj/bg/enkf/bin/noplot.sh
</code>.

View File

@@ -1,3 +0,0 @@
The plotting engine creates <i>files</i> with plots, they are stored in a directory.
You can tell what that directory should be.
Observe that the current <i>casename</i> automatically will be appended to the plot path.

View File

@@ -1,7 +0,0 @@
The <b>Plot Driver</b> is the sub system used for creating plots.
<dl>
<dt><b>PLPLOT:</b>
<dd>This is the default system. All the other options regarding plotting are sub options which are only relevant when you are using this.
<dt><b>TEXT:</b>
<dd>This will not produce any plots, just textfiles which can be used for plotting with your favorite plotting program. This is particularly relevant if you have some special requirements to the plots.
</dl>

View File

@@ -1,5 +0,0 @@
When plotting summary vectors for which observations have been 'installed' with the <b>Observation config</b>, ERT will plot the observed values. If the number of observations is less than <b>Errorbar max</b>, ERT will use errorbars to show the observed values, otherwise it will use two dashed lines indicating +/- one standard deviation.
<br/>
To ensure that you always get errorbars you can set <b>Errorbar max</b> to a very large value. On the other hand, setting <b>Errorbar max</b> to zero will ensure that ERT always plots observation uncertainty using dashed lines of +/- one standard deviation.
<br/>
The setting here will also affect the output when you are using the TEXT driver to plot.

View File

@@ -1,2 +0,0 @@
When the <b>PLPLOT</b> driver creates a plot file, it will have the height (in pixels) given by the <b>PLOT_HEIGHT</b> keyword.
The default value for <b>PLOT_HEIGHT</b> is 1024 pixels.

View File

@@ -1,2 +0,0 @@
When the <b>PLPLOT</b> driver creates a plot file, it will have the width (in pixels) given by the <b>PLOT_WIDTH</b> keyword.
The default value for <b>PLOT_WIDTH</b> is 1024 pixels.

View File

@@ -1,2 +0,0 @@
Select which LSF queue to use.

View File

@@ -1 +0,0 @@
Specify special LSF requirements here.

View File

@@ -1 +0,0 @@
Controls the maximum number of simultaneous jobs running when using the LOCAL option. It is strongly recommended to not let this number exceed the number of processors on the workstation used.

View File

@@ -1 +0,0 @@
Controls the maximum number of simultaneous jobs submitted to the LSF queue when using the LSF option.

View File

@@ -1 +0,0 @@
Controls the maximum number of simultaneous jobs running when using the RSH option. If this number exceeds the total capacity defined in the <b>RSH Host List</b>, it will automatically be truncated to that capacity.

View File

@@ -1,6 +0,0 @@
Controls where the simulation jobs are executed.
<dl>
<dt><b>LSF:</b> Submits the jobs to the LSF cluster at your location.
<dt><b>RSH:</b> Submits the jobs to a defined set of workstations.
<dt><b>LOCAL:</b> Submits the jobs to your local workstation.
</dl>

View File

@@ -1 +0,0 @@
The name of the executable used to invoke remote shell operations. Will typically be either <code>rsh</code> or <code>ssh</code>. The command given to RSH Command must either be in PATH or an absolute path.

View File

@@ -1,6 +0,0 @@
To use the RSH queue system you must first set a list of computers which ERT can use for running jobs. The first column takes the computer names, the second takes the number of jobs for each computer. <br/>
When using the RSH option, note the following: <ol>
<li> You <i>must</i> have passwordless login to the computers listed in the <b>Host List</b>. </li>
<li> ERT will not consider the total load on the various computers; if having said a computer can take two jobs, it will get two jobs, irrespective of the existing load. </li>
</ol>

View File

@@ -1 +0,0 @@
For running sensitivies you can give the cases descriptive names.

View File

@@ -1 +0,0 @@
The <b>Forward model</b> defines how the simulations are executed. E.g., which version of ECLIPSE to use, which rel.perm script to run, which rock physics model to use etc.

View File

@@ -1 +0,0 @@
Specify here if you have special requirements to a job.

View File

@@ -1 +0,0 @@
The path where the ERT-licenses for the different programs (such as RMS) are stored.

View File

@@ -1 +0,0 @@
How many times ERT should resample & retry a simulation.

View File

@@ -1 +0,0 @@
How many times the queue system should retry a simulation.

View File

@@ -1 +0,0 @@
Select <b>Perform pre clear</b> if you would like the runpath to be cleared before initilaizing.

View File

@@ -1 +0,0 @@
You may use this option to install arbitrary files in the runpath directory.

View File

@@ -1 +0,0 @@
config/simulation/run_template_arguments

View File

@@ -1 +0,0 @@
config/simulation/run_template_file

View File

@@ -1 +0,0 @@
config/simulation/run_template_target

View File

@@ -1,12 +0,0 @@
The <b>Runpath</b> should give the name of the folders where the
ECLIPSE simulations are to be executed. It should contain at least one
%d-specifier, which will be replaced by the realization number when
ERT creates the folders. <br/> <br/>
Optionally, the Runpath can contain two more %d specifers, which will
be replaced by the first and last report step of the simulation. By
default, Runpath is set to "simulations/realization%d". <br/> <br/>
When running with LSF it is essential that the <b>Runpath</b> points
to a network disk which is accessible with the same path from all the
nodes in the cluster.

View File

@@ -1,3 +0,0 @@
When the ERT application is running it creates directories for the ECLIPSE simulations, one for each realization. Here you can choose which of these realization directories to keep and which to delete.
<br/>
Note that if you are using the ERT application to run the EnKF algorithm (i.e. <i>EnKF assimilation</i>), the default behavior is to delete these directories after the simulation results have been internalized. When running the ERT application as a convenient way to start many simulations (i.e. <i>Ensemble experiment</i>), the default behavior is to keep these directories.

View File

@@ -1 +0,0 @@
config/systemenv/install_job_arglist

View File

@@ -1 +0,0 @@
config/systemenv/install_job_env

View File

@@ -1 +0,0 @@
config/systemenv/install_job_executable

View File

@@ -1 +0,0 @@
config/systemenv/install_job_lsf_resources

View File

@@ -1 +0,0 @@
config/systemenv/install_job_max_running

View File

@@ -1 +0,0 @@
config/systemenv/install_job_max_running_minutes

View File

@@ -1 +0,0 @@
config/systemenv/install_job_path

View File

@@ -1 +0,0 @@
config/systemenv/install_job_stderr

View File

@@ -1 +0,0 @@
config/systemenv/install_job_stdin

View File

@@ -1 +0,0 @@
config/systemenv/install_job_stdout

View File

@@ -1 +0,0 @@
config/systemenv/install_job_target_file

View File

@@ -1 +0,0 @@
config/systemenv/install_jobs

View File

@@ -1,7 +0,0 @@
Running the forward model from enkf is a multi-level process which can be summarized as follows:
<ol>
<li> A Python module called <code>jobs.py</code> is written and stored in the directory where the forward simulation is run. This module contains a list of job-elements, where each element is a Python representation of the code entered when installing the job. </li>
<li> The ERT application submits a Python script to the EnKF queue system, this script then loads the <code>jobs.py</code> module to find out which programs to run, and how to run them. </li>
<li> The Job script starts and monitors the individual jobs in the <code>jobs.py</code> module. </li>
</ol>
<b>Job script</b> should point at the Python script which is managing the forward model.

View File

@@ -1 +0,0 @@
The name of the log file.

View File

@@ -1,4 +0,0 @@
You can use <b>setenv</b> to alter the unix environment ERT is running
in. This is probably most relevant for setting up the environment for
the external jobs invoked by ERT. It is possible to use $VAR to refer
to an existing environment variable.

View File

@@ -1 +0,0 @@
The <b>Update path</b> option will <i>prepend</i> a new element to an existing <code>PATH</code> variable.

View File

@@ -1 +0,0 @@
List of available cases.

View File

@@ -1 +0,0 @@
The case to initialize.

View File

@@ -1 +0,0 @@
<html>%s</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 394 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 516 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 497 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 514 B

Some files were not shown because too many files have changed in this diff Show More