MODHYO: Difference between revisions

From BlueM
Jump to navigation Jump to search
mNo edit summary
m (fix syntax highlighting)
 
Line 1: Line 1:
{{BlauesModell Module}}
{{BlauesModell Module}}


<fortran>FUNCTION HYO_SNOW_INI () RESULT (LOK)</fortran>
<source lang="fortran">FUNCTION HYO_SNOW_INI () RESULT (LOK)</source>
Initialisiere die Arrays fuer die Schnee-Objekte
Initialisiere die Arrays fuer die Schnee-Objekte


<fortran>FUNCTION HYO_SNOW_CREATE() RESULT (ID)</fortran>
<source lang="fortran">FUNCTION HYO_SNOW_CREATE() RESULT (ID)</source>
Die naechste freie ID ermitteln
Die naechste freie ID ermitteln


<fortran>FUNCTION HYO_SNOW_NEU (ID) RESULT (LOK)</fortran>
<source lang="fortran">FUNCTION HYO_SNOW_NEU (ID) RESULT (LOK)</source>
Neues Schnee-Objekt einrichten
Neues Schnee-Objekt einrichten


<fortran>FUNCTION HYO_START () RESULT (LOK)</fortran>
<source lang="fortran">FUNCTION HYO_START () RESULT (LOK)</source>
Hyo, Anfangsbedingungen setzen
Hyo, Anfangsbedingungen setzen


<fortran>FUNCTION HYO_SNOWCOM () RESULT(WasserAb)</fortran>
<source lang="fortran">FUNCTION HYO_SNOWCOM () RESULT(WasserAb)</source>
Abgabe aus einer Schneedecke über das Snow-Compaction-Verfahren<ref name="Knauf_1980">'''Knauf, D.''' (1980): Die Berechnung des Abflusses aus einer Schneedecke, in: DVWK-Schriften, Heft 46, Analyse und Berechnung oberirdischer Abflüsse {{file|pdf|Knauf_1980_Schnee.pdf|PDF}}</ref>
Abgabe aus einer Schneedecke über das Snow-Compaction-Verfahren<ref name="Knauf_1980">'''Knauf, D.''' (1980): Die Berechnung des Abflusses aus einer Schneedecke, in: DVWK-Schriften, Heft 46, Analyse und Berechnung oberirdischer Abflüsse {{file|pdf|Knauf_1980_Schnee.pdf|PDF}}</ref>


<fortran>FUNCTION HYO_INTC91 () RESULT(outNied_Durch)</fortran>
<source lang="fortran">FUNCTION HYO_INTC91 () RESULT(outNied_Durch)</source>
Interception berechnen nach Modellansatz: <code>dIC/dt = PARIZ*AKTintc-IC(t)) - EPT</code>
Interception berechnen nach Modellansatz: <code>dIC/dt = PARIZ*AKTintc-IC(t)) - EPT</code>


<fortran>FUNCTION HYO_GET_REGENID_BLOCK () RESULT(ID)</fortran>
<source lang="fortran">FUNCTION HYO_GET_REGENID_BLOCK () RESULT(ID)</source>
ModellRegenID zurückgeben
ModellRegenID zurückgeben


<fortran>FUNCTION HYO_GET_REGENID_DVWK () RESULT(ID)</fortran>
<source lang="fortran">FUNCTION HYO_GET_REGENID_DVWK () RESULT(ID)</source>
ModellRegenID zurückgeben
ModellRegenID zurückgeben


<fortran>FUNCTION HYO_GET_REGENID_SCHLEGEL () RESULT(ID)</fortran>
<source lang="fortran">FUNCTION HYO_GET_REGENID_SCHLEGEL () RESULT(ID)</source>
ModellRegenID zurückgeben
ModellRegenID zurückgeben


<fortran>FUNCTION HYO_GET_REGENID_PECHER1 () RESULT(ID)</fortran>
<source lang="fortran">FUNCTION HYO_GET_REGENID_PECHER1 () RESULT(ID)</source>
ModellRegenID zurückgeben
ModellRegenID zurückgeben


<fortran>FUNCTION HYO_GET_REGENID_PECHER2 () RESULT(ID)</fortran>
<source lang="fortran">FUNCTION HYO_GET_REGENID_PECHER2 () RESULT(ID)</source>
ModellRegenID zurückgeben
ModellRegenID zurückgeben


