Mitigating Worker Failures
collect_NeahBay_ssh Worker Failure
The sea surface height anomaly at the western Juan de Fuca boundary is taken from a
NOAA forecast of storm surge at Neah Bay.
If this page is not accessible then the
nowcast.workers.collect_NeahBay_ssh worker may fail.
As the observations for several days are saved in the files on this pages,
one can try at a later time and if necessary use yesterday’s files to continue the forecast.
If it goes several days,
we can recover observed sea surface heights from the NOAA tides and water levels .
make_ssh_files can take a date so that older files can be run.
Files from the observation site can also be run with the appropriate flag.
download_weather Worker Failure
The Environment and Climate Change Canada (ECCC) 2.5 km resolution GEM forecast model products from the High Resolution Deterministic Prediction System (HRDPS) are critical inputs for the nowcast system.
The HRDPS products files that we use are downloaded every 6 hours via the
nowcast.workers.collect_weather worker.
If things are going really badly the
collect_weather worker may not finish
hours after its expected completion time.
That can be determined by reading the info log file or the debug log file.
In the rare event that the nowcast automation system fails to download the HRDPS products,
it is critical that someone runs the nowcast.workers.download_weather
worker to download the files.
Confirm that the files exist on the
ECCC hpfx server by browsing the the date and forecast of interest;
e.g. https://hpfx.collab.science.gc.ca/yyyymmdd/WXO-DD/model_hrdps/continental/2.5km/hh/,
where:
yyyymmddis the date of interesthhis the forecast name (00, 06, 12, or 18) of interest
then run the worker as follows:
ssh on to
skookum, activate the production nowcast conda environment, and navigate to the nowcast configuration and logging directory:$ ssh skookum skookum$ conda activate /SalishSeaCast/nowcast-env
Run the
nowcast.workers.download_weatherworker for the appropriate forecast with debug logging, for example:(/SalishSeaCast/nowcast-env)skookum$ python -m nowcast.workers.download_weather $NOWCAST_YAML 12 2.5km --debug
The command above downloads the 12 forecast. The
--debugflag causes the logging output of the worker to be displayed on the screen (so that you can see what is going on) instead of being written to a file. It also disconnects the worker from the nowcast messaging system so that there is no interaction with the manager and the ongoing automation. The (abridged) output should look like:
You can use the -h or --help flags to get a usage message that explains
the worker’s required arguments,
and its option flags:
(nowcast)$ python -m nowcast.workers.download_weather --help
The --run-date flag allows you to download a prior date’s forecast files.
To determine if the --run-date flag can be used check that the files exist on the
ECCC hpfx server by browsing the the date and forecast of interest;
e.g. https://hpfx.collab.science.gc.ca/yyyymmdd/WXO-DD/model_hrdps/continental/2.5km/hh/,
where:
yyyymmddis the date of interesthhis the forecast name (00, 06, 12, or 18) of interest
Even if the worker cannot be re-run in the nowcast system deployment environment on
skookum due to permission issues the forecast products can be downloaded using a
Development Environment.
That can be accomplished as follows:
Activate your nowcast conda environment, and navigate to your nowcast development and testing environment:
$ source activate salishsea-nowcast (nowcast)$ cd MEOPAR/nowcast/
Edit the
SalishSeaNowcast/config/nowcast.yamlfile to set a destination in your filespace for the GRIB2 files that the worker downloads:weather: download: # Destination directory for downloaded GEM 2.5km operational model GRIB2 files # GRIB dir: /results/forcing/atmospheric/GEM2.5/GRIB/ GRIB dir: /ocean/<your_userid>/MEOPAR/GRIB/
Note
The directory
/ocean/<your_userid>/MEOPAR/GRIB/must exist. Create it if necessary with:$ mkdir -p /ocean/<your_userid>/MEOPAR/GRIB/
Set the value of the
NOWCAST_YAMLenvironment variable to the absolute path of theSalishSeaNowcast/config/nowcast.yamlfile that you edited.Continue from step 2 above.