Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drop "nowcast-dev" run from automation workflow and configuration #229

Merged
merged 8 commits into from
Jan 26, 2024
46 changes: 10 additions & 36 deletions config/nowcast.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -292,14 +292,10 @@ run types:
land processor elimination: bathymetry_202108.csv
duration: 1 # day
restart from: nowcast-green
### retained because plots for nowcast-dev haven't been removed from
### make_plots.make_plots() yet
nowcast-dev:
config name: SalishSeaCast_Blue
coordinates: coordinates_seagrid_SalishSea201702.nc
bathymetry: bathymetry_201702.nc
mesh mask: mesh_mask201702.nc
land processor elimination: bathymetry_201702.csv
duration: 1 # day
restart from: nowcast-dev
nowcast-green:
config name: SalishSeaCast
coordinates: coordinates_seagrid_SalishSea201702.nc
Expand Down Expand Up @@ -340,6 +336,9 @@ results archive:
# Values are directories on results server where run results are stored
# in ddmmmyy/ directories.
nowcast: /results/SalishSea/nowcast-blue.202111/
### retained until make_plots is refactored to remove nowcast-dev
### that refactoring needs to come after compare_venus_ctd fig module is updated
### to handle ONC API v3
nowcast-dev: /results/SalishSea/nowcast-dev.201905/
forecast: /results/SalishSea/forecast.202111/
forecast2: /results/SalishSea/forecast2.202111/
Expand Down Expand Up @@ -623,34 +622,13 @@ run:
weather dir: /nemoShare/MEOPAR/GEM2.5/ops/NEMO-atmos/

salish-nowcast:
shared storage: True
make forcing links: True
### retained because workers.test_upload_forcing.TestConfig.test_ssh_keys() needs
### to find this item for every enabled host
ssh key: SalishSeaNEMO-nowcast_id_rsa
envvars: /SalishSeaCast/nowcast-env/etc/conda/activate.d/envvars.sh
python: /SalishSeaCast/nowcast-env/bin/python3
config file: /SalishSeaCast/SalishSeaNowcast/config/nowcast.yaml
run prep dir: /SalishSeaCast/runs/
### retained because next_workers needs to know until salish is fully removed
shared storage: True
### retained because make_*_runoff_file workers use this to get grid files
grid dir: /SalishSeaCast/grid/
salishsea_cmd: /SalishSeaCast/nowcast-env/bin/salishsea
job exec cmd: qsub
# Optional email address to which to send notifications of the beginning
# and end of execution of the run, as well as notification of abnormal
# abort messages.
email: [email protected]
run types:
nowcast-dev:
run sets dir: /SalishSeaCast/SS-run-sets/v201905/nowcast-dev/
mpi decomposition: 1x7
walltime: 23:30:00
results: /results/SalishSea/nowcast-dev.201905/
nowcast-green:
results: /results2/SalishSea/nowcast-green.201905/
forcing:
ssh dir: /results/forcing/sshNeahBay/
bc dir: /results/forcing/LiveOcean/boundary_conditions/
rivers dir: /results/forcing/rivers/
bottom friction mask: /SalishSeaCast/grid/jetty_mask_bathy201702.nc
weather dir: /results/forcing/atmospheric/continental2.5/nemo_forcing/

orcinus-nowcast-agrif:
ssh key: SalishSeaNEMO-nowcast_id_rsa
Expand Down Expand Up @@ -1372,8 +1350,6 @@ message registry:
failure nowcast: nowcast NEMO run failed
success nowcast-green: nowcast-green NEMO run started
failure nowcast-green: nowcast-green NEMO run failed
success nowcast-dev: nowcast-dev NEMO run started
failure nowcast-dev: nowcast-dev NEMO run failed
success forecast: forecast NEMO run started
failure forecast: forecast NEMO run failed
success forecast2: forecast2 NEMO run started
Expand All @@ -1399,8 +1375,6 @@ message registry:
failure nowcast: nowcast watch_NEMO failed
success nowcast-green: nowcast-green NEMO run ended
failure nowcast-green: nowcast-green watch_NEMO failed
success nowcast-dev: nowcast-dev NEMO run ended
failure nowcast-dev: nowcast-dev watch_NEMO failed
success forecast: forecast NEMO run ended
failure forecast: forecast watch_NEMO failed
success forecast2: forecast2 NEMO run ended
Expand Down
23 changes: 11 additions & 12 deletions docs/deployment/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Nowcast Production Deployments
******************************

