pictures/imod_logo.png

iMOD User Manual version 5.2 (html)


9.9ISG-files

The ISG-file format is developed to capture all relevant information used by surface water elements in direct relation with groundwater. It stores stages, bottom heights, infiltration factors, resistances, and moreover, the actual outline of the surface water element. To store all these different types of information the ISG-file format consists of associated files that are connected by the ISG-file. This ISG-file is the one that will be actually read by iMOD, the other files will be opened by iMOD automatically. The syntax of the ISG-file format, and its associated files is as follows:

Attribute

Description


First line add the following columns

NSEG

Number of segments.

ASFR

Usage of surface-flow routing (SFR) ability from the associated file *.ISD*. If ASFR=0, a default ISG file is used, if ASFR=1, a SFR compliant version of the ISG is used.

LABEL

Enter the name of the labels that are present in the ISD file.


Whenever ASFR=0 the following labels are present:

  • Date
    The date of the entry;

    In case of a double precision ISG the following additional entry is present:

  • Time
    The time of the entry;

  • Water level
    The Waterlevel at the calculation node;

  • Bottom level
    The Bottom level at the calculation node;

  • Resistance
    The Resistance at the calculation node;

  • Inf.factor
    The Infiltration factor at the calculation node.

Whenever ASFR=1 the following labels are present:

  • Date
    The date of the entry;

  • Time
    The time of the entry;

  • Water level (m+MSL)
    The water level at the calculation node;

  • Bottom level (m+MSL)
    The Bottom level at the calculation node;

  • Stream Width (m)
    The stream width at the calculation node;

  • Bed Thickn. (m)
    The riverbed thickness at the calculation node;

  • Bed Perm. (m/d)
    The permeability of the riverbed at the calculation node;

  • Iup Seg (-)
    The upstream connected segment;

  • Idown Seg (-)
    The downstream connected segment;

  • Calc Opt (-)
    The calculation option to compute the waterdepth;

  • Div Opt (-)
    The option to take into account diversions;

  • Q Flow (m3/s)
    Sum of additional inflow, lateral or stream inflow;

  • Q Runoff (m3/s)
    Inflow from runoff;

  • PPTSW (mm/d)
    Inflow from precipitation;

  • ETSW (mm/d)
    Outflow due to evaporation


For each segment add the following columns

LABEL

Name of the segment, use quotes to distinguish names with empty spaces. Maximum size of each label is 52 characters.

ISEG

Record number that defines the first coordinate (node) in the associated ISP-file.

NSEG

Number of records in the ISP-file that describes the segment by coordinates.

ICLC

Record number that defines the first calculation points on the segment ISEG within the associated ISD1-file.

NCLC

Number of calculation points on segment ISEG.

ICRS

Record number that defines the first cross-section on the segment ISEG within the associated ISC1-file.

NCRS

Number of cross-sections on segment ISEG.

ISTW

Record number that defines the first weir/structure on the segment ISEG within the associated IST1-file.

NSTW

Number of weirs/structures on segment ISEG.

IQHR

Number of discharge-water level relationships.

NQHR

Record number that defines the first discharge-water level relationships on the segment ISEG within the associated ISQ1-file.

The structure of the ISG-file can be illustrated by the following figure:

pictures/h1-h3/image53.png

Example of a single-precision ISG-file:

Note: To maintain consistency do not edit a ISG-file outside iMOD.

For nodes, calculations points, cross-section, structures a similar setup is used. A first reference is made from the *.ISG file to the record in the *.ISD1 file. From there another reference is made to the *.ISD2 file that contains the specific configuration parameters.

The files associated from the ISG-file (ISP-, ISD-, ISC-, IST- and ISQ-files) are all binary and indexed files and cannot be edited in regular text editors. In the following sections these file-types will be described in detail.


9.9.1ISP fileformat

The ISP-file supports single- and double precision syntax. In case single precision coordinates are used the ISP file is built with a record length of 8 bytes/2 words, for a double precision ISP file this is 16 bytes/4 words. The first record of the ISP is reserved to store the record length (2295 and 4343 for single- and double precision respectively). The ISEG variable in the ISG points to the record number that determines the first coordinate of the segment. Since the first record is reserved already, iMOD actually reads the ISEG+1 record instead. From each record two reals will be read that represent the x and y coordinate of the current node on the segment, see table below:

Attributes for each record in an ISP-file:

Attribute

Width (bytes)

Description

X

4/8 (single/double)

X-coordinate of node (meter)

