Skip to content

Add zstandard compression to fv3atm; change references from "nems" to "ufs", allow file clobbering for GOCART history files (was #1948)#1932

Merged
jkbk2004 merged 45 commits into
ufs-community:developfrom
DusanJovic-NOAA:add_zstandard
Oct 31, 2023
Merged

Add zstandard compression to fv3atm; change references from "nems" to "ufs", allow file clobbering for GOCART history files (was #1948)#1932
jkbk2004 merged 45 commits into
ufs-community:developfrom
DusanJovic-NOAA:add_zstandard

Conversation

@DusanJovic-NOAA
Copy link
Copy Markdown
Collaborator

@DusanJovic-NOAA DusanJovic-NOAA commented Oct 4, 2023

PR Author Checklist:

  • I have linked PR's from all sub-components involved in section below.
  • I am confirming reviews are completed in ALL sub-component PR's.
  • I have run the full RT suite on either Hera/Cheyenne AND have attached the log to this PR below this line:
    • LOG:
  • I have added the list of all failed regression tests to "Anticipated changes" section.
  • I have filled out all sections of the template.

Description

Add option to enable zstandard compression in fv3atm.

New model_configure configuration parameter has been added (zstandard_level). Valid values are 0-19 (default is 0). Value 0 turns off compression, values 1-19 specify the level of compression (1=fastest compression, 19=best compression ratio),

This PR is combined with #1948 (@DeniseWorthen)

Linked Issues and Pull Requests

Associated UFSWM Issue to close

#1927

Subcomponent Pull Requests

NOAA-EMC/ufsatm#706

Blocking Dependencies

Subcomponents involved:

  • AQM
  • CDEPS
  • CICE
  • CMEPS
  • CMakeModules
  • FV3
  • GOCART
  • HYCOM
  • MOM6
  • NOAHMP
  • WW3
  • stochastic_physics
  • none

Anticipated Changes

Input data

  • No changes are expected to input data.
  • Changes are expected to input data:
    • New input data.
    • Updated input data.

Regression Tests:

  • No changes are expected to any regression test.
  • Changes are expected to the following tests:
Tests effected by changes in this PR:

Libraries

  • Not Needed
  • Needed
    • Create separate issue in JCSDA/spack-stack asking for update to library. Include library name, library version.
    • Add issue link from JCSDA/spack-stack following this item
Code Managers Log
  • This PR is up-to-date with the top of all sub-component repositories except for those sub-components which are the subject of this PR.
  • Move new/updated input data on RDHPCS Hera and propagate input data changes to all supported systems.
    • N/A

Testing Log:

  • RDHPCS
    • Hera
    • Orion
    • Hercules
    • Jet
    • Gaea
    • Cheyenne
  • WCOSS2
    • Dogwood/Cactus
    • Acorn
  • CI
    • Completed
  • opnReqTest
    • N/A
    • Log attached to comment

junwang-noaa
junwang-noaa previously approved these changes Oct 4, 2023
@DusanJovic-NOAA
Copy link
Copy Markdown
Collaborator Author

DusanJovic-NOAA commented Oct 5, 2023

On Hera the nccmp (version 1.9.0.1 from spack-stack) fails with 'Illegal instruction' error:

baseline dir = /scratch2/NAGAPE/epic/UFS-WM_RT/NEMSfv3gfs/develop-20231002/control_p8_intel
working dir  = /scratch1/NCEPDEV/stmp2/Dusan.Jovic/FV3_RT/rt_308812/control_p8_intel
Checking test 001 control_p8_intel results ....
 Comparing sfcf000.nc ............ALT CHECK..rt_utils.sh: line 324: 30915 Illegal instruction     nccmp -d -S -q -f -g -B --Attribute=checksum --warn=format ${RTPWD}/${CNTL_DIR}_${RT_COMPILER}/${i} ${RUNDIR}/${i} > ${i}_nccmp.log 2>&1
....ERROR

This happens on ecflow node (hecflow01). When I run this test without ecflow (on login node), nccmp runs fine.

@DusanJovic-NOAA
Copy link
Copy Markdown
Collaborator Author

Regression test passed on Hera (using rocoto due to the above issue with nccmp on ecflow nodes) RegressionTests_hera.log

@DusanJovic-NOAA
Copy link
Copy Markdown
Collaborator Author

Regression test passed on Hercules (using ecflow)
RegressionTests_hercules.log

@DusanJovic-NOAA
Copy link
Copy Markdown
Collaborator Author

I see this error in one of the PET error files:

20231031 131945.409 ERROR            PET141 atmos_model.F90:3154 Not found  - Failure to populate exported field: inst_pres_interface
20231031 131945.409 ERROR            PET141 module_fcst_grid_comp.F90:500 Not found  - Passing error in return code
20231031 131945.409 ERROR            PET141 module_fcst_grid_comp.F90:1245 Not found  - Passing error in return code
20231031 131945.409 ERROR            PET141 fv3_cap.F90:1017 Not found  - Passing error in return code
20231031 131945.409 ERROR            PET141 ATM:src/addon/NUOPC/src/NUOPC_ModelBase.F90:978 Not found  - Passing error in return code
20231031 131945.409 ERROR            PET141 UFS Driver Grid Comp:src/addon/NUOPC/src/NUOPC_Driver.F90:2838 Not found  - Phase 'IPDvXp04' Initialize for modelComp 2: ATM did not return ESMF_SUCCESS
20231031 131945.409 ERROR            PET141 UFS Driver Grid Comp:src/addon/NUOPC/src/NUOPC_Driver.F90:1975 Not found  - Passing error in return code
20231031 131945.409 ERROR            PET141 UFS Driver Grid Comp:src/addon/NUOPC/src/NUOPC_Driver.F90:481 Not found  - Passing error in return code
20231031 131945.409 ERROR            PET141 UFS.F90:386 Not found  - Aborting UFS
20231031 131945.409 INFO             PET141 Finalizing ESMF

@DusanJovic-NOAA
Copy link
Copy Markdown
Collaborator Author

Those three failed tests are still using NEMS_CONFIGURE:

$ grep -r NEMS_CONFIGURE .
./tests/cpld_mpi_gfsv17:export NEMS_CONFIGURE=nems.configure.cpld_noaero_outwav.IN
./tests/cpld_restart_gfsv17:export NEMS_CONFIGURE=nems.configure.cpld_noaero_outwav.IN
./tests/cpld_debug_gfsv17:export NEMS_CONFIGURE=nems.configure.cpld_noaero_outwav.IN

@DeniseWorthen
Copy link
Copy Markdown
Collaborator

@DusanJovic-NOAA Thanks. That's because these are added tests, so they didn't have the changes I had made in my PR. Let me fix them.

@DeniseWorthen
Copy link
Copy Markdown
Collaborator

@DusanJovic-NOAA Actually it might be easier for you to fix, now that these have been combined. The change in each test should be

-export NEMS_CONFIGURE=nems.configure.cpld_noaero_outwav.IN
+export UFS_CONFIGURE=ufs.configure.cpld_noaero_outwav.IN

@DusanJovic-NOAA
Copy link
Copy Markdown
Collaborator Author

@DeniseWorthen Done. Please double check. 630f983

@BrianCurtis-NOAA
Copy link
Copy Markdown
Collaborator

@DeniseWorthen Done. Please double check. 630f983

I made these changes a bit ago and Acorn has finished successfully, can confirm they are the correct changes.

@DeniseWorthen
Copy link
Copy Markdown
Collaborator

@DusanJovic-NOAA Looks good, thanks.

@zach1221
Copy link
Copy Markdown
Collaborator

Testing is complete. Let's start the merging process of the sub-component PRs.

@DeniseWorthen
Copy link
Copy Markdown
Collaborator

@DusanJovic-NOAA CMEPS has been merged e5d08d4

@zach1221
Copy link
Copy Markdown
Collaborator

@DusanJovic-NOAA fv3atm sub-pr merged. Please revert gitmodule url and update hash. fv3atm hash: 1250b41

@junwang-noaa
Copy link
Copy Markdown
Collaborator

@DeniseWorthen would you please create an issue in global-workflow about the nems.configure and file clobber updates when this version of model is updated in GW? Thanks

@bbakernoaa
Copy link
Copy Markdown
Collaborator

bbakernoaa commented Oct 31, 2023 via email

@DeniseWorthen
Copy link
Copy Markdown
Collaborator

The nems->ufs GW issue is NOAA-EMC/global-workflow#1942

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

jenkins-ci Jenkins CI: ORT build/test on docker container No Baseline Change No Baseline Change Ready for Commit Queue The PR is ready for the Commit Queue. All checkboxes in PR template have been checked.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix file clobbering issue with GOCART history files use ufs-appropriate named files and executables

9 participants