SalishSeaCast Ocean Model Automation System
The Salish Sea Nowcast system is a software automation system that runs the SalishSeaCast ocean models in a daily nowcast/forecast mode. The runs use as-recent-as-available (typically previous day) forcing data for the western boundary sea surface height and the Fraser River flow, and atmospheric forcing from the four-times-daily produced forecast product from the Environment and Climate Change Canada High Resolution Deterministic Prediction System (HRDPS) operational GEM 2.5km resolution model.
The runs are automated using an asynchronous, distributed, message-based architecture provided by the NEMO_Nowcast framework package. SalishSeaNowcast is the Python package that uses the NEMO_Nowcast framework to implement the Salish Sea Nowcast system.
The automation system:
obtains the forcing datasets from web services
pre-processes the forcing datasets into the formats expected by NEMO
uploads the forcing dataset files to the HPC or cloud-computing facility where the run will be executed
executes the run
downloads the results
prepares a collection of plots from the run results for monitoring purposes
publishes the plots and the processing log to the web
The system is deployed on a server maintained by the UBC Dept. of Earth, Ocean and Atmospheric Sciences. Computing resources to run the NEMO model are provided by Ocean Networks Canada (cloud), UBC Advanced Research Computing (HPC), and Digital Research Alliance of Canada (cloud and HPC).
The system consists of long-running message broker, log aggregator, and manager processes. A collection of worker processes are launched by the manager to do particular jobs and terminate when that job is finished. Please see NEMO Nowcast Framework Architecture for a description of the system architecture. The workers are implemented in Python modules in the nowcast.workers and nemo_nowcast.workers namespaces.
The system workflow looks like:
The green boxes in the figure above are Salish Sea Nowcast System Workers.
- Salish Sea Nowcast System Workers
- Creating Nowcast Worker Modules
- Results Figures for the Web Site
- Nowcast Production Deployments
- Nowcast Configuration File
- Mitigating Worker Failures
- SalishSeaNowcast Package Development
Indices and Tables
The SalishSeaCast NEMO model nowcast system code and documentation are copyright 2013 – present by the SalishSeaCast Project Contributors and The University of British Columbia.
They are licensed under the Apache License, Version 2.0. https://www.apache.org/licenses/LICENSE-2.0 Please see the LICENSE file for details of the license.