Tutorial Advanced Users
Contents |
JUICE - Jams User Interface Component 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 toop left window you can see the libraries which are loaded. The bottom left window shows the running processes. The right area shows the model.
Structure of the Menu Bar
The menu bar contains the items File, Edit, Model, Logs, Window 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 itme File models can be loaded, saved and closed.
The menu item Edit allows to edit, load or save settings and offers a search function.
Under the item Edit settings 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 settings and they can be reused by clicking on Load settings.
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 Assistent serves as a platform for automatic parameter optimization.
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 erros which may have occurred.
The menu item Window lists all windows which are currently open.
Under the menu item Help you can obtain online help by clicking on JAMS online.
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.
1st Step
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) componentes are edited. Their attributes are linked. Moreover, a paramterization can be carried out. The second view shows the Surface Editor which can edit the model's surface.
Bild:JUICE_NeuesModell_Schritt1.jpg
2nd Step
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
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.
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.
Bild:JUICE_NeuesModell_Schritt4.jpg
Create a new attribute time and link it to the component attribute current.
Bild:JUICE_NeuesModell_Schritt5.jpg
3rd Step
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.
Bild:JUICE_NeuesModell_Schritt6.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.
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.
Bild:JUICE_NeuesModell_Schritt9.jpg
4th Step
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.
Bild:JUICE_NeuesModell_Schritt10.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:
Bild:JUICE_NeuesModell_Schritt11.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.
Bild:JUICE_NeuesModell_Schritt12.jpg
5. Schritt
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.
Bild:JUICE_NeuesModell_Schritt13.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 timeaus. Klicken Sie auf LINK. 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
6.Schritt 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
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
Die Gruppe ABC-Modell ist nun fertiggestellt und sollte folgendermaßen aussehen:
Bild:JUICE_NeuesModell_Schritt14_3.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.
Die Gruppe Diagramm ist nun fertiggestellt und sollte folgendermaßen aussehen:
Bild:JUICE_NeuesModell_Schritt14_4.jpg
7.Schritt
Speichern Sie das Modell.
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.
Bild:JUICE_NeuesModell_Schritt14_5.jpg
Das folgende Ausgabefenster ergibt sich. Der gemessene Abfluss ist blau dargestellt, der simulierte Abfluss rot.
Bild:JUICE_NeuesModell_Schritt15.jpg
Konfiguration von Modellkomponenten
Der JUICE biete die Möglichkeit, Modellkomponenten zu konfigurieren. Somit kann leicht die Parametrisierung einer Komponete verändert werden. Die Vorgehensweise soll beispielhaft an der Komponente TSPlot aus dem im Punkt "Aufsetzen eines Modells" erstellten ABC-Modell erläutert werde.
Ein Beispiel
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.
Bild:JUICE_Modifizieren_Schritt1.jpg
Wir setzen zur Modifikation die folgenden Werte.
- titleLeft (Titel der linken Diagrammachse) : Simulierter Abfluss; Gemessener Abfluss
- titelRight (Titel der rechten Diagrammachse): Niederschlag
- colorLeft (Farbenwerte der links dargestellten Größen): red;blue
- colorRight (Farbenwerte der rechts dargestellten Größen): gray
- typeLeft (Darstellungsart z.B. als Linien- oder Balkendiagramm): 0 (Linie)
- typeRight (Darstellungsart z.B. als Linien- oder Balkendiagramm): 1 (Balken)
- xAxisTitle (Titel der X-Achse): Zeit
- leftAxisTitle (Titel der linken Y-Achse): Abfluss [m³/s]
- rightAxisTitle (Titel der rechten Y-Achse): Niederschlag [mm]
- rightAxisInverted: 1
Weiterhin muss das Komponentenattribut valueright mit dem Attribut precip aus dem JAMSTemporalContext verknüpft werden, damit die Niederschlagswerte angezeigt werden.
Neue Attributsübersicht:
Bild:JUICE_Modifizieren_Schritt2.jpg
Es ergibt sich die folgende Darstellung:
Bild:JUICE_Modifizieren_Schritt3.jpg
Auswechseln von Komponenten
Der JUICE bietet die Möglichkeit Modellkomponenten durch andere zu ersetzen. Dabei sollten sorgfältig Ein- und Ausgabeattribute verknüpft werde.
Ein Beispiel
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.
1. Schritt: Modell öffnen
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.
Bild:JUICE_Austauschen_Schritt1.jpg
2. Schritt: Komponente löschen
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.
Bild:JUICE_Austauschen_Schritt2.jpg
3. Schritt: Neue Komponente hinzufügen
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.
Bild:JUICE_Austauschen_Schritt3.jpg
4. Schritt: Parametrisieren
Geben Sie dem Attribut tempRes den Wert d sowie dem Attribut et_cal den Wert 1.2.
Bild:JUICE_Austauschen_Schritt4.jpg
5. Schritt: Kontextattribute Verknüpfen
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).
Bild:JUICE_Austauschen_Schritt5.jpg
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.
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.
Bild:JUICE_Austauschen_Schritt6.jpg
Starten Sie das neue Modell. Im folgenden Bild sehen Sie den Graph der Modellierung:
Bild:JUICE_Austauschen_Schritt7.jpg