<fortran>FUNCTION HYO_GET_REGENID_PECHER3 () RESULT(ID)</fortran>
<source lang="fortran">FUNCTION HYO_GET_REGENID_PECHER3 () RESULT(ID)</source>
ModellRegenID zurückgeben
ModellRegenID zurückgeben


<fortran>FUNCTION HYO_GET_REGENID_EULER () RESULT(ID)</fortran>
<source lang="fortran">FUNCTION HYO_GET_REGENID_EULER () RESULT(ID)</source>
ModellRegenID zurückgeben
ModellRegenID zurückgeben


<fortran>FUNCTION HYO_GET_REGEN_EULER_NCOUNT () RESULT(NCount)</fortran>
<source lang="fortran">FUNCTION HYO_GET_REGEN_EULER_NCOUNT () RESULT(NCount)</source>
ModellRegenID zurückgeben
ModellRegenID zurückgeben


<fortran>FUNCTION HYO_GET_REGEN_EULER_RTIME () RESULT(NCount)</fortran>
<source lang="fortran">FUNCTION HYO_GET_REGEN_EULER_RTIME () RESULT(NCount)</source>
ModellRegenID zurückgeben
ModellRegenID zurückgeben


<fortran>FUNCTION HYO_GET_MODELLREGEN () RESULT(Wert)</fortran>
<source lang="fortran">FUNCTION HYO_GET_MODELLREGEN () RESULT(Wert)</source>
Verschiedene Modellregen erzeugen<br/>
Verschiedene Modellregen erzeugen<br/>
izschr = Zeitschritt [sec] (integer)<br/>
izschr = Zeitschritt [sec] (integer)<br/>
Line 54: Line 54:
NRegenblock = Anzahl der Regenblöcke (integer)
NRegenblock = Anzahl der Regenblöcke (integer)


<fortran>FUNCTION HYO_GET_MODELLREGEN_EX () RESULT(Wert)</fortran>
<source lang="fortran">FUNCTION HYO_GET_MODELLREGEN_EX () RESULT(Wert)</source>
Verschiedene Modellregen erzeugen mit Euler-Typ2<br/>
Verschiedene Modellregen erzeugen mit Euler-Typ2<br/>
izschr = Zeitschritt [sec] (integer)<br/ >
izschr = Zeitschritt [sec] (integer)<br/ >
Line 65: Line 65:
NiedWerte = Niederschläge zu den Niederschlagsdauern  
NiedWerte = Niederschläge zu den Niederschlagsdauern  


<fortran>FUNCTION HYO_GET_REGEN_SCHLEGEL () RESULT(Wert)</fortran>
<source lang="fortran">FUNCTION HYO_GET_REGEN_SCHLEGEL () RESULT(Wert)</source>
Modellregen Schlegel erzeugen<br/>
Modellregen Schlegel erzeugen<br/>
myZschr = Zeitschritt [min]<br/>
myZschr = Zeitschritt [min]<br/>
Line 73: Line 73:
NMAX = Anzahl der Regenblöcke
NMAX = Anzahl der Regenblöcke


<fortran>FUNCTION HYO_GET_REGEN_DVWK () RESULT(Wert)</fortran>
<source lang="fortran">FUNCTION HYO_GET_REGEN_DVWK () RESULT(Wert)</source>
Modellregen Schlegel erzeugen<br/>
Modellregen Schlegel erzeugen<br/>
izschr = Zeitschritt [sec]<br/>
izschr = Zeitschritt [sec]<br/>
Line 81: Line 81:
NMAX = Anzahl der Regenblöcke
NMAX = Anzahl der Regenblöcke


<fortran>FUNCTION HYO_GET_REGEN_PECHERVORNE () RESULT(Wert)</fortran>
<source lang="fortran">FUNCTION HYO_GET_REGEN_PECHERVORNE () RESULT(Wert)</source>
Modellregen Pecher (Intensitätsmaximum vorne) erzeugen<br/>
Modellregen Pecher (Intensitätsmaximum vorne) erzeugen<br/>
izschr = Zeitschritt [sec]<br/>
izschr = Zeitschritt [sec]<br/>
Line 89: Line 89:
NMAX = Anzahl der Regenblöcke
NMAX = Anzahl der Regenblöcke


