# iMOD User Manual version 5.2 (html)

#### 8.12WELL-FUNCTIONS

##### 8.12.1DEVWELLTOIPF-Function

The function DEVWELLTOIPF converts Deviated Wells, described in CSV format, to an IPF file.

Example 1

FUNCTION=DEVWELLTOIPF
CSVFNAME=D:\AGS.CSV
IPFFNAME=D:\IPF.IPF

This example, converts the columns in the CSV file via the default columns setting to an IPF file, the outcome in 3D could look like the following image.

##### 8.12.2ASSIGNWELL-Function

The ASSIGNWELL function reads a geological model (TOP/BOT) in order to assign well screens to the right formation layer.

Example 1

FUNCTION=ASSIGNWELL
IPFFILE_IN=D:\DATA\WELL.IPF
IPFFILE_OUT=D:\DATA\WELL_ASSIGNED.IPF
NFORMATIONS=2
FORMATION1=1
FORMATION2=2
TOP_L1=D:\GEOHYDROLOGY\TOP1.IDF
BOT_L1=D:\GEOHYDROLOGY\BOT1.IDF
TOP_L2=D:\GEOHYDROLOGY\TOP2.IDF
BOT_L2=D:\GEOHYDROLOGY\BOT2.IDF

Above an example is given how to divide well filters in the file WELL.IPF over 2 model layers resulting in the file WELL_ASSIGNED.IPF.

##### 8.12.3MKWELLIPF-Function

The MKWELLIPF function computes the extraction strength for each well based on a weighed value according to their length and permeability of the penetrated model layer. At the end of the procedure iMOD echoes a summary of the total and average extraction per model layer.

The IPF file IMOD_MKIPF_WELLS_ALL.IPF contains all rows from the original IPF. This file is easier to analyse whether the well screen assigned have been computer properly. There is an attribute ERROR_CODE in the IPF that denotes the way the well has been assigned. The following codes are applicable:

• • "@" means that the well is assigned to a nearby model layer;

• • "#" means that the well could not be assigned;

• • "-" means that the well has been assigned appropriately.

The IPF file IMOD_MKIPF_WELLS_UNASSIGNED.IPF contains all rows from the original IPF that could not be assigned to model layer.

Methodology

The following steps are carried out for each individual record in the IPF file (IPF{i}) as illustrated in the following figure:

• 1. In case the thickness of the filter screen is 0.0, the screen is assigned to the layer that captures the well screen. For all others case where the filter screen is $>$ 0.0, the following steps are carried out. After each step all values are scale to be in between 0.0 and 1.0 (normalizing):

• 2. Compute the individual length of the well screen between the ITCOL and IBCOL into well screen segments, that penetrate each model layer. Any part of the well screen segments that are above the surface elevation (TOPIDF1) or below the lowest bottom elevation (BOTIDF{NLAY}) will be clipped off;

• 3. Compute the horizontal transmissivity (k-value $\times$ well screen segment thickness) for all well screen segments.

• 4. Correct any ratio for a mismatch between the centre of the penetrating model layer $Z_{c}$ and the vertical midpoint of the well screen segment $F_{c}$, by:

\begin{align*} F=1.0-\frac {\left | Z_{c}-F_c \right |}{0.5 D_z}, \end{align*}

where $D_z$ is the thickness of the corresponding aquifer. This correction is only applied to well screen segments that do not completely intersect a model layer.

• 5. Remove small intersections of the well screen based upon their transmissivity (in case MINKHT $>$ 0.0).

• 6. If nothing is assigned to any model layer and the well screen in completely above the top of model (TOPIDF1), it is assigned to the first model layer.

• 7. Finally, if the well screen is completely within an aquitard, the well is assigned to the model layer for which the aquitard is an interbed.

Example 1

FUNCTION=MKWELLIPF
NLAY=3
TOPIDF1=D:\DATA\TOP1.IDF
TOPIDF2= D:\DATA\TOP2.IDF
TOPIDF3= D:\DATA\TOP3.IDF
BOTIDF1= D:\DATA\BOT1.IDF
BOTIDF2= D:\DATA\BOT2.IDF
BOTIDF3= D:\DATA\BOT3.IDF
KDIDF1= D:\DATA\KD1.IDF
KDIDF2= D:\DATA\KD2.IDF
KDIDF3= D:\DATA\KD3.IDF
CIDF1=D:\DATA\C1.IDF
CIDF2=D:\DATA\C2.IDF
NIPF=1
IPF1=D:\DATA\WELL.IPF

The example above, will classify each location in the IPF file D:\DATA\WELL.IPF according their length and associated transmissivity, within any penetrating modellayer.

Example 2

FUNCTION=MKWELLIPF
NLAY=3
TOPIDF1=D:\DATA\TOP1.IDF
TOPIDF2= D:\DATA\TOP2.IDF
TOPIDF3= D:\DATA\TOP3.IDF
BOTIDF1= D:\DATA\BOT1.IDF
BOTIDF2= D:\DATA\BOT2.IDF
BOTIDF3= D:\DATA\BOT3.IDF
KDIDF1= D:\DATA\KD1.IDF
KDIDF2= D:\DATA\KD2.IDF
KDIDF3= D:\DATA\KD3.IDF
CIDF1=D:\DATA\C1.IDF
CIDF2=D:\DATA\C2.IDF
IXCOL=1
IYCOL=2
ITCOL=3
IBCOL=4
IQCOL=8
NIPF=3
IPF1=D:\DATA\INDUSTRY.IPF
IPF2= D:\DATA\DRINKINGCOOPERATION.IPF
IPF3= D:\DATA\AGRICULTURE.IPF

The example above, will classify each location in three IPF files according their length and associated transmissivity, within any penetrating model layer. The content of the IPF files is different than the default IXCOL, IYCOL, ITCOL, IBCOL and IQCOL column identifications, and therefore added here.