In October 2016 the production deployment of the nowcast system was changed to use the :ref:`SalishSeaNowcast-repo` package that is based on the `NEMO_Nowcast framework`_ framework.
The production deployment uses 3 systems:
The production deployment uses 2 systems:

.. _NEMO_Nowcast framework: https://nemo-nowcast.readthedocs.io/en/latest/

Expand All @@ -32,14 +32,6 @@ The production deployment uses 3 systems:
:py:mod:`nemo_nowcast.log_aggregator`,
most of the pre- and post-processing workers run on the :ref:`SalishSeaModelResultsServer`, :kbd:`skookum`, where the deployment is in the :file:`/SalishSeaCast/` directory tree.

#. The development compute server,
:kbd:`salish`,
is used to run the daily development model run,
:kbd:`nowcast-dev` NEMO-3.6 model run.
:kbd:`salish` and :kbd:`skookum` share storage via NFS mounts,
so,
:kbd:`salish` uses the same deployment in the :file:`/SalishSeaCast/` directory tree.

#. The daily
:kbd:`forecast2`
(preliminary forecast),
Expand Down Expand Up @@ -73,13 +65,13 @@ The production deployment uses 3 systems:
.. _arbutus.cloud: https://docs.alliancecan.ca/wiki/Cloud_resources#Arbutus_cloud
.. _Ceph object storage: https://en.wikipedia.org/wiki/Ceph_(software)

These sections describe the setup of the nowcast system on :kbd:`skookum`/:kbd:`salish` and :kbd:`arbutus.cloud`,
and it operation.
These sections describe the setup of the nowcast system on :kbd:`skookum` and :kbd:`arbutus.cloud`,
and their operation.

.. toctree::
:maxdepth: 2

skookum_salish
skookum
arbutus_cloud
operations

Expand All @@ -106,3 +98,10 @@ The setup on :kbd:`optimum` is described in:
See also the `#optimum-cluster`_ Slack channel.

.. _#optimum-cluster: https://salishseacast.slack.com/?redir=%2Farchives%2FC011S7BCWGK

With the update of the production to run the V21-11 model version in January 2024,
we decided to end the daily :kbd:`nowcast-dev` development model runs on :kbd:`salish`.
Development is now generally done in research runs on :kbd:`graham`.
:kbd:`salish` is now mostly used for analysis tasks, post-processing of NEMO model results files
to produce day-average and month-average dataset files,
and Lagrangian particle tracking analysis with :program:`ariane` and :program:`OceanParcels`.
47 changes: 4 additions & 43 deletions docs/deployment/skookum_salish.rst → docs/deployment/skookum.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@
.. SPDX-License-Identifier: Apache-2.0


.. _SkookumSalishDeployment:
.. _SkookumDeployment:

***************************************
:kbd:`skookum`/:kbd:`salish` Deployment
***************************************
************************
:kbd:`skookum`Deployment
************************

Git Repositories
================
Expand All @@ -47,42 +47,6 @@ Clone the following repos into :file:`/SalishSeaCast/`:
$ git clone [email protected]:SalishSeaCast/tracers.git
$ git clone [email protected]:mdunphy/FVCOM-VHFR-config.git
$ git clone [email protected]:douglatornell/OPPTools.git
$ git clone [email protected]:SalishSeaCast/NEMO-3.6-code.git
$ git clone [email protected]:SalishSeaCast/XIOS-ARCH.git
$ git clone [email protected]:SalishSeaCast/XIOS-2.git


Build XIOS-2
============