<fortran>FUNCTION HYO_GET_REGEN_PECHERMITTE () RESULT(Wert)</fortran>
<source lang="fortran">FUNCTION HYO_GET_REGEN_PECHERMITTE () RESULT(Wert)</source>
Modellregen Pecher (Intensitätsmaximum mitte) erzeugen<br/>
Modellregen Pecher (Intensitätsmaximum mitte) erzeugen<br/>
izschr = Zeitschritt [sec]<br/>
izschr = Zeitschritt [sec]<br/>
Line 97: Line 97:
NMAX = Anzahl der Regenblöcke
NMAX = Anzahl der Regenblöcke


<fortran>FUNCTION HYO_GET_REGEN_PECHERHINTEN () RESULT(Wert)</fortran>
<source lang="fortran">FUNCTION HYO_GET_REGEN_PECHERHINTEN () RESULT(Wert)</source>
Modellregen Pecher (Intensitätsmaximum hinten) erzeugen<br/>
Modellregen Pecher (Intensitätsmaximum hinten) erzeugen<br/>
izschr = Zeitschritt [sec]<br/>
izschr = Zeitschritt [sec]<br/>
Line 105: Line 105:
NMAX = Anzahl der Regenblöcke
NMAX = Anzahl der Regenblöcke


<fortran>FUNCTION HYO_GET_REGEN_EULERTYP2 () RESULT(Wert)</fortran>
<source lang="fortran">FUNCTION HYO_GET_REGEN_EULERTYP2 () RESULT(Wert)</source>
Modellregen Euler-Typ2 (Intensitätsmaximum 1/3 der Regendauer) erzeugen<br/>
Modellregen Euler-Typ2 (Intensitätsmaximum 1/3 der Regendauer) erzeugen<br/>
izschr = Zeitschritt [sec] <br/>
izschr = Zeitschritt [sec] <br/>
Line 116: Line 116:
NiedWerte = Niederschläge zu den Niederschlagsdauern
NiedWerte = Niederschläge zu den Niederschlagsdauern


<fortran>FUNCTION HYO_CALC_REGENWERT () RESULT(Wert)</fortran>
<source lang="fortran">FUNCTION HYO_CALC_REGENWERT () RESULT(Wert)</source>
Regenwerte an Zeitschrittlänge anpassen<br/>
Regenwerte an Zeitschrittlänge anpassen<br/>
iz = aktueller Zeitschritt<br/>
iz = aktueller Zeitschritt<br/>
Line 124: Line 124:
Ni = Niederschlag je Regenblock [mm]
Ni = Niederschlag je Regenblock [mm]


<fortran>FUNCTION VDUNST () RESULT(ETp)</fortran>
<source lang="fortran">FUNCTION VDUNST () RESULT(ETp)</source>
mittlere potentielle Verdunstung in mm/d nach Brandt<ref name="brandt">'''Brandt, T.''' (1979): Modell zur Abflussgangliniensimulation unter Berücksichtigung des grundwasserbürtigen Abflusses, Technischer Bericht Nr. 24 aus dem Institut für Wasserbau, Fachgebiet Ingenieurhydrologie und Hydraulik der TH Darmstadt</ref>
mittlere potentielle Verdunstung in mm/d nach Brandt<ref name="brandt">'''Brandt, T.''' (1979): Modell zur Abflussgangliniensimulation unter Berücksichtigung des grundwasserbürtigen Abflusses, Technischer Bericht Nr. 24 aus dem Institut für Wasserbau, Fachgebiet Ingenieurhydrologie und Hydraulik der TH Darmstadt</ref>


<fortran>FUNCTION HYO_UPDATE () RESULT (LOK)</fortran>
<source lang="fortran">FUNCTION HYO_UPDATE () RESULT (LOK)</source>
Übergabe der letzten Zeitschrittwerte
Übergabe der letzten Zeitschrittwerte


<fortran>FUNCTION HYO_GET_SCHNEE () RESULT (Schnee)</fortran>
<source lang="fortran">FUNCTION HYO_GET_SCHNEE () RESULT (Schnee)</source>
Schneehöhe auslesen
Schneehöhe auslesen