Y

4/8 (single/double)

Y-coordinate of node (meter)


9.9.2ISD1 and ISD2 fileformat

The ISD1-file supports single- and double precision syntax. In case single precision the ISD1-file is built with a record length of 44 bytes/11 words, for double precision this is 48 bytes/13 words. The first record is solely reserved to store the record length (11511 and 12535 for single- and double precision, respectively). The ICLC variable in the ISG-file points to the record number that determines the first calculation point on the segment. Since the first record is reserved already, iMOD actually reads the ICLC+1 record instead. Each record contains the following attributes:

Attributes for each record in an ISD1-file:

Attribute

Width (bytes)

Description

N

4 (integer)

Number of data records in the ISD2-file that describes the timeserie of the calculation point.

IREF

4 (integer)

Record number within the ISD2-file for the first data record that describes the timeserie for the calculation point.

DIST

4/8 (real single/double)

Distance (meters) measured from the beginning of the segment (node 1) that located the calculation point.

CNAME

32 (char)

Name of the calculation point.

Note: For the SFR-option, only two calculation points are allowed, one at the beginning of a segment and one at the end.

It depends on the ASFR whether this file contains information for the RIV package (ASFR=0) or alternatively for the SFR package (ASFR=1). The ISD2-file is built with a record length of 20 bytes/5 words (single precision) and 36 bytes/9 words (double precision) for ASFR=0. For ASFR=1, the record length is 44 bytes/13 words (single precision) and 64 bytes/16 words (double precision). The first record is solely reserved to store the record length (ASFR=0: 5367/9463 and ASFR=1: 12535/16631). The IREF variable in the ISD1-file points to the record number that determines the data for the calculation point on the segment. Since the first record is reserved already, iMOD actually reads the IREF+1 record instead. Each record contains the following attributes:

Attributes for each record in an ISD2-file (ASFR=0):

Attribute

Width (bytes)

Description

IDATE

4 (integer)

Date representation as yyyymmdd.

CTIME

8 (char)

Time representation as hh:mm:ss. This additional record is only applicable for double precision ISD2-files. It is not used yet!

WLVL

4/8 (real single/double)

Waterlevel of the river (m+MSL)

BTML

4/8 (real single/double)

Bottom level of the riverbed (m+MSL).

RESIS

4/8 (real single/double)

Resistance of the riverbed (days).

INFF

4/8 (real single/double)

Infiltration factor (-)

Attributes for each record in an ISD2-file (ASFR=1):

Attribute

Width (bytes)

Description

IDATE

4 (integer)

Date representation as yyyymmdd.

CTIME

8 (char)

Time representation as hh:mm:ss.

WLVL

4/8 (real single/double)

Waterlevel of the river (m+MSL). Only used in conjunction with ICALCOPT=1.

BTML

4/8 (real single/double)

Bottom level of the riverbed (m+MSL). Only used in conjunction with ICALCOPT=1.

WIDTH

4/8 (real single/double)

Width the riverbed (m+MSL). Only used in conjunction with ICALCOPT=\(\le \) 2.

THICK-
NESS

4/8 (real single/double)

Thickness of the river bed (m).

HCFACT

4/8 (real single/double)

Conductivity of the river bed (md\(^{-1}\)).

IDOWN-
SEG

4 (integer)

An integer value of the downstream stream segment (-) that receives tributary inflow from the last downstream reach of this segment.

  • • IDOWNSEG \(> 0\) If this segment feeds (or discharges into) another downstream (tributary) segment, then enter the number of that stream;

  • • IDOWNSEG \(=0\) If this segment does not feed (or discharge into) another downstream (tributary) segment, then enter a value of \(0\) for this variable. If the segment ends within the modelled grid and IDOWNSEG \(= 0\), outflow from the segment is not routed anywhere and is no longer part of the stream network. One may wish to use this if all flow in the stream gets diverted into a lined canal or into a pipe;

  • • IDOWNSEG \(< 0\) If the flow out of this segment discharges into a lake, IDOWNSEG will be equal to the negative value of the lake identification number; where the minus sign is used as a flag to tell the model that flow enters a lake rather than a tributary stream segment.

IUPSEG

4 (integer)

