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

Add GLDAS scripts & fix GLDAS job #1018

Merged

Conversation

KateFriedman-NOAA
Copy link
Member

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

Description

This PR:

  1. Adds the GLDAS scripts from the GLDAS repo (https://github.com/NOAA-EMC/GLDAS) into global-workflow (as described in issue Absorb GLDAS scripts #1014). The scripts are also
  • Updated to conform to recent script cleanup and enhancements (e.g. add preamble).
  • The scripts are removed from .gitignore and link_workflow.sh.
  • References to obsolete platforms (WCOSS_DELL_P3 and WCOSS_C) are removed.
  • Updates for CFP were made to use existing CFP variables and remove machine checks.
  • Updates were made to address linter/shellcheck warnings.
  1. Fixes GLDAS job by updating fix file settings to use updated fix set provided by @HelinWei-NOAA . (Issue gdasgldas task fails with Restart Tile Space Mismatch #622)

The following scripts are added to global-workflow:

GLDAS scripts were first added to branch as-is and then updates were made to address the following:

  • add preamble
  • convert scripts from ksh to bash
  • remove backticks and replace with substitutions
  • remove unneeded announcement echos
  • some general cleanup
  • resolve linter/shellcheck warnings

Fixes #622
Resolves #1014

Type of change

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

How Has This Been Tested?

  • Clone and build tests on Orion
  • C192C96L127 cold-started cycled test on Orion (21.5 cycles = 16.5 cycle spinup for GLDAS + 5 cycles after spinup with 2 00z cycles with GLDAS invoked)

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

- Remove GLDAS JJOB script from ignore file.
- Remove GLDAS exscript from ignore file.
- Remove GLDAS ush scripts from ignore file.

Refs NOAA-EMC#1014
- Remove symlink creation for GLDAS scripts in the workflow link script.
- Removal includes JJOB, ex-script, and ush script symlinks.

Refs NOAA-EMC#1014
- Initial copy of GLDAS JJOB, exscript, and ush scripts from GLDAS
repo into global-workflow.

Refs NOAA-EMC#1014
- Convert from ksh to bash.
- Convert backticks to substitutions.
- Add preamble.
- Remove announcements and general cleanup.

Refs NOAA-EMC#1014
@KateFriedman-NOAA KateFriedman-NOAA added the feature New feature or request label Sep 12, 2022
@KateFriedman-NOAA KateFriedman-NOAA self-assigned this Sep 12, 2022
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 100 potential problems in the proposed changes. Check the Files changed tab for more details.

- Remove references to WCOSS_DELL_P3 and WCOSS_C in GLDAS scripts.
- Update $HOMEgfs variable in GLDAS preable source lines to address
warnings from linter regarding:
1) HOMEgfs is referenced but not assigned.
2) Prefer putting braces around variable references even when not strictly required.

Refs NOAA-EMC#1014
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 100 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 100 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 100 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 100 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 100 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 100 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 100 potential problems in the proposed changes. Check the Files changed tab for more details.

- Address SC2016 (double instead of single quote for ERRSCRIPT
and SC2250 (curly braces).

Refs NOAA-EMC#1014
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 100 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 100 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 23 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 22 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 13 potential problems in the proposed changes. Check the Files changed tab for more details.

ush/gldas_forcing.sh Fixed Show fixed Hide fixed
ush/gldas_liscrd.sh Fixed Show fixed Hide fixed
jobs/JGDAS_ATMOS_GLDAS Fixed Show fixed Hide fixed
jobs/JGDAS_ATMOS_GLDAS Fixed Show fixed Hide fixed
jobs/JGDAS_ATMOS_GLDAS Fixed Show fixed Hide fixed
ush/gldas_liscrd.sh Fixed Show fixed Hide fixed
- Updates to set GLDAS fix files based on FRAC_GRID setting.
- Update scripts/exgdas_atmos_gldas.sh to set FIXgldas subfolder
based on value of FRAC_GRID: use "frac_grid" subfolder when .true.
or use "nonfrac_grid" subfolder when .false.
- Move FRAC_GRID variable from config.fcst to config.base since it will
now be used in more than just the forecast job.
- Also correct FIXgldas default in scripts/exgdas_atmos_gldas.sh to
add missing "/fix_gldas" path.

Refs NOAA-EMC#1014
…a.sh

- Update GLDAS scripts and config.fcst to address linter/shellcheck warnings.
- Update gldas_get_data.sh and gldas_process_data.sh to pass $iter variable
as argument in gldas_process_data.sh and give to preamble.

Refs NOAA-EMC#1014
parm/config/config.fcst Fixed Show fixed Hide fixed
parm/config/config.fcst Fixed Show fixed Hide fixed
parm/config/config.fcst Fixed Show fixed Hide fixed
parm/config/config.fcst Fixed Show fixed Hide fixed
jobs/JGDAS_ATMOS_GLDAS Fixed Show fixed Hide fixed
jobs/JGDAS_ATMOS_GLDAS Fixed Show fixed Hide fixed
@KateFriedman-NOAA
Copy link
Member Author

@aerorahul @WalterKolczynski-NOAA This PR is ready for your review. Since initiating it I have:

  1. Addressed and resolved all linter/shellcheck warnings.
  2. Adjusted how the GLDAS scripts use CFP but incorporating existing CFP variables (USE_CFP and CFP_MP) to remove machine checks.
  3. Fixed GLDAS job (issue gdasgldas task fails with Restart Tile Space Mismatch #622) by testing updated GLDAS fix files provided by @HelinWei-NOAA and updating GLDAS scripts to use them based on the value of the FRAC_GRID variable.

This PR will now resolve issues #622 and #1014.

@KateFriedman-NOAA KateFriedman-NOAA changed the title Add GLDAS scripts Add GLDAS scripts & fix GLDAS job Sep 19, 2022
jobs/JGDAS_ATMOS_GLDAS Outdated Show resolved Hide resolved
jobs/JGDAS_ATMOS_GLDAS Outdated Show resolved Hide resolved
parm/config/config.fcst Show resolved Hide resolved
scripts/exgdas_atmos_gldas.sh Show resolved Hide resolved
ush/gldas_forcing.sh Outdated Show resolved Hide resolved
ush/gldas_get_data.sh Outdated Show resolved Hide resolved
- Add missing indentation into ush/gldas_forcing.sh and ush/gldas_get_data.sh.

Refs NOAA-EMC#1014
Copy link
Contributor

@aerorahul aerorahul left a comment

Choose a reason for hiding this comment

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

Mostly looks good.
This PR basically brings in scripts from the GLDAS repo into global-workflow, and applies the linter recommended standards.

- Provide a value of "1" for new exit statements in GLDAS JJOB script.

Refs NOAA-EMC#1014
@KateFriedman-NOAA KateFriedman-NOAA merged commit a665817 into NOAA-EMC:develop Sep 22, 2022
@KateFriedman-NOAA KateFriedman-NOAA deleted the feature/gldas_scripts branch September 22, 2022 15:16
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
feature New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Absorb GLDAS scripts gdasgldas task fails with Restart Tile Space Mismatch
3 participants