MODHYO: Difference between revisions
No edit summary |
m (fix syntax highlighting) |
||
(7 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{BlauesModell Module}} | |||
<source lang="fortran">FUNCTION HYO_SNOW_INI () RESULT (LOK)</source> | |||
Initialisiere die Arrays fuer die Schnee-Objekte | |||
<source lang="fortran">FUNCTION HYO_SNOW_CREATE() RESULT (ID)</source> | |||
Die naechste freie ID ermitteln | |||
<source lang="fortran">FUNCTION HYO_SNOW_NEU (ID) RESULT (LOK)</source> | |||
Neues Schnee-Objekt einrichten | |||
<source lang="fortran">FUNCTION HYO_START () RESULT (LOK)</source> | |||
Hyo, Anfangsbedingungen setzen | |||
<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> | |||
<source lang="fortran">FUNCTION HYO_INTC91 () RESULT(outNied_Durch)</source> | |||
Interception berechnen nach Modellansatz: <code>dIC/dt = PARIZ*AKTintc-IC(t)) - EPT</code> | |||
<source lang="fortran">FUNCTION HYO_GET_REGENID_BLOCK () RESULT(ID)</source> | |||
ModellRegenID zurückgeben | |||
<source lang="fortran">FUNCTION HYO_GET_REGENID_DVWK () RESULT(ID)</source> | |||
ModellRegenID zurückgeben | |||
<source lang="fortran">FUNCTION HYO_GET_REGENID_SCHLEGEL () RESULT(ID)</source> | |||
ModellRegenID zurückgeben | |||
<source lang="fortran">FUNCTION HYO_GET_REGENID_PECHER1 () RESULT(ID)</source> | |||
ModellRegenID zurückgeben | |||
<source lang="fortran">FUNCTION HYO_GET_REGENID_PECHER2 () RESULT(ID)</source> | |||
ModellRegenID zurückgeben | |||
<source lang="fortran">FUNCTION HYO_GET_REGENID_PECHER3 () RESULT(ID)</source> | |||
ModellRegenID zurückgeben | |||
<source lang="fortran">FUNCTION HYO_GET_REGENID_EULER () RESULT(ID)</source> | |||
ModellRegenID zurückgeben | |||
<source lang="fortran">FUNCTION HYO_GET_REGEN_EULER_NCOUNT () RESULT(NCount)</source> | |||
ModellRegenID zurückgeben | |||
<source lang="fortran">FUNCTION HYO_GET_REGEN_EULER_RTIME () RESULT(NCount)</source> | |||
ModellRegenID zurückgeben | |||
<source lang="fortran">FUNCTION HYO_GET_MODELLREGEN () RESULT(Wert)</source> | |||
Verschiedene Modellregen erzeugen<br/> | |||
izschr = Zeitschritt [sec] (integer)<br/> | |||
HN = Regenhoehe [mm] (real)<br/> | |||
NDauer = Regendauer [min] (integer)<br/> | |||
iakt = aktueller Zeitschritt seit Regenbeginn (integer)<br/> | |||
NRegenblock = Anzahl der Regenblöcke (integer) | |||
<source lang="fortran">FUNCTION HYO_GET_MODELLREGEN_EX () RESULT(Wert)</source> | |||
Verschiedene Modellregen erzeugen mit Euler-Typ2<br/> | |||
izschr = Zeitschritt [sec] (integer)<br/ > | |||
HN = Regenhoehe [mm] (real)<br/> | |||
NDauer = Regendauer [min] (integer)<br/> | |||
iakt = aktueller Zeitschritt seit Regenbeginn (integer)<br/> | |||
NRegenblock = Anzahl der Regenblöcke (integer)<br/> | |||
Speziell für EULER-Regen<br/> | |||
NTn = Anzahl der Niederschlagsdauern (festgelegt von 5,10,15,20,30,45,60min, bis 72h: 18 Stück)<br/> | |||
NiedWerte = Niederschläge zu den Niederschlagsdauern | |||
<source lang="fortran">FUNCTION HYO_GET_REGEN_SCHLEGEL () RESULT(Wert)</source> | |||
Modellregen Schlegel erzeugen<br/> | |||
myZschr = Zeitschritt [min]<br/> | |||
HN = Regenhoehe [mm]<br/> | |||
iDauer = Regendauer [min]<br/> | |||
iakt = aktueller Zeitschritt seit Regenbeginn<br/> | |||
NMAX = Anzahl der Regenblöcke | |||
<source lang="fortran">FUNCTION HYO_GET_REGEN_DVWK () RESULT(Wert)</source> | |||
Modellregen Schlegel erzeugen<br/> | |||
izschr = Zeitschritt [sec]<br/> | |||
HN = Regenhoehe [mm]<br/> | |||
iDauer = Regendauer [min]<br/> | |||
iakt = aktueller Zeitschritt seit Regenbeginn<br/> | |||
NMAX = Anzahl der Regenblöcke | |||
<source lang="fortran">FUNCTION HYO_GET_REGEN_PECHERVORNE () RESULT(Wert)</source> | |||
Modellregen Pecher (Intensitätsmaximum vorne) erzeugen<br/> | |||
izschr = Zeitschritt [sec]<br/> | |||
HN = Regenhoehe [mm]<br/> | |||
iDauer = Regendauer [min]<br/> | |||
iakt = aktueller Zeitschritt seit Regenbeginn<br/> | |||
NMAX = Anzahl der Regenblöcke | |||
<source lang="fortran">FUNCTION HYO_GET_REGEN_PECHERMITTE () RESULT(Wert)</source> | |||
Modellregen Pecher (Intensitätsmaximum mitte) erzeugen<br/> | |||
izschr = Zeitschritt [sec]<br/> | |||
HN = Regenhoehe [mm]<br/> | |||
iDauer = Regendauer [min]<br/> | |||
iakt = aktueller Zeitschritt seit Regenbeginn<br/> | |||
NMAX = Anzahl der Regenblöcke | |||
<source lang="fortran">FUNCTION HYO_GET_REGEN_PECHERHINTEN () RESULT(Wert)</source> | |||
Modellregen Pecher (Intensitätsmaximum hinten) erzeugen<br/> | |||
izschr = Zeitschritt [sec]<br/> | |||
HN = Regenhoehe [mm]<br/> | |||
iDauer = Regendauer [min]<br/> | |||
iakt = aktueller Zeitschritt seit Regenbeginn<br/> | |||
NMAX = Anzahl der Regenblöcke | |||
<source lang="fortran">FUNCTION HYO_GET_REGEN_EULERTYP2 () RESULT(Wert)</source> | |||
Modellregen Euler-Typ2 (Intensitätsmaximum 1/3 der Regendauer) erzeugen<br/> | |||
izschr = Zeitschritt [sec] <br/> | |||
HN = Regenhoehe [mm] <br/> | |||
NDauer = Regendauer [min] <br/> | |||
iakt = aktueller Zeitschritt seit Regenbeginn<br/> | |||
NMAX = Anzahl der Regenblöcke<br/> | |||
Speziell für EULER-Regen<br/> | |||
NTn = Anzahl der Niederschlagsdauern (festgelegt von 5,10,15,20,30,45,60min, bis 72h: 18 Stück)<br/> | |||
NiedWerte = Niederschläge zu den Niederschlagsdauern | |||
<source lang="fortran">FUNCTION HYO_CALC_REGENWERT () RESULT(Wert)</source> | |||
Regenwerte an Zeitschrittlänge anpassen<br/> | |||
iz = aktueller Zeitschritt<br/> | |||
dt = Zeitschritt [min]<br/> | |||
N = Anzahl der Regenblöcke<br/> | |||
dti = Länge der Regenblöcke [min]<br/> | |||
Ni = Niederschlag je Regenblock [mm] | |||
<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> | |||
<source lang="fortran">FUNCTION HYO_UPDATE () RESULT (LOK)</source> | |||
Übergabe der letzten Zeitschrittwerte | |||
<source lang="fortran">FUNCTION HYO_GET_SCHNEE () RESULT (Schnee)</source> | |||
Schneehöhe auslesen | |||
<source lang="fortran">FUNCTION HYO_VERSION () RESULT (VERSION)</source> | |||
Versionsnummer des Moduls | |||
<source lang="fortran">FUNCTION SNOW_IDObj () RESULT (objptr)</source> | |||
Objekt zu einer ID | |||
<source lang="fortran">FUNCTION HYO_GET_WELLE () RESULT(isOK)</source> | |||
Berechnung von Hochwasserwellen mit verschiedenen Wellenfunktionen<br/> | |||
izschr = [min] | |||
<source lang="fortran">FUNCTION HYO_GET_WELLE_Q () RESULT(Q)</source> | |||
Berechnung eines Q-Wertes aus einer Hochwasserwellen mit verschiedenen Wellenfunktionen<br/> | |||
izschr = [min] | |||
<source lang="fortran">FUNCTION HYO_GET_WELLE_DYCK () RESULT(isOK)</source> | |||
Welle nach Dyck berechnen | |||
<source lang="fortran">FUNCTION HYO_GET_QAB_DYCK () RESULT(Q)</source> | |||
Einzelwert aus der Welle nach Dyck berechnen | |||
<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/> | |||
izschr = [min] | |||
<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. | |||
<source lang="fortran">FUNCTION HYO_GET_QAB_COMPOSED () RESULT(Q)</source> | |||
Q-Wert einer zusammengesetzten Welle nach Dyck(Anlauf) und Tangens-Hyperbolikus(Ablauf) berechnen | |||
==Literaturangaben== | |||
<references/> | |||
[[Kategorie:BlueM Code]] |
Latest revision as of 09: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 |
1 | FUNCTION HYO_SNOW_INI ( ) RESULT ( LOK ) |
Initialisiere die Arrays fuer die Schnee-Objekte
1 | FUNCTION HYO_SNOW_CREATE ( ) RESULT ( ID ) |
Die naechste freie ID ermitteln
1 | FUNCTION HYO_SNOW_NEU ( ID ) RESULT ( LOK ) |
Neues Schnee-Objekt einrichten
1 | FUNCTION HYO_START ( ) RESULT ( LOK ) |
Hyo, Anfangsbedingungen setzen
1 | FUNCTION HYO_SNOWCOM ( ) RESULT ( WasserAb ) |
Abgabe aus einer Schneedecke über das Snow-Compaction-Verfahren[1]
1 | FUNCTION HYO_INTC 91 ( ) RESULT ( outNied_Durch ) |
Interception berechnen nach Modellansatz: dIC/dt = PARIZ*AKTintc-IC(t)) - EPT
1 | FUNCTION HYO_GET_REGENID_BLOCK ( ) RESULT ( ID ) |
ModellRegenID zurückgeben
1 | FUNCTION HYO_GET_REGENID_DVWK ( ) RESULT ( ID ) |
ModellRegenID zurückgeben
1 | FUNCTION HYO_GET_REGENID_SCHLEGEL ( ) RESULT ( ID ) |
ModellRegenID zurückgeben
1 | FUNCTION HYO_GET_REGENID_PECHER 1 ( ) RESULT ( ID ) |
ModellRegenID zurückgeben
1 | FUNCTION HYO_GET_REGENID_PECHER 2 ( ) RESULT ( ID ) |
ModellRegenID zurückgeben
1 | FUNCTION HYO_GET_REGENID_PECHER 3 ( ) RESULT ( ID ) |
ModellRegenID zurückgeben
1 | FUNCTION HYO_GET_REGENID_EULER ( ) RESULT ( ID ) |
ModellRegenID zurückgeben
1 | FUNCTION HYO_GET_REGEN_EULER_NCOUNT ( ) RESULT ( NCount ) |
ModellRegenID zurückgeben
1 | FUNCTION HYO_GET_REGEN_EULER_RTIME ( ) RESULT ( NCount ) |
ModellRegenID zurückgeben
1 | 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)
1 | 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
1 | 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
1 | 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
1 | 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
1 | 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
1 | 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
1 | FUNCTION HYO_GET_REGEN_EULERTYP 2 ( ) 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
1 | 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]
1 | FUNCTION VDUNST ( ) RESULT ( ETp ) |
mittlere potentielle Verdunstung in mm/d nach Brandt[2]
1 | FUNCTION HYO_UPDATE ( ) RESULT ( LOK ) |
Übergabe der letzten Zeitschrittwerte
1 | FUNCTION HYO_GET_SCHNEE ( ) RESULT ( Schnee ) |
Schneehöhe auslesen
1 | FUNCTION HYO_VERSION ( ) RESULT ( VERSION ) |
Versionsnummer des Moduls
1 | FUNCTION SNOW_IDObj ( ) RESULT ( objptr ) |
Objekt zu einer ID
1 | FUNCTION HYO_GET_WELLE ( ) RESULT ( isOK ) |
Berechnung von Hochwasserwellen mit verschiedenen Wellenfunktionen
izschr = [min]
1 | FUNCTION HYO_GET_WELLE_Q ( ) RESULT ( Q ) |
Berechnung eines Q-Wertes aus einer Hochwasserwellen mit verschiedenen Wellenfunktionen
izschr = [min]
1 | FUNCTION HYO_GET_WELLE_DYCK ( ) RESULT ( isOK ) |
Welle nach Dyck berechnen
1 | FUNCTION HYO_GET_QAB_DYCK ( ) RESULT ( Q ) |
Einzelwert aus der Welle nach Dyck berechnen
1 | 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]
1 | FUNCTION HYO_GET_STARTZEIT ( ) RESULT ( xStart ) |
StartZeit für den Ablauf einer zusammengesetzten Welle nach Dyck(Anlauf) und Tangens-Hyperbolikus(Ablauf) berechnen.
1 | FUNCTION HYO_GET_QAB_COMPOSED ( ) RESULT ( Q ) |
Q-Wert einer zusammengesetzten Welle nach Dyck(Anlauf) und Tangens-Hyperbolikus(Ablauf) berechnen
Literaturangaben
- ↑ Knauf, D. (1980): Die Berechnung des Abflusses aus einer Schneedecke, in: DVWK-Schriften, Heft 46, Analyse und Berechnung oberirdischer Abflüsse PDF
- ↑ 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