IPDS.DAT
From BAWiki
Contents
Basic Information
FileType
ipds.dat
Version
1.4
DescriptionDate
February 2021
Significance of the File
A file of type ipds.dat contains initial values of physical datasets The possibilities using this file (e.g. to define start conditions) may illustrate these examples. All improvements coming with Version 1.4 are marked as follows: New in V1.4
FileContents (in Catchwords)
 Block date_and_time
 date and time specification
 exactly one specification allowed
 the following formats are implemented:
 DD.MM.YYYYhh:mm:ss
 DD.MM.YYYYhh:mm:ss.nnnnnnnnn
 DD.MM.YYYYhh:mm:ss.nnnnnnnnnZONE
 legend:
 DD = day of month (two digits 0131)
 MM = month of year (two digits 0112)
 YYYY = year (four digits)
 hh = hour of day (two digits 0023)
 mm = minute of hour (two digits 0059)
 ss = second of minute (two digits 0059)
 nnnnnnnnn = nanoseconds (nine digits)
 ZONE = time zone (UTC/MEZ/MESZ/+3H/..)
 key line: datetime = DD.MM.YYYYhh:mm:ss.nnnnnnnnnZONE
 Block global_constant_values
 definition of physical constant values in the whole area (default values)
 exactly one global_constant_values block allowed
 these default values can be overwritten by regional valid values via the regional_values) blocks
 implemented physical values:
 water level
 key line: waterlevel = ..value..
 exactly one specification allowed
 salinity
 key line: salinity = ..value..
 exactly one specification allowed
 temperature
 key line: temperature = ..value..
 exactly one specification allowed
 sediment fractions and porosity
 key line for one sediment fraction: sediment_fraction = ..sediment_name.. ..fraction..
 use as many sediment fraction key lines as necessary
 key line for porosity: porosity = ..fraction..
 exactly one specification allowed for porosity
 all used sediment names must be identical to the names defined in the sediment classification file (type soil.dat)
 the sum of all sediment fractions must be 1
 ripple wave number
 the wave number k defines both direction and wavelength (λ) of a ripple structure (k = 2 π / λ)
 defining the wave number by giving its x und ycomponent values
 key line: ripple_wavenumber = ..xcomponent.. ..ycomponent..
 exactly one specification allowed
 ripple height
 key line: ripple_height = ..value..
 exactly one specification allowed
 dune wave number
 the wave number k defines both direction and wavelength (λ) of a dune structure (k = 2 π / λ)
 defining the wave number by giving its x und ycomponent values
 key line:dune_wavenumber = ..xcomponent.. ..ycomponent..
 exactly one specification allowed
 dune height
 key line: dune_height = ..value..
 exactly one specification allowed
 depth of the unerodable layer
 implemented are two ways ("absolute" and "relative") of giving the depth of the unerodable layer
 absolute depth is necessary if the unerodable layer lies in a geodetic (absolute) depth
 relative depth means the unerodable layer lies in a depth relative to the bottom of the water body (negative values represents values below the bottom of the water body)
 key line: rigid_layer_depth = relativeabsolute ..value..
 exactly one specification allowed
 roughness of the unerodable layer
 the roughness of the unerodable layer is important if there are no sediments left at the bottom of the water body
 two specifications are necessary to define the roughness of the unerodable layer
 specification of the used bed shear stress formula (at this time only the effective bed roughness according to nikuradse is implemented)
 specification of the roughness coefficient
 key line: rigid_layer_roughness = nikuradse ..value..
 control volume number
 key line: control_volume_number = ..value..
 additional roughness
 key line: additional_roughness = nikuradse ..value..
 the roughness value must be greater or equal 1 and less than 1
 concentration of suspended load
 key line: suspendedload = ..sediment_name.. ..value..
 use as many concentration of suspended load key lines as necessary
 z0 roughness length
 key line: z0_roughnesslength = ..value..
 the roughness value must be greater or equal 0 and less than 10
 chezy bottom friction coefficient
 key line: bottom_friction_chezy = ..chezyvalue..
 the roughness value must be greater or equal 0 and less than 1000
 manning bottom friction coefficient
 key line: bottom_friction_manning_str = ..manningvalue..
 the roughness value must be greater or equal 0 and less than 1000
 nikuradse bottom friction coefficient
 key line: bottom_friction_nikuradse = ..nikuradsevalue..
 the roughness value must be greater or equal 0 and less than 1
 white colebrook bottom friction coefficient
 key line: bottom_friction_white_colebr = ..whitecolebrookvalue..
 the roughness value must be greater or equal 0 and less than 1
 taylor bottom friction coefficient
 key line: bottom_friction_taylor = ..taylorvalue..
 the roughness value must be greater or equal 0 and less than 0.1
 time dependent bathymetry
 key line: time_dependent_bathymetry = ..value..
 the bathymetry value must be greater or equal 99 and less than +99
 critical stress for deposition
 key line: critical_stress_for_deposition = ..value..
 the critical stress value must be greater or equal 0 and less than 99
 critical stress for erosion
 key line: critical_stress_for_erosion = ..value..
 the critical stress value must be greater or equal 0 and less than 99
 erodibility parameter
 key line: erodibility_parameter = ..value..
 the erodibility value must be greater or equal 0 and less than 100
 sediment mass
 key line: sediment_mass = ..value..
 the sediment mass value must be greater or equal 0 and less than 1 Million
 current velocity in x direction
 key line: current_velocity_(xdir.) = ..value..
 the velocity value must be greater or equal 10 and less or equal +10
 current velocity in y direction
 key line: current_velocity_(ydir.) = ..value..
 the velocity value must be greater or equal 10 and less or equal +10
 deposition rate
 key line: deposition_rate = ..sediment_name.. ..value..
 use as many deposition rate key lines as necessary
 mean wave period
 key line: mean_wave_period = ..value..
 the wave period value must be greater than 0 and less or equal 100
 significant wave height
 key line: significant_wave_height = ..value..
 the wave height value must be greater or equal 0 and less or equal 15
 mean wave direction x component
 key line: mean_wave_direction_(xdir.) = ..value..
 the direction value must be greater or equal 10 and less or equal +10
 mean wave direction y component
 key line: mean_wave_direction_(ydir.) = ..value..
 the direction value must be greater or equal 10 and less or equal +10
 artificial porosity
 key line: artificial_porosity = ..value..
 the porosity value must be greater or equal 0 and less or equal 1
 hydrodynamic pressure
 key line: hydrodynamic_pressure = ..value..
 the pressure value must be greater or equal 0.1 and less or equal +0.1
 tracer fraction
 key line: tracer_fraction = ..tracer_name.. ..value..
 use as many tracer key lines as necessary
 turbulent kinetic energy
 key line: turbulent_kinetic_energy = ..value..
 the energy value must be greater or equal 0 and less or equal 10
 generic length scale
 key line: generic_length_scale = ..value..
 the length scale value must be greater or equal 0 and less or equal 10
 Block region
 definition of regions
 the maximum number of regions is unlimited
 at least one region is necessary to define regional differing physical values
 it is allowed to use no regions
 each region needs a name:
 this name will be used as an identification key
 notice case sensitivity
 key line: region_name = ..name..
 description of the border polygon
 the border polygon need at least three border points
 the maximum number of border points is unlimited
 the border polygon will be closed automatically
 key line for one border point: border_point = ..xcoordinate.. ..ycoordinate..
 Block sampling_point
 definition of positions related to measured data
 the maximum number of positions is unlimited
 at least one position is necessary to define regional differing physical values
 it is allowed to use no positions
 each position needs a name:
 this name will be used as an identification key
 notice case sensitivity
 key line: sampling_point_name = ..name..
 position specification
 specification of x and ycoordinate
 only one position specification is allowed
 key line: sampling_point_xy = ..xcoordinate.. ..ycoordinate..
 definition of physical values valid at the position
 it is allowed to use the same physical values as described in the global_constant_values block
 Block regional_values
 definition of regional differing physical values
 specification of regions with physical values related to positions
 in the space between the positions the physical values will be interpolated
 the maximum number of these blocks is unlimited
 it is allowed to use no regional_values block (the physical constant values for the whole area will not change)
 sorting the regional_values blocks so that the block with the lowest priority will come first (this is important only if the regions overlap)
 specification of the region
 key line: region = insideoutside ..name..
 the name of the region must match with the region identification key defined in one of the region blocks
 with the "inside" or "outside" key word it is possible to define the region of interest inside or outside the region border polygon
 specification of the geodetic layer
 key lines: lower_validity_level = ..lower_limit..