An integer value of the upstream segment (-) from which water is diverted (or withdrawn) to supply inflow to this stream segment if this segment originates as a diversion from an upstream segment.

  • • IUPSEG \(> 0\) If this stream segment receives inflow as a diversion from an upstream segment, enter the stream number;

  • • IUPSEG \(< 0\) If the source of a stream segment is discharge from a lake, set IUPSEG equal to the negative value of the lake identification number; where the minus sign is used as a flag to tell the model that streamflow into this segment is derived from a lake rather than a stream segment;

  • • IUPSEG \(=0\) If this stream segment does not receive inflow as a diversion from an upstream segment, then set IUPSEG \(= 0\).

CALCOPT

4 (integer)

Method determines how stream depth and width are calculated for each reach in a segment (-).

  • • CALCOPT=1 Stream depth in each reach is specified at the beginning of a stress period and remains unchanged unless flow at the midpoint of a reach is zero, then depth is set to zero in that reach;

  • • CALCOPT=2 Stream depth is calculated and updated each iteration of the solver within a time step and is calculated from Manning’s equation assuming a wide rectangular channel, it uses the WIDTH parameter;

  • • CALCOPT=3 Stream depth and width is calculated and updated each iteration of the solver within a time step and are calculated from Manning’s equation using an eight-point cross section. These cross-sections are specified in the ISC1 and ISC2-section;

  • • CALCOPT=4 Stream depth and width is calculated and updated each iteration of the solver within a time step and are calculated from a power function;

  • • CALCOPT=5 Stream depth and width is calculated and updated each iteration of the solver within a time step and are calculated from a table of values as entered in the Q-DEPTH/WIDTH relation ships; These are specified in the ISQ1 and ISQ2-section;

DIVOPT

4 (integer)

An integer value that only is specified if IUPSEG > 0 (do not specify a value in this field if IUPSEG \(=0\) or IUPSEG \(<0\)). DIVOPT defines the prioritization system for diversion, such as when insufficient water is available to meet all diversion stipulations, and is used in conjunction with the value of QFLOW (specified below) (-).

  • • DIVOPT=1 then if the specified diversion flow (QFLOW) is greater than the flow available in the stream segment from which the diversion is made, the diversion is reduced to the amount available, which will leave no flow available for tributary flow into a downstream tributary of segment IUPSEG;

  • • DIVOPT=2 then if the specified diversion flow (QFLOW) is greater than the flow available in the stream segment from which the diversion is made, no water is diverted from the stream. This approach assumes that once flow in the stream is sufficiently low, diversions from the stream cease, and is the ”priority“ algorithm that originally was programmed into the STR1 Package [Prudic(1989)];

  • • DIVOPT=3 then the amount of the diversion is computed as a fraction of the available flow in segment IUPSEG; in this case, \(0.0<\) QFLOW \(<1.0\);

  • • DIVOPT=4 then a diversion is made only if the streamflow leaving segment IUPSEG exceeds the value of QFLOW. If this occurs, then the quantity of water diverted is the excess flow and the quantity that flows from the last reach of segment IUPSEG into its downstream tributary (IDOWNSEG) is equal to QFLOW. This represents a flood-control type of diversion.

Illustration of the diversion rates per DIVOPT category that is assigned to the red segment in the figure. In the original SFR package DIVOPT=IPRIOR and ranges from 0 up to -3 in stead of 0 up to 3 as DIVOPT does.
pictures/tutorial10/idiversion.png

QFLOW

4 (real)

Streamflow entering or leaving the upstream end of a stream segment (i.e. the first reach) (m\(^3\)s\(^{-1}\)). iMOD will check whether you have entered a value larger than 100000.0, as this might indicate that the entered volume is m\(^3\)d\(^{-1}\) instead of m\(^3\)s\(^{-1}\). Be aware of the fact that the meaning of QFLOW depends on the fact whether the stream is a

  • • If the stream is a headwater stream (IUPSEG = 0) which is the first stream of a segment without any segment upstreams, QFLOW defines the total inflow to the first reach of the segment. The value can be any number \(\ge 0.0\);

  • • If the stream is a tributary stream (IUPSEG = 0) with an upstream dewatering stream, QFLOW defines additional specified inflow to or withdrawal from the first reach of the segment (that is, in addition to the discharge from the upstream segment of which this is a tributary). This additional flow does not interact with the groundwater system. For example, a positive number might be used to represent direct outflow into a stream from a sewage treatment plant, whereas a negative number might be used to represent pumpage directly from a stream into an intake pipe for a municipal water treatment plant;

  • • If the stream is a diversionary stream (IUPSEG \(\ne \) 0), and the diversion is from another stream segment, QFLOW defines the streamflow diverted from the last reach of stream segment IUPSEG into the first reach of this segment. The diversion is computed or adjusted according to the value of DIVOPT;

  • • If the stream is a diversionary stream (IUPSEG \(\ne \) 0), and the diversion is from a lake, QFLOW defines a fixed rate of discharge diverted from the lake into the first reach of this stream segment (unless the lake goes dry) and flow from the lake is not dependent on the value of ICALC. However, if QFLOW \(= 0\), then the lake outflow into the first reach of this segment will be calculated on the basis of lake stage relative to the top of the streambed for the first reach using one of the methods defined by ICALC.

