Tutorial Advanced Users

From ILMS-Wiki
(Difference between revisions)
Jump to: navigation, search
 
(JUICE - Jams User Interface Component Editor)
 
(100 intermediate revisions by 3 users not shown)
Line 1: Line 1:
=JUICE - Jams User Interface Component Editor=
+
[[de:Tutorium_Fortgeschrittene_Anwender]]
 +
[[pt:Tutorial_para_Usuários_Avançados]]
 +
=JUICE - Jams Model Editor=
  
Zum Aufsetzen und/oder Konfigurieren von Umweltmodellen wurde der JAMS Builder (JUICE) entwickelt. Mithilfe von JUICE können beliebige Modelle nach dem "Baukastenprinzip" zusammengesetzt und konfiguriert werden. Dafür stehen zwei Typen von "Bausteinen" zur Verfügung. Dies sind einerseits Komponenten, die einzelnen Prozesse beschreiben. Andereseite existieren Kontextkomnponenten, die die Modellausführung steuern. Für den Datenaustausch zwischen Komponenten und Kontexten werden Attribute benötigt. Dies können Variablen aber auch Parameter sein.
+
The JAMS Builder (JUICE) was developed in order to set up and/or configure environmental models. By using JUICE any models can be combined and configured by the "module principle". For this purpose, there are two types of "modules" available. On the one hand, those are components which describe the individual processes. On the other hand, there are context components which control the model run. For the data exchange between components and contexts attributes are needed. Those can be variables but also parameters.
  
===Aufbau und Nutzungsumfang des JUICE===
+
===JUICE: Structure and Scope of Use===
  
Im folgenden soll die Oberfläche des JAMS Builder erläutert werden.
+
The interface of the JAMS Builder will be explained below.
  
Mit der Installation Ihres JAMS wird der Button JAMS Builder auf dem Desktop und im Startmenü angelegt. Er verweist auf den Jams User Interface Component Editor (JUICE). Nach dem Start öffnet sich das folgende Fenster, welches in drei Bereiche eingeteilt ist. Im oberen linken Fenster, sind die geladenen Bibliotheken zu sehen. Im untern linken Fenster die laufenden Prozesse. Der rechte Bereich ist für das Modell vorgesehen.
+
The installation of your JAMS creates a JAMS builder button on your desktop and in the Start menu. It refers to the JAMS User Interface Component Editor (JUICE). After starting JUICE the following window appears which is divided into three areas. In the top left window you can see the libraries which are loaded. The bottom left window shows the running processes. The right area shows the model.
  
[[Bild:1.JUICE1.jpg]]
 
  
====Aufbau der Menüleiste====
+
[[File:1.JUICE1_en.jpg]]
  
[[Bild:JUICE1.jpg]]
+
====Structure of the Menu Bar====
  
Die Menüleiste beinhaltet die Punkte '''Datei''', '''Bearbeiten''', '''Modell''', '''Protokolle''', '''Fenster''' und '''Hilfe'''. Weiterhin sind folgende Funktionen durch Icons in die Menüleiste integriet:
+
[[File:JUICE1_en.jpg]]
  
 +
The menu bar contains the items '''File''', '''Edit''', '''Model''', '''Logs''', '''Windows''' and '''Help'''. In addition, the following functions are integrated in the form of icons:
  
1. Neues Modell öffnen
 
  
2. Modell laden
+
1. Open new model
  
3. Modell speichern
+
2. Load model
  
4. Suchfunktion
+
3. Save model
  
5. Jams Einstellungen
+
4. Search function
  
6. Modell starten
+
5. Jams settings
  
7. JAMS Launcher öffnen
+
6. Start model
  
8. JAMS Datastore Editor öffnen
+
7. Open JAMS Launcher
  
9. JADE öffnen
+
8. Open JAMS Datastore Editor
  
10. Modelloberfläche kopieren
+
9. Open JADE
  
11. Modelloberfläche einfügen
+
10. Copy model surface
  
12. Infoprotokoll anzeigen
+
11. Paste model surface
  
13. Fehlerprotokoll anzeigen
+
12. Show info log
 +
 
 +
13. Show error log
  
 
14. JAMS Website
 
14. JAMS Website
  
15. Schließen
+
15. Close
  
  
Unter dem Menüpunkt '''Datei''' ist es möglich Modelle zu laden, zu speichern oder zu schließen.
+
Under the menu item '''File''' models can be loaded, saved and closed.
  
[[Bild:JUICE2.jpg]]
+
[[File:JUICE_File_en.jpg]]
  
Der Menüpunkt '''Bearbeiten''' ermöglicht
+
The menu item '''Edit''' allows to edit, load or save settings and offers a search function.
Einstellungen zu ändern, Einstellungen zu laden, Einstellungen zu speichern und bietet eine Suchfunktion.
+
  
[[Bild:JUICE3.jpg]]
+
[[File:JUICE_Edit_en.jpg]]
  
Unter ''Einstellungen ändern'' können zum Beispiel verwendete Bibliotheken, der Ausgabeumfang, die Ausgabe von Modellprotokollen sowie Informationen zum Modellfenster beeinflusst werden. Diese können für eine spätere Modellierung unter dem Punkt ''Einstellungen speichern'' gespeichert werden und über ''Einstellungen laden'' wieder verwendet werden.
+
Under the item ''Edit Preferences'' you can edit the libraries which are used, the extent of the output, the output of logs and information on the model window. Those settings can be saved for subsequent modeling under the item ''Save Preferences'' and they can be reused by clicking on ''Load Preferences''.
  
 +
The menu item '''Model''' is only activated when a model has been loaded. It can start or configure the model. Moreover, the [[Tutorial Basic Users|JAMS Explorer]] is linked which is used for analyzing used input data and results of the modeling. Its scope of services is explained in detail in the Tutorial Basic User.
 +
Loading and saving parameter sets can be done by using ''Load Model Parameters'' and ''Save Model Parameters''. In addition, the model can be started by using the [[Tutorial Basic Users|JAMS Launcher]].
 +
The ''Optimization Wizard'' serves as a platform for automatic parameter optimization.
  
Der Menüpunkt '''Modell''' ist nur aktiviet, wenn ein Modell geladen wurde. Hier kann das Modell gestarten bzw. konfiguriet werden. Weiterhin ist der [[JAMS Explorer|Tutorium Anfänger]] verlinkt, der zur Auswertung verwendeter Eingangsdaten und erzeugter Modellergebnisse verwendet wird. Sein Leistungsumfang wird im Tutorium für Anfänger ausführlich erläutert.
+
[[File:JUICE_model_en.jpg]]
Das Laden und Speichern von Parametersätzen kann mit ''Lade Madellparamerter'' und ''Speichere Modellparameter'' realisiert werden.
+
Weiterhin kann des Modell mithilfe des [[JAMS Launcher|Tutorium Anfänger]] gestartet werden.
+
Der ''Optimierungsassisten'' stellt eine Plattform zur automatischen Parameteroptimierung zu Verfügung.
+
  