<fortran>FUNCTION HYO_VERSION () RESULT (VERSION)</fortran>
<source lang="fortran">FUNCTION HYO_VERSION () RESULT (VERSION)</source>
Versionsnummer des Moduls
Versionsnummer des Moduls


<fortran>FUNCTION SNOW_IDObj () RESULT (objptr)</fortran>
<source lang="fortran">FUNCTION SNOW_IDObj () RESULT (objptr)</source>
Objekt zu einer ID
Objekt zu einer ID


<fortran>FUNCTION HYO_GET_WELLE () RESULT(isOK)</fortran>
<source lang="fortran">FUNCTION HYO_GET_WELLE () RESULT(isOK)</source>
Berechnung von Hochwasserwellen mit verschiedenen Wellenfunktionen<br/>
Berechnung von Hochwasserwellen mit verschiedenen Wellenfunktionen<br/>
izschr = [min]
izschr = [min]


<fortran>FUNCTION HYO_GET_WELLE_Q () RESULT(Q)</fortran>
<source lang="fortran">FUNCTION HYO_GET_WELLE_Q () RESULT(Q)</source>
Berechnung eines Q-Wertes aus einer Hochwasserwellen mit verschiedenen Wellenfunktionen<br/>
Berechnung eines Q-Wertes aus einer Hochwasserwellen mit verschiedenen Wellenfunktionen<br/>
izschr = [min]
izschr = [min]


<fortran>FUNCTION HYO_GET_WELLE_DYCK () RESULT(isOK)</fortran>
<source lang="fortran">FUNCTION HYO_GET_WELLE_DYCK () RESULT(isOK)</source>
Welle nach Dyck berechnen
Welle nach Dyck berechnen


<fortran>FUNCTION HYO_GET_QAB_DYCK () RESULT(Q)</fortran>
<source lang="fortran">FUNCTION HYO_GET_QAB_DYCK () RESULT(Q)</source>
Einzelwert aus der Welle nach Dyck berechnen
Einzelwert aus der Welle nach Dyck berechnen


<fortran>FUNCTION HYO_GET_WELLE_COMPOSED () RESULT(isOK)</fortran>
<source lang="fortran">FUNCTION HYO_GET_WELLE_COMPOSED () RESULT(isOK)</source>
Zusammengesetzte Welle nach Dyck(Anlauf) und Tangens-Hyperbolikus(Ablauf) berechnen.Zur Zeit ist keine Stauchung der Tangens-Hyperbolikus-Funktion (Ablauf) vorgesehen<br/>
Zusammengesetzte Welle nach Dyck(Anlauf) und Tangens-Hyperbolikus(Ablauf) berechnen.Zur Zeit ist keine Stauchung der Tangens-Hyperbolikus-Funktion (Ablauf) vorgesehen<br/>
izschr = [min]
izschr = [min]


<fortran>FUNCTION HYO_GET_STARTZEIT () RESULT(xStart)</fortran>
<source lang="fortran">FUNCTION HYO_GET_STARTZEIT () RESULT(xStart)</source>
StartZeit für den Ablauf einer zusammengesetzten Welle nach Dyck(Anlauf) und Tangens-Hyperbolikus(Ablauf) berechnen.
StartZeit für den Ablauf einer zusammengesetzten Welle nach Dyck(Anlauf) und Tangens-Hyperbolikus(Ablauf) berechnen.


<fortran>FUNCTION HYO_GET_QAB_COMPOSED () RESULT(Q)</fortran>
<source lang="fortran">FUNCTION HYO_GET_QAB_COMPOSED () RESULT(Q)</source>
Q-Wert einer zusammengesetzten Welle nach Dyck(Anlauf) und Tangens-Hyperbolikus(Ablauf) berechnen
Q-Wert einer zusammengesetzten Welle nach Dyck(Anlauf) und Tangens-Hyperbolikus(Ablauf) berechnen



Latest revision as of 08:28, 27 January 2018

MODULE
Übersicht
MODBEK
MODBF
MODBIL
MODCON
MODEIN
MODERR
MODEZG
MODFKT
MODGGL
MODHYA
MODHYO
MODKAL
MODMAX
MODMISC
MODSCE
MODSTAT
MODSYS
MODTAL
MODTRS
MODURB
MODVER
MODZIEL
MODZRE
FUNCTION HYO_SNOW_INI () RESULT (LOK)

