Skip to content

Commit

Permalink
Move machine-based options from config.base to host files (#3053)
Browse files Browse the repository at this point in the history
This moves all machine-specific options to the workflow/hosts files from
the config.* files.

This also turns HPSS archiving on for WCOSS2 by default.
This turns OFF UFS DA tests on WCOSS2.

Resolves #2942
Resolves #3087

---------

Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
Co-authored-by: Rahul Mahajan <[email protected]>
  • Loading branch information
3 people authored Nov 13, 2024
1 parent 1872499 commit 3e78e58
Show file tree
Hide file tree
Showing 21 changed files with 100 additions and 95 deletions.
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 @@ -21,4 +21,4 @@ skip_ci_on_hosts:
- gaea
- orion
- hercules

- wcoss2
1 change: 0 additions & 1 deletion ci/cases/yamls/ufs_hybatmDA_defaults.ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,3 @@ nsst:
NST_MODEL: "1"
sfcanl:
DONST: "NO"

3 changes: 3 additions & 0 deletions modulefiles/module_gwsetup.wcoss2.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,8 @@ Load environment to run GFS workflow ci scripts on WCOSS2

prepend_path("MODULEPATH", "/apps/ops/test/nco/modulefiles/core")
load(pathJoin("rocoto","1.3.5"))
load(pathJoin("PrgEnv-intel"))
load(pathJoin("intel","19.1.3.304"))
load(pathJoin("python", "3.8.6"))

whatis("Description: GFS run setup environment")
4 changes: 2 additions & 2 deletions parm/archive/gfs_downstream.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ gfs_downstream:
- "{{ COMIN_ATMOS_GEMPAK | relpath(ROTDIR) }}/gfs_{{ cycle_YMDH }}.sfc"
- "{{ COMIN_ATMOS_GEMPAK | relpath(ROTDIR) }}/gfs_{{ cycle_YMDH }}.snd"
{% for i in range(1, NUM_SND_COLLECTIVES) %}
- "{{ COMIN_ATMOS_WMO | relpath(ROTDIR) }}/gfs_collective{{ i }}.postsnd_{{ cycle_HH }}"
- "{{ COMIN_ATMOS_BUFR | relpath(ROTDIR) }}/gfs_collective{{ i }}.fil"
{% endfor %}
- "{{ COMIN_ATMOS_BUFR | relpath(ROTDIR) }}/bufr.t{{ cycle_HH }}z"
- "{{ COMIN_ATMOS_BUFR | relpath(ROTDIR) }}/bufr.??????.{{ cycle_YMDH }}"
- "{{ COMIN_ATMOS_BUFR | relpath(ROTDIR) }}/gfs.t{{ cycle_HH }}z.bufrsnd.tar.gz"
13 changes: 3 additions & 10 deletions parm/config/gefs/config.base
Original file line number Diff line number Diff line change
Expand Up @@ -210,12 +210,11 @@ case "${APP}" in
if [[ "${APP}" =~ ^S2SW ]]; then
export DO_WAVE="YES"
export WAVE_RUN="both"
export cplwav2atm=".true."
fi
;;
*)
echo "Unrecognized APP: ${1}"
exit 1
echo "FATAL ERROR: Unrecognized APP: '${APP}'"
exit 2
;;
esac

Expand Down Expand Up @@ -327,7 +326,7 @@ export HPSSARCH="@HPSSARCH@" # save data to HPSS archive
export LOCALARCH="@LOCALARCH@" # save data to local archive
if [[ ${HPSSARCH} = "YES" ]] && [[ ${LOCALARCH} = "YES" ]]; then
echo "Both HPSS and local archiving selected. Please choose one or the other."
exit 2
exit 3
fi
export ARCH_CYC=00 # Archive data at this cycle for warm_start capability
export ARCH_WARMICFREQ=4 # Archive frequency in days for warm_start capability
Expand All @@ -338,10 +337,4 @@ export DELETE_COM_IN_ARCHIVE_JOB="YES" # NO=retain ROTDIR. YES default in arc
# Number of regional collectives to create soundings for
export NUM_SND_COLLECTIVES=${NUM_SND_COLLECTIVES:-9}