QRUNOFF

4/8 (real single/double)

volumetric rate (m\(^3\)s\(^{-1}\)) of the diffuse overland flow runoff that enters the stream segment, the rate is apportioned to each reach of the segment.

PPTSW

4/8 (real single/double)

precipitation (mmd\(^{-1}\)) that is the volumetric rate per unit area of water added by precipitation directly on the stream channel (in units of length (millimeter) per time (day)).

ETSW

4/8 (real single/double)

evaporation (mmd\(^{-1}\)) that is the volumetric rate per unit area of water removed by evapotranspiration directly from the stream channel (in units of length (millimeter) per time (day)). ETSW is always defined as a positive value.


9.9.3ISC1 and ISC2 fileformat

The ISC1-file supports single- and double precision syntax. In case single precision the ISC1-file is built with a record length of 44 bytes/11 words, for double precision this is 48 bytes/12 words. The first record is solely reserved to store the record length (11511 and 12535 for single- and double precision, respectively). The ICRS variable in the ISG-file points to the record number that determines the first calculation point on the segment. Since the first record is reserved already, iMOD actually reads the ICRS+1 record instead. Each record contains the following attributes:

Attributes for each record in an ISC1-file:

Attribute

Width (bytes)

Description

N

4 (integer)

The meaning of this attribute is twofold:

\(>\)0

Number of data records in the ISC2-file that describes the actual cross-section.

\(<\)0

The absolute number of data records in the ISC2-file that describes the riverbed as a collection of x,y,z points including an extra record to describe the dimensions (DX,DY) of the network that captured the x,y,z points.

IREF

4 (integer)

Record number within the ISC2-file for the first data record that describes the cross-section.

DIST

4/8 (real single/double)

Distance (meters) measured from the beginning of the segment (node 1) that locates the cross-section.

CNAME

32 (char)

Name of the cross-section.

The ISC2-file is built with a record length of 12 bytes/3 words for single precision and with 20 bytes/5 words for a double precision. The first record is solely reserved to store the record length (3319 and 5367 for single- and double precision, respectively). The IREF variable in the ISC1-file points to the record number that determines the data for the calculation point on the segment. Since the first record is reserved already, iMOD actually reads the IREF+1 record instead. Each record contains the following attributes whenever N\(>\)0:

Attributes for each record in an ISC2-file:

Attribute

Width (bytes)

Description

DISTANCE

4/8 (real single/double)

Distance of the cross-section measured from the centre of the riverbed (minus to the left en positive to the right).

BOTTOM

4/8 (real single/double)

Bottom level of the riverbed (meter), whereby zero will be assigned to the lowest riverbed level.

MRC

4/8 (real single/double)

Manning’s roughness coefficient (-).

Alternatively, the record can have a different meaning whenever N\(<\)0:

Attribute

Width (bytes)

Description

First record at IREF+1

DX

4/8 (real single/double)

Absolute width \(\|\)DX\(\|\) in meters of the rectangular raster that follows.

DY

4/8 (real single/double)

Absolute height \(\|\)DY\(\|\) in meters of the rectangular raster that follows.

HREF

4/8 (real single/double)

Reference Height in meters. Whenever specified (DX < 0.0 and DY < 0.0), the attribute Z (specified below) is organized differently.

Following records starting at IREF+2

X

4/8 (real single/double)

X coordinate (meter) for a riverbed “pixel”, these coordinates need to be on a rectangular network with spatial distance of \(\|\)DX\(\|\) measured at the centre of the “pixel”.

Y

4/8 (real single/double)

Y coordinate (meter) for a riverbed “pixel” , these coordinates need to be on a rectangular network with spatial distance of \(\|\)DY\(\|\) measured at the centre of the “pixel”.

Following record is valid whenever DX > 0.0 and DY > 0.0

Z

4/8 (real single/double)

Bottom level of the riverbed (meter).

Following record is valid whenever DX < 0.0 and DY < 0.0

