Skip to content
/ MRS Public

MOM6 Regression Scripts for cloning, building and testing MOM6 against Multiple Regression Suites

Notifications You must be signed in to change notification settings

adcroft/MRS

Repository files navigation

Scripts used in testing MOM6 commits against the various regression repositories

  • These scripts are not for general consumption - they are mostly written in gmake so good luck figuring out how they work! :) But seriously they are written for a particular sequence of tests assuming a specific setup and so they really will not be much use for general application.

Initial setup

Either recursively clone the regression repository and add this repository to it with:

git clone --recursive git@gitlab.gfdl.noaa.gov:ogrp/Gaea_c3-stats-MOM6-examples.git
cd Gaea_c3-stats-MOM6-examples
git clone https://github.com/adcroft/MRS.git

or clone then manually update:

git clone git@gitlab.gfdl.noaa.gov:ogrp/Gaea_c3-stats-MOM6-examples.git
cd Gaea_c3-stats-MOM6-examples
git clone https://github.com/adcroft/MRS.git
make -f MRS/Makefile.clone clone

or

git submodule init
git submodule update --recursive 
(cd MOM6-examples; git submodule init; git submodule update)
(cd MOM6-examples/src/MOM6; git submodule init; git submodule update)

Clone additional components from internal gitlab server

make -f MRS/Makefile.clone clone_gfdl

Build executable

make -f MRS/Makefile.build repro_gnu -s -j
make -f MRS/Makefile.build repro_intel -s -j
make -f MRS/Makefile.build repro_pgi -s -j

Run model

make -f MRS/Makefile.run gnu_all MEMORY=dynamic_symmetric -s -j
make -f MRS/Makefile.run intel_all MEMORY=dynamic_symmetric -s -j
make -f MRS/Makefile.run pgi_all MEMORY=dynamic_symmetric -s -j

should yield a clean MOM6-examples (uses the correct layouts).

Test the non-symmetric executables

make -f MRS/Makefile.run gnu_all -s -j
make -f MRS/Makefile.run intel_all -s -j
make -f MRS/Makefile.run pgi_all -s -j

will produce difference MOM_parameter_doc.layout files in MOM6-examples but with the right answers.

or

make -f MRS/Makefile.run gnu_static_ocean_only MEMORY=static -s -j
make -f MRS/Makefile.run intel_static_ocean_only MEMORY=static -s -j
make -f MRS/Makefile.run pgi_static_ocean_only MEMORY=static -s -j

Test with alternative PE counts

make -f MRS/Makefile.run gnu_all -s -j LAYOUT=alt
make -f MRS/Makefile.run intel_all -s -j LAYOUT=alt
make -f MRS/Makefile.run pgi_all -s -j LAYOUT=alt

Copy results to regressions/

make -f MRS/Makefile.sync -s -k

will sync the newly generated ocean/seaice.stats files and report their status.

make -f MRS/Makefile.sync -s -k gnu

will sync only the gnu stats files.

Test restarts

make -f MRS/Makefile.restart gnu_ocean_only -s -j RESTART_STAGE=02
make -f MRS/Makefile.restart gnu_ocean_only -s -j RESTART_STAGE=01
make -f MRS/Makefile.restart gnu_ocean_only -s -j RESTART_STAGE=12
make -f MRS/Makefile.restart gnu_ice_ocean_SIS2 -s -j RESTART_STAGE=02
make -f MRS/Makefile.restart gnu_ice_ocean_SIS2 -s -j RESTART_STAGE=01
make -f MRS/Makefile.restart gnu_ice_ocean_SIS2 -s -j RESTART_STAGE=12
make -f MRS/Makefile.restart restart_gnu_ocean_only -s -j
make -f MRS/Makefile.restart restart_gnu_ice_ocean_SIS2 -s -j
make -f MRS/Makefile.restart gnu_ocean_only gnu_ice_ocean_SIS2 -s -j RESTART_STAGE=02
make -f MRS/Makefile.restart gnu_ocean_only gnu_ice_ocean_SIS2 -s -j RESTART_STAGE=01
make -f MRS/Makefile.restart gnu_ocean_only gnu_ice_ocean_SIS2 -s -j RESTART_STAGE=12
make -f MRS/Makefile.restart restart_gnu_ocean_only restart_gnu_ice_ocean_SIS2 -s -j

Last commands alone is sufficient but seems more susceptible to lustre file systems flakiness.

Build coverage report

make -f MRS/Makefile.coverage gnu_ocean_only -s MEMORY=dynamic_symmetric
make -f MRS/Makefile.coverage gnu_ice_ocean_SIS2 -s
make -f MRS/Makefile.coverage coverage
make -f MRS/Makefile.run gnu_all MEMORY=dynamic_symmetric -s -j && make -f MRS/Makefile.run intel_all -s -j && make -f MRS/Makefile.run all MEMORY=dynamic_symmetric -s -j

About

MOM6 Regression Scripts for cloning, building and testing MOM6 against Multiple Regression Suites

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages