Skip to content

Commit

Permalink
Merge branch 'develop' into ci_update_HOMEgfs_nodeenv
Browse files Browse the repository at this point in the history
  • Loading branch information
DavidHuber-NOAA authored Oct 24, 2024
2 parents ac4d312 + 3b2c4e2 commit 2fcfbe9
Show file tree
Hide file tree
Showing 43 changed files with 1,005 additions and 194 deletions.
213 changes: 213 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,213 @@
# global-workflow is a collaborative space where contributions come from a variety of sources
# This file is to ensure that new development gets reviewed by the appropriate SME

# global-workflow default owners (not a complete list)
@KateFriedman-NOAA
@WalterKolczynski-NOAA
@DavidHuber-NOAA

# Specific directory owners
/ci/ @TerrenceMcGuinness-NOAA @WalterKolczynski-NOAA

/ecf/ @lgannoaa

/workflow/ @WalterKolczynski-NOAA @aerorahul @DavidHuber-NOAA

# Specific file owners
# build scripts
sorc/build_*.sh @WalterKolczynski-NOAA @DavidHuber-NOAA @aerorahul @KateFriedman-NOAA
sorc/link_workflow.sh @WalterKolczynski-NOAA @DavidHuber-NOAA @aerorahul @KateFriedman-NOAA