[[Bild:JUICE4.jpg]]
+
Under the menu item '''Logs''' the '''Info Log''' can be shown. It contains information about the model's author, its version and user and also about the model's efficiency (How well displayed are the measured values in the model?), the model's structure (Which components were used how often?) and the time of the modeling. The ''Error Log'' shows errors which may have occurred.
  
Unter dem Menüpunkt '''Protokolle''' kann das ''Infoprotokoll'' angesehen werden. Dieses enthält neben Informationen zum Modellautor, zur Modellversion oder zum Anwender auch Informationen zur Modelleffizienz (Wie gut hat das Modell die gemessenen Werte abgebildet?), zum Modellaufbau (Welche Komponenten wurden wie oft benutzt?) und zur Modelllaufzeit. Das ''Fehlerprotokoll'' dokumentiert eventuell aufgetretene Fehler.
+
[[File:JUICE_Logs_en.jpg]]
  
[[Bild:JUICE5.jpg]]
+
The menu item '''Windows''' lists all windows which are currently open.
  
Im Menüpunkt '''Fenster''' sind alle aktuell geöffneten Fenster aufgelistet.
+
Under the menu item '''Help''' you can obtain online help by clicking on ''JAMS online''.
  
Unter dem Menüpunkt '''Hilfe''' können Sie durch einen Klick auf ''JAMS online'' zur Onlinehilfe von JAMS gelangen.
+
[[File:Systemleiste_Help_en.jpg]]
  
[[Bild:Systemleiste_Hilfe1.jpg]]
+
==Application of JUICE for Model Design and Model Configuration==
 +
===Setting up a Model===
  
==Anwendung von JUICE für Modelldesign und Modellkonfiguration==
+
The JUICE can set up models. In the following steps, the procedure is carried out exemplarily by using the ABC model.
===Aufsetzen eines Modells===
+
  
Mit dem JUICE können Modelle aufgesetzt werden. In den folgenden Schritten wird die Vorgehensweise exemplarisch am ABC-Modell durchgeführt.
+
'''Step 1'''
  
