Model Configuration
The model configuration (file ending in "jmc") as an xml document which has two functions:
- It is an individual configuration for a concrete model which is stored in the model definition file.
- It defines the visualization in the JAMS Launcher for each parameter which is adjusted.
Formatting
The most important information in the model configuration includes:
- the name of the corresponding model definition file, e.g.
<config ... modeldefinition="j2k_gehlberg.xml" ...>
- various group elements which allow grouping editor components in the JAMS Launcher in the form of indent keys
<group description="Common model parameters" name="Main"> ... </group>
- als Kindelemente der group-Elemente eine Reihe von property-Elementen, die für je ein Attribut einer JAMS-Komponente verschiedene Informationen bereitstellt. Folgende Informationen dienen dabei der Konfiguration der Komponente:
- Attributname (z.B. attribute="snowCritDens")
- Komponentenname (z.B. component="J2KProcessSnow")
- Aktueller Wert (z.B. value="0.45")
- Name in der Oberfläche (z.B. name="J2KProcessSnow.snowCritDens")
- Beschreibung (z.B. description="Snowpack density beyond free water is released [dec%]")
- Defaultwert (z.B. default="0.7")
- Datentyp (z.B. type="float", möglich sind hier float, int, string, boolean, file, dir, date)
- Gültigkeitsintervall (z.B. range="0.1;1.0")
- Die letzten fünf Informationen werden dabei für die Erzeugung eines graphischen Eingabefeldes verwendet. Wurde die Anzeige des JAMS-Launchers in der Systemkonfigurationsdatei abgeschaltet, so haben nur die ersten drei Informationen Bedeutung.
Aktivierung und Deaktivierung von Komponenten
Mit Hilfe eines property-Element mit dem reservierten Attributnamen "%enable%" kann eine Komponente über die Modellkonfiguration ein- oder ausgeschaltet werden. Der Typ dieses Attributes ist dabei boolean. Existiert für eine Komponente ein solcher Eintrag, so wird die Komponente zur Modellausführung nur dann erzeugt, wenn sein Wert "1" ist. Darüber hinaus hat dieses Attribut keinerlei Einfluss auf die Komponente.
Ein Beispiel könnte etwa wie folgt aussehen:
<property attribute="%enable%" component="Map" default="1" description="Map on or off" name="Map enable" range="" type="boolean" value="1"/>
Prozessierung der Modellkonfiguration vor der Modellausführung
Wird das JAMSModell gestartet, so wird auf der Grundlage der Modelldefinition das Modell zunächst erzeugt und die dort definierten Attribute mit den Werten aus der Modellkonfiguration initialisiert, sofern diese angegeben wurden. Dies gilt auch dann, wenn der JAMS-Launcher nicht verwendet wird. Die Modellkonfiguration kann somit auch verwendet werden, um unterschiedliche Konfigurationen für ein einziges Modell zu verwalten. Für alle Attribute, die in der Modellkonfiguration nicht aufgeführt sind, behalten die Werte aus der Modelldefinition ihre Gültigkeit.