3 Quick Start
The Climate Adaptation Data Platform is a turnkey platform for building weather-dependent applications. CADP accelerate food security and public health initiatives by providing all the infrastructure to automatically incorporate hyperlocal forecasts as a data source for
- precision agriculture
- digital advisory services
- heat-health early warning systems
- infectious disease early warning systems
3.1 System Requirements
3.1.1 Linux
The platform will work on most Debian-based Linux distributions. At a minimum you need to have the following available:
- bash: this is the command line shell where you can execute commands
- make: this is a standard tool to build software
In a new environment, run the bin/init_workstation.sh
script to ensure you have the tools you need to build the system.
3.1.1.1 Windows users
If your primary operating system is Windows, you will need to install the Windows Subsystem for Linux. The official instructions explains how to install WSL and Docker.
WSL installs the debian flavor of Linux. Make note of this, as it will help you when troubleshooting in the future.
Once WSL is installed, the following tools need to be installed. They can be installed via the command line with
$ sudo apt update
$ sudo apt install build-essential postgresql-client
(Note: The $
represents the shell prompt. Do not include it in your command!)
3.2 Building the Platform
The full platform can be built using the following command:
make all
This will first build the platform and then launch it. The following tasks are executed:
- initialize database
- initialize the dashboard
- build all images
You can use this command repeatedly. The Makefile
is smart enough to know
not to re-initialize the database.
To verify that the system is running, use docker ps
. This command will show
all the running containers tied to the CADP (nee zeomancer).
The output should look something like this:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c86a8b8a34a2 zeomancer_system-weather_forecast "tini -g -- /bin/bas…" 3 hours ago Up 3 hours (unhealthy) 443/tcp, 8888/tcp, 0.0.0.0:8180->80/tcp, :::8180->80/tcp zeomancer_system-weather_forecast-1
6e2812b24695 zeomancer_system-simulator_etl "tini -g -- /bin/bas…" 3 hours ago Up 3 hours (unhealthy) 80/tcp, 443/tcp, 8004/tcp, 8888/tcp, 0.0.0.0:8081->8080/tcp, :::8081->8080/tcp zeomancer_system-simulator_etl-1
27e46eb20065 zeomancer_system-ecm_etl "tini -g -- /app/zeo…" 3 hours ago Up 3 hours (unhealthy) 80/tcp, 443/tcp, 8004/tcp, 8888/tcp, 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp zeomancer_system-ecm_etl-1
5db4dd92afa2 timescale/timescaledb:latest-pg12 "docker-entrypoint.s…" 3 hours ago Up 3 hours 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp zeomancer_system-ts_db-1
3bb9e8c4788a nodered/node-red:latest "./entrypoint.sh" 3 hours ago Up 3 hours (healthy) 0.0.0.0:9002->1880/tcp, :::9002->1880/tcp zeomancer_system-node_red-1
dc8c438b1bf3 eclipse-mosquitto:2.0.18-openssl "/docker-entrypoint.…" 3 hours ago Up 3 hours 0.0.0.0:1883->1883/tcp, :::1883->1883/tcp, 0.0.0.0:9001->9001/tcp, :::9001->9001/tcp zeomancer_system-mqtt_broker-1
42c737867360 gcr.io/micro-dynamo-351417/bank-transaction-classification_service "bash" 9 days ago Up 9 days 8080/tcp laughing_mendeleev
Alternatively. you can check the logs for the system using make logs
.
This will display the current logs for ALL containers in the system.
They will update as the system responds to events.
To exit the log viewer, type Ctrl-C.
To stop the platform, just type make stop
.
You can restart the platform by running make run
.
The previous state will be retained when you start back up.
3.3 Platform Demos
A number of demos can be deployed into your running system. These are not installed by default because we want a clean system after initialization. They also require a lot of weather data, which is impractical to include with the system.
3.3.1 Get available demos
This target shows all the available demos and the regions where stations can be loaded.
make list-demos
3.3.2 Deploy a demo
Deploying a demo means that all source weather data is downloaded and loaded into the database. Once the source data are loaded, it is possible to run a simulation to show how the system state evolves over time or batch run all the forecasting models and risk rules until an arbitrary end date. The drawback of the simulator approach is that it will take a while to observe.
make run-demo
During the installation of a demo, you will be prompted to choose whether to continue with running batch forecasts or not.