... | @@ -22,21 +22,21 @@ Now ``shem_ad_ifort_const_none_head_master-all_quick.x`` is in your model direct |
... | @@ -22,21 +22,21 @@ Now ``shem_ad_ifort_const_none_head_master-all_quick.x`` is in your model direct |
|
|
|
|
|
# Creating Input File
|
|
# Creating Input File
|
|
## Run Forward Model
|
|
## Run Forward Model
|
|
At first you need a model, which you want to calculate a deterministic inversion for. In this tutorial we will use [oed_perth_init](uploads/9a7000f5eb0967ceaac204ea54a3548f/oed_perth_init). With all existing inputs you should be familiar, if not you may first should take a look at [Howto: Forward computation](./howto_forward), where a example Input File is created. If you want to look up specific inputs go to [Input File](../tutorial/input_file). Copy ``oed_perth_init`` in your model directory. Make sure the repository contains a file named ``shemade.job`` which only contains the model name: ``oed_perth_init``.
|
|
At first you need a model, which you want to calculate a deterministic inversion for. In this tutorial we will use [oed_perth_init](uploads/9a7000f5eb0967ceaac204ea54a3548f/oed_perth_init). With all existing keywords you should be familiar, if not you may first should take a look at [Howto: Forward computation](./howto_forward), where a example Input File is created. If you want to look up specific keywords go to [Input File](../tutorial/input_file). Copy ``oed_perth_init`` in your model directory. Make sure the repository contains a file named ``shemade.job`` which only contains the model name: ``oed_perth_init``.
|
|
```
|
|
```
|
|
./shem_ad_ifort_const_none_head_master-all_quick.x > out.txt
|
|
./shem_ad_ifort_const_none_head_master-all_quick.x > out.txt
|
|
```
|
|
```
|
|
The values of this solution will be used as starting values for the deterministic inversion. For the the next steps you will only need ``oed_perth_init_final.h5``, ``shemade.job``, ``oed_perth_init`` and the executable, maybe you should create a new sub-folder and cut all other files there.
|
|
The values of this solution will be used as starting values for the deterministic inversion. For the the next steps you will only need ``oed_perth_init_final.h5``, ``shemade.job``, ``oed_perth_init`` and the executable, maybe you should create a new sub-folder and cut all other files there.
|
|
|
|
|
|
## Create AD Input File
|
|
## Create AD Input File
|
|
Now you need to add some inputs to the Input File to create an AD Input File. You also need to adjust some boundary conditions. At first change the name of the Input File ``oed_perth_init`` to ``oed_inv`` and change ``# runmode`` from ``0`` to ``2``. You also have to change the name in ``shemade.job`` to the new Input File name.
|
|
Now you need to add some keywords to the Input File to create an AD Input File. You also need to adjust some boundary conditions. At first change the name of the Input File ``oed_perth_init`` to ``oed_inv`` and change ``# runmode`` from ``0`` to ``2``. You also have to change the name in ``shemade.job`` to the new Input File name.
|
|
|
|
|
|
Let's first change the Input File so that head is activated and the results we calculated before are used as initial conditions.
|
|
Let's first change the Input File so that head is activated and the results we calculated before are used as initial conditions.
|
|
If you want, you can change the name under ``# title``, e.g. ``OED Perth``. Now activate the variable ``head``; in the previous run only temp was set active.
|
|
If you want, you can change the name under ``# title``, e.g. ``OED Perth``. Now activate the variable ``head``; in the previous run only temp was set active.
|
|
```
|
|
```
|
|
# active temp head
|
|
# active temp head
|
|
```
|
|
```
|
|
Next you should set boundary conditions for the ``head`` variable. Got to ``!==========>>>>> FLOW`` and remove ``!`` before these inputs, so that SHEMAT will work with them:
|
|
Next you should set boundary conditions for the ``head`` variable. Got to ``!==========>>>>> FLOW`` and remove ``!`` before these hashtags, so that SHEMAT will work with them:
|
|
```
|
|
```
|
|
# head bcd, simple=right, value=init
|
|
# head bcd, simple=right, value=init
|
|
# head bcd, simple=left, bcindex=1
|
|
# head bcd, simple=left, bcindex=1
|
... | @@ -50,7 +50,7 @@ Under ``!==========>>>>> TEMPERATURE`` you also have to remove two ``!`` to acti |
... | @@ -50,7 +50,7 @@ Under ``!==========>>>>> TEMPERATURE`` you also have to remove two ``!`` to acti |
|
# temp bcd, simple=left, value=init
|
|
# temp bcd, simple=left, value=init
|
|
# temp bcd, simple=right, value=init
|
|
# temp bcd, simple=right, value=init
|
|
```
|
|
```
|
|
Finally go to ``!==========>>>>> INITIAL VALUES`` and delete
|
|
Finally go to ``!==========>>>>> INITIAL VALUES`` and delete
|
|
```
|
|
```
|
|
# temp init
|
|
# temp init
|
|
12000*19.0
|
|
12000*19.0
|
... | @@ -63,13 +63,13 @@ or put a ``!`` before these hashtags. Remove the existing ``!`` so that the new |
... | @@ -63,13 +63,13 @@ or put a ``!`` before these hashtags. Remove the existing ``!`` so that the new |
|
# temp init, HDF5=oed_perth_init_final.h5
|
|
# temp init, HDF5=oed_perth_init_final.h5
|
|
```
|
|
```
|
|
|
|
|
|
### Adding new inputs
|
|
### Adding new keywords
|
|
#### # enable unit
|
|
#### # enable unit
|
|
```
|
|
```
|
|
# enable unit
|
|
# enable unit
|
|
0 0 0 0 1 0
|
|
0 0 0 0 1 0
|
|
```
|
|
```
|
|
This input activates Unit 5. ``0`` means, that this unit is disabled and ``1`` enables the specific unit for deterministic inversion.
|
|
This keyword activates Unit 5. ``0`` means, that this unit is disabled and ``1`` enables the specific unit for deterministic inversion.
|
|
|
|
|
|
#### # enable property
|
|
#### # enable property
|
|
```
|
|
```
|
... | @@ -88,7 +88,7 @@ Here the 4th property, permeability in z-direction, is enabled as logarithmic (` |
... | @@ -88,7 +88,7 @@ Here the 4th property, permeability in z-direction, is enabled as logarithmic (` |
|
0.0 0.0 0.0 6.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
|
0.0 0.0 0.0 6.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
|
0.0 0.0 0.0 6.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
|
0.0 0.0 0.0 6.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
|
```
|
|
```
|
|
With this input the apriori variance of each unit-property is defined. In this case the permeability in z-direction of all units is given a variance of 6. If the parameter is set to logarithmic in ``# enable property`` you have to set the variance for the logarithmic converted parameter here. All other properties don´t have a variance and will be constant. This variance can be understood as weighting factor of the minimizing function. The higher the value, the more changes will appear in that specific unit.
|
|
With this keyword the apriori variance of each unit-property is defined. In this case the permeability in z-direction of all units is given a variance of 6. If the parameter is set to logarithmic in ``# enable property`` you have to set the variance for the logarithmic converted parameter here. All other properties don´t have a variance and will be constant. This variance can be understood as weighting factor of the minimizing function. The higher the value, the more changes will appear in that specific unit.
|
|
|
|
|
|
In this model only the permeability in z-direction, of unit 5 is enabled, as logarithmic, for deterministic inversion.
|
|
In this model only the permeability in z-direction, of unit 5 is enabled, as logarithmic, for deterministic inversion.
|
|
|
|
|
... | @@ -100,12 +100,12 @@ In this model only the permeability in z-direction, of unit 5 is enabled, as log |
... | @@ -100,12 +100,12 @@ In this model only the permeability in z-direction, of unit 5 is enabled, as log |
|
0 0
|
|
0 0
|
|
1
|
|
1
|
|
```
|
|
```
|
|
The meaning of the numbers is described from top to bottom. ``1`` does not have a meaning, it should always be set to 1.
|
|
The meaning of the input is described from top to bottom. ``1`` does not have a meaning, it should always be set to 1.
|
|
The next line defines the break-off criteria: ``5 0.0001`` The maximum number of iterations is set with ``5``. If the difference between two iteration steps is below ``0.0001`` it stops at that point.
|
|
The next line defines the break-off criteria: ``5 0.0001`` The maximum number of iterations is set with ``5``. If the difference between two iteration steps is below ``0.0001`` it stops at that point.
|
|
The next entry ``0 0`` disables computation of the resolution matrix and computation of the covariance matrix. The last entry ``1`` defines the output frequency. It means that the results of every calculated iteration will be saved in a separate file. If you are not interested in these iterations replace ``1`` with 5 or a greater number. The calculation results will be saved in separate files anyway.
|
|
The next entry ``0 0`` disables computation of the resolution matrix and computation of the covariance matrix. The last entry ``1`` defines the output frequency. It means that the results of every calculated iteration will be saved in a separate file. If you are not interested in these iterations replace ``1`` with 5 or a greater number. The calculation results will be saved in separate files anyway.
|
|
|
|
|
|
#### # data
|
|
#### # data
|
|
With this input you add observed/measured data. For a runmode greater or equal to 1 this input is expected. The first column, which starts with ``23.7769395446154`` defines the data value. It is followed by the error, which is ``0.5`` for all records. I don`t know what the error is used for. The next three entries are the position, the order is x, y, z: ``180 1 59``. It is followed by pv-type, the type index for the physical value, ``2`` stands for temperature. The last entry ``1`` (index of observation zone) does not matter in this example.
|
|
With this keyword you add observed/measured data. For a runmode greater or equal to 1 this keyword is expected. The first column, which starts with ``23.7769395446154`` defines the data value. It is followed by the error, which is ``0.5`` for all records. I don`t know what the error is used for. The next three entries are the position, the order is x, y, z: ``180 1 59``. It is followed by pv-type, the type index for the physical value, ``2`` stands for temperature. The last column``1`` (index of observation zone) does not matter in this example.
|
|
```
|
|
```
|
|
# data, records=39
|
|
# data, records=39
|
|
23.7769395446154 0.5 180 1 59 2 1
|
|
23.7769395446154 0.5 180 1 59 2 1
|
... | | ... | |