Z\(_m\)

2 (integer)

Integer value of bottom level of the riverbed (integer of meters), e.g. bottom level is -23.43, Z\(_m\)=-23.

Z\(_c\)

1 (integer)

Integer value of remaining digits of bottom level of the riverbed (remaining centimeter), e.g. bottom level is -23.43, Z\(_c\)=43 centimeters.

Z\(_p\)

1 (integer)

Integer value of area affected by HREF, e.g. areas with Z\(_p<0\) will be inundated only whenever the current river stage is higher than the Reference Height (HREF) and the river stage is higher than the corresponding riverbed. Areas with Z\(_p>0\), will be inundated whenever the river stage is higher than the current riverbed. The absolute value of Z\(_p\) is used as a multiplication factor for the river bed resistances for the attribute RESIS in the ISD2-file (see 9.9.2).


9.9.4IST1 and IST2 fileformat

The IST1-file supports single- and double precision syntax. In case single precision the IST1-file is built with a record length of 44 bytes/11 words, for double precision this is 48 bytes/12 words. The first record is solely reserved to store the record length (11511 and 12535 for single- and double precision, respectively). The ISTW variable in the ISG-file points to the record number that determines the first calculation point on the segment. Since the first record is reserved already, iMOD actually reads the ISTW+1 record instead. Each record contains the following attributes:

Attributes for each record in an IST1-file:

Attribute

Width (bytes)

Description

N

4 (integer)

Number of data records in the IST2-file that describes the actual timeserie for the weir/structure.

IREF

4 (integer)

Record number within the IST2-file for the first data record that describes the weirs/structure.

DIST

4/8 (real single/double)

Distance (meters) measured from the beginning of the segment (node 1) that locates the weir/structure.

CNAME

32 (char)

Name of the weir/structure.

The ISC2-file is built with a record length of 12 bytes/3 words for single precision and with 20 bytes/5 words for a double precision. The first record is solely reserved to store the record length (3319 and 5367 for single- and double precision, respectively). The IREF variable in the IST1-file points to the record number that determines the data for the calculation point on the segment. Since the first record is reserved already, iMOD actually reads the IREF+1 record instead. Each record contains the following attributes:

Attributes for each record in an IST2-file:

Attribute

Width (bytes)

Description

IDATE

4 (integer)

Date representation as yyyymmdd.

CTIME

8 (char)

Time representation as hh:mm:ss. This additional record is only applicable for double precision ISD2-files. It is not used yet!

WLVL_UP

4/8 (real single/double)

Water level for the upstream side of the weir/structure (m+MSL).

WLVL_DWN

4/8 (real single/double)

Water level for the downstream side of the weir/structure (m+MSL).


9.9.5ISQ1 and ISQ2 fileformat

The ISQ1-file supports single- and double precision syntax. In case single precision the ISQ1-file is built with a record length of 44 bytes/11 words, for double precision this is 48 bytes/12 words. The IQHR variable in the ISG-file points to the record number that determines the first calculation point on the segment. Since the first record is reserved already, iMOD actually reads the IQHR+1 record instead. Each record contains the following attributes:

Attributes for each record in an ISQ1-file:

Attribute

Width (bytes)

Description

N

4 (integer)

Number of data records in the ISQ2-file that describes the actual timeserie for the q-width/depth relation ship.

IREF

4 (integer)

Record number within the ISQ2-file for the first data record that describes the q-width/depth relation ship.

DIST

4/8 (real single/double)

Distance (meters) measured from the beginning of the segment (node 1) that locates the q-width/depth relation ship.

CNAME

32 (char)

Name of the q-width/depth relation ship.

The ISQ2-file is built with a record length of 12 bytes/3 words for single precision and with 20 bytes/5 words for a double precision. The first record is solely reserved to store the record length (3319 and 5367 for single- and double precision, respectively). The IREF variable in the ISQ1-file points to the record number that determines the data for the calculation point on the segment. Since the first record is reserved already, iMOD actually reads the IREF+1 record instead. Each record contains the following attributes:

Attributes for each record in an ISQ2-file:

Attribute

Width (bytes)

Description

Q

4/8 (real single/double)

Discharge in m\(^3\)d\(^{-1}\).

WIDTH

4/8 (real single/double)

Width of the stream at the given discharge Q (m).

DEPTH

4/8 (real single/double)

Depth of the stream at the given discharge Q (m).

FACTOR

4/8 (real single/double)

Obsolete factor at the given discharge Q (-).