# iMOD User Manual version 5.2 (html)

#### 8.8GEO-FUNCTIONS

##### 8.8.1AGGREGATE-Function

This function will creates a full 3-D model of layers that are stacked vertically as it fills in NodataValues based on a file that describes the geological order in which the files occur. The function can as well aggregate layers upon its vertical resistance in between layers. Aggregation takes place by lumping transmissivity from aggregated layers. The thickness of the aggregated layer is set to zero. Especially MF6 models can benefit from this schematisation.

Example 1:

FUNCTION=AGGREGATE
WINDOW=125100.0,345000.0,135000.0,355000.0
CELLSIZE=25.0
SORTFILE=D:\DATA\SORT.TXT
INDIR=D:\DBASE\GEOLOGY
OUTDIR=D:\MODEL\CONSISTENT
IMODE=1

Example 2:

FUNCTION=AGGREGATE
SORTFILE=D:\MODEL\CONSISTENT\SORT.TXT
INDIR=D:\MODEL\CONSISTENT
IMODE=2
IWHBFILE=D:\DATA\IWHB.TXT
IWHBDIR=D:\DATA
OUTDIR=D:\MODEL\IWHB_MODEL

Example 3:

FUNCTION=AGGREGATE
SORTFILE=D:\MODEL\IWHB_MODEL\SORT.TXT
INDIR=D:\MODEL\IWHB_MODEL
OUTDIR=D:\MODEL\AGGREGATED_MODEL
IMODE=3
CMIN=50.0
IPRJ=1

##### 8.8.2DINO2IPF-Function

This function will extract from a CSV file exported from DINO (TNO) appropriate data to generate an IPF file with borehole information attached to it. The content of the CSV file is prescribed on the next page.

Example 1:

FUNCTION=DINO2IPF
CSVFILE=D:\iMOD-DATA\DINO\*.csv
IPFFILE=D:\iMOD-DATA\DINO\AREA.IPF
WINDOW=130000.0,450000.0,141000.0,461000.0

This example imports all CSVFILES (*.csv) into the IPF file AREA.IPF for a particular window.

Example 2:

FUNCTION=DINO2IPF
CSVFILE=D:\iMOD-DATA\DINO\BOX12.CSV
GENFILE=D:\IMOD-DATA\AREA.GEN
WINDOW=130000.0,450000.0,141000.0,461000.0

The example above imports the boreholes from the BOX12.CSV for the area within the specified polygon(s) in AREA.GEN.

##### 8.8.3GEOTOP-Function

This function will replace the top of a groundwatermodel with a GEOTOP schematization.

Example 1:

FUNCTION=GEOTOP
RESULTFOLDER=D:\MODEL
NLAYG=95
WINDOW=130000,450000,141000,461000
kvg_l1 =D:\MODEL\kv1.idf
khg_l1 =D:\MODEL\kh1.idf
..........
kvg_l95=D:\MODEL\kv95.idf
khg_l95=D:\MODEL\kh95.idf
NLAYM=9
tpm_l1=d:\modelutrecht\GEOHYDROLOGY\VERSION1\TOP_l1.IDF
btm_l1=d:\modelutrecht\GEOHYDROLOGY\VERSION1\BOTTOM_l1.IDF
kdm_l1=d:\modelutrecht\TRANSMISSIVITY\VERSION1\TRANSMISSIVITY_l1.IDF
vcm_l1=d:\modelutrecht\VERTICALRESISTANCE\VERSION1\VERTICALRESISTANCE_l1.IDF
ibm_l1=d:\modelutrecht\IBOUND\VERSION1\IBOUND_l1.IDF
....
tpm_l9=d:\modelutrecht\GEOHYDROLOGY\VERSION1\TOP_l9.IDF
btm_l9=d:\modelutrecht\GEOHYDROLOGY\VERSION1\BOTTOM_l9.IDF
kdm_l9=d:\modelutrecht\TRANSMISSIVITY\VERSION1\TRANSMISSIVITY_l9.IDF
vcm_l9=d:\modelutrecht\VERTICALRESISTANCE\VERSION1\VERTICALRESISTANCE_l9.IDF
ibm_l9=d:\modelutrecht\IBOUND\VERSION1\IBOUND_l9.IDF

##### 8.8.4GEF2IPF-Function

This function will combine information from a series of GEF files to generate an IPF file with borehole or cone penetration test (CPT) information attached to it. The content of the GEF file is prescribed in section 9.24.1.

Example 1:

FUNCTION=GEF2IPF
GEFDIR=D:\iMOD-DATA\DINO\*.GEF
IPFFILE=D:\iMOD-DATA\DINO\AREA.IPF
GEFTYPE=1

This example imports all GEFFILES (*.GEF) into the IPF file AREA.IPF.

Example 2:

FUNCTION=GEF2IPF
GEFDIR=D:\iMOD-DATA\DINO\DELFT*.GEF
IPFFILE=D:\iMOD-DATA\DINO\DELFT.IPF
GEFTYPE=1
GENFILE=D:\IMOD-DATA\AREA.GEN

