Aktionen

IPDS.DAT: Unterschied zwischen den Versionen

Aus BAWiki

imported>Schade Peter
K (+ NCCUTOUT)
K (Wertebereich für additional roughness angepasst)
 
Zeile 3: Zeile 3:
|dateityp=ipds.dat
|dateityp=ipds.dat
|version=1.4  
|version=1.4  
|version_beschr=Juli 2017
|version_beschr=Februar 2021
|bedeutung=Eine Datei des Typs ipds.dat enthält '''<u>I</u>'''nitialwerte für '''<u>p</u>'''hysikalische'''<u>D</u>'''aten'''<u>s</u>'''ätze
|bedeutung=Eine Datei des Typs ipds.dat enthält '''<u>I</u>'''nitialwerte für '''<u>p</u>'''hysikalische'''<u>D</u>'''aten'''<u>s</u>'''ätze
Die Möglichkeiten, die damit verbunden sind (z.B. zur Definition von Anfangssituationen), mögen folgende [[IPDS.DAT:Beispiele zur Interpolation|Beispiele]] verdeutlichen.
Die Möglichkeiten, die damit verbunden sind (z.B. zur Definition von Anfangssituationen), mögen folgende [[IPDS.DAT:Beispiele zur Interpolation|Beispiele]] verdeutlichen.
Zeile 82: Zeile 82:
#:* Zus&auml;tzliche Rauheit
#:* Zus&auml;tzliche Rauheit
#::* Keyzeile: '''additional_roughness = nikuradse ..value..'''  
#::* Keyzeile: '''additional_roughness = nikuradse ..value..'''  
#::* Die Rauheits-Angabe muss gr&ouml;&szlig;er oder gleich 0 und kleiner als 10 sein
#::* Die Rauheits-Angabe muss gr&ouml;&szlig;er oder gleich -1 und kleiner als 1 sein
#:* Chezy Bodenrauheitskoeffizient
#:* Chezy Bodenrauheitskoeffizient
#::* Keyzeile: '''bottom_friction_chezy = ..chezy-value..'''  
#::* Keyzeile: '''bottom_friction_chezy = ..chezy-value..'''  

Aktuelle Version vom 19. Februar 2021, 07:32 Uhr

Basisinformationen

Datei-Typ

ipds.dat

Datei-Form

FORMATTED

Version

1.4

Beschreibung

Februar 2021

Bedeutung der Datei

Eine Datei des Typs ipds.dat enthält Initialwerte für physikalischeDatensätze Die Möglichkeiten, die damit verbunden sind (z.B. zur Definition von Anfangssituationen), mögen folgende Beispiele verdeutlichen. Neuerungen mit Version 1.4 sind wie folgt markiert: Neu in V1.4