# The tracker, genesis, and METplus jobs are not supported on CSPs yet
# TODO: we should place these in workflow/hosts/[aws|azure|google]pw.yaml as part of CSP's setup, not for general.
if [[ "${machine}" =~ "PW" ]]; then
export DO_WAVE="NO"
fi

echo "END: config.base"
30 changes: 1 addition & 29 deletions parm/config/gfs/config.aero
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,8 @@

# UFS-Aerosols settings

# Turn off warnings about unused variables
# shellcheck disable=SC2034


# Path to the input data tree
case ${machine} in
"HERA")
AERO_INPUTS_DIR="/scratch1/NCEPDEV/global/glopara/data/gocart_emissions"
;;
"ORION" | "HERCULES")
AERO_INPUTS_DIR="/work2/noaa/global/wkolczyn/noscrub/global-workflow/gocart_emissions"
;;
"S4")
AERO_INPUTS_DIR="/data/prod/glopara/gocart_emissions"
;;
"WCOSS2")
AERO_INPUTS_DIR="/lfs/h2/emc/global/noscrub/emc.global/data/gocart_emissions"
;;
"GAEA")
AERO_INPUTS_DIR="/gpfs/f5/epic/proj-shared/global/glopara/data/gocart_emissions"
;;
"JET")
AERO_INPUTS_DIR="/lfs5/HFIP/hfv3gfs/glopara/data/gocart_emissions"
;;
*)
echo "FATAL ERROR: Machine ${machine} unsupported for aerosols"
exit 2
;;
esac
export AERO_INPUTS_DIR
export AERO_INPUTS_DIR=@AERO_INPUTS_DIR@

export AERO_DIAG_TABLE="${PARMgfs}/ufs/fv3/diag_table.aero"
export AERO_FIELD_TABLE="${PARMgfs}/ufs/fv3/field_table.aero"
Expand Down
20 changes: 2 additions & 18 deletions parm/config/gfs/config.base
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ case "${APP}" in
;;
*)
echo "Unrecognized APP: '${APP}'"
exit 1
exit 2
;;
esac

Expand Down Expand Up @@ -462,7 +462,7 @@ export HPSSARCH="@HPSSARCH@" # save data to HPSS archive
export LOCALARCH="@LOCALARCH@" # save data to local archive
if [[ ${HPSSARCH} = "YES" ]] && [[ ${LOCALARCH} = "YES" ]]; then
echo "Both HPSS and local archiving selected. Please choose one or the other."
exit 2
exit 3
fi
export ARCH_CYC=00 # Archive data at this cycle for warm_start capability
export ARCH_WARMICFREQ=4 # Archive frequency in days for warm_start capability
Expand All @@ -483,20 +483,4 @@ export OFFSET_START_HOUR=0
# Number of regional collectives to create soundings for
export NUM_SND_COLLECTIVES=${NUM_SND_COLLECTIVES:-9}

# The tracker, genesis, and METplus jobs are not supported on CSPs yet
# TODO: we should place these in workflow/hosts/awspw.yaml as part of AWS/AZURE setup, not for general.
if [[ "${machine}" =~ "PW" ]]; then
export DO_TRACKER="NO"
export DO_GENESIS="NO"
export DO_METP="NO"
export DO_WAVE="NO"
fi

# The tracker and genesis are not installed on Orion/Hercules yet; this requires spack-stack builds of the package.
# TODO: we should place these in workflow/hosts/[orion|hercules].yaml.
if [[ "${machine}" == "ORION" || "${machine}" == "HERCULES" ]]; then
export DO_TRACKER="NO"
export DO_GENESIS="NO"
fi

echo "END: config.base"
7 changes: 6 additions & 1 deletion parm/config/gfs/config.prepoceanobs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,12 @@ export OBS_LIST=@SOCA_OBS_LIST@
export OBS_YAML=${OBS_LIST}