upper_validity_level = ..upper_limit..  both specifications are not necessary
 key lines: lower_validity_level = ..lower_limit..
 specification of positions
 the maximum number of positions is only limited to the maximum number of defined sampling_point blocks
 at least one position is necessary
 in the presence of only one position the physical values are constant over the whole region of interest
 the names of all positions must match with the position identification keys defined in the sampling_point blocks
 key line: sampling_point = ..name..
 specification of a maximum distance between positions and a given point P. Only positions inside a distance radius around P are used for interpolation.
 only one specification allowed
 the value for maximum distance must be greater zero
 key line: sampling_point_maxdist = ..maximum_distance_to_positions..
 the key line ist not necessary. if maximum distance ist not specified, the default value (40.E6) will be used. so it is ensured that older IPDS files (version 1.1) will produce the same result as before.
 The following pictures will document the influence of the maximum distance: Visualized in all pictures is the computed distribution of fine sand (.063.177 mm grain diameter) for the mouth of the ems river. the computation started with 1382 measurement positions from the Rijksinstituut voor Kust en Zee (RIKZ) sediment atlas. The colours represents different rates of fine sand: red represents 100%, yellow 75%, green 50% and dark blue 0% rate of fine sand.
 The maximum distance to the positions (300m) corresponds to the internal grid resolution
