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
Legen Sie innerhalb des Modells das Kontextattribut modelTimeIntervall an. Klicken Sie auf Komponentenattribute in der Attributübersicht im Punkt Neues Modell.
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.
Bild:JUICE_NeuesModell_Schritt3.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.
Bild:JUICE_NeuesModell_Schritt4.jpg
Legen Sie ein neues Attribut time an und verlinken Sie dieses mit dem Komponentenattribut current.
Bild:JUICE_NeuesModell_Schritt5.jpg
3. Schritt
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.
Bild:JUICE_NeuesModell_Schritt6.jpg
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.
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
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.
Bild:JUICE_NeuesModell_Schritt9.jpg
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.
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.
Bild:JUICE_NeuesModell_Schritt10.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. 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
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