'''1. Schritt'''
+
Select the item '''New Model''' in the menu item File. An empty model is opened. The left part of the opened window displays the (context) components which are part of the model. The right part of the window can show two different views. On the one hand '''Component Configuration''' where the model's (context) components are edited. Their attributes are linked. Moreover, a parameterization can be carried out. The second view shows the '''Surface Editor''' which can edit the model's surface.
  
Wählen Sie im Menüpunkt Datei den Unterpunkt '''Neues Modell'''. Ein leeres Modell wird geöffnet. Im linken Teil des geöffneten Fenstern werden die (Kontext-)Komponenten angezeigt, die im Modell enthalten sind. Im rechten Teil des Fensters sind zwei Ansichten möglich. Zum einen die '''Komponentenkonfiguration'''. Hier werden die Modell(kontext)komponenten bearbeitet. Ihre Attribute werden verknüft. Weiterhin kann eine Parametrisierung vorgenommen werden. Die zweite Ansicht zeigt den '''Oberflächeneditor'''. Hier kann die Modelloberfläche bearbeitet werden.
 
  
[[Bild:JUICE_NeuesModell_Schritt1.jpg]]
+
[[File:JUICE_NewModel_Step1_en.jpg]]
  
  
'''2. Schritt'''
+
'''Step 2'''
  
Legen Sie eine Kontextkomponente des Typs "JAMS Temporal Kontext" an. Dieser übernimmt die zeitliche Iteration der Simulation. Klicken Sie dazu auf die Bibliothek jams-main.jar, die im linken oberen Fenster aufgelistet ist. Dort finden Sie unter jams.model den JAMSTemporalContext. Ziehen Sie diesen in das rechte Modellfenster ins "Neue Modell".
+
Create a context component of the Type "JAMS Temporal Context". It allows a temporal iteration of the simulation.
 +
Click on the library jams-main.jar which is listed in the top left window. There you will find the JAMSTemporalContext under jams.model. Drag it to the right window into the "New Model".
  
[[Bild:JUICE_NeuesModell_Schritt2.jpg]]
+
[[File:JUICE_TemporalContext_Step2_en.jpg]]
  
 +
Create the context attribute '''modelTimeIntervall''' within the model. Click on '''Component Attributes''' in the '''Attribute List''' under the item '''New Model'''.
  
Legen Sie innerhalb des Modells das Kontextattribut '''modelTimeIntervall''' an. Klicken Sie auf '''Komponentenattribute''' in der '''Attributübersicht''' im Punkt '''Neues Modell'''.
+
Click on '''Add'''. Take '''modelTimeIntervall''' as name. Select '''TimeInterval''' as attribute type. You have to determine a time span for the simulation. (Note that data for the selected time span have to be available.) Take 01.01.1970 to 01.01.1975 as time span. Select '''Month''' as temporal unit. Then click on '''SET'''. The attribute modelTimeIntervall is now linked to the time interval you selected.
  
Klicken Sie auf '''Hinzufügen'''. Setzten Sie als Namen '''modelTimeIntervall'''. Wählen Sie für den Typ des Attributes '''TimeInterval'''. Für die Simulation muss ein Zeitraum festgelegt werden. (Beachten Sie, dass immer Daten für den gewählten Zeitraum zur Verfügung stehen müssen.) Tragen Sie als Zeitraum 01.01.1970 bis 01.01.1975 ein. Wählen Sie als zeitliche '''Einheit''' Monat aus. Klicken Sie nun auf '''SET'''. Dat Attribut modelTimeIntervall ist jetzt mit Ihrem gewählten Zeitraum verknüpft.
+
[[File:JUICE_TimeInterval_Step3_en.jpg]]
  
[[Bild:JUICE_NeuesModell_Schritt3.jpg]]
+
Go to component JAMSTemporalContext. Link the component attribute '''timeInterval''' to the model attribute '''modelTimeIntervall''' which has already been created. Select it from the attribute list in the bottom right box. Click on '''LINK'''.
  
 +
[[File:JUICE_NeuesModell_Step4_en.jpg]]
  
Wechseln Sie nun zur Komponente JAMSTemporalContext. Verknüpfen Sie das Komponentenattribut '''timeInterval''' mit dem bereits angelegten Modellattribut '''modelTimeIntervall'''. Wählen Sie dieses dazu aus des Attributsliste im unteren rechten Feld aus. Klicken Sie auf '''LINK'''.
+
Create a new attribute '''time''' and link it to the component attribute '''current'''.
  
[[Bild:JUICE_NeuesModell_Schritt4.jpg]]
+
[[File:JUICE_NeuesModell_Step5_en.jpg]]
  
Legen Sie ein neues Attribut '''time''' an und verlinken Sie dieses mit dem Komponentenattribut '''current'''.
+
'''Step 3'''
  
[[Bild:JUICE_NeuesModell_Schritt5.jpg]]
+
Add the component '''ABCDataReader''' to the model. You can find it in the library jams-democomponents.jar in the folder jams.components.demo.abc. The component ABCDataReader allows reading data. It reads the date and values for precipitation and runoff from a text file. This text file can be downloaded here: [[File:abc.txt]]
  
'''3. Schritt'''
+
[[File:JUICE_ABCDataReader_Step6_en.jpg]]
  
Fügen sie dem Modell die Komponente '''ABCDataReader''' hinzu. Sie ist in der Bibliothek jams-democomponents.jar im Ordner jams.components.demo.abc zu finden. Die Komponente ABCDataReader ermöglicht das Einlesen von Daten. Er liest aus einem Textfile Datum, Niederschlags- und Abflusswerte.
+
The location of the data file has to be transferred to the component attribute '''fileName'''. For this reason, you have to enter the file path of your data file as '''value''' of the attribute fileName. Click on  '''SET'''.
  
[[Bild:JUICE_NeuesModell_Schritt6.jpg]]
+
Create the attributes precip (for precipitation) and obsQ (for runoff measures) in the JAMSTemporalContext. They should contain the values of the precipitation and runoff which is measured for the current time step.
 +
Select the component attribute precip. It should be shaded in BLUE now. Enter the name '''precip''' into the box '''Modified Attribute'''. Click on '''LINK'''. The context attribute '''precip''' from the context '''JAMSTemporalContext''' has been created and linked.
  
Dem Komponentenattribut '''fileName''' muss der Ort der Datendatei übergeben werden. Tragen Sie aus diesem Grund als '''Wert''' des Attributs fileName den Pfad zu Ihrer Datendatei ein. Klicken Sie auf  '''SET'''.
+
[[File:JUICE_NeuesModell_Step8_en.jpg]]
  
Legen Sie die Attribute precip (für Niederschlag) und obsQ (für gemessener Abfluss) im JAMSTemporalContext an. Sie sollen die Werte des gelesenen Niederschlags und des gemessenen Abflusses für den aktuellen Zeitschritt beinhalten.
 
Wählen Sie dazu das Komponentenattribut precip. Es sollte jetzt BLAU hinterlegt sein. Tragen Sie im Feld '''Angepasstes Attribut''' den Namen '''precip''' ein. Klicken Sie auf '''LINK'''. Das Kontextattribut '''precip''' aus dem Kontext '''JAMSTemporalContext''' wurde angelegt und verknüpft.
 
  
[[Bild:JUICE_NeuesModell_Schritt8.jpg]]
+
Now select the component attribute runoff. It should be shaded in BLUE now. Enter '''obsQ''' into the box '''Modified Attribute'''
 +
Click on '''LINK'''. The context attribute '''obsQ''' from the context '''JAMSTemporalContext''' has been created and linked.
  
 +
[[File:JUICE_NeuesModell_Step9_en.jpg]]
  
Wählen Sie nun das Komponentenattribut runoff. Es sollte jetzt BLAU hinterlegt sein. Tragen Sie im Feld '''Angepasstes Attribut''' den Namen '''obsQ''' ein. Klicken Sie auf '''LINK'''. Das Kontextattribut '''obsQ''' aus dem Kontext '''JAMSTemporalContext''' wurde angelegt und verknüpft.
+
'''Step 4'''
  
[[Bild:JUICE_NeuesModell_Schritt9.jpg]]
+
The central component of the model is the component of the ABC model. The ABC model is a linear model which relates precipitation and runoff to each other.
 +
Add the component '''ABCModel''' to the model. You will find it in the library jams-democomponents.jar in the folder jams.components.demo.abc.
  
'''4. Schritt'''
 
  
Der zentrale Bestandteil des Modells stellt die Komponente ABC-Modell dar. Das ABC-Modell ist ein lineare Modell, dass Niederschlag und Abfluss in Beziehung setzt.
+
[[File:JUICE_NeuesModell_Step10_en.jpg]]
  
Fügen Sie dem Modell die Komponente '''ABCModel''' hinzu. Sie ist in der Bibliothek jams-democomponents.jar im Ordner jams.components.demo.abc zu finden.  
+
Link the precipitation data to the component. Select the component attribute '''precip'''. Select '''precip''' for the box '''Modified Attribute''' from the list of attributes which are already in the JAMSTemporalContext. Click on '''LINK'''.
 +
Create new attributes for the water storage (storage) and the simulated runoff (simQ) as desribed in Step 3. The following window should appear:
  
[[Bild:JUICE_NeuesModell_Schritt10.jpg]]
+
[[File:JUICE_NeuesModell_Step11_en.jpg]]
  
Verknüpfen Sie die Niederschlagsdaten mit der Komponente. Wählen Sie dazu das Komponentenattribut ''precip'''. Wählen Sie für das Feld '''Angepasstes Attribut''' das Attribut '''precip''' aus der Liste der bereits im JAMSTemporalContext enthaltenen Attribute. Klicken Sie auf '''LINK'''.
+
The component attributes a,b,c and initStorage allow the parameterization of the component. Assign the following values: a=0.2, b=0.2, c=0.75 and initstorage=50.
Legen Sie neue Attribute für den Wasserspeicher (storage) und den simulierten Abfluss (simQ) wie in Schritt 3 beschrieben an. Folgendes Bild sollte sich ergeben:
+
  
[[Bild:JUICE_NeuesModell_Schritt11.jpg]]
+
[[File:JUICE_NeuesModell_Step12_en.jpg]]
  
Die Komponentenattribute a,b,c und initStorage dienen der Parametrisierung der Komponente. Geben Sie Ihnen die folgenden Werte: a=0.2, b=0.2, c=0.75 und initstorage=50.
+
'''Step 5'''
  
[[Bild:JUICE_NeuesModell_Schritt12.jpg]]
+
For the visualization of results you need the component '''TSPlot'''. Add this component to the model. You will find it in the libary jams-components.jar in the folder jams.components.gui.
  
'''5. Schritt'''
+
[[File:JUICE_NeuesModell_Step13_en.jpg]]
  
Zur Visualisierung der Ergebnisse benötigen sie die Komponente '''TSPlot'''. Fügen Sie dem Modell diese Komponente hinzu. Sie ist in der Bibliothek jams-components.jar im Ordner jams.components.gui zu finden.
+
Link the component attribute '''time''' to the attribute time from the context '''New Model'''. Select the component attribute '''time'''. Select the context '''New Model''' from the bottom right box and select the attribute '''time'''. Click on '''LINK'''.
 +
Link the component attribute '''valueLeft''' to the attributes '''simQ''' and '''obsQ''' from the '''JAMSTemporalContext'''. If you want to link one component attribute to more than one context attribute, you have to separate them by semicolon.  
 +
The following window should appear:
  
[[Bild:JUICE_NeuesModell_Schritt13.jpg]]
+
[[File:JUICE_NeuesModell_Step14_en.jpg]]
  