The interpolation takes place only around positions. For all other grid points the measurement positions all too far away. The locations of the positions come clearly to sight. (642x768 Pixel, 21kB).  The maximum distance to the positions (1000m) is about 34 times greater than the internal grid resolution
The interpolation takes place in all areas where positions are not too far away The result as a first approximation is nature alike. In wide areas will be no interpolation, because of the great distance to positions. (642x768 Pixel, 30kB).  No specification of a maximum distance The interpolation takes place everywhere for all grid points. Far away of the positions the result will be artificial. (642x768 Pixel, 85kB).
 The maximum distance to the positions (300m) corresponds to the internal grid resolution
 specification of the interpolation method
 key line: interpolation_method = nearest_points_in_sectors  linear_distance_weighting  triangular_interpolation
 The interpolation method nearest_points_in_sectors is developed at BAW and and tries to look for the nearest positions in different directions (sectors) for a point of interest. The physical values at all positions found will be averaged dependant to the square of the distance to the positions (1/d**2).
 New in V1.4 The method linear_distance_weighting works as described for nearest_points_in_sectors with one difference: The physical values will be averaged dependant to the distance to the positions (1/d).
 At first the interpolation method triangular_interpolation creates a grid of all available positions. This grid follows Delaunaycriteria and covers a convex hull around all positions. The grid generation process takes place in an external software package so called GEOMPACK (author: Barry Joe) and gives back the grid via the interface ext_ipds_setup_mespos_tria.
Programs using this Type of File
GEOTRANSFORMER, NCAGGREGATE, NCCUTOUT, TELEMAC2D [SediMorph], UNS, UNTRIM [SediMorph], UNTRIM2, UNTRIM2007 [SediMorph]
Additional Information
Language
Fortran90
FileForm
FORMATTED
FileAccess
SEQUENTIAL
FileExtension
.dat
WRITESubroutine(s)/Module(s)

READSubroutine(s)/Module(s)
$PROGHOME/fortran/lib/io_ipds/hp/mod_io_ipds_ui.f90
$PROGHOME/fortran/lib/io_ipds/SGI/mod_io_ipds_ui.f90
Original Version
Maintenance
ExampleFile
$PROGHOME/examples/ipds/ipds.dat
back to: File Descriptions