Introduction to the User Interface¶
The user interface referenced below has been deprecated.
Starting the Jupyter Hub¶
During the hackathon we will be using the user interface (UI) located here.
You will need to log in with your Github username and password
and then start a server.
This may take a moment.
Once the server is started, you will see a Jupyter hub interface that includes
Model Composer tab. Within the
Model Composer tab you have a canvas (the black
area), a model palette titled
Model Library in the upper left corner of the canvas
that is populated with examples models from a dedicated model repository, and several
actions buttons in the upper right corner of the canvas. The
Save button will save
graphs to your workspace, the
Load button provides a drop-down menu of several
pre-defined graphs containing the models listed in the model palette that can be loaded
into the canvas, the
Clear button will clear any models/connections from the canvas,
Manifest button will display the YAML file required to run the currently loaded
graph locally, and the
Execute button will run the currently loaded graph (assuming
the models are loaded into the workspace).
Loading & Running an Existing Integration¶
First we will load and execute an existing integration graph that is pre-loaded into
the Jupyter hub. From the
Load drop down menu, select the
Fakeplant option to
load an example integration network that uses the models from the
repository that we cloned in preparation.
Once loaded you will see several icons connected with white lines that represents 4 models connected to 6 input files.
Each icon represents one of the models in the
repository that you cloned to your local machine or an input/output file.
By right clicking on each model, you can get information about the model’s
inputs and outputs.
The canopy model takes as input an initial canopy structure, a growth rate, a plant layout describing how the plant grows in x, y, and z, and a time step. From this information it grows the canopy structure and outputs the updated structure. The canopy model is written in C++.
The light model takes as input an ambient light level and the 3D structure of the canopy. It then calculates the light incident on each facet of the canopy structure which it outputs.
The photosynthesis model takes as input a light intensity, temperature, and CO2. From this information, it calculates and output the photosynthesis rate.
The growth model in this network is an alternative to the growth model we were working with in the previous section. It takes photosynthesis rate as an input and outputs the growth rate. We will be replacing this growth model with the one you created.
You can trace the data as it flows from files and from one model to the next.
You can view the
YAML generated from the integration graph by clicking the
You can run the integration by clicking the
Execute button. Once the models begin
running, a window display the output log will pop up.
The output log will include log messages from yggdrasil about the model execution intermingled with output from the models themselves. Because the model run in parallel and communication output at different rates, the model output may or may not be sequential.
In the next we will integrate a new growth model and add it to this integration network as a replacement for the existing growth model.