The example above imports the GEFFILES for the area within the specified polygon(s) in AREA.GEN.

##### 8.8.5CUS-Function

Use this function to determine a minimal number of model layers (aquifers) based on layers that describe geological formations (mainly aquitards). The concept idea is that the vertical distribution of aquitards (or other distinguishing layers), determine the minimal number of model layers to represent the aquifers.

The methodology computes the interrelation ship of all the individual parts within a geological formation and those from other geological formations. This interrelation ship is used to compute the minimal number of model layers to capture all of them without any loss of information. In fact is depends mainly on the lateral distribution of the geological formation whether the number of model layers becomes less than the number of geological formations. The more spread in the distribution, probably less model layers are necessary. In figure an overview is given of the methodology as it shows all the interrelation ships that are computed, e.g. $\Delta F_1-F_5$ represents the distance between a individual element on the the first and fifth geological formation, and moreover, the vertical position of both elements as the first element should always be in a higher model layer than the fifth element. All these interrelation ships are fed into a linear-programming algorithm than find a model layer for each of them such that the total number of model layers is minimized.

The CUS function is fully automatic, which means that a) the vertical order of given geological formations is irrelevant, b) overlapping geological formations may be clipped and c) interrelation ships in vertical and horizontal direction are computed automatically that yield a minimal set of model layers. With some variables it is possible to set the threshold at what distance of interrelation ship geological formation may join together, in this way aquitards can be combined whenever they are separated less than a given distance.

Schematic overview working of CUS

Example

FUNCTION= CUS
NLAY=2
WINDOW=120000.0,298000.0,240000.0,430000.0
CELLSIZE=100.0
FORMTOP_L1=D:\MODEL\BEK1_T.IDF
FORMTOP_L2=D:\MODEL\BEK2_T.IDF
FORMBOT_L1=D:\MODEL\BEK1_B.IDF
FORMBOT_L2=D:\MODEL\BEK2_B.IDF
OUTPUTFOLDER=D:\OUTPUT
TOPSYSTEM=D:\MODEL\AHN250.IDF
BOTSYSTEM=D:\MODEL\BEDROCK_TOP.IDF

This example corrects the top and bottom IDF-files specified by the FORMTOP_L{i} and FORMBOT_L{i} keywords in a top-bottom consistent manner and scales the IDF-files to the specified WINDOW and CELLSIZE.

##### 8.8.6SOLID-Function

