EntityWriterMonthlyAgg

Aus ILMS-Wiki
Version vom 31. August 2007, 08:23 Uhr von Nsk (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

StandardEntityWriterMonthlyAgg

package: org.unijena.j2k.io
Autor:   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

Ursprung: StandardEntityWriterN (Autor: Sven Kralisch)
Erweiterung: StandardEntityWriterMonthlyAgg_DiffBuilder

Position

<J2K>

├─<Sampler>

│ └─<Catchment Context>

│ ├─<InitCatchmentContext>

│ ├─<InitHRUContext>

│ ├─<TemporalContext>

│ │ ├─<HRUContext>

│ │ ├─<ReachContext>

│ │ └─<*>

└─<EntityOutputContext>

└─<end>

XML

<component class="org.unijena.j2k.io.StandardEntityWriterMontlyAgg" name="StandardEntityWriterMontlyAgg_precip">
  <var name="attributeName" value="precip"/>
<var attribute="time" context="J2K" name="time"/>
  <var name="weight" value="none"/>
  <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="header" value="precip"/>
  <var name="monthlyValuesWriting" value="true"/>

</component>

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

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 <launcher> gesetzt.

Wichtung mit:

  <var name="weight" value="area"/> Wichtung nach entity.area  [mm]
  <var name="weight" value="none"/> keine Wichtung

Bemerkung:

Das Rausschreiben von „precip" erfordert KEINE Wichtung!

StandardEntityWriterMonthlyAgg_DiffBuilder

Erweiterung von StandardEntityWriterMonthlyAgg um die Summe der Differenzen eines Attributes von einem Tag zum anderen zu berechnen.

Bsp.: Summe aller Speicheränderungen  
   „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 + actLPS

Veränderung im XML:

<var name="attributeNames" attribute="actMPS;actLPS"/>

Meine Werkzeuge