EntityWriterMonthlyAgg

Aus ILMS-Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
 
 
(12 dazwischenliegende Versionen von einem Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
<font size = "4">'''StandardEntityWriterMonthlyAgg'''</font>
 
 
 
{|border="0" cellspacing="2" width="100%"
 
{|border="0" cellspacing="2" width="100%"
|colspan = "2"|package:
+
|Package:
|org.unijena.j2k.io
+
|jams.components.io
 +
 
 
|-
 
|-
 
|Autor:
 
|Autor:
|&nbsp;
 
 
|Daniel Varga
 
|Daniel Varga
|-
 
|}
 
  
Kombination aus TemporalSumAggregator und StandardEntityWriter
 
 
Ermöglicht Bildung monatlicher Summen eines Attributes über ein vorher definiertes Zeitintervall und die Berechnung mittlerer monatlicher Werte für jede HRU.
 
 
Stichwort: Wasserbilanz
 
 
{|border="0" cellspacing="2" width="100%"
 
|Ursprung:
 
|StandardEntityWriterN (Autor: Sven Kralisch)
 
|-
 
|Erweiterung:
 
|StandardEntityWriterMonthlyAgg_DiffBuilder
 
|-
 
 
|}
 
|}
  
'''Position'''
+
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.
  
<nowiki><</nowiki>J2K<nowiki>></nowiki>
+
Weitere Möglichkeit für die [[zeitliche Aggregation räumlicher Daten]]
  
├─<nowiki><</nowiki>Sampler<nowiki>></nowiki>
+
Standardmäßig werden langjährige Mittelwerte für jeden Monat („Jan" - „Dec") und für ein ganzes Jahr („Year") ausgegeben.
  
│      └─<nowiki><</nowiki>Catchment Context<nowiki>></nowiki>
+
Über einen true/false-Schalter kann die Ausgabe der monatlichen Mittelwerte für jeden Monat im Aggregationszeitintervall an oder ausgeschaltet werden.
  
│              ├─<nowiki><</nowiki>InitCatchmentContext<nowiki>></nowiki>
 
  
│              ├─<nowiki><</nowiki>InitHRUContext<nowiki>></nowiki>
+
'''XML'''
  
│              ├─<nowiki><</nowiki>TemporalContext<nowiki>></nowiki>
+
<component class="org.unijena.jamscomponents.io.EntityWriterMonthlyAgg" name="EntityWriterMonthlyAgg_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="type" value="sum"/>
 +
</component>
  
│              │    ├─<nowiki><</nowiki>HRUContext<nowiki>></nowiki>
+
{|border="0" cellspacing="2" width="100%"
 +
|time
 +
|colspan = "2"|aktuelle Zeit
  
│              │    ├─<nowiki><</nowiki>ReachContext<nowiki>></nowiki>
+
|-
 +
|modelTimeInterval
 +
|colspan = "2"|Modellierungs-Zeitinterval
  
│              │    └─'''<nowiki><*></nowiki>'''
+
|-
 +
|aggTimeInterval
 +
|colspan = "2"|Aggregations-Zeitinterval
  
{|border="0" cellspacing="2" width="100%"
 
|│   
 
|    └─<nowiki><</nowiki>EntityOutputContext<nowiki>></nowiki>
 
 
|-
 
|-
|}
+
|attributeName
 +
|colspan = "2"|Name des zu aggregierenden Attributes
  
└─<nowiki><</nowiki>end<nowiki>></nowiki>
+
|-
 +
|fileName
 +
|colspan = "2"|Dateiname unter dem die Ausgabedatie gespeichert werden soll
  
'''XML'''
+
|-
 +
|dirName
 +
|colspan = "2"|Pfad zum Arbeitszerzeichnis
  
{|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>
 
|colspan = "6"|<font color="#008000">name=</font><font color="#993366">"StandardEntityWriterMontlyAgg_precip"</font><font color="#0000FF"><nowiki>></nowiki></font>
 
 
|-
 
|-
|&nbsp;
+
|entities
|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>
+
|Menge der Einheiten (HRUs, Reaches)
 +
 
 
|-
 
|-
|<font color="#0000FF">
+
|header
|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"|Eintrag in der Kopfzeile (#J2K model output: header)
 +
 
 
|-
 
|-
|&nbsp;
+
|weight
|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>
+
||„area" für Gewichtung nach der Fläche, „none" für keine Gewichtung
 +
 
 
|-
 
|-
|&nbsp;
+
|monthlyValuesWriting
|<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"|true/false - schaltet die Ausgabe der monatlichen Mittelwert für jeden modellierten Monat ein oder aus
|&nbsp;
+
 
|&nbsp;
+
|&nbsp;
+
|&nbsp;
+
|<font color="#008000">name=</font><font color="#993366">"modelTimeInterval"</font><font color="#0000FF">/<nowiki>></nowiki></font>
+
|-
+
|&nbsp;
+
|<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>
+
|&nbsp;
+
|&nbsp;
+
|&nbsp;
+
|&nbsp;
+
|<font color="#008000">name=</font><font color="#993366">"aggTimeInterval"</font><font color="#0000FF">/<nowiki>></nowiki></font>
+
|-
+
|&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>
+
|-
+
|&nbsp;
+
|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>
+
|-
+
|&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>
+
|-
+
|&nbsp;
+
|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>
+
|-
+
|&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>
+
 
|-
 
|-
 +
|type
 +
|colspan = "2"|"sum" liefert Monatssummen, "average" den Mittelwert und "stDev" die Standardabweichung
 
|}
 
|}
  
<font color="#0000FF"><nowiki><</nowiki>/component<nowiki>></nowiki></font>
+
 
 +
'''Position'''
 +
 
 +
<model>
 +
├─<Sampler>
 +
│      └─<Catchment Context/>
 +
│              ├─<InitCatchmentContext/>
 +
│              ├─<InitHRUContext/>
 +
│              ├─<TemporalContext</>
 +
│              │    ├─<HRUContext/>
 +
│              │    ├─<ReachContext/>
 +
│              │    └─<*/> 
 +
│              └─<nowiki><</nowiki>EntityOutputContext<nowiki>></nowiki>
 +
└─</model>
 +
 
 +
Die Position ist mit <*/> markiert. D.h. innerhalb des TemporalContext, aber außerhalb des HRU- bzw. ReachContext.
 +
 
  
 
'''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 115:
 
|align = "right"|Dec
 
|align = "right"|Dec
 
|align = "right"|Year
 
|align = "right"|Year
 +
 
|-
 
|-
 
|align = "right"|1
 
|align = "right"|1
Zeile 130: Zeile 126:
 
|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 137:
 
|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 148:
 
|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 159:
 
|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 170:
 
|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 181:
 
|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 192:
 
|align = "right"|44.9
 
|align = "right"|44.9
 
|align = "right"|552.673
 
|align = "right"|552.673
 +
 
|-
 
|-
 
|align = "right"|…
 
|align = "right"|…
Zeile 200: Zeile 203:
 
|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:
 
 
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
+
'''Erweiterung:'''
  
Veränderung im XML:
+
[[EntityWriterMonthlyAgg_DiffBuilder]]
  
<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]]
+
[[Kategorie:uncategorized]]

Aktuelle Version vom 3. September 2007, 13:30 Uhr

Package: jams.components.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 für die zeitliche 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.


XML

<component class="org.unijena.jamscomponents.io.EntityWriterMonthlyAgg" name="EntityWriterMonthlyAgg_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="type" value="sum"/>
</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
type "sum" liefert Monatssummen, "average" den Mittelwert und "stDev" die Standardabweichung


Position

<model>
├─<Sampler>
│      └─<Catchment Context/>
│              ├─<InitCatchmentContext/>
│              ├─<InitHRUContext/>
│              ├─<TemporalContext</>
│              │     ├─<HRUContext/>
│              │     ├─<ReachContext/>
│              │     └─<*/>   
│              └─<EntityOutputContext>
└─</model>

Die Position ist mit <*/> markiert. D.h. innerhalb des TemporalContext, aber außerhalb des HRU- bzw. ReachContext.


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


Erweiterung:

EntityWriterMonthlyAgg_DiffBuilder

Meine Werkzeuge