# ocean analysis needs own dmpdir until standard dmpdir has full ocean obs
export DMPDIR=@DMPDIR@
use_exp_obs="@use_exp_obs@"
if [[ "${use_exp_obs}" == "YES" ]]; then
dmpdir_exp="@dmpdir_exp@"
fi

export DMPDIR="${dmpdir_exp:-${DMPDIR}}"

# For BUFR2IODA json and python scripts
export JSON_TMPL_DIR="${PARMgfs}/gdas/ioda/bufr2ioda"
Expand Down
7 changes: 6 additions & 1 deletion parm/config/gfs/yaml/defaults.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,9 @@ prepoceanobs:
SOCA_INPUT_FIX_DIR: "${FIXgfs}/gdas/soca/72x35x25/soca"
SOCA_OBS_LIST: "${PARMgfs}/gdas/soca/obs/obs_list.yaml" # TODO: This is also repeated in ocnanal
OBSPREP_YAML: "${PARMgfs}/gdas/soca/obsprep/obsprep_config.yaml"
DMPDIR: "${BASE_DATA}/experimental_obs"
use_exp_obs: "YES"
dmpdir_exp: "${BASE_DATA}/experimental_obs"

# config.aero has just a system-specific path to add.
# This is handled by the setup_expt.py, but it has to be told to write to it.
aero: {}
2 changes: 2 additions & 0 deletions workflow/generate_workflows.sh
Original file line number Diff line number Diff line change
Expand Up @@ -150,10 +150,12 @@ while [[ $# -gt 0 && "$1" != "--" ]]; do
:)
echo "[${BASH_SOURCE[0]}]: ${option} requires an argument"
_usage
exit 1
;;
*)
echo "[${BASH_SOURCE[0]}]: Unrecognized option: ${option}"
_usage
exit 1
;;
esac
done
Expand Down
4 changes: 4 additions & 0 deletions workflow/hosts/awspw.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,8 @@ LOCALARCH: 'NO'
ATARDIR: '' # TODO: This will not yet work from AWS.
MAKE_NSSTBUFR: 'NO'
MAKE_ACFTBUFR: 'NO'
DO_TRACKER: 'NO'
DO_GENESIS: 'NO'
DO_METP: 'NO'
SUPPORT_WAVES: 'NO'
SUPPORTED_RESOLUTIONS: ['C48', 'C96'] # TODO: Test and support all cubed-sphere resolutions.
1 change: 1 addition & 0 deletions workflow/hosts/azurepw.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,5 @@ LOCALARCH: 'NO'
ATARDIR: '' # TODO: This will not yet work from AZURE.
MAKE_NSSTBUFR: 'NO'
MAKE_ACFTBUFR: 'NO'
SUPPORT_WAVES: 'NO'
SUPPORTED_RESOLUTIONS: ['C48', 'C96'] # TODO: Test and support all cubed-sphere resolutions.
1 change: 1 addition & 0 deletions workflow/hosts/gaea.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,4 @@ ATARDIR: '${NOSCRUB}/archive_rotdir/${PSLOT}'
MAKE_NSSTBUFR: 'NO'
MAKE_ACFTBUFR: 'NO'
SUPPORTED_RESOLUTIONS: ['C1152', 'C768', 'C384', 'C192', 'C96', 'C48']
AERO_INPUTS_DIR: /gpfs/f5/epic/proj-shared/global/glopara/data/gocart_emissions
1 change: 1 addition & 0 deletions workflow/hosts/googlepw.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,5 @@ LOCALARCH: 'NO'
ATARDIR: '' # TODO: This will not yet work from GOOGLE.
MAKE_NSSTBUFR: 'NO'
MAKE_ACFTBUFR: 'NO'
SUPPORT_WAVES: 'NO'
SUPPORTED_RESOLUTIONS: ['C48', 'C96'] # TODO: Test and support all cubed-sphere resolutions.
1 change: 1 addition & 0 deletions workflow/hosts/hera.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,4 @@ SUPPORTED_RESOLUTIONS: ['C1152', 'C768', 'C384', 'C192', 'C96', 'C48']
COMINecmwf: /scratch1/NCEPDEV/global/glopara/data/external_gempak/ecmwf
COMINnam: /scratch1/NCEPDEV/global/glopara/data/external_gempak/nam
COMINukmet: /scratch1/NCEPDEV/global/glopara/data/external_gempak/ukmet
AERO_INPUTS_DIR: /scratch1/NCEPDEV/global/glopara/data/gocart_emissions
3 changes: 3 additions & 0 deletions workflow/hosts/hercules.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,10 @@ LOCALARCH: 'NO'
ATARDIR: '${NOSCRUB}/archive_rotdir/${PSLOT}'
MAKE_NSSTBUFR: 'NO'
MAKE_ACFTBUFR: 'NO'
DO_TRACKER: 'NO'
DO_GENESIS: 'NO'
SUPPORTED_RESOLUTIONS: ['C1152', 'C768', 'C384', 'C192', 'C96', 'C48']
COMINecmwf: /work/noaa/global/glopara/data/external_gempak/ecmwf
COMINnam: /work/noaa/global/glopara/data/external_gempak/nam
COMINukmet: /work/noaa/global/glopara/data/external_gempak/ukmet
AERO_INPUTS_DIR: /work2/noaa/global/wkolczyn/noscrub/global-workflow/gocart_emissions
1 change: 1 addition & 0 deletions workflow/hosts/jet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,4 @@ SUPPORTED_RESOLUTIONS: ['C384', 'C192', 'C96', 'C48']
COMINecmwf: /mnt/lfs5/HFIP/hfv3gfs/glopara/data/external_gempak/ecmwf
COMINnam: /mnt/lfs5/HFIP/hfv3gfs/glopara/data/external_gempak/nam
COMINukmet: /mnt/lfs5/HFIP/hfv3gfs/glopara/data/external_gempak/ukmet
AERO_INPUTS_DIR: /lfs5/HFIP/hfv3gfs/glopara/data/gocart_emissions
3 changes: 3 additions & 0 deletions workflow/hosts/orion.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,10 @@ LOCALARCH: 'NO'
ATARDIR: '${NOSCRUB}/archive_rotdir/${PSLOT}'
MAKE_NSSTBUFR: 'NO'
MAKE_ACFTBUFR: 'NO'
DO_TRACKER: 'NO'
DO_GENESIS: 'NO'
SUPPORTED_RESOLUTIONS: ['C1152', 'C768', 'C384', 'C192', 'C96', 'C48']
COMINecmwf: /work/noaa/global/glopara/data/external_gempak/ecmwf
COMINnam: /work/noaa/global/glopara/data/external_gempak/nam
COMINukmet: /work/noaa/global/glopara/data/external_gempak/ukmet
AERO_INPUTS_DIR: /work2/noaa/global/wkolczyn/noscrub/global-workflow/gocart_emissions
1 change: 1 addition & 0 deletions workflow/hosts/s4.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,4 @@ ATARDIR: '${NOSCRUB}/archive_rotdir/${PSLOT}'
MAKE_NSSTBUFR: 'YES'
MAKE_ACFTBUFR: 'YES'
SUPPORTED_RESOLUTIONS: ['C384', 'C192', 'C96', 'C48']
AERO_INPUTS_DIR: /data/prod/glopara/gocart_emissions
1 change: 1 addition & 0 deletions workflow/hosts/wcoss2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,4 @@ SUPPORTED_RESOLUTIONS: ['C1152', 'C768', 'C384', 'C192', 'C96', 'C48']
COMINecmwf: /lfs/h2/emc/global/noscrub/emc.global/data/external_gempak/ecmwf
COMINnam: /lfs/h2/emc/global/noscrub/emc.global/data/external_gempak/nam
COMINukmet: /lfs/h2/emc/global/noscrub/emc.global/data/external_gempak/ukmet
AERO_INPUTS_DIR: /lfs/h2/emc/global/noscrub/emc.global/data/gocart_emissions
Loading

0 comments on commit 3e78e58

Please sign in to comment.