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

WCOSS2 run support and script/config updates #1030

Merged
merged 147 commits into from
Sep 29, 2022

Conversation

KateFriedman-NOAA
Copy link
Member

@KateFriedman-NOAA KateFriedman-NOAA commented Sep 22, 2022

Description

This PR includes script and run support updates for running the develop branch on WCOSS2. This PR does not include resource updates for running on WCOSS2 and does not complete the port to WCOSS2. Additional WCOSS2 develop port PRs will follow this PR.

Changes in this PR mostly address the following:

  1. WCOSS2 port changes requested by NCO (e.g. NWPROD/NWROOT -> PACKAGEROOT) in the move of operations to WCOSS2 in the past year.
  2. Adding WCOSS2 support in the way of creating WCOSS2.env, a wcoss2.yaml hosts file for rocoto, and config updates.
  3. Some cleanup that was also done in the operations GFS port to WCOSS2.

More specifically, the changes in this PR are:

  1. Create WCOSS2.env under the env folder.
  2. Remove references/usage of jlogfile thoughout.
  3. Change NWPROD to PACKAGEROOT throughout.
  4. Replace NWROOT with OPSROOT where appropriate.
  5. Env file updates (non-WCOSS2):
  • Update "anal" if block in HERA.env and ORION.env to add "or" for "analcalc"; needed to match similar setting in WCOSS2.env and change in jobs/JGLOBAL_ATMOS_ANALYSIS_CALC
  1. Update JJOB scripts:
  • Update jobs/JGLOBAL_ATMOS_ANALYSIS_CALC to pass "analcalc" to env file instead of "anal"
  • Move config and env file sourcing from rocoto job scripts into JJOBs for gempak
  • Update the default COM* paths to utilize compath.py and the new compath.py format; includes updating COMINukmet and COMINecmwf defaults to new compath.py format
  • Add COMINobsproc to jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF
  • Replace COMINgfs with COMINobsproc and replace COMINgfs_m6hrs with COMIN_m6hrs in jobs/JGLOBAL_ATMOS_EMCSFC_SFC_PREP
  • Update ARCHSYND, HOMENHC and TANK_TROPCY in jobs/JGLOBAL_ATMOS_TROPCY_QC_RELOC, remove HOMENHCp1
  • Update default APRUN commands for several downstream jobs (mpirun -> mpiexec)
  • Set wavempexec to wavempexec instead of launcher in jobs/JGLOBAL_WAVE_INIT
  • Correct list of configs to source in jobs/JGLOBAL_WAVE_POST_BNDPNTBLL to include wavepostbndpntbll instead wavepostbndpnt
  • Update how PDY is invoked (. PDY to . ./PDY)
  • Update the RUN and RUN2 variables in jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC
  • Some cleanup to remove unneeded RUN_ENVIR=nco checks and some extra whitespaces.
  1. Update rocoto job scripts:
  • Move config and env sourcing out of gempak rocoto job scripts (moved to JJOB scripts); also change to invoke JJOB directly and add exit $status
  • Update fit2obs and tracker section of jobs/rocoto/vrfy.sh
  • Add missing env file sourcing to jobs/rocoto/wafsgcip.sh
  1. Update module_base.wcoss2.lua to use para version of ncdiag module (update to use official ops install later)
  2. Updates to configs:
  • Whitespace cleanup in config.anal
  • Add export nth_echgres=$nth_echgres_gfs when CDUMP=gfs in config.analcalc
  • Add COMINsyn to config.base.emc.dyn
  • Update ROTDIR in config.base.nco.static
  • Change OUTPUT_FILETYPE_ variables to be "netcdf" on all machines in config.efcs
  • Updates to config.fv3.nco.static: remove non-WCOSS2 references, add npe_node_max=128 for WCOSS2, change C384 DELTIM to 200 (ops value), and update variables for C384/C768 to ops values
  • Remove GEMPAKSH=$HOMEgfs/jobs/JGFS_ATMOS_GEMPAK line in config.gempak; now invoking $HOMEgfs/jobs/JGFS_ATMOS_GEMPAK directly in the JJOB
  • Update COMINsyn default in config.prep and config.vrfy
  • Create config.resources.nco.static, copy from operations; will need updating for GFSv17 opd
  • Tracker updates in config.vrfy
  1. Updates to scripts:
  • Updates to RUN and RUN2 variables in scripts/exgdas_atmos_nawips.sh, scripts/exgfs_atmos_goes_nawips.sh, and scripts/exgfs_atmos_nawips.sh
  • Replace COMINgfs with COMINobsproc in scripts/exgfs_atmos_gempak_gif_ncdc_skew_t.sh
  • Update APRUN in scripts/exgfs_atmos_gempak_meta.sh (mpirun -> mpiexec)
  1. Update sorc/link_workflow.sh to also copy the appropriate versions of config.fv3 and config.resources in NCO mode.
  2. Updates to ush scripts:
  • Remove references to NWPROD and replace with appropriate variables or paths.
  • Add echos to ush/gfs_bufr.sh to print out the specific forecast hour files for SPAs to check in case of failure. (Added by GDIT and Bo Cui)
  • Delete ush/global_extrkr.sh (not used anywhere anymore).
  1. Update util source codes to build with ftn and include -g -traceback FFLAGS
  2. Updates to setup script files:
  • Replace nwprod with packageroot in hosts files and setup_expt.py.
  • Create wcoss2.yaml host file.
  • Update workflow_tasks.py to set native xml tag for pbspro.