Datei-Inhalt

  1. Block date_and_time
    • Datumsangabe
    • Es ist genau ein Block für die Datumsangabe erlaubt
    • Ein-Zeilen-Angabe des Datums mit Uhrzeit mit folgenden erlaubten Formaten:
    • DD.MM.YYYY-hh:mm:ss
    • DD.MM.YYYY-hh:mm:ss.nnnnnnnnn
    • DD.MM.YYYY-hh:mm:ss.nnnnnnnnn-ZONE
    • Legende:
    • DD = Tag des Monats (01-31)
    • MM = Monat des Jahrs (01-12)
    • YYYY = Jahr (vierstellig)
    • hh = Stunde des Tages (00-23)
    • mm = Minute der Stunde (00-59)
    • ss = Sekunde der Minute (00-59)
    • nnnnnnnnn = Nanosekundenanteil (9stellig)
    • ZONE = Zeitzone (UTC/MEZ/MESZ/+3H/..)
    • Keyzeile lautet datetime = DD.MM.YYYY-hh:mm:ss.nnnnnnnnn-ZONE
  2. Block global_constant_values
    • Definition von physikalischen Konstantwerten für das Gesamtgebiet
    • Genau ein Block mit Default-Einstellungen für verschiedene physikalische Größen ist erlaubt
    • Die Default-Einstellungen können von den nachfolgenden regional gültigen Einstellungen (Block regional values) überschrieben werden
    • Implementierte physikalische Größen:
    • Wasserstand
    • Keyzeile: waterlevel = ..wert..
    • Genau eine Wertangabe möglich
    • Salzgehalt
    • Keyzeile: salinity = ..wert..
    • Genau eine Wertangabe möglich
    • Temperatur
    • Keyzeile: temperature = ..wert..
    • Genau eine Wertangabe möglich
    • Schwebstoffgehalt
    • Keyzeile für eine Schwebstoff-Fraktion: suspendedload = ..sediment_name.. ..gehalt..
    • Es können beliebig viele Schwebstoff-Fraktionen angegeben werden.
    • Sediment-Fraktionen und Porosität
    • Keyzeile für eine Sediment-Fraktion: sediment_fraction = ..sediment_name.. ..anteil..
    • Es können beliebig viele Sediment-Fraktionen beschrieben werden
    • Keyzeile für die Porosität: porosity = ..anteil..
    • Für die Porosität ist genau eine Wertangabe möglich
    • Die hier verwendeten Sedimentbezeichnungen müssen mit denen aus der verwendeten Sediment-Klassifikations-Datei (Typ soil.dat) übereinstimmen
    • Die Summe aller relativen Vorkommen der Sedimentklassen muss 1 sein
    • Riffelwellenzahl
    • Die Wellenzahl k bestimmt Richtung und Wellenlänge (λ) der Riffel (k = 2 π / λ)
    • Zur Definition einer Wellenzahl werden seine x- und y-Komponente angegeben
    • Keyzeile: ripple_wavenumber = ..x-komponente.. ..y-komponente..
    • Genau eine Angabe zur Riffelwellenzahl möglich
    • Riffelhöhe
    • Keyzeile: ripple_height = ..wert..
    • Genau eine Wertangabe möglich
    • Dünenwellenzahl
    • Die Wellenzahl k bestimmt Richtung und Wellenlänge (λ) der Dünen (k = 2 π / λ)
    • Zur Definition einer Wellenzahl werden seine x- und y-Komponente angegeben
    • Keyzeile: dune_wavenumber = ..x-komponente.. ..y-komponente..
    • Genau eine Angabe zur Dünenwellenzahl möglich
    • Dünenhöhe
    • Keyzeile: dune_height = ..wert..
    • Genau eine Wertangabe möglich
    • Tiefenlage des unerodierbaren Bodens
    • Die Angaben zur Tiefenlage des unerodierbaren Boden können absolut ("absolute") oder relativ ("relative") vorgenommen werden
    • Absolute Angaben werden dann gemacht, wenn sich der unerodierbare Boden in der angegebenen (absoluten) geodätischen Höhe befinden soll
    • Die Angabe kann auch relativ zur ungestörten Wassertiefe erfolgen, der unerodierbare Boden befindet sich dann um den angegebenen Betrag unterhalb (negative Werte) des Wasserkörper-Bodens
    • Keyzeile: rigid_layer_depth = relative|absolute ..wert..
    • Genau eine Angabe zur Tiefenlage des unerodierbaren Bodens möglich
    • Rauheit des unerodierbaren Bodens
    • Die Rauheit des unerodierbaren Bodens kommt immer dann zum Tragen, wenn keine weiteren Sedimente auf dem unerodierbaren Boden liegen
    • Zwei Angaben zur Definition der Rauheit sind erforderlich:
    • Angabe zum verwendeten Bodenschubspannungsgesetz (z.Z. ist nur "nikuradse" implementiert)
    • Angabe des Rauheitswertes
    • Keyzeile: rigid_layer_roughness = nikuradse ..wert..
    • Genau eine Angabe zur Rauheit des unerodierbaren Bodens möglich
    • Rauheit des Bodens
    • Keyzeile: z0_roughnesslength = ..wert..
    • Zusätzliche Rauheit
    • Keyzeile: additional_roughness = nikuradse ..value..
    • Die Rauheits-Angabe muss größer oder gleich -1 und kleiner als 1 sein
    • Chezy Bodenrauheitskoeffizient
    • Keyzeile: bottom_friction_chezy = ..chezy-value..
    • Die Rauheits-Angabe muss größer oder gleich 0 und kleiner als 1000 sein
    • Manning Bodenrauheitskoeffizient
    • Keyzeile: bottom_friction_manning_str = ..manning-value..
    • Die Rauheits-Angabe muss größer oder gleich 0 und kleiner als 1000 sein
    • Nikuradse Bodenrauheitskoeffizient
    • Keyzeile: bottom_friction_nikuradse = ..nikuradse-value..
    • Die Rauheits-Angabe muss größer oder gleich 0 und kleiner als 1 sein
    • White-Colebrook Bodenrauheitskoeffizient
    • Keyzeile: bottom_friction_white_colebr = ..white-colebrook-value..
    • Die Rauheits-Angabe muss größer oder gleich 0 und kleiner als 1 sein
    • Taylor Bodenrauheitskoeffizient
    • Keyzeile: bottom_friction_taylor = ..taylor-value..
    • Die Rauheits-Angabe muss größer oder gleich 0 und kleiner als 0.1 sein
    • Zeitabhängige Bathymetrie
    • Keyzeile: time_dependent_bathymetry = ..value..
    • Die Tiefen-Angabe muss größer oder gleich -99 und kleiner als +99 sein
    • Kritische Schubspannung für Deposition
    • Keyzeile: critical_stress_for_deposition = ..value..
    • Die Angabe muss größer oder gleich 0 und kleiner als 99 sein
    • Kritische Schubspannung für Erosion
    • Keyzeile: critical_stress_for_erosion = ..value..
    • Die Angabe muss größer oder gleich 0 und kleiner als 99 sein
    • Erodibilitäts-Parameter
    • Keyzeile: erodibility_parameter = ..value..
    • Die Angabe muss größer oder gleich 0 und kleiner als 100 sein
    • Sediment Masse
    • Keyzeile: sediment_mass = ..value..
    • Die Messen-Angabe muss größer oder gleich 0 und kleiner als 1 Million sein
    • Strömungsgeschwindigkeit in x Richtung
    • Keyzeile: current_velocity_(x-dir.) = ..value..
    • Die Strömungs-Angabe muss größer oder gleich -10 und kleiner oder gleich +10 sein
    • Strömungsgeschwindigkeit in y Richtung
    • Keyzeile: current_velocity_(y-dir.) = ..value..
    • Die Strömungs-Angabe muss größer oder gleich -10 und kleiner oder gleich +10 sein
    • Depositionsrate
    • Keyzeile: deposition_rate = ..sediment_name.. ..value..
    • Definiere pro Keyzeile eine Depositionsrate für eine Sedimentfraktion
    • Verwende soviele Keyzeilen wie Sedimentfraktionen vorhanden sind
    • Mittlere Wellenperiode
    • Keyzeile: mean_wave_period = ..value..
    • Die Perioden-Angabe muss größer als 0 und kleiner oder gleich 100 sein
    • Signifikante Wellenlänge
    • Keyzeile: significant_wave_height = ..value..
    • Die Wellenlängen-Angabe muss größer oder gleich 0 und kleiner oder gleich 15 sein
    • Mittlere Wellenrichtung (x-Komponente)
    • Keyzeile: mean_wave_direction_(x-dir.) = ..value..
    • Die Richtungs-Angabe muss größer oder gleich -10 und kleiner oder gleich +10 sein
    • Mittlere Wellenrichtung (y-Komponente)
    • Keyzeile: mean_wave_direction_(y-dir.) = ..value..
    • Die Richtungs-Angabe muss größer oder gleich -10 und kleiner oder gleich +10 sein
    • Künstliche Porosität
    • Keyzeile: artificial_porosity = ..value..
    • Die Angabe muss größer oder gleich 0 und kleiner oder gleich 1 sein
    • Hydrodynamischer Druck
    • Keyzeile: hydrodynamic_pressure = ..value..
    • Die Druck-Angabe muss größer oder gleich -0.1 und kleiner oder gleich +0.1 sein
    • Tracer Fraktion
    • Keyzeile: tracer_fraction = ..tracer_name.. ..value..
    • Definiere pro Keyzeile einen Anteilswert für eine Tracerfraktion
    • Verwende soviele Keyzeilen wie Tracerfraktionen vorhanden sind
    • Turbulente kinetische Energie
    • Keyzeile: turbulent_kinetic_energy = ..value..
    • Die Energie-Angabe muss größer oder gleich 0 und kleiner oder gleich 10 sein
    • Generische Längen-Skala
    • Keyzeile: generic_length_scale = ..value..
    • Die Angabe muss größer oder gleich 0 und kleiner oder gleich 10 sein
    • Kontroll-Volumen-Nummer
    • Keyzeile: control_volume_number = ..wert..
  3. Block region
    • Definition von Regionen
    • Es können beliebig viele Regionen definiert werden
    • Es muss mindestens eine Region definiert werden, wenn abweichend von den Konstantwerten für das Gesamtgebiet regional andere Werte definiert werden sollen
    • Es müssen keine Regionen definiert werden
    • Jede Region braucht einen Namen
    • Dieser Name wird im Folgenden als Identifikationsschlüssel verwendet
    • Der Name sollte sich an geographischen Gegebenheiten orientieren
    • Groß- und Kleinschreibung beachten
    • Die Keyzeile lautet: region_name = ..name..
    • Beschreibung des diese Region umschließenden Randpolygons
    • Das Randpolygon muss aus mindestens drei Punkten bestehen
    • Die maximale Anzahl Randpolygonpunkte ist nicht beschränkt
    • Das Randpolygon wird automatisch geschlossen
    • Die Keyzeile für einen Randpolygonpunkt lautet: border_point = ..x-koordinate.. ..y-koordinate..
  4. Block sampling_point
    • Definition von (Mess-)stationen mit Messwerten
    • Es sind beliebig viele Messstationen erlaubt
    • Es muss mindestens eine Messstation definiert werden, wenn abweichend von den Konstantwerten für das Gesamtgebiet regional andere Werte definiert werden sollen
    • Es müssen keine Messstationen definiert werden
    • Jede Messstationen braucht einen Namen
    • Dieser Name wird im Folgenden als Identifikationsschlüssel verwendet
    • Der Name sollte sich an geographischen Gegebenheiten orientieren
    • Groß- und Kleinschreibung beachten
    • Die Keyzeile lautet: sampling_point_name = ..name..
    • Positionsangabe der Messstation
    • Angabe der x- und y-Koordinate
    • Nur eine Positionsangabe verwenden
    • Die Keyzeile lautet: sampling_point_xy = ..x-koordinate.. ..y-koordinate..
    • Definition der an der Messstation gültigen Werte der unterschiedlichen physikalischen Größen
    • Es können die gleichen physikalischen Größen wie im Block global constant values beschrieben verwendet werden
  5. Block regional_values
    Der max. Abstand zu den Messstationen beträgt 300m (entspricht der internen Gitterauflösung). Die Interpolation findet nur in eng begrenzter Nähe zu den Messstationen statt. Für alle weiteren Gitternetz-Punkte werden keine Messstationen gefunden. Die Lage der Messstationen kommt deutlich zum Vorschein. (642x768 Pixel, 21kB).
    Der max. Abstand zu den Messstationen beträgt 1000m (beträgt etwa das 3-4 fache der internen Gitterauflösung). Die Interpolation findet flächendeckend dort statt, wo Messstationen nicht weit entfernt sind. Das Ergebnis ist dort in erster Näherung naturähnlich. In weiten Bereichen der Emsmündung findet keine Interpolation statt, die Messpunkte sind dort zu weit entfernt. (642x768 Pixel, 30kB).
    Ohne Angabe eines max. Abstandes. Die Interpolation findet flächendeckend für jeden Punkt des Gitternetzes statt. Weit entfernt von der Lage der Messstationen ist das Ergebnis stark von künstlichen Strukturen geprägt. (642x768 Pixel, 85kB).
    • Definition von regionel abweichenden physikalischen Werten
    • Spezifizierung von Regionen, für die die Werte der physikalischen Größen an Messstationen abgelegt sind
    • Für die Zwischenräume der Regionen werden die Werte der physikalischen Größen interpoliert
    • Es sind beliebig viele dieser Blöcke erlaubt
    • Es müssen keine Blöcke definiert werden (die Konstantwerte für das Gesamtgebiet werden dann nicht verändert)
    • Die Blöcke sind so zu sortieren, dass die Blöcke mit der geringsten Priorität zuerst erfolgen (nur relevant bei Gebietsüberschneidungen)
    • Angabe der Region
    • Die Keyzeile lautet: region = inside|outside ..regionname..
    • Der Name der Region (zweite Angabe) muss übereinstimmen mit einem der oben definierten Schlüsselnamen für Regionen
    • Zusätzlich wird kenntlich gemacht, ob die hier gewünschte Region innerhalb ("inside") oder außerhalb ("outside") des definierten Randpolygons liegt
    • Definition der geodätischen Schicht, in der die angegebenen Werte gültig sind
    • Die Keyzeilen lauten: lower_validity_level = ..unterer_Grenzwert..
      upper_validity_level = ..oberer_Grenzwert..
    • Die Angabe beider Werte ist optional
    • Angabe der Messstationen
    • Es können beliebig viele Messstationen angegeben werden
    • Es muss mindestens eine Messstation angegeben werden
    • Bei Angabe von genau einer Messstation erhält man Konstantwerte für die ganze Region
    • Der Name jeder Messtation muss übereinstimmen mit einem der oben definierten Schlüsselnamen für Messstationen
    • Die Keyzeile lautet: sampling_point = ..messstationname..
    • Angabe des max. Abstands der Messstationen von einem Punkt P. Nur diejeniegen Messstationen, die sich innerhalb des Abstandsradius um P befinden, werden für die Interpolation der Messdaten verwendet.
    • Es kann nur ein max. Abstand angegeben werden
    • Der Wert für den max. Abstand muss größer Null sein
    • Die Keyzeile lautet: sampling_point_maxdist = ..maximaler_Abstand_zu_Messstationen..
    • Die Angabe der Zeile ist optional. Wird die Zeile nicht angegeben, wird der Default-Wert (40.E6) verwendet. Damit ist sichergestellt, dass sich mit IPDS-Dateien der Version 1.1 trotz neuer Programmversion identische Resultate erzielen lassen.
    • Die Beispielgrafiken sollen den Einfluss des max. Abstandes dokumentieren: Dargestellt ist in allen Grafiken die aus 1382 Einzelmessungen berechnete Verteilung des Feinsandes (.063-.177 mm Korndurchmesser) in der Emsmündung, im Dollart und in der Unterems. Die Einzelmessungen sind dem Sedimentatlas des Rijksinstituut voor Kust en Zee (RIKZ) entnommen. Der Farbverlauf bildet den rel. Anteil des Feinsandes ab: Rot entspricht 100%, Gelb 75%, Grün 50% und Dunkelblau 0% Feinsand-Anteil.
    • Angabe des Interpolationsverfahrens
    • Die Keyzeile lautet:interpolation_method = nearest_points_in_sectors | linear_distance_weighting | triangular_interpolation
    • Zur Zeit sind drei Verfahren implementiert
    • Das Interpolationsverfahren nearest_points_in_sectors ist ein im Haus der BAW entwickeltes Verfahren, welches für einen gewünschten Ort möglichst viele, möglichst dicht benachbarte Messstationen zur Interpolation heranzieht, wenn diese Messstationen in unterschiedlichen Richtungen zu finden sind. Die physikalischen Werte der Messstationen werden gewichtet zur Mittelung heran gezogen. Die Wichtung erfolgt über das Quadrat der Abstände zu den Messstationen (1/d**2). Über die Angabe einer maximal erlaubten Entfernung zu den Messstation können weiter entfernte Messstationen für die Interpolation an einem Ort exkludiert werden. Sinnvoll für eine flächige Verteilung der Messdaten und eine recht smoothe Verteilung zwischen den Daten.
    • Neu in V1.4 Das Interpolationsverfahren linear_distance_weighting funktioniert wie nearest_points_in_sectors mit einem Unterschied: Die Wichtung erfolgt über den Abstand zu den Messstationen (1/d). Diese Methode ist sinnvoll, wenn eine lineare Abnahme zwischen jeweils zwei Messstationen definiert werden soll, z.B. in Flusslängsrichtung.
    • Für das Interpolationsverfahren triangular_interpolation werden alle zur Verfügung stehenden Messstationen zu einem Dreiecksgitter vermascht. Die Vermaschung erfolgt nach Delaunay-Kriterien und bildet eine konvexe Hülle um alle Messstationen. Die Vermaschung wird im Haus der BAW mit Hilfe des externen Software-Paketes GEOMPACK (Autor: Barry Joe) generiert und über die Schnittstelle ext_ipds_setup_mespos_tria bereitgestellt.
    • Andere Verfahren können integriert werden

Programme, welche diesen Datei-Typ benutzen

GEOTRANSFORMER, NCAGGREGATE, NCCUTOUT, TELEMAC-2D [SediMorph], UNS, UNTRIM, UNTRIM2, UNTRIM2007

Beispiel-Datei

$PROGHOME/examples/ipds/ipds.dat


zurück zu: Dateikennblätter


Strukturübersicht