# jobs
jobs/JGDAS_AERO_ANALYSIS_GENERATE_BMATRIX @CoryMartin-NOAA
jobs/JGDAS_ATMOS_ANALYSIS_DIAG @RussTreadon-NOAA @CoryMartin-NOAA
jobs/JGDAS_ATMOS_CHGRES_FORENKF @RussTreadon-NOAA @CoryMartin-NOAA
jobs/JGDAS_ATMOS_GEMPAK @GwenChen-NOAA
jobs/JGDAS_ATMOS_GEMPAK_META_NCDC @GwenChen-NOAA
jobs/JGDAS_ATMOS_VERFOZN @EdwardSafford-NOAA
jobs/JGDAS_ATMOS_VERFRAD @EdwardSafford-NOAA
jobs/JGDAS_ENKF_* @RussTreadon-NOAA @CoryMartin-NOAA @CatherineThomas-NOAA
jobs/JGDAS_FIT2OBS @jack-woollen
jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN @guillaumevernieres
jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_VRFY @guillaumevernieres
jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG @GwenChen-NOAA
jobs/JGFS_ATMOS_CYCLONE_GENESIS @JiayiPeng-NOAA
jobs/JGFS_ATMOS_CYCLONE_TRACKER @JiayiPeng-NOAA
jobs/JGFS_ATMOS_FBWIND @GwenChen-NOAA
jobs/JGFS_ATMOS_FSU_GENESIS
jobs/JGFS_ATMOS_GEMPAK @GwenChen-NOAA
jobs/JGFS_ATMOS_GEMPAK_META @GwenChen-NOAA
jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF @GwenChen-NOAA
jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC @GwenChen-NOAA
jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS @WenMeng-NOAA
jobs/JGFS_ATMOS_POSTSND @BoCui-NOAA
jobs/JGFS_ATMOS_VERIFICATION
jobs/JGLOBAL_AERO_ANALYSIS_* @CoryMartin-NOAA
jobs/JGLOBAL_ARCHIVE @DavidHuber-NOAA
jobs/JGLOBAL_ATMENS_ANALYSIS_* @RussTreadon-NOAA @CoryMartin-NOAA @DavidNew-NOAA
jobs/JGLOBAL_ATMOS_ANALYSIS @RussTreadon-NOAA @CatherineThomas-NOAA
jobs/JGLOBAL_ATMOS_ANALYSIS_CALC @RussTreadon-NOAA @CatherineThomas-NOAA @CoryMartin-NOAA
jobs/JGLOBAL_ATMOS_EMCSFC_SFC_PREP @GeorgeGayno-NOAA
jobs/JGLOBAL_ATMOS_ENSSTAT
jobs/JGLOBAL_ATMOS_POST_MANAGER
jobs/JGLOBAL_ATMOS_PRODUCTS @WenMeng-NOAA
jobs/JGLOBAL_ATMOS_SFCANL @GeorgeGayno-NOAA
jobs/JGLOBAL_ATMOS_TROPCY_QC_RELOC
jobs/JGLOBAL_ATMOS_UPP @WenMeng-NOAA
jobs/JGLOBAL_ATMOS_VMINMON @EdwardSafford-NOAA
jobs/JGLOBAL_ATM_* @RussTreadon-NOAA @DavidNew-NOAA @CoryMartin-NOAA
jobs/JGLOBAL_CLEANUP @WalterKolczynski-NOAA @DavidHuber-NOAA @KateFriedman-NOAA
jobs/JGLOBAL_EXTRACTVARS @EricSinsky-NOAA
jobs/JGLOBAL_FORECAST @aerorahul
jobs/JGLOBAL_MARINE_* @guillaumevernieres @AndrewEichmann-NOAA
jobs/JGLOBAL_OCEANICE_PRODUCTS @GwenChen-NOAA
jobs/JGLOBAL_PREP_EMISSIONS @bbakernoaa
jobs/JGLOBAL_PREP_OBS_AERO @CoryMartin-NOAA
jobs/JGLOBAL_PREP_OCEAN_OBS @guillaumevernieres @AndrewEichmann-NOAA
jobs/JGLOBAL_*SNOW* @jiaruidong2017
jobs/JGLOBAL_STAGE_IC @KateFriedman-NOAA
jobs/JGLOBAL_WAVE_* @JessicaMeixner-NOAA @sbanihash
jobs/rocoto/* @WalterKolczynski-NOAA @KateFriedman-NOAA @DavidHuber-NOAA

# scripts
scripts/exgdas_aero_analysis_generate_bmatrix.py @CoryMartin-NOAA
scripts/exgdas_atmos_chgres_forenkf.sh @RussTreadon-NOAA @CoryMartin-NOAA
scripts/exgdas_atmos_gempak_gif_ncdc.sh @GwenChen-NOAA
scripts/exgdas_atmos_nawips.sh @GwenChen-NOAA
scripts/exgdas_atmos_verfozn.sh @EdwardSafford-NOAA
scripts/exgdas_atmos_verfrad.sh @EdwardSafford-NOAA
scripts/exgdas_enkf_earc.py @DavidHuber-NOAA
scripts/exgdas_enkf_ecen.sh @CoryMartin-NOAA @RussTreadon-NOAA @CatherineThomas-NOAA
scripts/exgdas_enkf_post.sh @CoryMartin-NOAA @RussTreadon-NOAA @CatherineThomas-NOAA
scripts/exgdas_enkf_select_obs.sh @CoryMartin-NOAA @RussTreadon-NOAA @CatherineThomas-NOAA
scripts/exgdas_enkf_sfc.sh @CoryMartin-NOAA @RussTreadon-NOAA @CatherineThomas-NOAA
scripts/exgdas_enkf_snow_recenter.py @jiaruidong2017
scripts/exgdas_enkf_update.sh @CoryMartin-NOAA @RussTreadon-NOAA @CatherineThomas-NOAA
scripts/exgdas_global_marine_analysis_letkf.py @guillaumevernieres @AndrewEichmann-NOAA
scripts/exgfs_aero_init_aerosol.py @WalterKolczynski-NOAA
scripts/exgfs_atmos_awips_20km_1p0deg.sh @GwenChen-NOAA
scripts/exgfs_atmos_fbwind.sh @GwenChen-NOAA
scripts/exgfs_atmos_gempak_gif_ncdc_skew_t.sh @GwenChen-NOAA
scripts/exgfs_atmos_gempak_meta.sh @GwenChen-NOAA
scripts/exgfs_atmos_goes_nawips.sh @GwenChen-NOAA
scripts/exgfs_atmos_grib2_special_npoess.sh @WenMeng-NOAA
scripts/exgfs_atmos_nawips.sh @GwenChen-NOAA
scripts/exgfs_atmos_postsnd.sh @BoCui-NOAA
scripts/exgfs_pmgr.sh
scripts/exgfs_prdgen_manager.sh
scripts/exgfs_wave_* @JessicaMeixner-NOAA @sbanihash
scripts/exglobal_aero_analysis_* @CoryMartin-NOAA
scripts/exglobal_archive.py @DavidHuber-NOAA
scripts/exglobal_atm_analysis_* @RussTreadon-NOAA @DavidNew-NOAA
scripts/exglobal_atmens_analysis_* @RussTreadon-NOAA @DavidNew-NOAA
scripts/exglobal_atmos_analysis*.sh @RussTreadon-NOAA @CoryMartin-NOAA
scripts/exglobal_atmos_ensstat.sh @RussTreadon-NOAA
scripts/exglobal_atmos_pmgr.sh
scripts/exglobal_atmos_products.sh @WenMeng-NOAA
scripts/exglobal_atmos_sfcanl.sh @GeorgeGayno-NOAA
scripts/exglobal_atmos_tropcy_qc_reloc.sh
scripts/exglobal_atmos_upp.py @WenMeng-NOAA
scripts/exglobal_atmos_vminmon.sh @EdwardSafford-NOAA
scripts/exglobal_cleanup.sh @DavidHuber-NOAA
scripts/exglobal_diag.sh @RussTreadon-NOAA @CoryMartin-NOAA
scripts/exglobal_extractvars.sh @EricSinsky-NOAA
scripts/exglobal_forecast.py @aerorahul
scripts/exglobal_forecast.sh @aerorahul @WalterKolczynski-NOAA
scripts/exglobal_marine_analysis_* @guillaumevernieres @AndrewEichmann-NOAA
scripts/exglobal_marinebmat.py @guillaumevernieres @AndrewEichmann-NOAA
scripts/exglobal_oceanice_products.py @GwenChen-NOAA
scripts/exglobal_prep_emissions.py @bbakernoaa
scripts/exglobal_prep_obs_aero.py @CoryMartin-NOAA
scripts/exglobal_prep_snow_obs.py @jiaruidong2017
scripts/exglobal_snow_analysis.py @jiaruidong2017
scripts/exglobal_stage_ic.py @KateFriedman-NOAA

# ush
WAM_XML_to_ASCII.pl
atmos_ensstat.sh
atmos_extractvars.sh @EricSinsky-NOAA
bash_utils.sh @WalterKolczynski-NOAA
calcanl_gfs.py @CoryMartin-NOAA
calcinc_gfs.py @CoryMartin-NOAA
compare_f90nml.py @WalterKolczynski-NOAA @aerorahul
detect_machine.sh @WalterKolczynski-NOAA
extractvars_tools.sh @EricSinsky-NOAA
file_utils.sh @WalterKolczynski-NOAA
forecast_det.sh @aerorahul @WalterKolczynski-NOAA
forecast_postdet.sh @aerorahul @WalterKolczynski-NOAA
forecast_predet.sh @aerorahul @WalterKolczynski-NOAA
fv3gfs_remap_weights.sh
gaussian_sfcanl.sh @GeorgeGayno-NOAA
getdump.sh @WalterKolczynski-NOAA @KateFriedman-NOAA
getges.sh @WalterKolczynski-NOAA @KateFriedman-NOAA
getgfsnctime @CoryMartin-NOAA
getncdimlen @CoryMartin-NOAA
gfs_bfr2gpk.sh @GwenChen-NOAA
gfs_bufr.sh @GwenChen-NOAA
gfs_bufr_netcdf.sh @GwenChen-NOAA
gfs_sndp.sh @BoCui-NOAA
gfs_truncate_enkf.sh @CoryMartin-NOAA
global_savefits.sh
gsi_utils.py @CoryMartin-NOAA
interp_atmos_master.sh @aerorahul @WenMeng-NOAA @WalterKolczynski-NOAA
interp_atmos_sflux.sh @aerorahul @WenMeng-NOAA @WalterKolczynski-NOAA
jjob_header.sh @WalterKolczynski-NOAA
link_crtm_fix.sh @WalterKolczynski-NOAA
load_fv3gfs_modules.sh @WalterKolczynski-NOAA @aerorahul
load_ufsda_modules.sh @WalterKolczynski-NOAA @aerorahul @CoryMartin-NOAA
load_ufswm_modules.sh @WalterKolczynski-NOAA @aerorahul @JessicaMeixner-NOAA
merge_fv3_aerosol_tile.py @WalterKolczynski-NOAA
minmon_xtrct_*.pl @EdwardSafford-NOAA
module-setup.sh @WalterKolczynski-NOAA @aerorahul
oceanice_nc2grib2.sh @GwenChen-NOAA
ocnice_extractvars.sh @EricSinsky-NOAA
ozn_xtrct.sh @EdwardSafford-NOAA
parse-storm-type.pl
parsing_model_configure_FV3.sh @WalterKolczynski-NOAA @aerorahul @junwang-noaa
parsing_namelists_CICE.sh @WalterKolczynski-NOAA @aerorahul @junwang-noaa @DeniseWorthen
parsing_namelists_FV3.sh @WalterKolczynski-NOAA @aerorahul @junwang-noaa
parsing_namelists_FV3_nest.sh @guoqing-noaa
parsing_namelists_MOM6.sh @WalterKolczynski-NOAA @aerorahul @junwang-noaa @jiandewang
parsing_namelists_WW3.sh @WalterKolczynski-NOAA @aerorahul @JessicaMeixner-NOAA @sbanihash
parsing_ufs_configure.sh @WalterKolczynski-NOAA @aerorahul @junwang-noaa
preamble.sh @WalterKolczynski-NOAA
product_functions.sh @WalterKolczynski-NOAA @aerorahul
radmon_*.sh @EdwardSafford-NOAA
rstprod.sh @WalterKolczynski-NOAA @DavidHuber-NOAA
run_mpmd.sh @WalterKolczynski-NOAA @aerorahul @DavidHuber-NOAA
syndat_getjtbul.sh @JiayiPeng-NOAA
syndat_qctropcy.sh @JiayiPeng-NOAA
tropcy_relocate.sh @JiayiPeng-NOAA
tropcy_relocate_extrkr.sh @JiayiPeng-NOAA
wave_*.sh @JessicaMeixner-NOAA @sbanihash

# ush/python
ush/python/pygfs/jedi/__init__.py @aerorahul @DavidNew-NOAA
ush/python/pygfs/jedi/jedi.py @DavidNew-NOAA
ush/python/pygfs/task/__init__.py @aerorahul
ush/python/pygfs/task/aero_analysis.py @DavidNew-NOAA @CoryMartin-NOAA
ush/python/pygfs/task/aero_bmatrix.py @DavidNew-NOAA @CoryMartin-NOAA
ush/python/pygfs/task/aero_emissions.py @bbakernoaa
ush/python/pygfs/task/aero_prepobs.py @CoryMartin-NOAA
ush/python/pygfs/task/analysis.py @DavidNew-NOAA @RussTreadon-NOAA
ush/python/pygfs/task/archive.py @DavidHuber-NOAA
ush/python/pygfs/task/atm_analysis.py @DavidNew-NOAA @RussTreadon-NOAA
ush/python/pygfs/task/atmens_analysis.py @DavidNew-NOAA @RussTreadon-NOAA
ush/python/pygfs/task/bmatrix.py @DavidNew-NOAA
ush/python/pygfs/task/gfs_forecast.py @aerorahul
ush/python/pygfs/task/marine_analysis.py @guillaumevernieres @AndrewEichmann-NOAA
ush/python/pygfs/task/marine_bmat.py @guillaumevernieres @AndrewEichmann-NOAA
ush/python/pygfs/task/marine_letkf.py @guillaumevernieres @AndrewEichmann-NOAA
ush/python/pygfs/task/oceanice_products.py @aerorahul @GwenChen-NOAA
ush/python/pygfs/task/snow_analysis.py @jiaruidong2017
ush/python/pygfs/task/snowens_analysis.py @jiaruidong2017
ush/python/pygfs/task/stage_ic.py @KateFriedman-NOAA
ush/python/pygfs/task/upp.py @aerorahul @WenMeng-NOAA
ush/python/pygfs/ufswm/__init__.py @aerorahul
ush/python/pygfs/ufswm/gfs.py @aerorahul
ush/python/pygfs/ufswm/ufs.py @aerorahul
ush/python/pygfs/utils/__init__.py @aerorahul
ush/python/pygfs/utils/marine_da_utils.py @guillaumevernieres @AndrewEichmann-NOAA

# Specific workflow scripts
workflow/generate_workflows.sh @DavidHuber-NOAA
1 change: 1 addition & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,4 +72,5 @@ Example:
- [ ] My changes generate no new warnings
- [ ] New and existing tests pass with my changes
- [ ] This change is covered by an existing CI test or a new one has been added
- [ ] Any new scripts have been added to the .github/CODEOWNERS file with owners
- [ ] I have made corresponding changes to the system documentation if necessary
2 changes: 1 addition & 1 deletion ci/cases/gfsv17/C384mx025_3DVarAOWCDA.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ arguments:
resdetatmos: 384
resdetocean: 0.25
nens: 0
gfs_cyc: 4
interval: 6
start: cold
comroot: {{ 'RUNTESTS' | getenv }}/COMROOT
expdir: {{ 'RUNTESTS' | getenv }}/EXPDIR
Expand Down
2 changes: 1 addition & 1 deletion ci/cases/pr/C48_S2SWA_gefs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ arguments:
resdetocean: 5.0
resensatmos: 48
nens: 2
gfs_cyc: 1
interval: 24
start: cold
comroot: {{ 'RUNTESTS' | getenv }}/COMROOT
expdir: {{ 'RUNTESTS' | getenv }}/EXPDIR
Expand Down
2 changes: 1 addition & 1 deletion ci/cases/pr/C48mx500_3DVarAOWCDA.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ arguments:
idate: 2021032412
edate: 2021032418
nens: 0
gfs_cyc: 0
interval: 0
start: warm
yaml: {{ HOMEgfs }}/ci/cases/yamls/soca_gfs_defaults_ci.yaml

Expand Down
2 changes: 1 addition & 1 deletion ci/cases/pr/C96C48_hybatmDA.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ arguments:
idate: 2021122018
edate: 2021122106
nens: 2
gfs_cyc: 1
interval: 24
start: cold
yaml: {{ HOMEgfs }}/ci/cases/yamls/gfs_defaults_ci.yaml
2 changes: 1 addition & 1 deletion ci/cases/pr/C96C48_hybatmaerosnowDA.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ arguments:
idate: 2021122012
edate: 2021122100
nens: 2
gfs_cyc: 1
interval: 24
start: cold
yaml: {{ HOMEgfs }}/ci/cases/yamls/atmaerosnowDA_defaults_ci.yaml

Expand Down
2 changes: 1 addition & 1 deletion ci/cases/pr/C96C48_ufs_hybatmDA.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ arguments:
idate: 2024022318
edate: 2024022406
nens: 2
gfs_cyc: 1
interval: 24
start: warm
yaml: {{ HOMEgfs }}/ci/cases/yamls/ufs_hybatmDA_defaults.ci.yaml

Expand Down
5 changes: 4 additions & 1 deletion ci/cases/pr/C96_S2SWA_gefs_replay_ics.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,14 @@ arguments:
resdetocean: 1.0
resensatmos: 96
nens: 2
gfs_cyc: 1
interval: 6
start: warm
comroot: {{ 'RUNTESTS' | getenv }}/COMROOT
expdir: {{ 'RUNTESTS' | getenv }}/EXPDIR
idate: 2020110100
edate: 2020110100
yaml: {{ HOMEgfs }}/ci/cases/yamls/gefs_replay_ci.yaml
icsdir: {{ 'ICSDIR_ROOT' | getenv }}/C96mx100/20240610

skip_ci_on_hosts:
- wcoss2
2 changes: 1 addition & 1 deletion ci/cases/pr/C96_atm3DVar.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ arguments:
idate: 2021122018
edate: 2021122106
nens: 0
gfs_cyc: 1
interval: 24
start: cold
yaml: {{ HOMEgfs }}/ci/cases/yamls/gfs_defaults_ci.yaml

Expand Down
2 changes: 1 addition & 1 deletion ci/cases/pr/C96_atm3DVar_extended.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ arguments:
idate: 2021122018
edate: 2021122118
nens: 0
gfs_cyc: 4
interval: 6
start: cold
yaml: {{ HOMEgfs }}/ci/cases/yamls/gfs_extended_ci.yaml

Expand Down
2 changes: 1 addition & 1 deletion ci/cases/weekly/C384C192_hybatmda.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ arguments:
idate: 2023040118
edate: 2023040200
nens: 2
gfs_cyc: 1
interval: 24
start: cold
yaml: {{ HOMEgfs }}/ci/cases/yamls/gfs_defaults_ci.yaml
2 changes: 1 addition & 1 deletion ci/cases/weekly/C384_atm3DVar.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ arguments:
idate: 2023040118
edate: 2023040200
nens: 0
gfs_cyc: 1
interval: 24
start: cold
yaml: {{ HOMEgfs }}/ci/cases/yamls/gfs_defaults_ci.yaml
2 changes: 1 addition & 1 deletion ci/scripts/utils/launch_java_agent.sh
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ export GH="${HOME}/bin/gh"
[[ -f "${GH}" ]] || echo "gh is not installed in ${HOME}/bin"
${GH} --version

check_mark=$(gh auth status -t 2>&1 | grep "Token:" | awk '{print $1}') || true
check_mark=$("${GH}" auth status -t 2>&1 | grep "Token:" | awk '{print $1}') || true
if [[ "${check_mark}" != "" ]]; then
echo "gh not authenticating with emcbot token"
exit 1
Expand Down
2 changes: 1 addition & 1 deletion docs/source/clone.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Quick Instructions
Quick clone/build/link instructions (more detailed instructions below).

.. note::
Here we are making the assumption that you are using the workflow to run an experiment and so are working from the authoritative repository. If you are using a development branch then follow the instructions in :doc:`development.rst`. Once you do that you can follow the instructions here with the only difference being the repository/fork you are cloning from.
Here we are making the assumption that you are using the workflow to run an experiment and so are working from the authoritative repository. If you are using a development branch then follow the instructions in :doc:`development`. Once you do that you can follow the instructions here with the only difference being the repository/fork you are cloning from.

Clone the `global-workflow` and `cd` into the `sorc` directory:

Expand Down
25 changes: 24 additions & 1 deletion docs/source/development.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Code managers

* Kate Friedman - @KateFriedman-NOAA / [email protected]
* Walter Kolczynski - @WalterKolczynski-NOAA / [email protected]
* David Huber - @DavidHuber-NOAA / [email protected]

.. _development:

Expand Down Expand Up @@ -70,7 +71,29 @@ The following steps should be followed in order to make changes to the develop b
Development Tools
=================

See the ``/test`` folder in global-workflow for available development and testing tools.
Two sets of testing are available for use by developers. The first is the capability to run continuous integration tests locally and the second are a set of comparison tools.

---------------------------
Continuous Integration (CI)
---------------------------

The global workflow comes fitted with a suite of system tests that run various types of workflow. These tests are commonly run for pull requests before they may be merged into the develop branch. At a minimum, developers are expected to run the CI test(s) that will be impacted by their changes on at least one platform.

The commonly run tests are written in YAML format and can be found in the ``ci/cases/pr`` directory. The ``workflow/generate_workflows.sh`` tool is available to aid running these cases. See the help documentation by running ``./generate_workflows.sh -h``. The script has the capability to prepare the EXPDIR and COMROOT directories for a specified or implied suite of CI tests (see :doc:`setup` for details on these directories). The script also has options to automatically build and run all tests for a given system (i.e. GFS or GEFS and a placeholder for SFS). For instance, to build the workflow and run all of the GFS tests, one would execute

::

cd workflow
./generate_workflows.sh -A "your_hpc_account" -b -G -c /path/to/root/directory

where:

* ``-A`` is used to specify the HPC (slurm or PBS) account to use
* ``-b`` indicates that the workflow should be built fresh
* ``-G`` specifies that all of the GFS cases should be run (this also influences the build flags to use)
* ``-c`` tells the tool to append the rocotorun commands for each experiment to your crontab

More details on how to use the tool are provided by running ``generate_workflows.sh -h``.

----------------
Comparison Tools
Expand Down
4 changes: 2 additions & 2 deletions docs/source/hpc.rst
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,9 @@ Optimizing the global workflow on S4

The S4 cluster is relatively small and so optimizations are recommended to improve cycled runtimes. Please contact Innocent Souopgui ([email protected]) if you are planning on running a cycled experiment on this system to obtain optimized configuration files.

========================================
==================================================
Stacksize on R&Ds (Hera, Orion, Hercules, Jet, S4)
========================================
==================================================

Some GFS components, like the UPP, need an unlimited stacksize. Add the following setting into your appropriate .*rc file to support these components:

Expand Down
Loading

0 comments on commit 2fcfbe9

Please sign in to comment.