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=1 the following labels are present:
|
|
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:
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.
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) |
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):
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). |
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). |
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 (-). |