Verknüpfen Sie das Komponentenattribut '''time''' mit dem Attribut time aus dem Kontext '''Neues Modell'''. Wählen Sie dazu das Komponentenattribut ''time'''. Wählen Sie im unteren rechten Feld den Kontext '''Neues Modell''' und wählen Sie das Attribute '''time'''aus. Klicken Sie auf '''LINK'''.
+
'''Step 6'''
Verknüpfen Sie das Komponentenattribut '''valueLeft''' mit den Attributen '''simQ''' und '''obsQ''' aus dem '''JAMSTemporalContext'''. Soll ein Komponentenattribut mit mehreren Kontextattributen verknüpft werden, so sind diese mittels Semikolon zu trennen.
+
Das folgende Bild sollte sich ergeben.
+
  
[[Bild:JUICE_NeuesModell_Schritt14.jpg]]
+
Now a model surface is to be created for the ABC model. Go to view '''GUI Builder'''.  
  
'''6.Schritt'''
+
[[File:JUICE_NeuesModell_Step14_1_en.jpg]]
Nun soll für das ABC-Modell eine Modelloberfläche erzeugt werden. Wechseln Sie dazu zur Ansicht '''Oberflächeneditor'''.  
+
  
[[Bild:JUICE_NeuesModell_Schritt14_1.jpg]]
+
The attributes '''a''','''b''', and '''c''' are to be edited on the model's surface. In order to do that, create a new group clicking on '''add Group''' and give it the name "ABC model". By clicking on the button '''Add Property''' one box has to be created for each attribute. Note that the attribute has to be linked to the right component. In addition, the range of values can be defined by an upper and a lower boundary for the attribute. For example, the entries for parameter '''a''' in the parameter editor look like this:
  
Es soll die Möglichkeit geben über die Modelloberfläche die Attribute '''a''','''b''', und '''c''' zu verändern. Legen Sie dazu eine '''neue Gruppe''' mit dem Namen "ABC-Modell" an. Über den Button '''Neuer Editor''' muss nun zu jedem Attribut ein Feld angelegt werden. Hier ist darauf zu achten, dass das Attribut
 
mit der richtigen Komponente verknüpft ist. Weiterhin kann ein Wertebereich über das Setzen einer oberen und unteren Schranke für das Attribut angegeben werden. Beispielhaft sehen die Einträge für den Parameter '''a''' im Parametereditor folgendermaßen aus:
 
  
[[Bild:JUICE_NeuesModell_Schritt14_2.jpg]]
+
[[File:JUICE_NeuesModell_Step14_2_en.jpg]]
  
Die Gruppe '''ABC-Modell''' ist nun fertiggestellt und sollte folgendermaßen aussehen:
+
The group '''ABC Model''' is now finished and should look like this:
  
[[Bild:JUICE_NeuesModell_Schritt14_3.jpg]]
+
[[File:JUICE_NeuesModell_Step14_3_en.jpg]]
  
Weiterhin soll die farbliche Darstellung der Modellergebnisse im Diagramm beeinflussbar sein. Legen Sie dazu eine '''neue Gruppe''' mit dem Namen "Diagramm" an. Legen sie Editoren für die Attribute '''colorLeft''' und '''colorRight''' an. Nennen Sie diese '''Farben links''' und '''Farben rechts''' und verknüpfen Sie die angelegten Attribute mit den Attributen aus der Komponente TSPlot.
+
Moreover, the display of results of the modeling in terms of color should be adjustable in the diagram. Therefore, create a new group clicking on '''Add Group''' and name it "diagram". Create editors for the attribute '''colorLeft'''. Name it '''colors left''' and link the created attributes to the attributes of the component TSPlot.
  
Die Gruppe '''Diagramm''' ist nun fertiggestellt und sollte folgendermaßen aussehen:
+
The group '''diagram''' is now finished and should look like this:
  
[[Bild:JUICE_NeuesModell_Schritt14_4.jpg]]
+
[[File:JUICE_NeuesModell_Step14_4_en.jpg]]
  
 +
In order to link the colors of the outflow curves, go to TSplot component configuration. In the field '''colorleft''' enter the value '''blue;red'''. Doing so, the colors can be changed later during model runtime.
  
 +
[[File:JUICE_NeuesModell_Step14_4_1_en.jpg]]
  
'''7.Schritt'''
 
  
Speichern Sie das Modell.
+
'''Step 7'''
  
Das Modell ist fertig. Jetzt können Sie es entweder direkt aus dem JUICE oder über den JAMSLaucher starten. Starten Sie das Modell über den JAMSLauncher, so können sie alle Attribute, welche mit der Modelloberfläche verknüpft worden sind, bearbeiten.  
+
Save the model.
  
[[Bild:JUICE_NeuesModell_Schritt14_5.jpg]]
+
The model is finished. Now you can launch it directly by using the JUICE or by using the JAMSLauncher. If you launch it via the JAMSLauncher, you can edit all attributes which have been linked to the model's surface..  
  
 +
[[File:JUICE_NeuesModell_Step14_5_en.jpg]]
  
Das folgende Ausgabefenster ergibt sich. Der gemessene Abfluss ist blau dargestellt, der simulierte Abfluss rot.
 
  
[[Bild:JUICE_NeuesModell_Schritt15.jpg]]
+
The following output window appears. The measured runoff is displayed in blue, the simulated runoff in red.
  
===Konfiguration von Modellkomponenten===
+
[[File:JUICE_NeuesModell_Schritt15.jpg]]
  
Der JUICE biete die Möglichkeit, Modellkomponenten zu konfigurieren. Somit kann leicht die Parametrisierung einer Komponete verändert werden.
+
===Configuring Model Components===
Die Vorgehensweise soll beispielhaft an der Komponente TSPlot aus dem im Punkt "Aufsetzen eines Modells" erstellten ABC-Modell erläutert werde.
+
  
====Ein Beispiel====
+
JUICE allows the configuration of model components which makes it easy to change the parameterization of a component.
 +
The procedure will be explained by taking the component TSPlot from the ABC model of section "Setting up a Model" as an example.
  
Im erstellten Modell wurde keine Parameterwerte für die Komponentenattribute gesetzt. Daher wurden vom System immer die voreingestellte Werte (Default-Werte) für die verschiedenen Parameter angenommen. Natürlich können diese geändert werden um das entstehende Diagramm, welches die Ergebnisse der Modellierung visualisiert, attraktiver zu gestalten.
+
====An Example====
  
[[Bild:JUICE_Modifizieren_Schritt1.jpg]]
+
In the created model no parameter values for component attributes were defined. As a result, default values were assumed for the various parameters. Of course they can be modified in order to make the resulting diagram, which visualizes the results of the modeling, more attractive.  
  
Wir setzen zur Modifikation die folgenden Werte.
+
[[File:JUICE_Modifizieren_Step1_en.jpg]]
*titleLeft  (Titel der linken Diagrammachse) :  Simulierter Abfluss; Gemessener Abfluss
+
 
*titelRight (Titel der rechten Diagrammachse):  Niederschlag
+
We set the following values for the modification:
*colorLeft  (Farbenwerte der links dargestellten Größen): red;blue
+
*titleLeft  (title of the left diagram axis) :  simulated runoff; measured runoff
*colorRight (Farbenwerte der rechts dargestellten Größen): gray
+
*titelRight (title of the right diagram axis):  precipitation
*typeLeft (Darstellungsart z.B. als Linien- oder Balkendiagramm): 0 (Linie)
+
*colorLeft  (color shades of values displayed on the left): red; blue
*typeRight (Darstellungsart z.B. als Linien- oder Balkendiagramm): 1 (Balken)
+
*colorRight (color shades of values displayed on the right): gray
*xAxisTitle (Titel der X-Achse): Zeit
+
*typeLeft (type of graphic rendition, e.g. as line chart or bar chart): 0 (line)
*leftAxisTitle (Titel der linken Y-Achse): Abfluss [m³/s]
+
*typeRight (type of graphic rendition, e.g. as line chart or bar chart): 1 (bar)
*rightAxisTitle (Titel der rechten Y-Achse): Niederschlag [mm]
+
*xAxisTitle (title of x-axis): time
 +
*leftAxisTitle (title of left y-axis): runoff [m³/s]
 +
*rightAxisTitle (title of right y-axis): precipitation[mm]
 
*rightAxisInverted: 1  
 
*rightAxisInverted: 1  
  
  
Weiterhin muss das Komponentenattribut '''valueright''' mit dem Attribut '''precip''' aus dem JAMSTemporalContext verknüpft werden, damit die Niederschlagswerte angezeigt werden.
+
Moreover, the component attribute '''valueright''' has to be linked to '''precip''' from the JAMSTemporalContext to display precipitation values.
  
Neue Attributsübersicht:
+
Overview of new attributes:
  
[[Bild:JUICE_Modifizieren_Schritt2.jpg]]
+
[[File:JUICE_Modifizieren_Step2_en.jpg]]
  
Es ergibt sich die folgende Darstellung:
+
The following graph results from the modification:
  
[[Bild:JUICE_Modifizieren_Schritt3.jpg]]
+
[[File:JUICE_Modifizieren_Schritt3.jpg]]
  
===Auswechseln von Komponenten===
+
===Exchanging Components===
  
Der JUICE bietet die Möglichkeit Modellkomponenten durch andere zu ersetzen. Dabei sollten sorgfältig Ein- und Ausgabeattribute verknüpft werde.  
+
The JUICE allows to substitute model components by other components. For this purpose, input and output attributes have to be accurately linked.
  
====Ein Beispiel====
+
====An Example====
  
Im Folgenden soll exemplarisch im Niederschlags-Abflussmodell J2K die Komponente '''CalcPotentialET''' durch die Komponente '''Penman''' ausgetauscht werden. Beide Komponenten berechnen die potentielle Verdunstung, jedoch mit verschiedenen Algorithmen.
+
As an example, the component '''CalcPotentialET''' is substituted by the component '''Penman''' in the precipitation-runoff model J2K. Both components calculate the potential evaporation but each one using different algorithms.
  
'''''1. Schritt: Modell öffnen'''''
+
'''''Step 1: Open Model and Step 2: Delete Component'''''
  
Laden Sie das Modell '''j2k_gehlberg.jam''' aus den Beispieldatensätzen, die Ihnen beim Herunterladen der Software zur Verfügung gestellt worden sind. Ein Klick auf die Komponente '''CalcPotentialET''' der '''HRULoop''' ergibt das folgende Bild.
+
Load the model '''j2k_gehlberg.jam''' from the example data sets which were made available when downloading the software. Clicking on the component '''CalcPotentialET''' of the '''HRULoop''' creates the following image. Delete the component '''CalcPotentialET''' in order to integrate another evaporation component into the model. Right-click on the component and select '''delete'''.
  
[[Bild:JUICE_Austauschen_Schritt1.jpg]]
+
[[File:JUICE_Austauschen_Step2_en.jpg]]
  
'''''2. Schritt: Komponente löschen'''''
+
'''''Step 3: Add New Component'''''
  
Löschen Sie die Komponente '''CalcPotentialET''' um eine andere Vedunstungskomponente ins Modell zu integrieren. Klicken Sie dazu mit der rechten Maustaste auf die Komponente und wählen Sie '''entfernen'''.
+
In the library J2K.jar in the folder org.unijena.j2k.potET you will find the component '''Penman'''. Drag it to the position of the former component CalcPotentialET.
  
[[Bild:JUICE_Austauschen_Schritt2.jpg]]
+
[[File:JUICE_Austauschen_Step3_en.jpg]]
  
'''''3. Schritt: Neue Komponente hinzufügen'''''
+
'''''Step 4: Parameterization'''''
  
In der Bibliothek J2K.jar befindet sich im Ordner org.unijena.j2k.potET die Komponente '''Penman'''. Ziehen Sie diese an die Stelle der alten Komponente CalcPotentialET.
+
Assign the value '''d''' to the attribute '''tempRes''' and the value '''1.2''' to the attribute '''et_cal'''.
  
[[Bild:JUICE_Austauschen_Schritt3.jpg]]
+
[[File:JUICE_Austauschen_Step4_en.jpg]]
 +
 +
'''''Step 5: Link Context Attributes'''''
  
'''''4. Schritt: Parametrisieren'''''
+
Link the context attributes '''wind''','''tmean''','''rhum''','''netRad''','''elevation''','''area''','''potET''' and '''actET''' to the corresponding context attributes of the HRULoop (interaction across all spatial units).
  
Geben Sie dem Attribut '''tempRes''' den Wert '''d''' sowie dem Attribut '''et_cal''' den Wert '''1.2'''.
+
[[File:JUICE_Austauschen_Step5_en.jpg]]
  
[[Bild:JUICE_Austauschen_Schritt4.jpg]]
+
The former component which is used for calculating potential evaporation (CalcPotentialET) created the attributes '''rs''' and '''ra'''. Those attributes were summarized according to their importance in the component '''SpatialWeightedSumAggregator1'''. Since the new component does not create these attributes, they have to be deleted from links in the component '''SpatialWeightedSumAggregator1'''.
+
 
'''''5. Schritt: Kontextattribute Verknüpfen'''''
+
Select the component '''SpatialWeightedSumAggregator1''' and delete the links of the component attribute '''value ''' with the context attributes '''rs ''' and '''ra ''' by deleting these attribute from the box '''Modified Attribute''' and then linking them again.
 +
 
 +
[[File:JUICE_Austauschen_Step6_en.jpg]]
 +
 
 +
Start the new model.
 +
The following image shows you the graph resulting from the modeling:
 +
 
 +
[[File:JUICE_Austauschen_Schritt7.jpg]]
 +
 
 +
==Generating a Model Documentation==
 +
(Hydrological) Models consist of various model components. In order to document your model in terms of its scientific basis as well as its software realization you have the JAMS-Doc software tool at your disposal which has been integrated into JUICE. Its functioning is described in detail in the [[Tutorial_Model_Documentation|Tutorial Model Documentation]].
 +
 
 +
==Model Validation and Parameter Optimization==
 +
In order to apply hydrological models successfully it is necessary to define model parameters accurately. A direct measurement of the parameters is mostly not possible, too expensive or there is no clear physical relation. For those reasons the parameters are adjusted in a trial and error process in so far that the simulated factors (e.g. runoff) correspond best to the values measured. This task can be time-consuming and difficult if the corresponding model is complex or has a large number of parameters. Therefore it makes sense to automatize the optimization process with a software tool for the optimization of model parameters and sensitivity analysis which is available.
 +
The model validation serves to check the suitability of a model for a specific purpose which was intended (Bratley et al. 1987) and is an important tool for quality assurance. A model is useful for an application if the simulation is reliable with regard to real processes (Power 1993). Subject to the purpose and type of the model different key figures and proof are required to validate the model.
 +
Its functionality is described in detail in the [[Tutorial_Calibration|Tutorial Calibration and Sensitivity Analysis]].
 +
 
 +
=Debugging and Runtime Analyses Using Inspection Components=
 +
 
 +
===The Ping Component===
 +
 
 +
In order to reconstruct the processing of your model, a component called '''Ping''' is at your disposal. It can be integrated into the model at every possible position and it makes a signal (ping) in the information log for the model runtime when it starts running. In addition, the '''Ping''' component shows how many times a component (e.g. within a temporal iteration - modeling during a few days - or within a spatial iteration - modeling within various spatial entities) has been recalled.
 +
 
 +
Below the '''Ping Component''' has been integrated into the ABC model which has been established in section '''1.2.1 - Setting up a Model'''. The component can be found in folder '''jams-components''' in '''jams.components.debug'''.
 +
 
 +
[[File:JUICE_Ping.png]]
 +
 
 +
After the modeling, the following output can be found in the information log. This is saved in the JUICE under the menu item Protocols. It has to be noted that under the menu item '''Edit/Change Settings''' the output size has to be set to 2 or 3.
 +
 
 +
[[File:Ping_Infoprotokoll.png]]
 +
 
 +
In this way, the user can see that the component '''Ping''' in the ABC model ran once during model initialization, 61 times during modeling (temporal context) and once during model cleanup.
  
Verknüpfen Sie die Komponentenattribute '''wind''','''tmean''','''rhum''','''netRad''','''elevation''','''area''','''potET''' und '''actET''' mit den zugehörigen Kontextattributen aus der HRULoop (Interaktion über alle räumlichen Einheiten).
+
===Runtime Analysis===
  
[[Bild:JUICE_Austauschen_Schritt5.jpg]]
+
It is possible to show the individual components in the information protocol. This can be accessed in the JUICE under the menu item Protocols. This is saved in the JUICE under the menu item Protocols. It has to be noted that under the menu item '''Edit/Change Settings''' the output size has to be set to 2 or 3.
  
Die alte Komponente zur Berechnung der potentiellen Verdunstung CalcPotetialET erzeugte die Ausgangsattribute '''rs''' und '''ra'''. Diese wurden anschließend in der Komponente '''SpatialWeightedSumAggregator1''' gewichtet zusammengefasst. Da die neue Komponente diese Attribute nicht erzeugt, müssen diese aus den Verknüpfungen in der Komponente '''SpatialWeightedSumAggregator1''' entfernt werden.
+
In the following image, the runtime analysis for the Gehlberg model is shown as an example. It can be downloaded at http://www.geoinf.uni-jena.de/5580.0.html.
  
Wählen Sie dazu die Komponente '''SpatialWeightedSumAggregator1 ''' aus und entfernen Sie die Verknüpfungen des Komponentenattributs '''value ''' mit den Kontextattributen '''rs ''' und '''ra ''' indem Sie im Feld '''Angepasstes Attribut ''' diese Attribute löschen und neu verlinken.
+
[[File:Laufzeitanalyse.png]]
  
[[Bild:JUICE_Austauschen_Schritt6.jpg]]
+
=Application of Different JAMS Execution Environments=
  
Starten Sie das neue Modell.
+
The runtime environment (runtime system) makes different major services available for the model runtime in JAMS such as
Im folgenden Bild sehen Sie den Graph der Modellierung:
+
*loading, starting, stopping and saving models
 +
*a central logging system for error and information output (when loading and executing models)
 +
*managing graphical model outputs
  
[[Bild:JUICE_Austauschen_Schritt7.jpg]]
+
In order to adapt the execution of models to individual requirements, JAMS on the one hand serves as an interface for implementing one's own, adapted runtime environments by advanced users. In order to allow more unexperienced users to adapt the runtime environments to their own requirements, a default runtime environment was developed including various configuration options. Among these are especially the control of model output size and an option for deactivating all graphical model elements which is required for model execution on computers without graphical user interface.
 +
The latter is activated when starting JAMS by the command line (prompt in Windows) by indicating the parameter "-n" (or "--nogui"). Since there is no graphical interface for loading models, the model has to be indicated using the parameter "-m" (or "--model")
 +
In this way, for example the model J2000 can be executed by using the following command:  
 +
C:\Program Files\jams>jams.bat -n -m data\j2k_gehlberg\j2k_gehlberg.jam
  
===Lösung potentielle Konflikte und Interaktionen===
+
As a result, the runtime environment loads the model and executes it immediately. Graphical model components which may exist are not loaded, all model outputs are carried out in the command line and they are written -- if configured -- in the corresponding log files.
===Modellvalidierung und Parameteroptimierung===
+
Using this methodology, the JAMS models can be carried out easily from remote servers by using a shell connection or automatized using a Batch script.

Latest revision as of 21:47, 18 May 2012

Contents

JUICE - Jams Model Editor

The JAMS Builder (JUICE) was developed in order to set up and/or configure environmental models. By using JUICE any models can be combined and configured by the "module principle". For this purpose, there are two types of "modules" available. On the one hand, those are components which describe the individual processes. On the other hand, there are context components which control the model run. For the data exchange between components and contexts attributes are needed. Those can be variables but also parameters.

JUICE: Structure and Scope of Use

The interface of the JAMS Builder will be explained below.

The installation of your JAMS creates a JAMS builder button on your desktop and in the Start menu. It refers to the JAMS User Interface Component Editor (JUICE). After starting JUICE the following window appears which is divided into three areas. In the top left window you can see the libraries which are loaded. The bottom left window shows the running processes. The right area shows the model.


1.JUICE1 en.jpg

Structure of the Menu Bar

JUICE1 en.jpg

The menu bar contains the items File, Edit, Model, Logs, Windows and Help. In addition, the following functions are integrated in the form of icons:


1. Open new model

2. Load model

3. Save model

4. Search function

5. Jams settings

6. Start model

7. Open JAMS Launcher

8. Open JAMS Datastore Editor

9. Open JADE

10. Copy model surface

11. Paste model surface

12. Show info log

13. Show error log

14. JAMS Website

15. Close


Under the menu item File models can be loaded, saved and closed.

JUICE File en.jpg

The menu item Edit allows to edit, load or save settings and offers a search function.

JUICE Edit en.jpg

Under the item Edit Preferences you can edit the libraries which are used, the extent of the output, the output of logs and information on the model window. Those settings can be saved for subsequent modeling under the item Save Preferences and they can be reused by clicking on Load Preferences.

The menu item Model is only activated when a model has been loaded. It can start or configure the model. Moreover, the JAMS Explorer is linked which is used for analyzing used input data and results of the modeling. Its scope of services is explained in detail in the Tutorial Basic User. Loading and saving parameter sets can be done by using Load Model Parameters and Save Model Parameters. In addition, the model can be started by using the JAMS Launcher. The Optimization Wizard serves as a platform for automatic parameter optimization.

JUICE model en.jpg

Under the menu item Logs the Info Log can be shown. It contains information about the model's author, its version and user and also about the model's efficiency (How well displayed are the measured values in the model?), the model's structure (Which components were used how often?) and the time of the modeling. The Error Log shows errors which may have occurred.

JUICE Logs en.jpg

The menu item Windows lists all windows which are currently open.

Under the menu item Help you can obtain online help by clicking on JAMS online.

Systemleiste Help en.jpg

Application of JUICE for Model Design and Model Configuration

Setting up a Model

The JUICE can set up models. In the following steps, the procedure is carried out exemplarily by using the ABC model.

Step 1

Select the item New Model in the menu item File. An empty model is opened. The left part of the opened window displays the (context) components which are part of the model. The right part of the window can show two different views. On the one hand Component Configuration where the model's (context) components are edited. Their attributes are linked. Moreover, a parameterization can be carried out. The second view shows the Surface Editor which can edit the model's surface.


JUICE NewModel Step1 en.jpg


Step 2

Create a context component of the Type "JAMS Temporal Context". It allows a temporal iteration of the simulation. Click on the library jams-main.jar which is listed in the top left window. There you will find the JAMSTemporalContext under jams.model. Drag it to the right window into the "New Model".

JUICE TemporalContext Step2 en.jpg

Create the context attribute modelTimeIntervall within the model. Click on Component Attributes in the Attribute List under the item New Model.

Click on Add. Take modelTimeIntervall as name. Select TimeInterval as attribute type. You have to determine a time span for the simulation. (Note that data for the selected time span have to be available.) Take 01.01.1970 to 01.01.1975 as time span. Select Month as temporal unit. Then click on SET. The attribute modelTimeIntervall is now linked to the time interval you selected.

JUICE TimeInterval Step3 en.jpg

Go to component JAMSTemporalContext. Link the component attribute timeInterval to the model attribute modelTimeIntervall which has already been created. Select it from the attribute list in the bottom right box. Click on LINK.

JUICE NeuesModell Step4 en.jpg

Create a new attribute time and link it to the component attribute current.

JUICE NeuesModell Step5 en.jpg

Step 3

Add the component ABCDataReader to the model. You can find it in the library jams-democomponents.jar in the folder jams.components.demo.abc. The component ABCDataReader allows reading data. It reads the date and values for precipitation and runoff from a text file. This text file can be downloaded here: File:Abc.txt

JUICE ABCDataReader Step6 en.jpg

The location of the data file has to be transferred to the component attribute fileName. For this reason, you have to enter the file path of your data file as value of the attribute fileName. Click on SET.

Create the attributes precip (for precipitation) and obsQ (for runoff measures) in the JAMSTemporalContext. They should contain the values of the precipitation and runoff which is measured for the current time step. Select the component attribute precip. It should be shaded in BLUE now. Enter the name precip into the box Modified Attribute. Click on LINK. The context attribute precip from the context JAMSTemporalContext has been created and linked.

JUICE NeuesModell Step8 en.jpg


Now select the component attribute runoff. It should be shaded in BLUE now. Enter obsQ into the box Modified Attribute Click on LINK. The context attribute obsQ from the context JAMSTemporalContext has been created and linked.

JUICE NeuesModell Step9 en.jpg

Step 4

The central component of the model is the component of the ABC model. The ABC model is a linear model which relates precipitation and runoff to each other. Add the component ABCModel to the model. You will find it in the library jams-democomponents.jar in the folder jams.components.demo.abc.


JUICE NeuesModell Step10 en.jpg

Link the precipitation data to the component. Select the component attribute precip. Select precip for the box Modified Attribute from the list of attributes which are already in the JAMSTemporalContext. Click on LINK. Create new attributes for the water storage (storage) and the simulated runoff (simQ) as desribed in Step 3. The following window should appear:

JUICE NeuesModell Step11 en.jpg

The component attributes a,b,c and initStorage allow the parameterization of the component. Assign the following values: a=0.2, b=0.2, c=0.75 and initstorage=50.

JUICE NeuesModell Step12 en.jpg

Step 5

For the visualization of results you need the component TSPlot. Add this component to the model. You will find it in the libary jams-components.jar in the folder jams.components.gui.

JUICE NeuesModell Step13 en.jpg

Link the component attribute time to the attribute time from the context New Model. Select the component attribute time. Select the context New Model from the bottom right box and select the attribute time. Click on LINK. Link the component attribute valueLeft to the attributes simQ and obsQ from the JAMSTemporalContext. If you want to link one component attribute to more than one context attribute, you have to separate them by semicolon. The following window should appear:

JUICE NeuesModell Step14 en.jpg

Step 6

Now a model surface is to be created for the ABC model. Go to view GUI Builder.

JUICE NeuesModell Step14 1 en.jpg

The attributes a,b, and c are to be edited on the model's surface. In order to do that, create a new group clicking on add Group and give it the name "ABC model". By clicking on the button Add Property one box has to be created for each attribute. Note that the attribute has to be linked to the right component. In addition, the range of values can be defined by an upper and a lower boundary for the attribute. For example, the entries for parameter a in the parameter editor look like this:


JUICE NeuesModell Step14 2 en.jpg

The group ABC Model is now finished and should look like this:

JUICE NeuesModell Step14 3 en.jpg

Moreover, the display of results of the modeling in terms of color should be adjustable in the diagram. Therefore, create a new group clicking on Add Group and name it "diagram". Create editors for the attribute colorLeft. Name it colors left and link the created attributes to the attributes of the component TSPlot.

The group diagram is now finished and should look like this:

JUICE NeuesModell Step14 4 en.jpg

In order to link the colors of the outflow curves, go to TSplot component configuration. In the field colorleft enter the value blue;red. Doing so, the colors can be changed later during model runtime.

JUICE NeuesModell Step14 4 1 en.jpg


Step 7

Save the model.

The model is finished. Now you can launch it directly by using the JUICE or by using the JAMSLauncher. If you launch it via the JAMSLauncher, you can edit all attributes which have been linked to the model's surface..

JUICE NeuesModell Step14 5 en.jpg


The following output window appears. The measured runoff is displayed in blue, the simulated runoff in red.

JUICE NeuesModell Schritt15.jpg

Configuring Model Components

JUICE allows the configuration of model components which makes it easy to change the parameterization of a component. The procedure will be explained by taking the component TSPlot from the ABC model of section "Setting up a Model" as an example.

An Example

In the created model no parameter values for component attributes were defined. As a result, default values were assumed for the various parameters. Of course they can be modified in order to make the resulting diagram, which visualizes the results of the modeling, more attractive.

JUICE Modifizieren Step1 en.jpg

We set the following values for the modification:

  • titleLeft (title of the left diagram axis) : simulated runoff; measured runoff
  • titelRight (title of the right diagram axis): precipitation
  • colorLeft (color shades of values displayed on the left): red; blue
  • colorRight (color shades of values displayed on the right): gray
  • typeLeft (type of graphic rendition, e.g. as line chart or bar chart): 0 (line)
  • typeRight (type of graphic rendition, e.g. as line chart or bar chart): 1 (bar)
  • xAxisTitle (title of x-axis): time
  • leftAxisTitle (title of left y-axis): runoff [m³/s]
  • rightAxisTitle (title of right y-axis): precipitation[mm]
  • rightAxisInverted: 1


Moreover, the component attribute valueright has to be linked to precip from the JAMSTemporalContext to display precipitation values.

Overview of new attributes:

JUICE Modifizieren Step2 en.jpg

The following graph results from the modification:

JUICE Modifizieren Schritt3.jpg

Exchanging Components

The JUICE allows to substitute model components by other components. For this purpose, input and output attributes have to be accurately linked.

An Example

As an example, the component CalcPotentialET is substituted by the component Penman in the precipitation-runoff model J2K. Both components calculate the potential evaporation but each one using different algorithms.

Step 1: Open Model and Step 2: Delete Component

Load the model j2k_gehlberg.jam from the example data sets which were made available when downloading the software. Clicking on the component CalcPotentialET of the HRULoop creates the following image. Delete the component CalcPotentialET in order to integrate another evaporation component into the model. Right-click on the component and select delete.

JUICE Austauschen Step2 en.jpg

Step 3: Add New Component

In the library J2K.jar in the folder org.unijena.j2k.potET you will find the component Penman. Drag it to the position of the former component CalcPotentialET.

JUICE Austauschen Step3 en.jpg

Step 4: Parameterization

Assign the value d to the attribute tempRes and the value 1.2 to the attribute et_cal.

JUICE Austauschen Step4 en.jpg

Step 5: Link Context Attributes

Link the context attributes wind,tmean,rhum,netRad,elevation,area,potET and actET to the corresponding context attributes of the HRULoop (interaction across all spatial units).

JUICE Austauschen Step5 en.jpg

The former component which is used for calculating potential evaporation (CalcPotentialET) created the attributes rs and ra. Those attributes were summarized according to their importance in the component SpatialWeightedSumAggregator1. Since the new component does not create these attributes, they have to be deleted from links in the component SpatialWeightedSumAggregator1.

Select the component SpatialWeightedSumAggregator1 and delete the links of the component attribute value with the context attributes rs and ra by deleting these attribute from the box Modified Attribute and then linking them again.

JUICE Austauschen Step6 en.jpg

Start the new model. The following image shows you the graph resulting from the modeling:

JUICE Austauschen Schritt7.jpg

Generating a Model Documentation

(Hydrological) Models consist of various model components. In order to document your model in terms of its scientific basis as well as its software realization you have the JAMS-Doc software tool at your disposal which has been integrated into JUICE. Its functioning is described in detail in the Tutorial Model Documentation.

Model Validation and Parameter Optimization

In order to apply hydrological models successfully it is necessary to define model parameters accurately. A direct measurement of the parameters is mostly not possible, too expensive or there is no clear physical relation. For those reasons the parameters are adjusted in a trial and error process in so far that the simulated factors (e.g. runoff) correspond best to the values measured. This task can be time-consuming and difficult if the corresponding model is complex or has a large number of parameters. Therefore it makes sense to automatize the optimization process with a software tool for the optimization of model parameters and sensitivity analysis which is available. The model validation serves to check the suitability of a model for a specific purpose which was intended (Bratley et al. 1987) and is an important tool for quality assurance. A model is useful for an application if the simulation is reliable with regard to real processes (Power 1993). Subject to the purpose and type of the model different key figures and proof are required to validate the model. Its functionality is described in detail in the Tutorial Calibration and Sensitivity Analysis.

Debugging and Runtime Analyses Using Inspection Components

The Ping Component

In order to reconstruct the processing of your model, a component called Ping is at your disposal. It can be integrated into the model at every possible position and it makes a signal (ping) in the information log for the model runtime when it starts running. In addition, the Ping component shows how many times a component (e.g. within a temporal iteration - modeling during a few days - or within a spatial iteration - modeling within various spatial entities) has been recalled.

Below the Ping Component has been integrated into the ABC model which has been established in section 1.2.1 - Setting up a Model. The component can be found in folder jams-components in jams.components.debug.

JUICE Ping.png

After the modeling, the following output can be found in the information log. This is saved in the JUICE under the menu item Protocols. It has to be noted that under the menu item Edit/Change Settings the output size has to be set to 2 or 3.

Ping Infoprotokoll.png

In this way, the user can see that the component Ping in the ABC model ran once during model initialization, 61 times during modeling (temporal context) and once during model cleanup.

Runtime Analysis

It is possible to show the individual components in the information protocol. This can be accessed in the JUICE under the menu item Protocols. This is saved in the JUICE under the menu item Protocols. It has to be noted that under the menu item Edit/Change Settings the output size has to be set to 2 or 3.

In the following image, the runtime analysis for the Gehlberg model is shown as an example. It can be downloaded at http://www.geoinf.uni-jena.de/5580.0.html.

Laufzeitanalyse.png

Application of Different JAMS Execution Environments

The runtime environment (runtime system) makes different major services available for the model runtime in JAMS such as

  • loading, starting, stopping and saving models
  • a central logging system for error and information output (when loading and executing models)
  • managing graphical model outputs

In order to adapt the execution of models to individual requirements, JAMS on the one hand serves as an interface for implementing one's own, adapted runtime environments by advanced users. In order to allow more unexperienced users to adapt the runtime environments to their own requirements, a default runtime environment was developed including various configuration options. Among these are especially the control of model output size and an option for deactivating all graphical model elements which is required for model execution on computers without graphical user interface. The latter is activated when starting JAMS by the command line (prompt in Windows) by indicating the parameter "-n" (or "--nogui"). Since there is no graphical interface for loading models, the model has to be indicated using the parameter "-m" (or "--model") In this way, for example the model J2000 can be executed by using the following command: C:\Program Files\jams>jams.bat -n -m data\j2k_gehlberg\j2k_gehlberg.jam

As a result, the runtime environment loads the model and executes it immediately. Graphical model components which may exist are not loaded, all model outputs are carried out in the command line and they are written -- if configured -- in the corresponding log files. Using this methodology, the JAMS models can be carried out easily from remote servers by using a shell connection or automatized using a Batch script.

Personal tools
In other languages