diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1d1722910..f38c62d45 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -68,26 +68,37 @@ jobs: # Standard python fails on windows without GDAL installation # Using custom bash shell ("shell: bash -l {0}") with Miniconda - - name: Setup Miniconda - uses: conda-incubator/setup-miniconda@v2 + # - name: Setup Miniconda + # uses: conda-incubator/setup-miniconda@v2 + # with: + # # python-version: ${{ matrix.python-version }} + # # #mamba-version: "0.20.0" + # # channels: conda-forge + # # auto-update-conda: true + # # activate-environment: pyemu + # # use-only-tar-bz2: true + # miniforge-version: latest + # # miniconda-version: "latest" + # python-version: ${{ matrix.python-version }} + # # mamba-version: "*" + # # channels: conda-forge + # miniforge-variant: Mambaforge + # # auto-update-conda: true + # activate-environment: pyemu + # use-mamba: true + # # environment-file: etc/environment.yml + # # use-only-tar-bz2: true + + - name: setup micromamba + uses: mamba-org/setup-micromamba@v1 with: - # python-version: ${{ matrix.python-version }} - # #mamba-version: "0.20.0" - # channels: conda-forge - # auto-update-conda: true - # activate-environment: pyemu - # use-only-tar-bz2: true - miniforge-version: latest - # miniconda-version: "latest" - python-version: ${{ matrix.python-version }} - # mamba-version: "*" - # channels: conda-forge - miniforge-variant: Mambaforge - # auto-update-conda: true - activate-environment: pyemu - use-mamba: true - # environment-file: etc/environment.yml - # use-only-tar-bz2: true + micromamba-version: '1.3.1-0' + environment-file: etc/environment.yml + init-shell: >- + bash + powershell + cache-environment: true + post-cleanup: 'all' # - name: Add packages to pyemu environment using mamba or conda # shell: bash -l {0} @@ -98,32 +109,32 @@ jobs: # conda env update --name pyemu --file etc/environment.yml # fi - - name: Add packages to pyemu environment using conda - if: ${{ matrix.python-version < 3.8 }} - # if: ${{ runner.os == 'Windows' || matrix.python-version < 3.8 }} - shell: bash -l {0} - run: | - conda env update --name pyemu --file etc/environment.yml + # - name: Add packages to pyemu environment using conda + # if: ${{ matrix.python-version < 3.8 }} + # # if: ${{ runner.os == 'Windows' || matrix.python-version < 3.8 }} + # shell: bash -l {0} + # run: | + # conda env update --name pyemu --file etc/environment.yml - - name: Add packages to pyemu environment using mamba - # if: ${{ runner.os != 'Windows' && matrix.python-version >= 3.8 }} - if: ${{ matrix.python-version >= 3.8 }} - shell: bash -l {0} - run: | - mamba env update --name pyemu --file etc/environment.yml + # - name: Add packages to pyemu environment using mamba + # # if: ${{ runner.os != 'Windows' && matrix.python-version >= 3.8 }} + # if: ${{ matrix.python-version >= 3.8 }} + # shell: bash -l {0} + # run: | + # mamba env update --name pyemu --file etc/environment.yml - - name: Install Flopy & pyemu? - shell: bash -l {0} - run: | - # git clone -b develop --depth 1 https://github.com/modflowpy/flopy.git - # cd flopy - # python setup.py install - # cd .. - # pip install https://github.com/modflowpy/pymake/zipball/master - git clone -b develop --depth 1 https://github.com/pypest/pyemu.git - cd pyemu - python setup.py install - cd .. + # - name: Install Flopy & pyemu? + # shell: bash -l {0} + # run: | + # # git clone -b develop --depth 1 https://github.com/modflowpy/flopy.git + # # cd flopy + # # python setup.py install + # # cd .. + # # pip install https://github.com/modflowpy/pymake/zipball/master + # git clone -b develop --depth 1 https://github.com/pypest/pyemu.git + # cd pyemu + # python setup.py install + # cd .. # - name: Get specific version CMake, v3.19 # if: ${{ runner.os == 'Windows' }} @@ -168,7 +179,7 @@ jobs: ls -l cd ${{ env.test_dir }} - nosetests -v ${{ env.test_script }} + nosetests --nocapture -v ${{ env.test_script }} cd diff --git a/CMakeLists.txt b/CMakeLists.txt index 3b806afab..8db23b216 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,7 +9,7 @@ if("${PESTPP_VERSION}" STREQUAL "") message(SEND_ERROR "Could not find PESTPP_VERSION in src/libs/common/config_os.h") endif() - + message(STATUS "Configuring CMake ${CMAKE_VERSION} to build PESTPP ${PESTPP_VERSION}") @@ -85,6 +85,8 @@ set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) +add_compile_definitions(_HAS_STD_BYTE=0) + # Use global "-fvisibility=hidden" see https://gcc.gnu.org/wiki/Visibility set(CMAKE_CXX_VISIBILITY_PRESET hidden) @@ -110,8 +112,10 @@ include(GNUInstallDirs) add_subdirectory(src) # Define an custom OS tag for CPACK_SYSTEM_NAME and (for now) local bin sub-directory +message(STATUS + "CMAKE compiler ID ${CMAKE_CXX_COMPILER_ID}") if(WIN32) - if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel") + if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "IntelLLVM") set(_ostag "iwin") else() set(_ostag "win") diff --git a/benchmarks/basic_tests.py b/benchmarks/basic_tests.py index bf5b25347..331db4445 100644 --- a/benchmarks/basic_tests.py +++ b/benchmarks/basic_tests.py @@ -1441,6 +1441,7 @@ def run(): #run() #mf6_v5_ies_test() #prep_ends() + mf6_v5_sen_test() #shutil.copy2(os.path.join("..","exe","windows","x64","Debug","pestpp-glm.exe"),os.path.join("..","bin","win","pestpp-glm.exe")) #shutil.copy2(os.path.join("..", "exe", "windows", "x64", "Debug", "pestpp-ies.exe"), # os.path.join("..", "bin", "win", "pestpp-ies.exe")) @@ -1478,7 +1479,7 @@ def run(): #shutil.copy2(os.path.join("..","exe","windows","x64","Debug","pestpp-ies.exe"),os.path.join("..","bin","win","pestpp-ies.exe")) #tplins1_test() - fr_timeout_test() + #fr_timeout_test() #mf6_v5_ies_test() #mf6_v5_sen_test() diff --git a/documentation/0d3cb7750c90b712af04ea3a51c8ecb968d784cc.png b/documentation/0d3cb7750c90b712af04ea3a51c8ecb968d784cc.png deleted file mode 100644 index ed0a54c67..000000000 Binary files a/documentation/0d3cb7750c90b712af04ea3a51c8ecb968d784cc.png and /dev/null differ diff --git a/documentation/0e14ec9848f78a9809081572ca785af9990c2d38.png b/documentation/0e14ec9848f78a9809081572ca785af9990c2d38.png deleted file mode 100644 index ee9c331bd..000000000 Binary files a/documentation/0e14ec9848f78a9809081572ca785af9990c2d38.png and /dev/null differ diff --git a/documentation/17372039df20201ca4948c221c8221865a28a4ac.png b/documentation/17372039df20201ca4948c221c8221865a28a4ac.png deleted file mode 100644 index 699a32336..000000000 Binary files a/documentation/17372039df20201ca4948c221c8221865a28a4ac.png and /dev/null differ diff --git a/documentation/6613e86a642210775daa5910e70739dee4eb6e96.png b/documentation/6613e86a642210775daa5910e70739dee4eb6e96.png deleted file mode 100644 index 5598f23bf..000000000 Binary files a/documentation/6613e86a642210775daa5910e70739dee4eb6e96.png and /dev/null differ diff --git a/documentation/914b1048f4823cf4eeb83cabe44da8e20bda7b54.png b/documentation/914b1048f4823cf4eeb83cabe44da8e20bda7b54.png deleted file mode 100644 index e9445627b..000000000 Binary files a/documentation/914b1048f4823cf4eeb83cabe44da8e20bda7b54.png and /dev/null differ diff --git a/documentation/c6e8be34c728676210e0fa7bc01f3102b8843c1f.wmf b/documentation/media/image3.wmf similarity index 100% rename from documentation/c6e8be34c728676210e0fa7bc01f3102b8843c1f.wmf rename to documentation/media/image3.wmf diff --git a/documentation/media/image6.emf b/documentation/media/image6.emf index bb11e7dc8..ba6829da8 100644 Binary files a/documentation/media/image6.emf and b/documentation/media/image6.emf differ diff --git a/documentation/d7577c27fe9ca4cdf0f751c61dbebde0546e1822.png b/documentation/media/image7.png similarity index 100% rename from documentation/d7577c27fe9ca4cdf0f751c61dbebde0546e1822.png rename to documentation/media/image7.png diff --git a/documentation/pestpp_users_guide_v5.2.8.docx b/documentation/pestpp_users_guide_v5.2.9.docx similarity index 54% rename from documentation/pestpp_users_guide_v5.2.8.docx rename to documentation/pestpp_users_guide_v5.2.9.docx index 934c0cc0b..8abd4153d 100644 Binary files a/documentation/pestpp_users_guide_v5.2.8.docx and b/documentation/pestpp_users_guide_v5.2.9.docx differ diff --git a/documentation/pestpp_users_manual.md b/documentation/pestpp_users_manual.md index 1a22329da..5f08b6602 100644 --- a/documentation/pestpp_users_manual.md +++ b/documentation/pestpp_users_manual.md @@ -1,13 +1,13 @@ - + -# Version 5.2.8 +# Version 5.2.9 - + PEST++ Development Team -October 2023 +Jan 2024 # Acknowledgements @@ -19,29 +19,29 @@ The original basis for the parallel run manager is PEST++ is based on the PANTHE On a personal note, thanks are also due to the following people who have contributed in the distant or more recent past to the development of the PEST++ suite, and to modelling education based on the PEST++ suite: -- Chas Egan (Queensland Department of Environment and Science) +- Chas Egan (Queensland Department of Environment and Science) -- Mike Toews (GNS Science) +- Mike Toews (GNS Science) -- Mike Fienen (USGS) +- Mike Fienen (USGS) -- Randy Hunt (USGS) +- Randy Hunt (USGS) -- Wes Kitlasten (GNS Science) +- Wes Kitlasten (GNS Science) -- Matt Knowling (GNS Science) +- Matt Knowling (GNS Science) -- Brioch Hemmings (GNS Science) +- Brioch Hemmings (GNS Science) -- Chris Muffels (SS Papadopoulos and Associates) +- Chris Muffels (SS Papadopoulos and Associates) -- Damian Merrick (HydroAlgorithmics) +- Damian Merrick (HydroAlgorithmics) -- Chis Nicol (Groundwater Logic) +- Chis Nicol (Groundwater Logic) -- Ayman Alzraiee (USGS) +- Ayman Alzraiee (USGS) -- Zak Stanko (USGS) +- Zak Stanko (USGS) # Preface @@ -70,7 +70,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI # Table of Contents -- [Version 5.2.8](#s1) +- [Version 5.2.9](#s1) - [Acknowledgements](#s2) - [Preface](#s3) - [License](#s4) @@ -414,11 +414,11 @@ This chapter reproduces material from the seventh edition of the PEST manual. Th Programs of both the PEST and PEST++ suites require three types of input file. These are: -- template files, one for each model input file in which parameters or decision variables reside; +- template files, one for each model input file in which parameters or decision variables reside; -- instruction files, one for each model output file from which numbers must be read; and +- instruction files, one for each model output file from which numbers must be read; and -- a control file, supplying the PEST or PEST++ program with the names of all template and instruction files, the names of corresponding model input and output files, the values of control variables, initial parameter values, measurement values, weights, etc. +- a control file, supplying the PEST or PEST++ program with the names of all template and instruction files, the names of corresponding model input and output files, the values of control variables, initial parameter values, measurement values, weights, etc. This chapter describes the first two of these file types in detail; the PEST control file is discussed later in this manual Template files and instruction files can be written using a general-purpose text editor following specifications set out in this chapter. Alternatively, they can be written using special-purpose software that is specific to a particular modelling application. Once built, they can be checked for correctness and consistency using the utility programs TEMPCHEK, INSCHEK and PESTCHEK supplied with the PEST suite. These are documented in part II of the PEST manual (Doherty, 2018b). @@ -442,12 +442,85 @@ A template file receives its name from the fact that it is simply a replica of a Consider the model input file shown in figure 2.1; this file supplies data to a program which computes the “apparent resistivity” on the surface of a layered half-space for different surface electrode configurations. Suppose that we wish to use this program (i.e., model) in an inversion process through which properties of each of three half-space layers are estimated from apparent resistivity data collected on the surface of the half-space. The parameters for which we want estimates are the resistivity and thickness of the upper two layers and the resistivity of the third (its thickness is infinite). A suitable template file appears in figure 2.2. -
MODEL INPUT FILE 3, 19 no. of layers, no. of spacings 1.0, 1.0 resistivity, thickness: layer 1 40.0, 20.0 resistivity, thickness: layer 2 5.0 resistivity: layer 3 1.0 electrode spacings 1.47 2.15 3.16 4.64 6.81 10.0 14.9 21.5 31.6 46.4 68.1 100 149 215 316 464 681 1000 |
---|
+MODEL INPUT FILE +3, 19 no. of layers, no. of spacings +1.0, 1.0 resistivity, thickness: layer 1 +40.0, 20.0 resistivity, thickness: layer 2 +5.0 resistivity: layer 3 +1.0 electrode spacings +1.47 +2.15 +3.16 +4.64 +6.81 +10.0 +14.9 +21.5 +31.6 +46.4 +68.1 +100 +149 +215 +316 +464 +681 + +1000 |
+
---|
ptf ~ MODEL INPUT FILE 3, 19 no. of layers, no. of spacings ~res1 ~,~t1 ~ resistivity, thickness: layer 1 ~res2 ~,~t2 ~ resistivity, thickness: layer 2 ~res3 ~ resistivity: layer 3 1.0 electrode spacings 1.47 2.15 3.16 4.64 6.81 10.0 14.9 21.5 31.6 46.4 68.1 100 149 215 316 464 681 1000 |
---|
+ptf ~ +MODEL INPUT FILE +3, 19 no. of layers, no. of spacings +~res1 ~,~t1 ~ resistivity, thickness: layer 1 +~res2 ~,~t2 ~ resistivity, thickness: layer 2 +~res3 ~ resistivity: layer 3 +1.0 electrode spacings +1.47 +2.15 +3.16 +4.64 +6.81 +10.0 +14.9 +21.5 +31.6 +46.4 +68.1 +100 +149 +215 +316 +464 +681 + +1000 |
+
---|
READ(20,100) A,B,C 100 FORMAT(3F10.0) READ(20,*) D,E |
---|
READ(20,100) A,B,C + +100 FORMAT(3F10.0) + +READ(20,*) D,E |
+
---|
6.32 1.42E-05123.456789 34.567, 1.2E17 |
---|
+6.32 1.42E-05123.456789 + +34.567, 1.2E17 |
+
---|
~ A ~~ B ~~ C ~ ~ D ~, ~ E ~ |
---|
+~ A ~~ B ~~ C ~ +~ D ~, ~ E ~ + |
+
---|
SCHLUMBERGER ELECTRIC SOUNDING Apparent resistivities calculated using the linear filter method electrode spacing apparent resistivity 1.00 1.21072 1.47 1.51313 2.15 2.07536 3.16 2.95097 4.64 4.19023 6.81 5.87513 10.0 8.08115 14.7 10.8029 21.5 13.8229 31.6 16.5158 46.4 17.7689 68.1 16.4943 100. 12.8532 147. 8.79979 215. 6.30746 316. 5.40524 464. 5.15234 681. 5.06595 1000. 5.02980 |
---|
+SCHLUMBERGER ELECTRIC SOUNDING +Apparent resistivities calculated using the linear filter method +electrode spacing apparent resistivity +1.00 1.21072 +1.47 1.51313 +2.15 2.07536 +3.16 2.95097 +4.64 4.19023 +6.81 5.87513 +10.0 8.08115 +14.7 10.8029 +21.5 13.8229 +31.6 16.5158 +46.4 17.7689 +68.1 16.4943 +100. 12.8532 +147. 8.79979 +215. 6.30746 +316. 5.40524 +464. 5.15234 +681. 5.06595 + +1000. 5.02980 |
+
---|
pif @ @electrode@ l1 [ar1]21:27 l1 [ar2]21:27 l1 [ar3]21:27 l1 [ar4]21:27 l1 [ar5]21:27 l1 [ar6]21:27 l1 [ar7]21:27 l1 [ar8]21:27 l1 [ar9]21:27 l1 [ar10]21:27 l1 [ar11]21:27 l1 [ar12]21:27 l1 [ar13]21:27 l1 [ar14]21:27 l1 [ar15]21:27 l1 [ar16]21:27 l1 [ar17]21:27 l1 [ar18]21:27 l1 [ar19]21:27 |
---|
+pif @ +@electrode@ +l1 [ar1]21:27 +l1 [ar2]21:27 +l1 [ar3]21:27 +l1 [ar4]21:27 +l1 [ar5]21:27 +l1 [ar6]21:27 +l1 [ar7]21:27 +l1 [ar8]21:27 +l1 [ar9]21:27 +l1 [ar10]21:27 +l1 [ar11]21:27 +l1 [ar12]21:27 +l1 [ar13]21:27 +l1 [ar14]21:27 +l1 [ar15]21:27 +l1 [ar16]21:27 +l1 [ar17]21:27 +l1 [ar18]21:27 + +l1 [ar19]21:27 |
+
---|
TIME PERIOD NO. 1 ---> . . SOLUTION VECTOR: 1.43253 6.43235 7.44532 4.23443 91.3425 3.39872 . . TIME PERIOD NO. 2 ---> . . SOLUTION VECTOR 1.34356 7.59892 8.54195 5.32094 80.9443 5.49399 . . TIME PERIOD NO. 3 ---> . . SOLUTION VECTOR 2.09485 8.49021 9.39382 6.39920 79.9482 6.20983 |
---|
+TIME PERIOD NO. 1 ---> +. +. +SOLUTION VECTOR: +1.43253 6.43235 7.44532 4.23443 91.3425 3.39872 +. +. +TIME PERIOD NO. 2 ---> +. +. +SOLUTION VECTOR +1.34356 7.59892 8.54195 5.32094 80.9443 5.49399 +. +. +TIME PERIOD NO. 3 ---> +. +. +SOLUTION VECTOR + +2.09485 8.49021 9.39382 6.39920 79.9482 6.20983 |
+
---|
pif * . . *PERIOD NO. 3* *SOLUTION VECTOR* l1 (obs1)5:10 (obs2)12:17 (obs3)21:28 (obs4)32:37 (obs5)41:45 & (obs6)50:55 . . |
---|
+pif * +. +. +*PERIOD NO. 3* +*SOLUTION VECTOR* +l1 (obs1)5:10 (obs2)12:17 (obs3)21:28 (obs4)32:37 (obs5)41:45 +& (obs6)50:55 +. + +. |
+
---|
. . DISTANCE = 20.0: CATION CONCENTRATIONS:- Na: 3.49868E-2 Mg: 5.987638E-2 K: 9.987362E-3 . . |
---|
. + +. +DISTANCE = 20.0: CATION CONCENTRATIONS:- +Na: 3.49868E-2 Mg: 5.987638E-2 K: 9.987362E-3 +. + +. |
+
---|
pif ~ . . ~DISTANCE = 20.0~ l1 ~K:~ !kc! . . |
---|
+pif ~ +. +. +~DISTANCE = 20.0~ +l1 ~K:~ !kc! +. + +. |
+
---|
. . TIME STEP 10 (13 ITERATIONS REQUIRED) STRESS ---> X = 1.05 STRESS = 4.35678E+03 X = 1.10 STRESS = 4.39532E+03 . . TIME STEP 10 (BACK SUBSTITUTION) STRAIN ---> X = 1.05 STRAIN = 2.56785E-03 X = 1.10 STRAIN = 2.34564E-03 . . |
---|
+. +. +TIME STEP 10 (13 ITERATIONS REQUIRED) STRESS ---> +X = 1.05 STRESS = 4.35678E+03 +X = 1.10 STRESS = 4.39532E+03 +. +. +TIME STEP 10 (BACK SUBSTITUTION) STRAIN ---> +X = 1.05 STRAIN = 2.56785E-03 +X = 1.10 STRAIN = 2.34564E-03 +. + +. |
+
---|
pif % . . %TIME STEP 10% %STRAIN% l1 %STRAIN =% !str1! l1 %STRAIN =% !str2! . . |
---|
+pif % +. +. +%TIME STEP 10% %STRAIN% +l1 %STRAIN =% !str1! +l1 %STRAIN =% !str2! +. + +. |
+
---|
pif * . . *PERIOD NO. 3* *SOLUTION VECTOR* l1 [obs1]1:9 [obs2]10:18 [obs3]19:27 [obs4]28:36 [obs5]37:45 & [obs6]46:54 . . |
---|
+pif * +. +. +*PERIOD NO. 3* +*SOLUTION VECTOR* +l1 [obs1]1:9 [obs2]10:18 [obs3]19:27 [obs4]28:36 [obs5]37:45 +& [obs6]46:54 +. + +. |
+
---|
A=1236.567 B=8495.0 C=-900.0 WRITE(10,20) A,B,C 20 FORMAT(3(F8.3)) |
---|
A=1236.567 +B=8495.0 +C=-900.0 +WRITE(10,20) A,B,C +20 FORMAT(3(F8.3)) |
+
---|
. . SPECIES POPULATION AFTER 1 YEAR = 1.23498E5 SPECIES POPULATION AFTER 2 YEARS = 1.58374E5 SPECIES POPULATION AFTER 3 YEARS (ITERATIVE ADJUSTMENT REQUIRED)= 1.78434E5 SPECIES POPULATION AFTER 4 YEARS = 2.34563E5 . . |
---|
+. +. +SPECIES POPULATION AFTER 1 YEAR = 1.23498E5 +SPECIES POPULATION AFTER 2 YEARS = 1.58374E5 +SPECIES POPULATION AFTER 3 YEARS (ITERATIVE ADJUSTMENT REQUIRED)= 1.78434E5 +SPECIES POPULATION AFTER 4 YEARS = 2.34563E5 +. + +. |
+
---|
pif * . . *SPECIES* *=* !sp1! l1 *=* !sp2! l1 *=* !sp3! l1 *=* !sp4! . . |
---|
+pif * +. +. +*SPECIES* *=* !sp1! +l1 *=* !sp2! +l1 *=* !sp3! +l1 *=* !sp4! +. + +. |
+
---|
pcf * control data RSTFLE PESTMODE NPAR NOBS NPARGP NPRIOR NOBSGP NTPLFLE NINSFLE PRECIS DPOINT [NUMCOM] RLAMBDA1 RLAMFAC PHIRATSUF PHIREDLAM NUMLAM RELPARMAX FACPARMAX FACORIG PHIREDSWH NOPTMAX PHIREDSTP NPHISTP NPHINORED RELPARSTP NRELPAR ICOV ICOR IEIG * singular value decomposition SVDMODE MAXSING EIGTHRESH EIGWRITE * parameter groups PARGPNME INCTYP DERINC DERINCLB FORCEN DERINCMUL DERMTHD (one such line for each parameter group) * parameter data PARNME PARTRANS PARCHGLIM PARVAL1 PARLBND PARUBND PARGP SCALE OFFSET DERCOM (one such line for each parameter) PARNME PARTIED (one such line for each tied parameter) * observation groups OBGNME (one such line for each observation group) * observation data OBSNME OBSVAL WEIGHT OBGNME (one such line for each observation) * model command line COMLINE (one such line for each model command line) * model input TEMPFLE INFLE (one such line for each template file) * model output INSFLE OUTFLE (one such line for each instruction file) * prior information PILBL PIFAC * PARNME + PIFAC * log(PARNME) ... = PIVAL WEIGHT OBGNME (one such line for each article of prior information) * regularization PHIMLIM PHIMACCEPT [FRACPHIM] WFINIT WFMIN WFMAX WFFAC WFTOL [IREGADJ] |
---|
pcf +* control data +RSTFLE PESTMODE +NPAR NOBS NPARGP NPRIOR NOBSGP +NTPLFLE NINSFLE PRECIS DPOINT [NUMCOM] +RLAMBDA1 RLAMFAC PHIRATSUF PHIREDLAM NUMLAM +RELPARMAX FACPARMAX FACORIG +PHIREDSWH +NOPTMAX PHIREDSTP NPHISTP NPHINORED RELPARSTP NRELPAR +ICOV ICOR IEIG +* singular value decomposition +SVDMODE +MAXSING EIGTHRESH +EIGWRITE +* parameter groups +PARGPNME INCTYP DERINC DERINCLB FORCEN DERINCMUL DERMTHD +(one such line for each parameter group) +* parameter data +PARNME PARTRANS PARCHGLIM PARVAL1 PARLBND PARUBND PARGP SCALE OFFSET DERCOM +(one such line for each parameter) +PARNME PARTIED +(one such line for each tied parameter) +* observation groups +OBGNME +(one such line for each observation group) +* observation data +OBSNME OBSVAL WEIGHT OBGNME +(one such line for each observation) +* model command line +COMLINE +(one such line for each model command line) +* model input +TEMPFLE INFLE +(one such line for each template file) +* model output +INSFLE OUTFLE +(one such line for each instruction file) +* prior information +PILBL PIFAC * PARNME + PIFAC * log(PARNME) ... = PIVAL WEIGHT OBGNME +(one such line for each article of prior information) +* regularization +PHIMLIM PHIMACCEPT [FRACPHIM] +WFINIT WFMIN WFMAX +WFFAC WFTOL [IREGADJ] |
+
---|
pcf * control data restart regularization 5 19 2 2 3 2 3 single point 10.0 -3.0 0.3 0.03 10 10.0 10.0 0.001 0.1 50 0.005 4 4 0.005 4 1 1 1 * parameter groups ro relative 0.01 0.0 switch 2.0 parabolic h relative 0.01 0.0 switch 2.0 parabolic * parameter data ro1 fixed factor 0.5 .1 10 ro 1.0 0.0 ro2 log factor 5.0 .1 10 ro 1.0 0.0 ro3 tied factor 0.5 .1 10 ro 1.0 0.0 h1 none factor 2.0 .05 100 h 1.0 0.0 h2 log factor 5.0 .05 100 h 1.0 0.0 ro3 ro2 * observation groups obsgp1 obsgp2 prgp1 * observation data ar1 1.21038 1.0 obsgp1 ar2 1.51208 1.0 obsgp1 ar3 2.07204 1.0 obsgp1 ar4 2.94056 1.0 obsgp1 ar5 4.15787 1.0 obsgp1 ar6 5.7762 1.0 obsgp1 ar7 7.7894 1.0 obsgp1 ar8 9.99743 1.0 obsgp1 ar9 11.8307 1.0 obsgp2 ar10 12.3194 1.0 obsgp2 ar11 10.6003 1.0 obsgp2 ar12 7.00419 1.0 obsgp2 ar13 3.44391 1.0 obsgp2 ar14 1.58279 1.0 obsgp2 ar15 1.1038 1.0 obsgp2 ar16 1.03086 1.0 obsgp2 ar17 1.01318 1.0 obsgp2 ar18 1.00593 0.0 obsgp2 ar19 1.00272 0.0 obsgp2 * model command line model.bat * model inputoutput ves1.tpl a_model.in1 ves2.tpl a_model.in2 * model output ves1.ins a_model.ot1 ves2.ins a_model.ot2 ves3.ins a_model.ot3 * prior information pi1 1.0 * h1 = 1.0 3.0 prgp1 pi2 1.0 * log(ro2) + 1.0 * log(h2) = 2.6026 2.0 prgp1 * regularization 125.0 130.0 0.1000000 1.0 1.0e-10 1.0e10 1.3 1.0e-2 1 |
---|
pcf +* control data +restart regularization +5 19 2 2 3 +2 3 single point +10.0 -3.0 0.3 0.03 10 +10.0 10.0 0.001 +0.1 +50 0.005 4 4 0.005 4 +1 1 1 +* parameter groups +ro relative 0.01 0.0 switch 2.0 parabolic +h relative 0.01 0.0 switch 2.0 parabolic +* parameter data +ro1 fixed factor 0.5 .1 10 ro 1.0 0.0 +ro2 log factor 5.0 .1 10 ro 1.0 0.0 +ro3 tied factor 0.5 .1 10 ro 1.0 0.0 +h1 none factor 2.0 .05 100 h 1.0 0.0 +h2 log factor 5.0 .05 100 h 1.0 0.0 +ro3 ro2 +* observation groups +obsgp1 +obsgp2 +prgp1 +* observation data +ar1 1.21038 1.0 obsgp1 +ar2 1.51208 1.0 obsgp1 +ar3 2.07204 1.0 obsgp1 +ar4 2.94056 1.0 obsgp1 +ar5 4.15787 1.0 obsgp1 +ar6 5.7762 1.0 obsgp1 +ar7 7.7894 1.0 obsgp1 +ar8 9.99743 1.0 obsgp1 +ar9 11.8307 1.0 obsgp2 +ar10 12.3194 1.0 obsgp2 +ar11 10.6003 1.0 obsgp2 +ar12 7.00419 1.0 obsgp2 +ar13 3.44391 1.0 obsgp2 +ar14 1.58279 1.0 obsgp2 +ar15 1.1038 1.0 obsgp2 +ar16 1.03086 1.0 obsgp2 +ar17 1.01318 1.0 obsgp2 +ar18 1.00593 0.0 obsgp2 +ar19 1.00272 0.0 obsgp2 +* model command line +model.bat +* model inputoutput +ves1.tpl a_model.in1 +ves2.tpl a_model.in2 +* model output +ves1.ins a_model.ot1 +ves2.ins a_model.ot2 +ves3.ins a_model.ot3 +* prior information +pi1 1.0 * h1 = 1.0 3.0 prgp1 +pi2 1.0 * log(ro2) + 1.0 * log(h2) = 2.6026 2.0 prgp1 +* regularization +125.0 130.0 0.1000000 +1.0 1.0e-10 1.0e10 +1.3 1.0e-2 1 |
+
---|
* control data RSTFLE PESTMODE NPAR NOBS NPARGP NPRIOR NOBSGP NTPLFLE NINSFLE PRECIS DPOINT [NUMCOM] RLAMBDA1 RLAMFAC PHIRATSUF PHIREDLAM NUMLAM RELPARMAX FACPARMAX FACORIG PHIREDSWH NOPTMAX PHIREDSTP NPHISTP NPHINORED RELPARSTP NRELPAR ICOV ICOR IEIG |
---|
* control data +RSTFLE PESTMODE +NPAR NOBS NPARGP NPRIOR NOBSGP +NTPLFLE NINSFLE PRECIS DPOINT [NUMCOM] +RLAMBDA1 RLAMFAC PHIRATSUF PHIREDLAM NUMLAM +RELPARMAX FACPARMAX FACORIG +PHIREDSWH +NOPTMAX PHIREDSTP NPHISTP NPHINORED RELPARSTP NRELPAR +ICOV ICOR IEIG |
+
---|
* parameter groups PARGPNME INCTYP DERINC DERINCLB FORCEN DERINCMUL DERMTHD (one such line for each parameter group) |
---|
* parameter groups +PARGPNME INCTYP DERINC DERINCLB FORCEN DERINCMUL DERMTHD +(one such line for each parameter group) |
+
---|
* parameter data PARNME PARTRANS PARCHGLIM PARVAL1 PARLBND PARUBND PARGP SCALE OFFSET DERCOM (one such line for each parameter) PARNME PARTIED (one such line for each tied parameter) |
---|
* parameter data +PARNME PARTRANS PARCHGLIM PARVAL1 PARLBND PARUBND PARGP SCALE OFFSET DERCOM +(one such line for each parameter) +PARNME PARTIED +(one such line for each tied parameter) |
+
---|
* observation groups OBGNME (one such line for each observation group) |
---|
* observation groups +OBGNME +(one such line for each observation group) |
+
---|
* observation data OBSNME OBSVAL WEIGHT OBGNME (one such line for each observation) |
---|
* observation data +OBSNME OBSVAL WEIGHT OBGNME +(one such line for each observation) |
+
---|
* model command line COMLINE (one such line for each model command line) |
---|
* model command line +COMLINE +(one such line for each model command line) |
+
---|
* model input TEMPFLE INFLE (one such line for each template file) |
---|
* model input +TEMPFLE INFLE +(one such line for each template file) |
+
---|
* model output INSFLE OUTFLE (one such line for each instruction file) |
---|
* model output +INSFLE OUTFLE +(one such line for each instruction file) |
+
---|
PILBL PIFAC * PARNME + PIFAC * log(PARNME) ... = PIVAL WEIGHT OBGNME (one such line for each article of prior information) |
---|
PILBL PIFAC * PARNME + PIFAC * log(PARNME) ... = PIVAL WEIGHT OBGNME +(one such line for each article of prior information) |
+
---|
pi1 2.0 * log(par1) + 2.5 * log(par2) - 3.5 * log(par3) = 1.342 1.00 obgp1 pi2 4.0 * log(par1) + 5.0 * log(par2) - 7.0 * log(par3) = 2.684 1.00 obgp2 |
---|
pi1 2.0 * log(par1) + 2.5 * log(par2) - 3.5 * log(par3) = 1.342 1.00 obgp1 +pi2 4.0 * log(par1) + 5.0 * log(par2) - 7.0 * log(par3) = 2.684 1.00 obgp2 |
+
---|
pi1 & 2.0 & * & log(par1) & + & 2.5 & * & log(par2) & - & 3.5 & * & log(par3) & = & 1.342 & 1.00 & obgp1 |
---|
pi1 +& 2.0 +& * +& log(par1) +& + +& 2.5 +& * +& log(par2) +& - +& 3.5 +& * +& log(par3) +& = +& 1.342 +& 1.00 +& obgp1 |
+
---|
pi1 2.0 * log(par1) + 2.5 * log & (par2) - 3.5 * log(par3) = 1.342 1.00 obgp1 |
---|
pi1 2.0 * log(par1) + 2.5 * log +& (par2) - 3.5 * log(par3) = 1.342 1.00 obgp1 |
+
---|
pcf * control data restart estimation 5 19 2 2 3 2 3 single point 10.0 -3.0 0.3 0.03 10 10.0 10.0 0.001 0.1 50 0.005 4 4 0.005 4 1 1 1 * parameter groups ro relative 0.01 0.0 switch 2.0 parabolic h relative 0.01 0.0 switch 2.0 parabolic * parameter data ro1 fixed factor 0.5 .1 10 ro 1.0 0.0 ro2 log factor 5.0 .1 10 ro 1.0 0.0 ro3 tied factor 0.5 .1 10 ro 1.0 0.0 h1 none factor 2.0 .05 100 h 1.0 0.0 h2 log factor 5.0 .05 100 h 1.0 0.0 ro3 ro2 * observation groups obsgp1 obsgp2 prgp1 * observation data ar1 1.21038 1.0 obsgp1 ar2 1.51208 1.0 obsgp1 ar3 2.07204 1.0 obsgp1 ar4 2.94056 1.0 obsgp1 ar5 4.15787 1.0 obsgp1 ar6 5.7762 1.0 obsgp1 ar7 7.7894 1.0 obsgp1 ar8 9.99743 1.0 obsgp1 ar9 11.8307 1.0 obsgp2 ar10 12.3194 1.0 obsgp2 ar11 10.6003 1.0 obsgp2 ar12 7.00419 1.0 obsgp2 ar13 3.44391 1.0 obsgp2 ar14 1.58279 1.0 obsgp2 ar15 1.1038 1.0 obsgp2 ar16 1.03086 1.0 obsgp2 ar17 1.01318 1.0 obsgp2 ar18 1.00593 0.0 obsgp2 ar19 1.00272 0.0 obsgp2 * model command line model.bat * model inputoutput ves1.tpl a_model.in1 ves2.tpl a_model.in2 * model output ves1.ins a_model.ot1 ves2.ins a_model.ot2 ves3.ins a_model.ot3 * prior information pi1 1.0 * h1 = 1.0 3.0 prgp1 pi2 1.0 * log(ro2) + 1.0 * log(h2) = 2.6026 2.0 prgp1 # This is a comment line ++ forecasts(ar18,ar19) parcov(param.unc) ++ lambdas(0.1, 1.0, 10,100) ++ n_iter_base(-1) ++ n_iter_super(4) ++ base_jacobian(pest.jco) ++ par_sigma_range(6) |
---|
pcf +* control data +restart estimation +5 19 2 2 3 +2 3 single point +10.0 -3.0 0.3 0.03 10 +10.0 10.0 0.001 +0.1 +50 0.005 4 4 0.005 4 +1 1 1 +* parameter groups +ro relative 0.01 0.0 switch 2.0 parabolic +h relative 0.01 0.0 switch 2.0 parabolic +* parameter data +ro1 fixed factor 0.5 .1 10 ro 1.0 0.0 +ro2 log factor 5.0 .1 10 ro 1.0 0.0 +ro3 tied factor 0.5 .1 10 ro 1.0 0.0 +h1 none factor 2.0 .05 100 h 1.0 0.0 +h2 log factor 5.0 .05 100 h 1.0 0.0 +ro3 ro2 +* observation groups +obsgp1 +obsgp2 +prgp1 +* observation data +ar1 1.21038 1.0 obsgp1 +ar2 1.51208 1.0 obsgp1 +ar3 2.07204 1.0 obsgp1 +ar4 2.94056 1.0 obsgp1 +ar5 4.15787 1.0 obsgp1 +ar6 5.7762 1.0 obsgp1 +ar7 7.7894 1.0 obsgp1 +ar8 9.99743 1.0 obsgp1 +ar9 11.8307 1.0 obsgp2 +ar10 12.3194 1.0 obsgp2 +ar11 10.6003 1.0 obsgp2 +ar12 7.00419 1.0 obsgp2 +ar13 3.44391 1.0 obsgp2 +ar14 1.58279 1.0 obsgp2 +ar15 1.1038 1.0 obsgp2 +ar16 1.03086 1.0 obsgp2 +ar17 1.01318 1.0 obsgp2 +ar18 1.00593 0.0 obsgp2 +ar19 1.00272 0.0 obsgp2 +* model command line +model.bat +* model inputoutput +ves1.tpl a_model.in1 +ves2.tpl a_model.in2 +* model output +ves1.ins a_model.ot1 +ves2.ins a_model.ot2 +ves3.ins a_model.ot3 +* prior information +pi1 1.0 * h1 = 1.0 3.0 prgp1 +pi2 1.0 * log(ro2) + 1.0 * log(h2) = 2.6026 2.0 prgp1 +~ This is a comment line +++ forecasts(ar18,ar19) parcov(param.unc) +++ lambdas(0.1, 1.0, 10,100) +++ n_iter_base(-1) +++ n_iter_super(4) +++ base_jacobian(pest.jco) +++ par_sigma_range(6) |
+
---|
# comment line pcf * control data keyword # more comments here: pestmode estimation maxsing 100 #Phimlim 1234 variable commented out forecasts ar18,ar19 Parcov param.unc # the prior cov matrix in unc file format lambdas 0.1, 1.0, 10,100 #some lambda values n_iter_base -1 n_iter_super 4 base_jacobian pest.jcb par_sigma_range 6 ies_par_en par.jcb * parameter data external Par_hk.csv Par_rech.dat sep w missing_values nan # observation data split into separate file for each type * observation data external head_obs.dat sep w missing_values missing flux_obs.csv additional_valuable_obs.csv * model command line model.bat * model input external Model_input.csv * model output external Model_output.csv * prior information external Pi.csv |
---|
~ comment line +pcf +* control data keyword ~ more comments here: +pestmode estimation +maxsing 100 +~Phimlim 1234 variable commented out +forecasts ar18,ar19 +Parcov param.unc ~ the prior cov matrix in unc file format +lambdas 0.1, 1.0, 10,100 ~some lambda values +n_iter_base -1 +n_iter_super 4 +base_jacobian pest.jcb +par_sigma_range 6 +ies_par_en par.jcb +* parameter data external +Par_hk.csv +Par_rech.dat sep w missing_values nan +~ observation data split into separate file for each type +* observation data external +head_obs.dat sep w missing_values missing +flux_obs.csv +additional_valuable_obs.csv +* model command line +model.bat +* model input external +Model_input.csv +* model output external +Model_output.csv +* prior information external +Pi.csv |
+
---|
~ decision_variable coefficient pump_rate1 3.345 pump_rate2 3.034 inj_rate1 4.321 inj_rate2 4.287 etc. |
---|
~ decision_variable coefficient +pump_rate1 3.345 +pump_rate2 3.034 +inj_rate1 4.321 +inj_rate2 4.287 +etc. |
+
---|
4 5 2 1.0 1.0 0.0 1.0 0.0 1.0 1.0 0.0 1.0 0.0 1.0 1.0 0.0 1.0 0.0 1.0 1.0 0.0 1.0 0.0 * row names c001cr03c10_19700102 c001cr03c16_19700102 c001cr04c09_19700102 flx_river * column names hk r0 r1 w0 w1 |
---|
4 5 2 +1.0 1.0 0.0 1.0 0.0 +1.0 1.0 0.0 1.0 0.0 +1.0 1.0 0.0 1.0 0.0 +1.0 1.0 0.0 1.0 0.0 +* row names +c001cr03c10_19700102 +c001cr03c16_19700102 +c001cr04c09_19700102 +flx_river +* column names +hk +r0 +r1 +w0 +w1 |
+
---|
++ ies_initial_lambda(100) ++ ies_subset_size(4) ++ ies_lambda_mults(0.1,1.0,10.0) ++ ies_lambda_scale_fac(0.9,1.0,1.1) |
---|
++ ies_initial_lambda(100) +++ ies_subset_size(4) +++ ies_lambda_mults(0.1,1.0,10.0) +++ ies_lambda_scale_fac(0.9,1.0,1.1) |
+
---|
Variable | Type | Role |
---|---|---|
ies_num_reals(50) | integer | The number of realizations to draw in order to form parameter and observation ensembles. |
parcov() | text | The name of a file containing the prior parameter covariance matrix. This can be a parameter uncertainty file (extension .unc), a covariance matrix file (extension .cov) or a binary JCO or JCB file (extension .jco or .jcb). |
par_sigma_range(4.0) | real | The difference between a parameter’s upper and lower bounds expressed as standard deviations. |
ies_parameter_ensemble() | text | The name of a CSV or JCO/JCB file (recognized by its extension) containing user-supplied parameter realizations comprising the initial (prior) parameter ensemble. If this keyword is omitted, PESTPP-IES generates the initial parameter ensemble itself. |
ies_observation_ensemble() | text | The name of a CSV or JCO/JCB file (recognized by its extension) containing user-supplied observation plus noise realizations comprising the observation plus noise ensemble. If this keyword is omitted, PESTPP-IES generates the observation plus noise ensemble itself. |
ies_add_base(true) | Boolean | If set to true, instructs PESTPP-IES to include a “realization” in the initial parameter ensemble comprised of parameter values read from the “parameter data” section of the PEST control file. The corresponding observation ensemble is comprised of measurements read from the “observation data” section of the PEST control file. |
ies_restart_observation_ensemble() | text | The name of a CSV or JCO/JCB file (recognized by its extension) containing model outputs calculated using a parameter ensemble. If it reads this file, PESTPP-IES does not calculate these itself, proceeding to upgrade calculations instead. |
ies_restart_parameter_ensemble() | text | The name of a CSV or JCO/JCB file (recognized by its extension) containing a parameter ensemble that corresponds to the ies_restart_observation_ensemble(). This option requires that the ies_restart_observation_ensemble() control variable also be supplied. This ensemble is only used in the calculation of the regularization component of the objective function for a restarted PESTPP-IES analysis. |
ies_enforce_bounds(true) | Boolean | If set to true PESTPP-IES will not transgress bounds supplied in the PEST control file when generating or accepting parameter realizations, and when adjusting these realizations. |
ies_initial_lambda() | real | The initial Marquardt lambda. The default value is \(10^{\text{floor}\left( \log_{10}\frac{\mu_{Փ}}{2n} \right)}\text{.\ \ }\)If supplied as a negative value, then the abs(ies_initial_lambda) is used as multiplier of the default initial-phi-based value. |
ies_lambda_mults(0.1,1.0,10.0) | comma-separated reals | Factors by which to multiply the best lambda from the previous iteration to yield values for testing parameter upgrades during the current iteration. |
lambda_scale_fac(0.75,1.0,1.1) | comma-separated reals | Line search factors along parameter upgrade directions computed using different Marquardt lambdas. |
ies_subset_size(4) | integer | Number of realizations used in testing and evaluation of different Marquardt lambdas. If supplied as a negative value, then abs(ies_subset_size) is treated as a percentage of the current ensemble size – this allows the subset size to fluctuate with the size of the ensemble |
ies_use_approx(true) | Boolean | Use complex or simple formula provided by Chen and Oliver (2013) for calculation of parameter upgrades. The more complex formula includes a function which constrains parameter realizations to respect prior means and probabilities. |
ies_reg_factor(0.0) | real | Regularization objective function as a fraction of measurement objective function when constraining parameter realizations to respect initial values. |
ies_bad_phi(1.0E300) | real | If the objective function calculated as an outcome of a model run is greater than this value, the model run is deemed to have failed. |
ies_bad_phi_sigma(1.0E300) | real | If the objective function calculated for a given realization is greater than the current mean objective function of the ensemble plus the objective function standard deviation of the ensemble times ies_bad_phi_sigma(), that realization is treated as failed. If negative, its absolute value is treated as the upper quantile for identifying “bad” realizations. |
ies_use_prior_scaling(false) | Boolean | Use a scaling factor based on the prior parameter distribution when evaluating parameter-to-model-output covariance used in calculation of the randomized Jacobian matrix. |
ies_use_empirical_prior(false) | Boolean | Use an empirical, diagonal parameter covariance matrix for certain calculations. This matrix is contained in a file whose name is provided with the ies_parameter_ensemble() keyword. |
Ies_save_lambda_ensembles(false) | Boolean | Save a set of CSV or JCB files that record parameter realizations used when testing different Marquardt lambdas. |
ies_verbose_level(1) | 0, 1 or 2 | The level of diagnostic output provided by PESTPP-IES. If set to 2, all intermediate matrices are saved to ASCII files. This can require a considerable amount of storage. |
ies_accept_phi_fac(1.05) | real > 1.0 | The factor applied to the previous best mean objective function to determine if the current mean objective function is acceptable. |
ies_lambda_dec_fac(0.75) | real < 1.0 | The factor by which to decrease the value of the Marquardt lambda during the next IES iteration if the current iteration of the ensemble smoother process was successful in lowering the mean objective function. |
ies_lambda_inc_fac(10.0) | real > 1.0 | The factor by which to increase the current value of the Marquardt lambda for further lambda testing if the current lambda testing cycle was unsuccessful. |
ies_subset_how(random) | “first”,”last”, ”random”, ”phi_based | How to select the subset of realizations for objective function evaluation during upgrade testing. Default is “random”. |
ies_num_threads(-1) | integer > 1 | The number of threads to use during the localized upgrade solution process, the automatic adaptive localization process. If the localizer contains many (>10K) rows, then multithreading can substantially speed up the upgrade calculation process. ies_num_threads() should not be greater than the number of physical cores on the host machine. |
ies_localizer() | text | The name of a matrix to use for localization. The extension of the file is used to determine the type: .mat is an ASCII matrix file, .jcb/.jco signifies use of (enhanced) Jacobian matrix format (a binary format), while .csv signifies a comma-delimited file. Note that adjustable parameters not listed in localization matrix columns are implicitly treated as “fixed” while non-zero weighted observations not listed in rows of this matrix are implicitly treated as zero-weighted. |
ies_group_draws(true) | Boolean | A flag to draw from the (multivariate) Gaussian prior by parameter/observation groups. This is usually a good idea since groups of parameters/observations are likely to have prior correlation. |
ies_save_binary(false) | Boolean | A flag to save parameter and observation ensembles in binary (i.e., JCB) format instead of CSV format. |
ies_csv_by_reals(true) | Boolean | A flag to save parameter and observation ensemble CSV files by realization instead of by variable name. If true, each row of the CSV file is a realization. If false, each column of the CSV file is a realization. |
ies_autoadaloc(false) | Boolean | Flag to activate automatic adaptive localization. |
ies_autoadaloc_sigma_dist(1.0) | Real | Real number representing the factor by which a correlation coefficient must exceed the standard deviation of background correlation coefficients to be considered significant. Default is 1.0 |
tie_by_group(false) | Boolean | Flag to tie all adjustable parameters together within each parameter group. Initial parameter ratios are maintained as parameters are adjusted. Parameters that are designated as already tied, or that have parameters tied to them, are not affected. |
ies_enforce_chglim(false) | Boolean | Flag to enforce parameter change limits (via FACPARMAX and RELPARMAX) in a way similar to PEST and PESTPP-GLM (by scaling the entire realization). Default is false. |
ies_center_on() | String | A realization name that should be used for the ensemble center in calculating the approximate Jacobian matrix. The realization name must be in both the parameter and observation ensembles. If not passed, the mean vector is used as the center. The value “_MEDIAN_” can also be used, which instructs PESTPP-IES to use the median vector for calculating anomalies. |
enforce_tied_bounds(false) | Boolean | Flag to enforce parameter bounds on any tied parameters. Depending on the ration between the tied and free parameters, this option can greatly limit parameter changes. |
ies_no_noise(false) | Boolean | Flag to not generate and use realizations of measurement noise. Default is False (that is, to use measurement noise). |
ies_drop_conflicts(false) | Boolean | Flag to remove non-zero weighted observations that are in a prior-data conflict state from the upgrade calculations. Default is False. |
ies_pdc_sigma_distance() | Real > 0.0 | The number of standard deviations from the mean used in checking for prior-data conflict. |
ies_save_rescov(False) | Boolean | Flag to save the iteration-level residual covariance matrix. If ies_save_binary is True, then a binary format file is written, otherwise an ASCII format (.cov) file is written. The file name is case.N.res.cov/.jcb. Note that this functionality does not scale beyond about 20,000 non-zero-weighted observations |
obscov() | text | The name of a file containing the observation noise covariance matrix. This can be a parameter uncertainty file (extension .unc), a covariance matrix file (extension .cov) or a binary JCO or JCB file (extension .jco or .jcb). Please see the section on this matrix above to understand the implications of using this matrix |
rand_seed(358183147) | unsigned integer | Seed for the random number generator. |
Ies_use_mda(false) | Boolean | Flag to use the (optionally iterative) Kalman update equation – the number of data assimilation iterations is controlled by NOPTMAX; NOPTMAX = 1 and ies_use_mda(true) results in the standard ensemble smoother Kalman update. If False, the GLM iterative ensemble smoother equation is used. Default is False |
Ies_mda_init_fac(10.0) | double | The initial MDA covariance inflation factor. Only used if ies_use_mda is true. Default is 10.0 |
Ies_mda_decl_fac(0.5) | double | The final MDA covariance inflation factor. Only used in ies_use_mda is true. Default is 0.5 |
Ies_upgrades_in_memory(true) | Boolean | Flag to hold parameter upgrade ensembles in memory during testing. If False, parameter ensembles are saved to disk during testing and the best-phi ensemble is loaded from disk after testing – this can reduce memory pressure for very high dimensional problems. Default is True but is only activated if number of parameters > 100K. |
Ies_ordered_binary(true) | Boolean | Flag to write control-file-ordered binary ensemble files. Only used if save_binary is true. If false, hash-ordered binary files are written – for very high dimensional problems, writing unordered binary can save lots of time. If not passed and number of parameters > 100K, then ies_ordered_binary is set to false. |
ensemble_output_precision(6) | int | Number of significant digits to use in ASCII format ensemble files. Default is 6 |
ies_multimodal_alpha(1.0) | double | The fraction of the total ensemble size to use as the local neighborhood realizations in the multimodal solution process. Must be greater than zero and less than 1. Values of 0.1 to 0.25 seem to work well. Default is 1.0 (disable multi-modal solution process) |
ies_weight_ensemble() | text | The name of a CSV or JCO/JCB file (recognized by its extension) containing user-supplied weight vectors for each realization. If this keyword is omitted, PESTPP-IES uses the weight vector in the control file for all realizations. Only used with ies_multimodal_alpha |
ies_phi_factor_file | text | A two-column ASCII file that contains observation group “tags” and phi factors. Used to internally adjust weights to implement a balanced objective function using the mean residuals from the initial ensemble. |
ies_phi_factors_by_real | Bool | A flag to use internal weight balancing for each realization. This option should be used in conjunction with the multi-modal solution process. |
ies_n_iter_mean | int | The number of mean-shift iterations to use. Default is 0- |
Variable | +Type | +Role | +
---|---|---|
ies_num_reals(50) | +integer | +The number of realizations to draw in order to form parameter and observation ensembles. | +
parcov() | +text | +The name of a file containing the prior parameter covariance matrix. This can be a parameter uncertainty file (extension .unc), a covariance matrix file (extension .cov) or a binary JCO or JCB file (extension .jco or .jcb). | +
par_sigma_range(4.0) | +real | +The difference between a parameter’s upper and lower bounds expressed as standard deviations. | +
ies_parameter_ensemble() | +text | +The name of a CSV or JCO/JCB file (recognized by its extension) containing user-supplied parameter realizations comprising the initial (prior) parameter ensemble. If this keyword is omitted, PESTPP-IES generates the initial parameter ensemble itself. | +
ies_observation_ensemble() | +text | +The name of a CSV or JCO/JCB file (recognized by its extension) containing user-supplied observation plus noise realizations comprising the observation plus noise ensemble. If this keyword is omitted, PESTPP-IES generates the observation plus noise ensemble itself. | +
ies_add_base(true) | +Boolean | +If set to true, instructs PESTPP-IES to include a “realization” in the initial parameter ensemble comprised of parameter values read from the “parameter data” section of the PEST control file. The corresponding observation ensemble is comprised of measurements read from the “observation data” section of the PEST control file. | +
ies_restart_observation_ensemble() | +text | +The name of a CSV or JCO/JCB file (recognized by its extension) containing model outputs calculated using a parameter ensemble. If it reads this file, PESTPP-IES does not calculate these itself, proceeding to upgrade calculations instead. | +
ies_restart_parameter_ensemble() | +text | +The name of a CSV or JCO/JCB file (recognized by its extension) containing a parameter ensemble that corresponds to the ies_restart_observation_ensemble(). This option requires that the ies_restart_observation_ensemble() control variable also be supplied. This ensemble is only used in the calculation of the regularization component of the objective function for a restarted PESTPP-IES analysis. | +
ies_enforce_bounds(true) | +Boolean | +If set to true PESTPP-IES will not transgress bounds supplied in the PEST control file when generating or accepting parameter realizations, and when adjusting these realizations. | +
ies_initial_lambda() | +real | +The initial Marquardt lambda. The default value is \(10^{floor\left( \log_{10}\frac{\mu_{Փ}}{2n} \right)}.\ \ \)If supplied as a negative value, then the abs(ies_initial_lambda) is used as multiplier of the default initial-phi-based value. | +
ies_lambda_mults(0.1,1.0,10.0) | +comma-separated reals | +Factors by which to multiply the best lambda from the previous iteration to yield values for testing parameter upgrades during the current iteration. | +
lambda_scale_fac(0.75,1.0,1.1) | +comma-separated reals | +Line search factors along parameter upgrade directions computed using different Marquardt lambdas. | +
ies_subset_size(4) | +integer | +Number of realizations used in testing and evaluation of different Marquardt lambdas. If supplied as a negative value, then abs(ies_subset_size) is treated as a percentage of the current ensemble size – this allows the subset size to fluctuate with the size of the ensemble | +
ies_use_approx(true) | +Boolean | +Use complex or simple formula provided by Chen and Oliver (2013) for calculation of parameter upgrades. The more complex formula includes a function which constrains parameter realizations to respect prior means and probabilities. | +
ies_reg_factor(0.0) | +real | +Regularization objective function as a fraction of measurement objective function when constraining parameter realizations to respect initial values. | +
ies_bad_phi(1.0E300) | +real | +If the objective function calculated as an outcome of a model run is greater than this value, the model run is deemed to have failed. | +
ies_bad_phi_sigma(1.0E300) | +real | +If the objective function calculated for a given realization is greater than the current mean objective function of the ensemble plus the objective function standard deviation of the ensemble times ies_bad_phi_sigma(), that realization is treated as failed. If negative, its absolute value is treated as the upper quantile for identifying “bad” realizations. | +
ies_use_prior_scaling(false) | +Boolean | +Use a scaling factor based on the prior parameter distribution when evaluating parameter-to-model-output covariance used in calculation of the randomized Jacobian matrix. | +
ies_use_empirical_prior(false) | +Boolean | +Use an empirical, diagonal parameter covariance matrix for certain calculations. This matrix is contained in a file whose name is provided with the ies_parameter_ensemble() keyword. | +
Ies_save_lambda_ensembles(false) | +Boolean | +Save a set of CSV or JCB files that record parameter realizations used when testing different Marquardt lambdas. | +
ies_verbose_level(1) | +0, 1 or 2 | +The level of diagnostic output provided by PESTPP-IES. If set to 2, all intermediate matrices are saved to ASCII files. This can require a considerable amount of storage. | +
ies_accept_phi_fac(1.05) | +real > 1.0 | +The factor applied to the previous best mean objective function to determine if the current mean objective function is acceptable. | +
ies_lambda_dec_fac(0.75) | +real < 1.0 | +The factor by which to decrease the value of the Marquardt lambda during the next IES iteration if the current iteration of the ensemble smoother process was successful in lowering the mean objective function. | +
ies_lambda_inc_fac(10.0) | +real > 1.0 | +The factor by which to increase the current value of the Marquardt lambda for further lambda testing if the current lambda testing cycle was unsuccessful. | +
ies_subset_how(random) | +“first”,”last”, +”random”, +”phi_based |
+How to select the subset of realizations for objective function evaluation during upgrade testing. Default is “random”. | +
ies_num_threads(-1) | +integer > 1 | +The number of threads to use during the localized upgrade solution process, the automatic adaptive localization process. If the localizer contains many (>10K) rows, then multithreading can substantially speed up the upgrade calculation process. ies_num_threads() should not be greater than the number of physical cores on the host machine. | +
ies_localizer() | +text | +The name of a matrix to use for localization. The extension of the file is used to determine the type: .mat is an ASCII matrix file, .jcb/.jco signifies use of (enhanced) Jacobian matrix format (a binary format), while .csv signifies a comma-delimited file. Note that adjustable parameters not listed in localization matrix columns are implicitly treated as “fixed” while non-zero weighted observations not listed in rows of this matrix are implicitly treated as zero-weighted. | +
ies_group_draws(true) | +Boolean | +A flag to draw from the (multivariate) Gaussian prior by parameter/observation groups. This is usually a good idea since groups of parameters/observations are likely to have prior correlation. | +
ies_save_binary(false) | +Boolean | +A flag to save parameter and observation ensembles in binary (i.e., JCB) format instead of CSV format. | +
ies_csv_by_reals(true) | +Boolean | +A flag to save parameter and observation ensemble CSV files by realization instead of by variable name. If true, each row of the CSV file is a realization. If false, each column of the CSV file is a realization. | +
ies_autoadaloc(false) | +Boolean | +Flag to activate automatic adaptive localization. | +
ies_autoadaloc_sigma_dist(1.0) | +Real | +Real number representing the factor by which a correlation coefficient must exceed the standard deviation of background correlation coefficients to be considered significant. Default is 1.0 | +
tie_by_group(false) | +Boolean | +Flag to tie all adjustable parameters together within each parameter group. Initial parameter ratios are maintained as parameters are adjusted. Parameters that are designated as already tied, or that have parameters tied to them, are not affected. | +
ies_enforce_chglim(false) | +Boolean | +Flag to enforce parameter change limits (via FACPARMAX and RELPARMAX) in a way similar to PEST and PESTPP-GLM (by scaling the entire realization). Default is false. | +
ies_center_on() | +String | +A realization name that should be used for the ensemble center in calculating the approximate Jacobian matrix. The realization name must be in both the parameter and observation ensembles. If not passed, the mean vector is used as the center. The value “_MEDIAN_” can also be used, which instructs PESTPP-IES to use the median vector for calculating anomalies. | +
enforce_tied_bounds(false) | +Boolean | +Flag to enforce parameter bounds on any tied parameters. Depending on the ration between the tied and free parameters, this option can greatly limit parameter changes. | +
ies_no_noise(false) | +Boolean | +Flag to not generate and use realizations of measurement noise. Default is False (that is, to use measurement noise). | +
ies_drop_conflicts(false) | +Boolean | +Flag to remove non-zero weighted observations that are in a prior-data conflict state from the upgrade calculations. Default is False. | +
ies_pdc_sigma_distance() | +Real > 0.0 | +The number of standard deviations from the mean used in checking for prior-data conflict. | +
ies_save_rescov(False) | +Boolean | +Flag to save the iteration-level residual covariance matrix. If ies_save_binary is True, then a binary format file is written, otherwise an ASCII format (.cov) file is written. The file name is case.N.res.cov/.jcb. Note that this functionality does not scale beyond about 20,000 non-zero-weighted observations | +
obscov() | +text | +The name of a file containing the observation noise covariance matrix. This can be a parameter uncertainty file (extension .unc), a covariance matrix file (extension .cov) or a binary JCO or JCB file (extension .jco or .jcb). Please see the section on this matrix above to understand the implications of using this matrix | +
rand_seed(358183147) | +unsigned integer | +Seed for the random number generator. | +
Ies_use_mda(false) | +Boolean | +Flag to use the (optionally iterative) Kalman update equation – the number of data assimilation iterations is controlled by NOPTMAX; NOPTMAX = 1 and ies_use_mda(true) results in the standard ensemble smoother Kalman update. If False, the GLM iterative ensemble smoother equation is used. Default is False | +
Ies_mda_init_fac(10.0) | +double | +The initial MDA covariance inflation factor. Only used if ies_use_mda is true. Default is 10.0 | +
Ies_mda_decl_fac(0.5) | +double | +The final MDA covariance inflation factor. Only used in ies_use_mda is true. Default is 0.5 | +
Ies_upgrades_in_memory(true) | +Boolean | +Flag to hold parameter upgrade ensembles in memory during testing. If False, parameter ensembles are saved to disk during testing and the best-phi ensemble is loaded from disk after testing – this can reduce memory pressure for very high dimensional problems. Default is True but is only activated if number of parameters > 100K. | +
Ies_ordered_binary(true) | +Boolean | +Flag to write control-file-ordered binary ensemble files. Only used if save_binary is true. If false, hash-ordered binary files are written – for very high dimensional problems, writing unordered binary can save lots of time. If not passed and number of parameters > 100K, then ies_ordered_binary is set to false. | +
ensemble_output_precision(6) | +int | +Number of significant digits to use in ASCII format ensemble files. Default is 6 | +
ies_multimodal_alpha(1.0) | +double | +The fraction of the total ensemble size to use as the local neighborhood realizations in the multimodal solution process. Must be greater than zero and less than 1. Values of 0.1 to 0.25 seem to work well. Default is 1.0 (disable multi-modal solution process) | +
ies_weight_ensemble() | +text | +The name of a CSV or JCO/JCB file (recognized by its extension) containing user-supplied weight vectors for each realization. If this keyword is omitted, PESTPP-IES uses the weight vector in the control file for all realizations. Only used with ies_multimodal_alpha | +
ies_phi_factor_file | +text | +A two-column ASCII file that contains observation group “tags” and phi factors. Used to internally adjust weights to implement a balanced objective function using the mean residuals from the initial ensemble. | +
ies_phi_factors_by_real | +Bool | +A flag to use internal weight balancing for each realization. This option should be used in conjunction with the multi-modal solution process. | +
ies_n_iter_mean | +int | +The number of mean-shift iterations to use. Default is 0- | +
pcf * control data RSTFLE PESTMODE NPAR NOBS NPARGP NPRIOR NOBSGP NTPLFLE NINSFLE PRECIS DPOINT RLAMBDA1 RLAMFAC PHIRATSUF PHIREDLAM NUMLAM RELPARMAX FACPARMAX FACORIG PHIREDSWH NOPTMAX PHIREDSTP NPHISTP NPHINORED RELPARSTP NRELPAR ICOV ICOR IEIG * singular value decomposition SVDMODE MAXSING EIGTHRESH EIGWRITE * parameter groups PARGPNME INCTYP DERINC DERINCLB FORCEN DERINCMUL DERMTHD (one such line for each parameter group) * parameter data PARNME PARTRANS PARCHGLIM PARVAL1 PARLBND PARUBND PARGP SCALE OFFSET DERCOM (one such line for each parameter) PARNME PARTIED (one such line for each tied parameter) * observation groups OBGNME (one such line for each observation group) * observation data OBSNME OBSVAL WEIGHT OBGNME (one such line for each observation) * model command line COMLINE (one such line for each model command line) * model input TEMPFLE INFLE (one such line for each template file) * model output INSFLE OUTFLE (one such line for each instruction file) * prior information PILBL PIFAC * PARNME + PIFAC * log(PARNME) ... = PIVAL WEIGHT OBGNME (one such line for each article of prior information) * regularization PHIMLIM PHIMACCEPT [FRACPHIM] WFINIT WFMIN WFMAX WFFAC WFTOL [IREGADJ] ++ ++PSO(case.pst) |
---|
pcf +* control data +RSTFLE PESTMODE +NPAR NOBS NPARGP NPRIOR NOBSGP +NTPLFLE NINSFLE PRECIS DPOINT +RLAMBDA1 RLAMFAC PHIRATSUF PHIREDLAM NUMLAM +RELPARMAX FACPARMAX FACORIG +PHIREDSWH +NOPTMAX PHIREDSTP NPHISTP NPHINORED RELPARSTP NRELPAR +ICOV ICOR IEIG +* singular value decomposition +SVDMODE +MAXSING EIGTHRESH +EIGWRITE +* parameter groups +PARGPNME INCTYP DERINC DERINCLB FORCEN DERINCMUL DERMTHD +(one such line for each parameter group) +* parameter data +PARNME PARTRANS PARCHGLIM PARVAL1 PARLBND PARUBND PARGP SCALE OFFSET DERCOM +(one such line for each parameter) +PARNME PARTIED +(one such line for each tied parameter) +* observation groups +OBGNME +(one such line for each observation group) +* observation data +OBSNME OBSVAL WEIGHT OBGNME +(one such line for each observation) +* model command line +COMLINE +(one such line for each model command line) +* model input +TEMPFLE INFLE +(one such line for each template file) +* model output +INSFLE OUTFLE +(one such line for each instruction file) +* prior information +PILBL PIFAC * PARNME + PIFAC * log(PARNME) ... = PIVAL WEIGHT OBGNME +(one such line for each article of prior information) +* regularization +PHIMLIM PHIMACCEPT [FRACPHIM] +WFINIT WFMIN WFMAX +WFFAC WFTOL [IREGADJ] +++ +++PSO(case.pst) |
+
---|
* control data RSTPSO NOBJGP NCON NFORG VERBOSE NPOP C1 C2 ISEED INITP VMAX IINERT FINERT INITER NEIBR NNEIBR * objective data OBJNME OBJMETH * constraint data CONNME CONMETH UPLIM (one such line for each constraint function) |
---|
* control data +RSTPSO NOBJGP NCON NFORG VERBOSE +NPOP C1 C2 ISEED +INITP VMAX IINERT FINERT INITER +NEIBR NNEIBR +* objective data +OBJNME OBJMETH +* constraint data +CONNME CONMETH UPLIM +(one such line for each constraint function) |
+
---|
* control data RSTPSO NOBJGP NCON NFORG VERBOSE NPOP C1 C2 ISEED INITP VMAX IINERT FINERT INITER NREP REPMODE RFIT RRAMP * pareto groups PTONME PTOLIM (one such line for each pareto group) * objective data OBJNME OBJMETH PTOGPNME PTOW (one such line for each objective function) * constraint data CONNME CONMETH UPLIM (one such line for each constraint function) |
---|
* control data +RSTPSO NOBJGP NCON NFORG VERBOSE +NPOP C1 C2 ISEED +INITP VMAX IINERT FINERT INITER +NREP REPMODE RFIT RRAMP +* pareto groups +PTONME PTOLIM +(one such line for each pareto group) +* objective data +OBJNME OBJMETH PTOGPNME PTOW +(one such line for each objective function) +* constraint data +CONNME CONMETH UPLIM +(one such line for each constraint function) |
+
---|
* control data 0 2 0 10 2 100 1.00E+00 1.00E+00 171 2 9.00E-01 4.00E-01 4.00E-01 1 lhs-initial-swarm.txt 100 2 5.0 3.0 0 2 -1 * pareto groups obj01 0.00E+00 obj02 1.00E+03 * objective data objfun01 2 obj01 1.00 objfun02 2 obj02 1.00 |
---|
* control data +0 2 0 10 2 +100 1.00E+00 1.00E+00 171 +2 9.00E-01 4.00E-01 4.00E-01 1 +lhs-initial-swarm.txt +100 2 5.0 3.0 +0 +2 -1 +* pareto groups +obj01 0.00E+00 +obj02 1.00E+03 +* objective data +objfun01 2 obj01 1.00 +objfun02 2 obj02 1.00 |
+
---|
NPOP PARNME PARVAL-1 PARVAL-2 … PARVAL-NPOP (one such line for each decision variable (or parameter)) |
---|
NPOP +PARNME PARVAL-1 PARVAL-2 … PARVAL-NPOP +(one such line for each decision variable (or parameter)) |
+
---|
File | Contents |
---|---|
case.rec | Run record file. This file records a complete history of the inversion process. It is available for user-inspection at any time during that process. |
case.rmr | Parallel run management record file. |
case.log | performance record. This file records the times commenced and completed various processing tasks. |
case.global.<cycle>.pe.csv case.global.<cycle>.pe.jcb | The “global” parameter ensemble at the end of cycle <cycle>. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format |
case.global.<cycle>.oe.csv case.global.<cycle>.oe.jcb | The “global” simulated output (e.g., observation) ensemble at the end of cycle <cycle>. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format |
case.global.<cycle>.obs+noise..csv case.global.<cycle>.obs+noise.jcb | The “global” observations plus noise ensemble at the end of cycle <cycle>. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format |
case.<cycle>.<iter>.par.csv case.<cycle>.<iter>.par.jcb | The parameter ensemble at the end of cycle <cycle> and iteration <iter>. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format |
case.<cycle>.<iter>.obs.csv case.<cycle>.<iter>.obs.jcb | The simulated output (e.g., observation) ensemble at the end of cycle <cycle> and iteration <iter>. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format |
case.<cycle>.obs+noise.csv case.<cycle>.obs+noise.jcb | The observations plus noise ensemble at the start of cycle <cycle>. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format. |
case.<cycle>.<iter>.base.par | A pest parameter value file for the “base” realization if present in the ensemble |
case.<cycle>.<iter>.base.rei | A pest residual value file for the “base” realization if present in the ensemble |
case.global.prior.pe.csv case.gobal.prior.pe.jcb | The global prior parameter ensemble. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format |
case.global.phi.actual.csv | The global actual objective function (phi) ensemble csv record. “actual” refers to fact that these objective function values do not rely on the noise realizations. |
Case.global.<cycle>.< iter>.pcs.csv | The global parameter change summary for cycle <cycle> after iteration <iter> |
File | +Contents | +
---|---|
case.rec | +Run record file. This file records a complete history of the inversion process. It is available for user-inspection at any time during that process. | +
case.rmr | +Parallel run management record file. | +
case.log | +performance record. This file records the times commenced and completed various processing tasks. | +
case.global.<cycle>.pe.csv +case.global.<cycle>.pe.jcb |
+The “global” parameter ensemble at the end of cycle <cycle>. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format | +
case.global.<cycle>.oe.csv +case.global.<cycle>.oe.jcb |
+The “global” simulated output (e.g., observation) ensemble at the end of cycle <cycle>. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format | +
case.global.<cycle>.obs+noise..csv +case.global.<cycle>.obs+noise.jcb |
+The “global” observations plus noise ensemble at the end of cycle <cycle>. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format | +
case.<cycle>.<iter>.par.csv +case.<cycle>.<iter>.par.jcb |
+The parameter ensemble at the end of cycle <cycle> and iteration <iter>. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format | +
case.<cycle>.<iter>.obs.csv +case.<cycle>.<iter>.obs.jcb |
+The simulated output (e.g., observation) ensemble at the end of cycle <cycle> and iteration <iter>. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format | +
case.<cycle>.obs+noise.csv +case.<cycle>.obs+noise.jcb |
+The observations plus noise ensemble at the start of cycle <cycle>. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format. | +
case.<cycle>.<iter>.base.par | +A pest parameter value file for the “base” realization if present in the ensemble | +
case.<cycle>.<iter>.base.rei | +A pest residual value file for the “base” realization if present in the ensemble | +
case.global.prior.pe.csv +case.gobal.prior.pe.jcb |
+The global prior parameter ensemble. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format | +
case.global.phi.actual.csv | +The global actual objective function (phi) ensemble csv record. “actual” refers to fact that these objective function values do not rely on the noise realizations. | +
Case.global.<cycle>.< iter>.pcs.csv | +The global parameter change summary for cycle <cycle> after iteration <iter> | +
File | Contents |
---|---|
case.rec | Run record file. This file records a complete history of the inversion process. It is available for user-inspection at any time during that process. |
case.rmr | Parallel run management record file. |
case.log | performance record. This file records the times commenced and completed various processing tasks. |
case.pareto.summary.csv | A summary of pareto dominant solutions for each generation. |
case.chance.obs_pop.csv case.chance.obs_pop.jcb | The current generation chance shifted simulate outputs. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format |
case.chance.dv_pop.csv case.chance.dv_pop.jcb | The current generation shifted decision-variable population that corresponds with the chance-shifted simulated outputs. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format |
case.obs_pop.csv case.obs_pop.jcb | The current generation raw (unshifted) simulate outputs. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format |
case..dv_pop.csv case.dv_pop.jcb | The current generation decision-variable population that corresponds with the raw simulated outputs. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format |
case.<iter>.obs_pop.csv case.<iter>.obs_pop.jcb | The <iter> generation raw (unshifted) simulate outputs. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format |
case.<iter>.dv_pop.csv case.<iter>.dv_pop.jcb | The <iter> generation decision-variable population that corresponds with the raw simulated outputs. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format |
case.<iter>.chance.obs_pop.csv case.<iter>.chance.obs_pop.jcb | The <iter> generation chance-shifted simulate outputs. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format |
case.<iter>.chance.dv_pop.csv case.<iter>.chance.dv_pop.jcb | The <iter> generation decision-variable population that corresponds with the chance-shifted simulated outputs. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format |
case.lineage.csv | The listing of parents used to generate each offspring for each generation |
File | +Contents | +
---|---|
case.rec | +Run record file. This file records a complete history of the inversion process. It is available for user-inspection at any time during that process. | +
case.rmr | +Parallel run management record file. | +
case.log | +performance record. This file records the times commenced and completed various processing tasks. | +
case.pareto.summary.csv | +A summary of pareto dominant solutions for each generation. | +
case.chance.obs_pop.csv +case.chance.obs_pop.jcb |
+The current generation chance shifted simulate outputs. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format | +
case.chance.dv_pop.csv +case.chance.dv_pop.jcb |
+The current generation shifted decision-variable population that corresponds with the chance-shifted simulated outputs. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format | +
case.obs_pop.csv +case.obs_pop.jcb |
+The current generation raw (unshifted) simulate outputs. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format | +
case..dv_pop.csv +case.dv_pop.jcb |
+The current generation decision-variable population that corresponds with the raw simulated outputs. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format | +
case.<iter>.obs_pop.csv +case.<iter>.obs_pop.jcb |
+The <iter> generation raw (unshifted) simulate outputs. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format | +
case.<iter>.dv_pop.csv +case.<iter>.dv_pop.jcb |
+The <iter> generation decision-variable population that corresponds with the raw simulated outputs. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format | +
case.<iter>.chance.obs_pop.csv +case.<iter>.chance.obs_pop.jcb |
+The <iter> generation chance-shifted simulate outputs. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format | +
case.<iter>.chance.dv_pop.csv +case.<iter>.chance.dv_pop.jcb |
+The <iter> generation decision-variable population that corresponds with the chance-shifted simulated outputs. Depending on the value of SAVE_BINARY, the file may be stored in csv format or binary format | +
case.lineage.csv | +The listing of parents used to generate each offspring for each generation | +
+ | + |
3 4 2 3.4423 23.323 2.3232 1.3232 5.4231 3.3124 4.4331 3.4442 7.4233 5.4432 7.5362 8.4232 * row names apar1 apar2 apar3 * column names aobs1 aobs2 aobs3 aobs4 |
---|
3 4 2 +3.4423 23.323 2.3232 1.3232 +5.4231 3.3124 4.4331 3.4442 +7.4233 5.4432 7.5362 8.4232 +* row names +apar1 +apar2 +apar3 +* column names +aobs1 +aobs2 +aobs3 +aobs4 |
+
---|
5 5 -1 4.5 4.5 2.4 7.53 5.32 * row and column names par1 par2 par3 par4 par5 |
---|
5 5 -1 +4.5 +4.5 +2.4 +7.53 +5.32 +* row and column names +par1 +par2 +par3 +par4 +par5 |
+
---|
~ An example of an uncertainty file START STANDARD_DEVIATION std_multiplier 3.0 ro9 1.0 ro10 1.0 ro4 1.0 END STANDARD_DEVIATION START COVARIANCE_MATRIX file "mat.dat" variance_multiplier 1e-2 END COVARIANCE_MATRIX START COVARIANCE_MATRIX file "cov.mat" variance_multiplier 1.0 parameter_list_file “list.dat” END COVARIANCE_MATRIX START COVARIANCE_MATRIX file "cov1.mat" first_parameter kpp1 last_parameter kpp129 END COVARIANCE_MATRIX |
---|
~ An example of an uncertainty file +START STANDARD_DEVIATION +std_multiplier 3.0 +ro9 1.0 +ro10 1.0 +ro4 1.0 +END STANDARD_DEVIATION +START COVARIANCE_MATRIX +file "mat.dat" +variance_multiplier 1e-2 +END COVARIANCE_MATRIX +START COVARIANCE_MATRIX +file "cov.mat" +variance_multiplier 1.0 +parameter_list_file “list.dat” +END COVARIANCE_MATRIX +START COVARIANCE_MATRIX +file "cov1.mat" +first_parameter kpp1 +last_parameter kpp129 +END COVARIANCE_MATRIX |
+
---|
negncol, nrow 32 bit integers ncount 32 bit integer index, value 32 bit integer, 64 bit real repeat the above ncount times parname 12 bit character repeat the above ncol times obsname 20 bit character repeat the above nrow times |
---|
negncol, nrow 32 bit integers +ncount 32 bit integer +index, value 32 bit integer, 64 bit real +repeat the above ncount times +parname 12 bit character +repeat the above ncol times +obsname 20 bit character +repeat the above nrow times |
+
---|
ncol, nrow 32 bit integers ncount 32 bit integer irow, icol, value 32 bit integer, 32 bit integer, 64 bit real repeat the above noount times colname 200 bit character repeat the above ncol times rowname 200 bit character repeat the above nrow times |
---|
ncol, nrow 32 bit integers +ncount 32 bit integer +irow, icol, value 32 bit integer, 32 bit integer, 64 bit real +repeat the above noount times +colname 200 bit character +repeat the above ncol times +rowname 200 bit character +repeat the above nrow times |
+
---|