Symlink the XIOS-2 build configuration files for :kbd:`salish` from the
:file:`XIOS-ARCH` repo clone into the :file:`XIOS-2/arch/` directory:

.. code-block:: bash

$ cd /SalishSeaCast/XIOS-2/arch
$ ln -s ../../XIOS-ARCH/UBC-EOAS/arch-GCC_SALISH.fcm
$ ln -s ../../XIOS-ARCH/UBC-EOAS/arch-GCC_SALISH.path

:command:`ssh` to :kbd:`salish` and build XIOS-2 with:

.. code-block:: bash

$ cd /SalishSeaCast/XIOS-2
$ ./make_xios --arch GCC_SALISH --netcdf_lib netcdf4_seq --job 8


Build NEMO-3.6
==============

Build NEMO-3.6 and :program:`rebuild_nemo.exe`:

.. code-block:: bash

$ cd /SalishSeaCast/NEMO-3.6-code/NEMOGCM/CONFIG
$ XIOS_HOME=/SalishSeaCast/XIOS-2 ./makenemo -m GCC_SALISH -n SalishSeaCast_Blue -j8
$ cd /SalishSeaCast/NEMO-3.6-code/NEMOGCM/TOOLS/
$ XIOS_HOME=/SalishSeaCast/XIOS-2 ./maketools -m GCC_SALISH -n REBUILD_NEMO


Python Packages
Expand Down Expand Up @@ -264,9 +228,6 @@ On the hosts where the nowcast system NEMO runs will be executed create a

The hosts and their :file:`runs` directories presently in use are:

* :kbd:`salish`
:file:`/SalishSeaCast/runs/`

* :kbd:`arbutus.cloud`
See :ref:`ArbutusCloudNEMORunsDirectory`

