EntityWriterMonthlyAgg

Aus ILMS-Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
 
Zeile 4: Zeile 4:
 
|colspan = "2"|package:
 
|colspan = "2"|package:
 
|org.unijena.j2k.io
 
|org.unijena.j2k.io
 +
 
|-
 
|-
 
|Autor:
 
|Autor:
 
| 
 
| 
 
|Daniel Varga
 
|Daniel Varga
|-
+
 
 
|}
 
|}
  
Kombination aus TemporalSumAggregator und StandardEntityWriter
+
Diese Komponente ermittelt für beliebige räumliche Attribute monatliche Durchschnittswerte über einen gegebenen Zeitraum. Dieser Zeitraum muss nicht identisch mit dem Modellierungszeitraum sein, so dass die Einschwingphase ausgelassen werden kann. Es werden immer ganze Monate betrachtet, d.h. der Aggregationszeitraum sollte immer am ersten Tag des gewünschten Monats beginnen und am letzten Enden.
  
Ermöglicht Bildung monatlicher Summen eines Attributes über ein vorher definiertes Zeitintervall und die Berechnung mittlerer monatlicher Werte für jede HRU.
+
Weitere Möglichkeit zur zeitlichen Aggregation räumlicher Daten
  
Stichwort: Wasserbilanz
+
Standardmäßig werden langjährige Mittelwerte für jeden Monat („Jan" - „Dec") und für ein ganzes Jahr („Year") ausgegeben.
  
{|border="0" cellspacing="2" width="100%"
+
Über einen true/false-Schalter kann die Ausgabe der monatlichen Mittelwerte für jeden Monat im Aggregationszeitintervall an oder ausgeschaltet werden.
|Ursprung:
+
|StandardEntityWriterN (Autor: Sven Kralisch)
+
|-
+
|Erweiterung:
+
|StandardEntityWriterMonthlyAgg_DiffBuilder
+
|-
+
|}
+
  
 
'''Position'''
 
'''Position'''
Zeile 44: Zeile 38:
 
│              │    ├─<nowiki><</nowiki>ReachContext<nowiki>></nowiki>
 
│              │    ├─<nowiki><</nowiki>ReachContext<nowiki>></nowiki>
  
│              │    └─'''<nowiki><*></nowiki>'''
+
│              │    └─'''<nowiki><</nowiki>*<nowiki>></nowiki>'''
  
 
{|border="0" cellspacing="2" width="100%"
 
{|border="0" cellspacing="2" width="100%"
 
|│     
 
|│     
 
|    └─<nowiki><</nowiki>EntityOutputContext<nowiki>></nowiki>
 
|    └─<nowiki><</nowiki>EntityOutputContext<nowiki>></nowiki>
|-
+
 
 
|}
 
|}
  
Zeile 55: Zeile 49:
  
 
'''XML'''
 
'''XML'''
 +
 +
<nowiki><</nowiki>component class="org.unijena.j2k.io.StandardEntityWriterMonthlyAgg" name="StandardEntityWriterMonthlyAgg_precip"<nowiki>></nowiki>
 +
 +
:<nowiki><</nowiki>var attribute="time" context="J2K" name="time"/<nowiki>></nowiki>
 +
 +
:<nowiki><</nowiki>var attribute="timeInterval" context="J2K" name="modelTimeInterval"/<nowiki>></nowiki>
 +
 +
:<nowiki><</nowiki>var attribute="agg_timeInterval" context="J2K" name="aggTimeInterval"/<nowiki>></nowiki>
 +
 +
:<nowiki><</nowiki>var name="fileName" value="output/EW_precip_agg.dat"/<nowiki>></nowiki>
 +
 +
:<nowiki><</nowiki>var attribute="workspaceDir" context="J2K" name="dirName"/<nowiki>></nowiki>
 +
 +
:<nowiki><</nowiki>var attribute="hrus" context="J2K" name="entities"/<nowiki>></nowiki>
 +
 +
:<nowiki><</nowiki>var name="attributeName" value="precip"/<nowiki>></nowiki>
 +
 +
:<nowiki><</nowiki>var name="header" value="precip"/<nowiki>></nowiki>
 +
 +
:<nowiki><</nowiki>var name="weight" value="none"/<nowiki>></nowiki>
 +
 +
:<nowiki><</nowiki>var name="monthlyValuesWriting" value="true"/<nowiki>></nowiki>
 +
 +
:<nowiki><</nowiki>var name="monthlyAverage" value="false"/<nowiki>></nowiki>
 +
 +
<nowiki><</nowiki>/component<nowiki>></nowiki>
  
 
{|border="0" cellspacing="2" width="100%"
 
{|border="0" cellspacing="2" width="100%"
|<font color="#0000FF"><nowiki><</nowiki>component</font> <font color="#008000">class=</font><font color="#993366">"org.unijena.j2k.io.StandardEntityWriterMontlyAgg"</font>
+
|time
|colspan = "6"|<font color="#008000">name=</font><font color="#993366">"StandardEntityWriterMontlyAgg_precip"</font><font color="#0000FF"><nowiki>></nowiki></font>
+
|colspan = "2"|aktuelle Zeit
 +
 
 
|-
 
|-
|&nbsp;
+
|modelTimeInterval
|colspan = "6"|<font color="#0000FF"><nowiki><</nowiki>var </font><font color="#008000">name=</font><font color="#993366">"attributeName"</font> <font color="#008000">value=</font><font color="#993366">"precip"</font><font color="#0000FF">/<nowiki>></nowiki></font>
+
|colspan = "2"|Modellierungs-Zeitinterval
 +
 
 
|-
 
|-
|<font color="#0000FF">
+
|aggTimeInterval
|colspan = "6"|<nowiki><</nowiki>var</font> <font color="#008000">attribute=</font><font color="#993366">"time"</font> <font color="#008000">context=</font><font color="#993366">"J2K"</font> <font color="#339966">name=</font><font color="#993366">"time"</font><font color="#0000FF">/<nowiki>></nowiki></font>
+
|colspan = "2"|Aggregations-Zeitinterval
 +
 
 
|-
 
|-
|&nbsp;
+
|attributeName
|colspan = "6"|<font color="#0000FF"><nowiki><</nowiki>var</font> <font color="#008000">name=</font><font color="#993366">"weight"</font> <font color="#008000">value=</font><font color="#993366">"none"</font><font color="#0000FF">/<nowiki>></nowiki></font>
+
|colspan = "2"|Name des zu aggregierenden Attributes
 +
 
 
|-
 
|-
|&nbsp;
+
|fileName
|<font color="#0000FF"><nowiki><</nowiki>var</font> <font color="#008000">attribute=</font><font color="#993366">"timeInterval"</font> <font color="#008000">context=</font><font color="#993366">"J2K"</font>
+
|colspan = "2"|Dateiname unter dem die Ausgabedatie gespeichert werden soll
|&nbsp;
+
 
|&nbsp;
+
|&nbsp;
+
|&nbsp;
+
|<font color="#008000">name=</font><font color="#993366">"modelTimeInterval"</font><font color="#0000FF">/<nowiki>></nowiki></font>
+
 
|-
 
|-
|&nbsp;
+
|dirName
|<font color="#0000FF"><nowiki><</nowiki>var</font> <font color="#008000">attribute</font>=<font color="#993366">"agg_timeInterval"</font> <font color="#008000">context=</font><font color="#993366">"J2K"</font>
+
|colspan = "2"|Pfad zum Arbeitszerzeichnis
|&nbsp;
+
 
|&nbsp;
+
|&nbsp;
+
|&nbsp;
+
|<font color="#008000">name=</font><font color="#993366">"aggTimeInterval"</font><font color="#0000FF">/<nowiki>></nowiki></font>
+
 
|-
 
|-
 +
|entities
 
|&nbsp;
 
|&nbsp;
|colspan = "6"|<font color="#0000FF"><nowiki><</nowiki>var</font> <font color="#008000">name=</font><font color="#993366">"fileName"</font> <font color="#008000">value=</font><font color="#993366">"output/EW_precip_agg.dat"</font><font color="#0000FF">/<nowiki>></nowiki></font>
+
|Menge der Einheiten (HRUs, Reaches)
 +
 
 
|-
 
|-
|&nbsp;
+
|header
|colspan = "6"|<font color="#0000FF"><nowiki><</nowiki>var</font> <font color="#008000">attribute=</font><font color="#993366">"workspaceDir"</font> <font color="#008000">context=</font><font color="#993366">"J2K"</font> <font color="#008000">name=</font><font color="#993366">"dirName"</font><font color="#0000FF">/<nowiki>></nowiki></font>
+
|colspan = "2"|Eintrag in der Kopfzeile (#J2K model output: header)
 +
 
 
|-
 
|-
 +
|weight
 
|&nbsp;
 
|&nbsp;
|colspan = "6"|<font color="#0000FF"><nowiki><</nowiki>var</font> <font color="#008000">attribute=</font><font color="#993366">"hrus"</font> <font color="#008000">context=</font><font color="#993366">"J2K"</font> <font color="#008000">name=</font><font color="#993366">"entities"</font><font color="#0000FF">/<nowiki>></nowiki></font>
+
|„area" für Gewichtung nach der Fläche, „none" für keine Gewichtung
 +
 
 
|-
 
|-
|&nbsp;
+
|monthlyValuesWriting
|colspan = "6"|<font color="#0000FF"><nowiki><</nowiki>var</font> <font color="#008000">name=</font><font color="#993366">"header" </font><font color="#008000">value=</font><font color="#993366">"precip"</font><font color="#0000FF">/<nowiki>></nowiki></font>
+
|colspan = "2"|true/false - schaltet die Ausgabe der monatlichen Mittelwert für jeden modellierten Monat ein oder aus
|-
+
 
|&nbsp;
+
|colspan = "6"|<font color="#0000FF"><nowiki><</nowiki>var</font> <font color="#008000">name=</font><font color="#993366">"monthlyValuesWriting"</font> <font color="#008000">value=</font><font color="#993366">"true"</font><font color="#0000FF">/<nowiki>></nowiki></font>
+
 
|-
 
|-
 +
|monthlyAverage
 +
|colspan = "2"|true/false - bildet nach der Aggregierung für jeden modellierten Monat zuerst den Mittelwert (bsp bei der monatlichen Durchschnittstemperatur notwendig)
 +
 
|}
 
|}
 
<font color="#0000FF"><nowiki><</nowiki>/component<nowiki>></nowiki></font>
 
  
 
'''Ausgabe:'''
 
'''Ausgabe:'''
  
 
{|border="2" cellspacing="0" cellpadding="4" width="100%"
 
{|border="2" cellspacing="0" cellpadding="4" width="100%"
|colspan = "9"|<nowiki> </nowiki> J2K model output: precip
+
|colspan = "9"|<nowiki>#</nowiki> J2K model output: precip<br>
 +
 
 
|-
 
|-
|colspan = "9"|<nowiki> </nowiki>
+
|colspan = "9"|<nowiki>#</nowiki> <br>
 +
 
 
|-
 
|-
 
|ID
 
|ID
Zeile 120: Zeile 142:
 
|align = "right"|Dec
 
|align = "right"|Dec
 
|align = "right"|Year
 
|align = "right"|Year
 +
 
|-
 
|-
 
|align = "right"|1
 
|align = "right"|1
Zeile 130: Zeile 153:
 
|align = "right"|45.614
 
|align = "right"|45.614
 
|align = "right"|549.802
 
|align = "right"|549.802
 +
 
|-
 
|-
 
|align = "right"|2
 
|align = "right"|2
Zeile 140: Zeile 164:
 
|align = "right"|45.422
 
|align = "right"|45.422
 
|align = "right"|550.731
 
|align = "right"|550.731
 +
 
|-
 
|-
 
|align = "right"|5
 
|align = "right"|5
Zeile 150: Zeile 175:
 
|align = "right"|45.382
 
|align = "right"|45.382
 
|align = "right"|550.695
 
|align = "right"|550.695
 +
 
|-
 
|-
 
|align = "right"|6
 
|align = "right"|6
Zeile 160: Zeile 186:
 
|align = "right"|45.19
 
|align = "right"|45.19
 
|align = "right"|551.712
 
|align = "right"|551.712
 +
 
|-
 
|-
 
|align = "right"|9
 
|align = "right"|9
Zeile 170: Zeile 197:
 
|align = "right"|45.085
 
|align = "right"|45.085
 
|align = "right"|551.993
 
|align = "right"|551.993
 +
 
|-
 
|-
 
|align = "right"|12
 
|align = "right"|12
Zeile 180: Zeile 208:
 
|align = "right"|44.696
 
|align = "right"|44.696
 
|align = "right"|553.551
 
|align = "right"|553.551
 +
 
|-
 
|-
 
|align = "right"|14
 
|align = "right"|14
Zeile 190: Zeile 219:
 
|align = "right"|44.9
 
|align = "right"|44.9
 
|align = "right"|552.673
 
|align = "right"|552.673
 +
 
|-
 
|-
 
|align = "right"|…
 
|align = "right"|…
Zeile 200: Zeile 230:
 
|align = "right"|…
 
|align = "right"|…
 
|align = "right"|…
 
|align = "right"|…
|-
 
|}
 
  
'''Beschreibung.'''
 
 
Für alle ''„HRUs"'' im Zeitintervall ''„agg_timeInterval" ''wird zu jedem Zeitschritt ''„time"'' der Wert des Attributes ''„precip"'' monatlich aggregiert. In die Datei ''„workspaceDir"'' / ''„fileName"'' werden die mittleren monatlichen Werte und der mittlere jährliche Wert des Zeitintervalls gespeichert. Die Ausgabe aller aggregierten monatlichen Werte (''„monthlyValuesWriting"'') erfolgt in den ersten Spalten der Ausgabedatei. Dass Attribut ''„precip"'' wird nicht gewichtet.
 
 
„agg_timeInterval" wird gleich nach dem <nowiki><</nowiki>launcher<nowiki>></nowiki> gesetzt.
 
 
Wichtung mit:
 
 
{|border="0" cellspacing="2" width="100%"
 
|&nbsp;
 
|<nowiki><</nowiki>var name="weight" value="area"/<nowiki>></nowiki>
 
| Wichtung nach entity.area  <nowiki>[</nowiki>mm<nowiki>]</nowiki>
 
|-
 
|colspan = "2"|&nbsp;
 
|<nowiki><</nowiki>var name="weight" value="none"/<nowiki>></nowiki> keine Wichtung
 
|-
 
 
|}
 
|}
  
Bemerkung:
+
[[Kategorie:uncategorized]]
 
+
Das Rausschreiben von ''„precip"'' erfordert KEINE Wichtung!
+
 
+
<font size = "4">'''StandardEntityWriterMonthlyAgg_DiffBuilder'''</font>
+
 
+
Erweiterung von StandardEntityWriterMonthlyAgg um die Summe der Differenzen eines Attributes von einem Tag zum anderen zu berechnen.
+
 
+
{|border="0" cellspacing="2" width="100%"
+
|Bsp.: Summe aller Speicheränderungen
+
|&nbsp;
+
|-
+
|&nbsp;
+
| „Aussage: Um wie viel wird der Speicher xy im Monat z gefüllt oder geleert?"
+
|-
+
|}
+
 
+
Es können auch mehrere Speicher gleichzeitig behandelt werden.
+
 
+
Bsp: actMPS <nowiki>+</nowiki> actLPS
+
 
+
Veränderung im XML:
+
 
+
<font color="#0000FF"><nowiki><</nowiki>var </font><font color="#008000">name=</font><font color="#993366">"attributeNames" </font><font color="#008000">attribute=</font><font color="#993366">"actMPS;actLPS"</font><font color="#0000FF">/<nowiki>></nowiki></font>
+
 
+
[[Kategorie:Hauptseite]]
+

Version vom 3. September 2007, 12:00 Uhr

StandardEntityWriterMonthlyAgg

package: org.unijena.j2k.io
Autor:   Daniel Varga

Diese Komponente ermittelt für beliebige räumliche Attribute monatliche Durchschnittswerte über einen gegebenen Zeitraum. Dieser Zeitraum muss nicht identisch mit dem Modellierungszeitraum sein, so dass die Einschwingphase ausgelassen werden kann. Es werden immer ganze Monate betrachtet, d.h. der Aggregationszeitraum sollte immer am ersten Tag des gewünschten Monats beginnen und am letzten Enden.

Weitere Möglichkeit zur zeitlichen Aggregation räumlicher Daten

Standardmäßig werden langjährige Mittelwerte für jeden Monat („Jan" - „Dec") und für ein ganzes Jahr („Year") ausgegeben.

Über einen true/false-Schalter kann die Ausgabe der monatlichen Mittelwerte für jeden Monat im Aggregationszeitintervall an oder ausgeschaltet werden.

Position

<J2K>

├─<Sampler>

│ └─<Catchment Context>

│ ├─<InitCatchmentContext>

│ ├─<InitHRUContext>

│ ├─<TemporalContext>

│ │ ├─<HRUContext>

│ │ ├─<ReachContext>

│ │ └─<*>

└─<EntityOutputContext>

└─<end>

XML

<component class="org.unijena.j2k.io.StandardEntityWriterMonthlyAgg" name="StandardEntityWriterMonthlyAgg_precip">

<var attribute="time" context="J2K" name="time"/>
<var attribute="timeInterval" context="J2K" name="modelTimeInterval"/>
<var attribute="agg_timeInterval" context="J2K" name="aggTimeInterval"/>
<var name="fileName" value="output/EW_precip_agg.dat"/>
<var attribute="workspaceDir" context="J2K" name="dirName"/>
<var attribute="hrus" context="J2K" name="entities"/>
<var name="attributeName" value="precip"/>
<var name="header" value="precip"/>
<var name="weight" value="none"/>
<var name="monthlyValuesWriting" value="true"/>
<var name="monthlyAverage" value="false"/>

</component>

time aktuelle Zeit
modelTimeInterval Modellierungs-Zeitinterval
aggTimeInterval Aggregations-Zeitinterval
attributeName Name des zu aggregierenden Attributes
fileName Dateiname unter dem die Ausgabedatie gespeichert werden soll
dirName Pfad zum Arbeitszerzeichnis
entities   Menge der Einheiten (HRUs, Reaches)
header Eintrag in der Kopfzeile (#J2K model output: header)
weight   „area" für Gewichtung nach der Fläche, „none" für keine Gewichtung
monthlyValuesWriting true/false - schaltet die Ausgabe der monatlichen Mittelwert für jeden modellierten Monat ein oder aus
monthlyAverage true/false - bildet nach der Aggregierung für jeden modellierten Monat zuerst den Mittelwert (bsp bei der monatlichen Durchschnittstemperatur notwendig)

Ausgabe:

# J2K model output: precip
#
ID Nov-91 Dec-91 Jan Feb Dec Year
1 27.423 45.614 21.507 18.842 45.614 549.802
2 27.502 45.422 21.604 18.96 45.422 550.731
5 27.521 45.382 21.582 18.849 45.382 550.695
6 27.590 45.190 21.708 19.07 45.19 551.712
9 27.631 45.085 21.726 19.025 45.085 551.993
12 27.756 44.696 21.922 19.3 44.696 553.551
14 27.709 44.900 21.781 19.023 44.9 552.673
Meine Werkzeuge