Issue #419

Type of change

  • New feature (non-breaking change which adds functionality)

How Has This Been Tested?

  • Clone and build tests on WCOSS2, Hera, and Orion
  • Cycled atmos-only tests on WCOSS2, Hera, and Orion (C192C96L127 on all machines and C768C384L127 on WCOSS2)
  • Forecast-only coupled tests on Hera and Orion

No downstream/ops-only jobs were invoked in testing, however updates to those job scripts are included in this PR.

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • My changes need updates to the documentation. I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • New and existing tests pass with my changes
  • Any dependent changes have been merged and published

KateFriedman-NOAA and others added 30 commits September 9, 2021 14:57
- the "EMC_post" repository was renamed to "UPP" on September 6th 2021
- update repository url in checkout script and Externals.cfg

Refs: NOAA-EMC#433
- commit GFSv16.2 WCOSS2 operational GFS defs files as of April 7th 2022
- final changes to defs files will be merged later

Refs: NOAA-EMC#399
- Change COMROOT/comroot back to prior path on Hera.
- Add cominsyn to setup_expt.py and hosts files to set COMINsyn
in config.base[.emc.dyn] on supported platforms.
- When syndat is added to ops mirror to Hera change comroot to
new mirror location to get syndat.

Refs NOAA-EMC#419
- Change default for PACKAGEROOT and crtm_ver to ?.

Refs NOAA-EMC#419
- Will make change to code makefile in new utils repo as needed.