Use this function to generate hypothetical interfaces (i.e. line in between model layers that represent an artificial interface since any resistance layer (e.g. clay). This function computes the transmissivities and vertical resistance between model layers as well. It uses the PCG solver algorithm for the interpolation of the hypothetical interfaces and uses the existence of permeability field and the top- and bottom elevation to compute the nett transmissivity for each a modellayer and vertical resistance between those model layers. By means of masks it is possible to define those areas for which hypothethical interfaces need to be computed.

Example

FUNCTION=SOLID
NLAY=4
TOP_L1=D:\MODEL\TOP_L1.IDF
TOP_L2=D:\MODEL\TOP_L2.IDF
TOP_L3=D:\MODEL\TOP_L3.IDF
TOP_L4=D:\MODEL\TOP_L4.IDF
BOT_L1=D:\MODEL\BOT_L1.IDF
BOT_L2=D:\MODEL\BOT_L2.IDF
BOT_L3=D:\MODEL\BOT_L3.IDF
BOT_L4=D:\MODEL\BOT_L4.IDF
IHYPO=1
ICKDC=1
FOLDERTOP=D:\REGIS\*-T-CK.IDF.
FOLDERBOT=D:\REGIS\*-B-CK.IDF.
FOLDERKHV=D:\REGIS\*-KH-SK.IDF.
FOLDERKVV=D:\REGIS\*-KV-SK.IDF.
OUTPUTFOLDER=D:\OUTPUT

This example creates a mask files based on the specified top and bottom IDF-files specified by the TOP_L{i} and BOT_L{i} keywords. For those areas that does not contain an aquitard, the hypothetical interfaces will be computed. After that the transmissivities and vertical resistances will be computed and the other output as specified at the keyword OUTPUTFOLDER.

##### 8.8.7FLUMY-Function

Use this function to create Flumy textfiles with borehole information out of IPF-file related textfiles. Flumy textfiles contain information about the fluvial deposits in (former) riverbeds (Flumy is a Geovariances software program).

The created Flumy textfile(s) are(is) stored in the working directory of the FLUMY-batchfile within a new generated folder “FLUMY”.

Example 1

FUNCTION=FLUMY
IPFFILE=’D:\flumy\Boreholes\Borelogs.ipf’
NPARAM=2
GRAIN1=SILT
FACIESL1=OB
FACIESN1=8
GRAIN2=’SANDY Clay’
FACIESL2=PB
FACIESN2=2

Note: Be aware that quotes are obligatory around a “GRAIN”-description containing more than one word, e.g. ’SANDY CLAY’. Otherwise iMOD is not able to read this parameter properly.

##### 8.8.8GEOCONNECT-function

Use this function to:

• 1. Compute (new) KHV, KVV and KVA grids, and/or KDW and VCW grids based on a given factor (iPEST) per formation, or

• 2. Aggregate model output based on given REGIS formations.This functionality is also available as a GUI-function (see section 7.6).

• 3. Identify fraction grids based on REGIS formations at a chosen model location and for the selected model layers (not available yet, only in the iMOD GUI).

General Settings
These are the general settings needed in each *.ini file using the GEOCONNECT-Batch function:

Options
In case of IFLAG=1 (Preprocessing option), the *.ini file with specific options needs to contain:

In case of IFLAG=2 (Postprocessing option), the *.ini file with specific options needs to contain:

Be sure that the geostratigraphy.txt file is placed in the defined DBASEFOLDER!

Example 1
FUNCTION=GEOCONNECT
NLAY=19
ACTLAYERS=1111111100011100000
REGISFOLDER=d:\Model_Ibrahym2\REGIS21
TOPFOLDER=d:\Model_Ibrahym2\DBASE_V2\TOP\VERSION_1
BOTFOLDER=d:\Model_Ibrahym2\DBASE_V2\BOT\VERSION_1
IFLAG=1
NFORM=8
FORM1=HLC,1.000
FORM2=BXSCK1,1.300
FORM3=BXZ1,1.000
FORM4=BXK1,1.000
FORM5=BXLMK1,2.500
FORM6=BXZ2,1.000
FORM7=BXK2,1.000
FORM8=BXZ3,0.910
OUTPUTFOLDER=d:\Model_Ibrahym2\Results\
ISAVEK=1
ISAVEC=0

With this example the KHV, KVV and KVA grids are (re)calculated (preprocessing) based on a given factor per formation (FORM{i}) for the first 8 formation seen from the top of the Ibrahym model.

Example 2
FUNCTION=GEOCONNECT
NLAY=19
ACTLAYERS=1111111100011100000
REGISFOLDER=d:\Model_Ibrahym2\REGIS21
TOPFOLDER=d:\Model_Ibrahym2\DBASE_V2\TOP\VERSION_1
BOTFOLDER=d:\Model_Ibrahym2\DBASE_V2\BOT\VERSION_1
IFLAG=2
DBASEFOLDER=d:\Model_Ibrahym2\DBASE_V2
NFORM=8
FORM1=HLC,1
FORM2=BXSCK1,4
FORM3=BXZ1,4
FORM4=BXK1,4
FORM5=BXLMK1,4
FORM6=BXZ2,4
FORM7=BXK2,4
FORM8=BXZ3,4
IAGGR=2
INPUTTYPE=3
IDUPLICATES=3
ISAVETB=0
OUTPUTFOLDER=d:\Model_Ibrahym2\DBASE_V4\

In this example the (postprocessing) aggregation is applied to the input model variable "KHV" for which all BX-formations are taken together as one formation. An average value is calculated per grid cell for all BX-formations. Top and Bot elevations are not saved.

##### 8.8.9CREATELAYERS-Function

The CREATELAYERS function can be used to construct a straightforward Layer Model. Starting from a given surface level, iMOD will calculate the BOTTOM of each underlying layers based on a given thickness. The formula is simple:
Bottom(1) = Surface Level - Thickness(1)
Bottom(2) = Bottom(1) - Thickness(2)
etc.
There is the option to introduce an initialisation level (INILEVEL). Starting from layer 2, the bottom of all next layers will initially relate to this initialisation level. As a result, most layers will be horizontal in relation to the initialisation level. In this process, layers might get a thickness of less then half the preferred thickness. In that case, the thickness is fixed to 0.5 * Thickness.

Example 1

FUNCTION=CREATELAYERS
LEVELIDF=D:\TOP.IDF
DZVAL=1.0, 1.0, 5.0, 10.0, 25.0
OUTPUTFOLDER=D:\OUTPUT

The above mentioned example will compute the 5 IDF files (INT_L1.IDF up and including INT_L5.IDF) in the folder D:\OUTPUT.

##### 8.8.10LAYERFROMTHICKNESS-Function

The LAYERFROMTHICKNESS function can be used to construct a straightforward Layer Model from thicknesses. These can be computed via the XYZTOIDF function (ASSF_TYPE=4, see 8.2.10). The formula is simple:

TOP_L{i}=BOT_L{i-1}
BOT_L{i}=TOP_L{i}-THK_L{i}

Example 1

FUNCTION=LAYERFROMTHICKNESS
TOP=D:\TOP.IDF
NLAY=2
THK_L1=D:\BEZ1_THK.IDF
THK_L2=2.5
OUTPUTFOLDER=D:\OUTPUT

The above mentioned example will compute the 4 IDF files (TOP_L1.IDF, BOT_L1.IDF, TOP_L2.IDF, BOT_L2.IDF) in the folder D:\OUTPUTFOLDER.