Initialisiere die Arrays fuer die Schnee-Objekte

FUNCTION HYO_SNOW_CREATE() RESULT (ID)

Die naechste freie ID ermitteln

FUNCTION HYO_SNOW_NEU (ID) RESULT (LOK)

Neues Schnee-Objekt einrichten

FUNCTION HYO_START () RESULT (LOK)

Hyo, Anfangsbedingungen setzen

FUNCTION HYO_SNOWCOM () RESULT(WasserAb)

Abgabe aus einer Schneedecke über das Snow-Compaction-Verfahren[1]

FUNCTION HYO_INTC91 () RESULT(outNied_Durch)

Interception berechnen nach Modellansatz: dIC/dt = PARIZ*AKTintc-IC(t)) - EPT

FUNCTION HYO_GET_REGENID_BLOCK () RESULT(ID)

ModellRegenID zurückgeben

FUNCTION HYO_GET_REGENID_DVWK () RESULT(ID)

ModellRegenID zurückgeben

FUNCTION HYO_GET_REGENID_SCHLEGEL () RESULT(ID)

ModellRegenID zurückgeben

FUNCTION HYO_GET_REGENID_PECHER1 () RESULT(ID)

ModellRegenID zurückgeben

FUNCTION HYO_GET_REGENID_PECHER2 () RESULT(ID)

ModellRegenID zurückgeben

FUNCTION HYO_GET_REGENID_PECHER3 () RESULT(ID)

ModellRegenID zurückgeben

FUNCTION HYO_GET_REGENID_EULER () RESULT(ID)

ModellRegenID zurückgeben

FUNCTION HYO_GET_REGEN_EULER_NCOUNT () RESULT(NCount)

ModellRegenID zurückgeben

FUNCTION HYO_GET_REGEN_EULER_RTIME () RESULT(NCount)

ModellRegenID zurückgeben

FUNCTION HYO_GET_MODELLREGEN () RESULT(Wert)

Verschiedene Modellregen erzeugen
izschr = Zeitschritt [sec] (integer)
HN = Regenhoehe [mm] (real)
NDauer = Regendauer [min] (integer)
iakt = aktueller Zeitschritt seit Regenbeginn (integer)
NRegenblock = Anzahl der Regenblöcke (integer)

FUNCTION HYO_GET_MODELLREGEN_EX () RESULT(Wert)

Verschiedene Modellregen erzeugen mit Euler-Typ2
izschr = Zeitschritt [sec] (integer)
HN = Regenhoehe [mm] (real)
NDauer = Regendauer [min] (integer)
iakt = aktueller Zeitschritt seit Regenbeginn (integer)
NRegenblock = Anzahl der Regenblöcke (integer)
Speziell für EULER-Regen
NTn = Anzahl der Niederschlagsdauern (festgelegt von 5,10,15,20,30,45,60min, bis 72h: 18 Stück)
NiedWerte = Niederschläge zu den Niederschlagsdauern

FUNCTION HYO_GET_REGEN_SCHLEGEL () RESULT(Wert)

Modellregen Schlegel erzeugen
myZschr = Zeitschritt [min]
HN = Regenhoehe [mm]
iDauer = Regendauer [min]
iakt = aktueller Zeitschritt seit Regenbeginn
NMAX = Anzahl der Regenblöcke

FUNCTION HYO_GET_REGEN_DVWK () RESULT(Wert)

Modellregen Schlegel erzeugen
izschr = Zeitschritt [sec]
HN = Regenhoehe [mm]
iDauer = Regendauer [min]
iakt = aktueller Zeitschritt seit Regenbeginn
NMAX = Anzahl der Regenblöcke

FUNCTION HYO_GET_REGEN_PECHERVORNE () RESULT(Wert)

Modellregen Pecher (Intensitätsmaximum vorne) erzeugen
izschr = Zeitschritt [sec]
HN = Regenhoehe [mm]
iDauer = Regendauer [min]
iakt = aktueller Zeitschritt seit Regenbeginn
NMAX = Anzahl der Regenblöcke

FUNCTION HYO_GET_REGEN_PECHERMITTE () RESULT(Wert)