Refs NOAA-EMC#419
* develop:
  Fix radiance verification failing to find diag files (NOAA-EMC#1031)
  Supported resolutions on platforms and defaults for mode (NOAA-EMC#1026)
@KateFriedman-NOAA
Copy link
Member Author

Sync merged with develop and resolved conflict in workflow/hosts/orion.yaml.

Copy link

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found 92 potential problems in the proposed changes. Check the Files changed tab for more details.

@KateFriedman-NOAA
Copy link
Member Author

@WalterKolczynski-NOAA I believe I have addressed your comments. Let me know if not or if you have any others. Thanks!

Copy link

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found 92 potential problems in the proposed changes. Check the Files changed tab for more details.

Copy link

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found 92 potential problems in the proposed changes. Check the Files changed tab for more details.

- New obsproc/prepobs changes will happen in separate PR

Refs NOAA-EMC#419
Copy link

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found 92 potential problems in the proposed changes. Check the Files changed tab for more details.

Copy link

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found 92 potential problems in the proposed changes. Check the Files changed tab for more details.

Copy link

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found 92 potential problems in the proposed changes. Check the Files changed tab for more details.

@WalterKolczynski-NOAA WalterKolczynski-NOAA mentioned this pull request Sep 29, 2022
8 tasks
@KateFriedman-NOAA KateFriedman-NOAA merged commit a62abc7 into NOAA-EMC:develop Sep 29, 2022
@KateFriedman-NOAA KateFriedman-NOAA deleted the feature/dev-wcoss2 branch September 29, 2022 15:11
KateFriedman-NOAA added a commit to KateFriedman-NOAA/global-workflow that referenced this pull request Jan 30, 2023
* develop:
  Correct issue in linking final restart files (NOAA-EMC#1285)
  Remove execute permissions from config files (NOAA-EMC#1281)
  Make needed updates to run forecast from GEFS (NOAA-EMC#1203)
  Remove unnecessary variables which reference to nemsio (NOAA-EMC#1259)
  Create analysis files for early-cycle EnKF by default (NOAA-EMC#1237)
  Don't wipe $DATA before running ocean bmat (NOAA-EMC#1280)
  More marine DA j-jobs (NOAA-EMC#1270)
  Update UFS-DA atmospheric prep script to be consistent with GDASApp update (NOAA-EMC#1265)
  Add new jjob for ocean analysis bmat (NOAA-EMC#1239)
  Retire ecf/versions in develop (NOAA-EMC#1267)
  Deploy documentation to RTD (NOAA-EMC#1264)
  Temporarily disable failing pytest (NOAA-EMC#1263)
  Remove incorrect/misleading comments in config.base (NOAA-EMC#1261)
  Add initial Sphinx documentation (NOAA-EMC#1258)
  Remove nemsio support (NOAA-EMC#1255)
  Increase wallclock for diag jobs (NOAA-EMC#1216)
  Use correct resources for GFS gempak (NOAA-EMC#1214)
  Abstract common j-job tasks (NOAA-EMC#1230)
  Add missing mkgfsawps.x link (NOAA-EMC#1218)
  Fix post sounding job (NOAA-EMC#1212)
  Revert "Use fracoro data for all new UFS applications (NOAA-EMC#1182)" (NOAA-EMC#1240)
  Use fracoro data for all new UFS applications (NOAA-EMC#1182)
  Revert "Merge GFS v16.3 operational GSI changes into develop branch. (NOAA-EMC#1158)" (NOAA-EMC#1238)
  Add more user defined parameters for the marine DA (NOAA-EMC#1235)
  Update pytests action version and run sequentially (NOAA-EMC#1236)
  Add utility to compare Fortran namelists (NOAA-EMC#1234)
  Updates for pygw (NOAA-EMC#1231)
  Merge GFS v16.3 operational GSI changes into develop branch. (NOAA-EMC#1158)
  Move member up in directory hierarchy (NOAA-EMC#1201)
  Enable staging ics for cycled experiments. (NOAA-EMC#1199)
  Add tests for configuration.py (NOAA-EMC#1192)
  Replace ocnanal_${CDATE}} with ${RUN}ocnanal_${cyc} (NOAA-EMC#1191)
  define NET and RUN in the Rocoto XML to accurately mimic the ecf in ecflow (NOAA-EMC#1193)
  Fix checking for restart files (NOAA-EMC#1186)
  Fix 'DEBUG' option in build_ufs.sh (NOAA-EMC#1188)
  Update archive job memory request value for R&Ds (NOAA-EMC#1183)
  Reorder post so all flux files are generated when running offline (NOAA-EMC#1181)
  Stop checking for restarts on non-GFS CDUMPs (NOAA-EMC#1179)
  Add missing jobids in some pre-job scripts (NOAA-EMC#1176)
  Remove existing directory if it exists when getic runs (NOAA-EMC#1165)
  Add logging decorator, test and test for yaml_file (NOAA-EMC#1178)
  fix coding norm check in `hosts.py` (NOAA-EMC#1174)
  Fix some bugs and make other changes so ctest in GDASApp works (NOAA-EMC#1172)
  Support for the GDASApp testing in containers (NOAA-EMC#1151)
  ATM 3DVAR with and without IAU (NOAA-EMC#1113)
  Enable checking for python norms and fix violating code (NOAA-EMC#1168)
  Enforce decimal math in atmos post (NOAA-EMC#1171)
  Update marine DA j-jobs to new format (NOAA-EMC#1149)
  Add utility to manipulate files en masse  (NOAA-EMC#1166)
  add action to run pytests (NOAA-EMC#1167)
  Pin `differential-shellcheck` to `v3` tag (NOAA-EMC#1162)
  Add a task base class and basic logger (NOAA-EMC#1160)
  Recursively convert dict to AttrDict when making an AttrDict (NOAA-EMC#1154)
  move configuration.py to pygw. Use it from there.  return AttrDict after sourcing configs (NOAA-EMC#1153)
  JEDI based Marine DA tasks (NOAA-EMC#1134)
  Allow customizations based on user/configuration (NOAA-EMC#1146)
  First step towards making j-jobs consistent in use from ecflow and rocoto (NOAA-EMC#1120)
  enable APP=S2SWA on WCOSS2 (NOAA-EMC#1142)
  Fix typo in .shellcheckrc
  Remove prod_envir module load from WCOSS2 (NOAA-EMC#1138)
  Link staged GSI fix files instead of cloning them from gerrit (NOAA-EMC#1132)
  Address shellcheck warnings in env files (NOAA-EMC#1136)
  Adds group size and nmem for GEFS (NOAA-EMC#1127)
  Remove unnecessary sCDATE assignment in forecast_predet.sh (NOAA-EMC#1133)
  Convert archive jobs to proper j-jobs (NOAA-EMC#1115)
  Update C48 forecast to run with one thread (NOAA-EMC#1131)
  Improved error messages from atmos analysis (NOAA-EMC#1125)
  Update MODULEPATH for Orion (NOAA-EMC#1126)
  MPMD variable updates and fix (NOAA-EMC#1124)
  Introduce FHMAX_ENKF_GFS to extending ensemble forecast capabilities (NOAA-EMC#1122)
  Update R&D launcher commands for tasks and multi-prog (NOAA-EMC#1112)
  Correct crtm path in UFS DA atmospheric analysis scripts (NOAA-EMC#1111)
  Correct syntax in remaining sorc scripts (NOAA-EMC#1105)
  Add GSI background error covariance as an option for UFS DA variational assimilation (NOAA-EMC#1104)
  Add Early Cycle EnKF workflow (NOAA-EMC#1022)
  Correct errors with gdas and monitoring symlinks (NOAA-EMC#1101)
  Fixed gfs-utils links (NOAA-EMC#1099)
  Fix build scripts and bring into compliance (NOAA-EMC#1096)
  Feature/updates for gdas app (NOAA-EMC#1091)
  Change GLDAS USE_CFP to NO on Hera (NOAA-EMC#1094)
  Resource updates to support WCOSS2 (NOAA-EMC#1070)
  Set COMPILER in link for detect machine (NOAA-EMC#1092)
  gfs utils update (NOAA-EMC#1088)
  GFS-UTILS update for build and ush scripts (NOAA-EMC#1082)
  Update UFS version to 2022 Oct 19 (NOAA-EMC#1083)
  Use more cycledefs for task control (NOAA-EMC#1078)
  removing superfluous EFSOI-specific files from develop (NOAA-EMC#1079)
  Update UFS to Sept 9 version (NOAA-EMC#1073)
  Modify default file location for monitor data when using rocoto (NOAA-EMC#1065)
  Fix companion ocean resolution for C48 (NOAA-EMC#1066)
  Add trailing slash for gldas topo path (NOAA-EMC#1064)
  Limit number of CPU for post (NOAA-EMC#1061)
  Fix eupd trace (NOAA-EMC#1057)
  Port to S4 (NOAA-EMC#1023)
  Update to obsproc.v1.0.2 and prepobs.v1.0.1 (NOAA-EMC#1049)
  Add GDAS to the partial build list (NOAA-EMC#1050)
  Fix group number being treated as octal in gdas arch (NOAA-EMC#1053)
  Remove trace from link script (NOAA-EMC#1046)
  Update gfs-utils hash to 3a609ea (NOAA-EMC#1048)
  Fix link script usage statement (NOAA-EMC#1045)
  Replace preamble variable commands with functions (NOAA-EMC#1012)
  Implement fix reorg and remove gfs-utils code (NOAA-EMC#1009)
  Rename post scripts (NOAA-EMC#1038)
  Fix missing @ symbol with COMINsyn in config.base (NOAA-EMC#1039)
  WCOSS2 run support and script/config updates (NOAA-EMC#1030)
  Remove base_svn from Hera and Orion hosts files (NOAA-EMC#1036)
  initial commit for incoming yaml work (NOAA-EMC#1029)
  Fix radiance verification failing to find diag files (NOAA-EMC#1031)
  Supported resolutions on platforms and defaults for mode (NOAA-EMC#1026)
  Add GLDAS scripts & fix GLDAS job (NOAA-EMC#1018)
  Update GSI Monitor for radmon fix
  Correct shell linter config (NOAA-EMC#1013)
  Correct diagnostic file handling in ush/ozn_xtrct.sh (NOAA-EMC#1016)
  Add shell linter Github action for pull requests (NOAA-EMC#1007)
  Build updates for WCOSS2 (NOAA-EMC#1002)
  Update UFS_UTILS tag to `ufs_utils_1_8_0` (NOAA-EMC#1001)
  Fix preamble id (NOAA-EMC#996)
  Add missing "atmos" into job dependencies (NOAA-EMC#998)
  Bugfix in arch.sh to remove hardwired "htar" (NOAA-EMC#992)
  Add in stubs for aerosol DA tasks + bugfix for setup_expt where cycled and ATMA are used (NOAA-EMC#990)
  Add GSI monitor scripts (NOAA-EMC#969)
  Fix product generation at some fcst hrs (NOAA-EMC#988)
  Add initial config files for global aerosol DA (NOAA-EMC#986)
  Update diag table to remove wav-ocn coupling fields (NOAA-EMC#979)
  use a robust Findwgrib2.cmake to find wgrib2 built w/ native wgrib2 build (NOAA-EMC#970)
  Externals.cfg was stale and had drifted off (NOAA-EMC#965)
  Fix post comparison with zero-padded numbers (NOAA-EMC#964)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
port Porting the system to a new platform
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants