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

Results of the model runs can be found on the SalishSeaCast model results site and on the project’s ERDDAP server.

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.

Process Flow

The system workflow looks like:


Work flow of preparation for and execution of the daily runs.

The green boxes in the figure above are Salish Sea Nowcast System Workers.


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. Please see the LICENSE file for details of the license.