Modellregen Pecher (Intensitätsmaximum mitte) erzeugen
izschr = Zeitschritt [sec]
HN = Regenhoehe [mm]
iDauer = Regendauer [min]
iakt = aktueller Zeitschritt seit Regenbeginn
NMAX = Anzahl der Regenblöcke

FUNCTION HYO_GET_REGEN_PECHERHINTEN () RESULT(Wert)

Modellregen Pecher (Intensitätsmaximum hinten) erzeugen
izschr = Zeitschritt [sec]
HN = Regenhoehe [mm]
iDauer = Regendauer [min]
iakt = aktueller Zeitschritt seit Regenbeginn
NMAX = Anzahl der Regenblöcke

FUNCTION HYO_GET_REGEN_EULERTYP2 () RESULT(Wert)

Modellregen Euler-Typ2 (Intensitätsmaximum 1/3 der Regendauer) erzeugen
izschr = Zeitschritt [sec]
HN = Regenhoehe [mm]
NDauer = Regendauer [min]
iakt = aktueller Zeitschritt seit Regenbeginn
NMAX = Anzahl der Regenblöcke
Speziell für EULER-Regen
NTn = Anzahl der Niederschlagsdauern (festgelegt von 5,10,15,20,30,45,60min, bis 72h: 18 Stück)
NiedWerte = Niederschläge zu den Niederschlagsdauern

FUNCTION HYO_CALC_REGENWERT () RESULT(Wert)

Regenwerte an Zeitschrittlänge anpassen
iz = aktueller Zeitschritt
dt = Zeitschritt [min]
N = Anzahl der Regenblöcke
dti = Länge der Regenblöcke [min]
Ni = Niederschlag je Regenblock [mm]

FUNCTION VDUNST () RESULT(ETp)

mittlere potentielle Verdunstung in mm/d nach Brandt[2]

FUNCTION HYO_UPDATE () RESULT (LOK)

Übergabe der letzten Zeitschrittwerte

FUNCTION HYO_GET_SCHNEE () RESULT (Schnee)

Schneehöhe auslesen

FUNCTION HYO_VERSION () RESULT (VERSION)

Versionsnummer des Moduls

FUNCTION SNOW_IDObj () RESULT (objptr)

Objekt zu einer ID

FUNCTION HYO_GET_WELLE () RESULT(isOK)

Berechnung von Hochwasserwellen mit verschiedenen Wellenfunktionen
izschr = [min]

FUNCTION HYO_GET_WELLE_Q () RESULT(Q)

Berechnung eines Q-Wertes aus einer Hochwasserwellen mit verschiedenen Wellenfunktionen
izschr = [min]

FUNCTION HYO_GET_WELLE_DYCK () RESULT(isOK)

Welle nach Dyck berechnen

FUNCTION HYO_GET_QAB_DYCK () RESULT(Q)

Einzelwert aus der Welle nach Dyck berechnen

FUNCTION HYO_GET_WELLE_COMPOSED () RESULT(isOK)

Zusammengesetzte Welle nach Dyck(Anlauf) und Tangens-Hyperbolikus(Ablauf) berechnen.Zur Zeit ist keine Stauchung der Tangens-Hyperbolikus-Funktion (Ablauf) vorgesehen
izschr = [min]

FUNCTION HYO_GET_STARTZEIT () RESULT(xStart)

StartZeit für den Ablauf einer zusammengesetzten Welle nach Dyck(Anlauf) und Tangens-Hyperbolikus(Ablauf) berechnen.

FUNCTION HYO_GET_QAB_COMPOSED () RESULT(Q)

Q-Wert einer zusammengesetzten Welle nach Dyck(Anlauf) und Tangens-Hyperbolikus(Ablauf) berechnen

Literaturangaben

  1. Knauf, D. (1980): Die Berechnung des Abflusses aus einer Schneedecke, in: DVWK-Schriften, Heft 46, Analyse und Berechnung oberirdischer Abflüsse PDF information.png
  2. Brandt, T. (1979): Modell zur Abflussgangliniensimulation unter Berücksichtigung des grundwasserbürtigen Abflusses, Technischer Bericht Nr. 24 aus dem Institut für Wasserbau, Fachgebiet Ingenieurhydrologie und Hydraulik der TH Darmstadt