Expand Down
18 changes: 1 addition & 17 deletions nowcast/next_workers.py
Original file line number Diff line number Diff line change
Expand Up @@ -667,19 +667,17 @@ def after_make_forcing_links(msg, config, checklist):
"failure nowcast+": [],
"failure nowcast-green": [],
"failure nowcast-agrif": [],
"failure nowcast-dev": [],
"failure forecast2": [],
"failure ssh": [],
"success nowcast+": [],
"success nowcast-green": [],
"success nowcast-agrif": [],
"success nowcast-dev": [],
"success forecast2": [],
"success ssh": [],
}
if msg.type.startswith("success"):
run_types = {
"nowcast+": ("nowcast", "nowcast-dev"),
"nowcast+": ("nowcast",),
"nowcast-green": ("nowcast-green",),
"nowcast-agrif": ("nowcast-agrif",),
"ssh": ("forecast",),
Expand Down Expand Up @@ -738,12 +736,10 @@ def after_run_NEMO(msg, config, checklist):
"crash": [],
"failure nowcast": [],
"failure nowcast-green": [],
"failure nowcast-dev": [],
"failure forecast": [],
"failure forecast2": [],
"success nowcast": [],
"success nowcast-green": [],
"success nowcast-dev": [],
"success forecast": [],
"success forecast2": [],
}
Expand Down Expand Up @@ -777,12 +773,10 @@ def after_watch_NEMO(msg, config, checklist):
"crash": [],
"failure nowcast": [],
"failure nowcast-green": [],
"failure nowcast-dev": [],
"failure forecast": [],
"failure forecast2": [],
"success nowcast": [],
"success nowcast-green": [],
"success nowcast-dev": [],
"success forecast": [],
"success forecast2": [],
}
Expand Down Expand Up @@ -849,16 +843,6 @@ def after_watch_NEMO(msg, config, checklist):
],
)
)
if run_type == "nowcast-green":
for host in config["run"]["enabled hosts"]:
run_types = config["run"]["enabled hosts"][host]["run types"]
if "nowcast-dev" in run_types:
next_workers[msg.type].append(
NextWorker(
"nowcast.workers.make_forcing_links",
args=[host, "nowcast+", "--shared-storage"],
)
)
if run_type == "forecast2":
host_name = config["wave forecasts"]["host"]
run_date = arrow.get(msg.payload[run_type]["run date"]).shift(days=+1)
Expand Down
17 changes: 4 additions & 13 deletions nowcast/workers/run_NEMO.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,8 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""SalishSeaCast worker that prepares the YAML run
description file and bash run script for a nowcast, nowcast-green, nowcast-dev,
forecast or forecast2 run on the ONC cloud or salish,
and launches the run.
"""SalishSeaCast worker that prepares the YAML run description file and bash run script
for a nowcast, nowcast-green, forecast or forecast2 run on the ONC cloud, and launches the run.
"""
import logging
import os
Expand Down Expand Up @@ -49,12 +47,11 @@ def main():
worker.cli.add_argument("host_name", help="Name of the host to execute the run on")
worker.cli.add_argument(
"run_type",
choices={"nowcast", "nowcast-green", "nowcast-dev", "forecast", "forecast2"},
choices={"nowcast", "nowcast-green", "forecast", "forecast2"},
help="""
Type of run to execute:
'nowcast' means nowcast physics run,
'nowcast-green' means nowcast green ocean run,
'nowcast-dev' means nowcast physics run with in-development features,
'forecast' means updated forecast run,
'forecast2' means preliminary forecast run,
""",
Expand Down Expand Up @@ -145,7 +142,6 @@ def _create_run_desc_file(run_date, run_type, host_name, config):
run_days = {
"nowcast": run_date,
"nowcast-green": run_date,
"nowcast-dev": run_date,
"forecast": run_date.shift(days=1),
"forecast2": run_date.shift(days=2),
}
Expand All @@ -170,7 +166,6 @@ def _update_time_namelist(run_date, run_type, run_duration, host_config, run_pre
# run-type: based-on run-type, date offset
"nowcast": ("nowcast", -1),
"nowcast-green": ("nowcast-green", -1),
"nowcast-dev": ("nowcast-dev", -1),
"forecast": ("nowcast", 0),
"forecast2": ("forecast", 0),
}
Expand Down Expand Up @@ -207,7 +202,6 @@ def _calc_new_namelist_lines(
run_date_offset = {
"nowcast": 0,
"nowcast-green": 0,
"nowcast-dev": 0,
"forecast": 1,
"forecast2": 2,
}
Expand Down Expand Up @@ -246,7 +240,6 @@ def _run_description(run_date, run_type, run_id, restart_timestep, host_name, co
# run-type: previous run's ddmmmyy results directory name
"nowcast": run_date.shift(days=-1).format("DDMMMYY").lower(),
"nowcast-green": run_date.shift(days=-1).format("DDMMMYY").lower(),
"nowcast-dev": run_date.shift(days=-1).format("DDMMMYY").lower(),
"forecast": run_date.shift(days=-1).format("DDMMMYY").lower(),
"forecast2": run_date.shift(days=-2).format("DDMMMYY").lower(),
}
Expand Down Expand Up @@ -346,9 +339,7 @@ def _run_description(run_date, run_type, run_id, restart_timestep, host_name, co
grid_dir / config["run types"][run_type]["bathymetry"]
)
lpe_filename = config["run types"][run_type]["land processor elimination"]
run_desc["grid"]["land processor elimination"] = (
False if host_name == "salish-nowcast" else os.fspath(grid_dir / lpe_filename)
)
run_desc["grid"]["land processor elimination"] = os.fspath(grid_dir / lpe_filename)
run_desc["restart"] = restart_filepaths
run_desc["output"].update(
{
Expand Down
2 changes: 1 addition & 1 deletion nowcast/workers/watch_NEMO.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ def main():
worker.cli.add_argument("host_name", help="Name of the host to monitor the run on")
worker.cli.add_argument(
"run_type",
choices={"nowcast", "nowcast-green", "nowcast-dev", "forecast", "forecast2"},
choices={"nowcast", "nowcast-green", "forecast", "forecast2"},
help="""
Type of run to monitor:
'nowcast' means nowcast physics run,
Expand Down
Loading
Loading