NOAA-SWPC / GSMWAM-IPE

Coupled NEMS app for WAM-IPE
5 stars 11 forks source link

Updates to support ESMF 8.4.0 #72

Closed BrianCurtis-NOAA closed 1 year ago

BrianCurtis-NOAA commented 1 year ago

This PR brings in changes to use updated ESMF 8.4.0 API changes

akubaryk commented 1 year ago

Our main concern prior to merge is whether or not 8.4.0 will be available on WCOSS2 as a production module prior to our code delivery at the end of April. Otherwise we've tested this PR positively on supported systems.

greglucas commented 1 year ago

Have you run into errors like this before using ESMF 8.4? I made it through the compilation, but now it is crashing during runtime for me.

20230328 163447.420 INFO             PET0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
20230328 163447.420 INFO             PET0 !!! THE ESMF_LOG IS SET TO OUTPUT ALL LOG MESSAGES !!!
20230328 163447.420 INFO             PET0 !!!     THIS MAY CAUSE SLOWDOWN IN PERFORMANCE     !!!
20230328 163447.420 INFO             PET0 !!! FOR PRODUCTION RUNS, USE:                      !!!
20230328 163447.420 INFO             PET0 !!!                   ESMF_LOGKIND_Multi_On_Error  !!!
20230328 163447.420 INFO             PET0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
20230328 163447.420 INFO             PET0 Running with ESMF Version   : 8.4.0
20230328 163447.420 INFO             PET0 ESMF library build date/time: "Feb  8 2023" "23:35:07"
20230328 163447.420 INFO             PET0 ESMF library build location : /tmp/root/spack-stage/spack-stage-esmf-8.4.0-k3yxivomizxg5twavsb6tbmfsvkwrfgb/spack-src
20230328 163447.420 INFO             PET0 ESMF_COMM                   : openmpi
20230328 163447.421 INFO             PET0 ESMF_MOAB                   : enabled
20230328 163447.421 INFO             PET0 ESMF_LAPACK                 : enabled
20230328 163447.421 INFO             PET0 ESMF_NETCDF                 : enabled
20230328 163447.421 INFO             PET0 ESMF_PNETCDF                : enabled
20230328 163447.421 INFO             PET0 ESMF_PIO                    : disabled
20230328 163447.421 INFO             PET0 ESMF_YAMLCPP                : enabled
20230328 163447.429 TRACE            PET0  ESMF_LogSet() !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
20230328 163447.431 TRACE            PET0  ESMF_LogSet() !!!       TRACING is disabled         !!!
20230328 163447.433 TRACE            PET0  ESMF_LogSet() !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
20230328 163447.498 INFO             PET0 max number of connectors      1
20230328 163447.528 INFO             PET0 Driver is in ModifyCplLists()
20230328 163447.530 INFO             PET0  Found            0  Connectors. Modifying CplList Attribute....
20230328 163447.533 ERROR            PET0 ESMF_Clock.F90:1446 ESMF_ClockPrint() Object being used before creation  - Bad Object
20230328 163447.535 INFO             PET0 
20230328 163447.536 ERROR            PET0 ESMF_Clock.F90:1446 ESMF_ClockPrint() Object being used before creation  - Bad Object
20230328 163447.536 INFO             PET0 
20230328 163447.537 ERROR            PET0 ESMF_Clock.F90:1446 ESMF_ClockPrint() Object being used before creation  - Bad Object
20230328 163447.538 INFO             PET0 
20230328 163447.541 ERROR            PET0 ESMF_Clock.F90:584 ESMF_ClockCreateCopy() Object being used before creation  - Bad Object
20230328 163447.546 ERROR            PET0 wamCap.F90:524 Object being used before creation  - Breaking out of subroutine
20230328 163447.547 ERROR            PET0 wamCap.F90:294 Object being used before creation  - Passing error in return code
20230328 163447.548 ERROR            PET0 EARTH grid component01:src/addon/NUOPC/src/NUOPC_Driver.F90:2725 Object being used before creation  - Phase 'IPDv02p3' Initialize for modelComp 1: ATM did not return ESMF_SUCCESS
20230328 163447.549 ERROR            PET0 EARTH grid component01:src/addon/NUOPC/src/NUOPC_Driver.F90:1895 Object being used before creation  - Passing error in return code
20230328 163447.550 ERROR            PET0 EARTH grid component01:src/addon/NUOPC/src/NUOPC_Driver.F90:481 Object being used before creation  - Passing error in return code
20230328 163447.551 ERROR            PET0 module_NEMS_GRID_COMP.F90:666 Object being used before creation  - Breaking out of subroutine
20230328 163447.554 ERROR            PET0 MAIN_NEMS.F90:466 Object being used before creation  - Aborting NEMS
20230328 163447.556 INFO             PET0 Finalizing ESMF
BrianCurtis-NOAA commented 1 year ago

Looks like the clock wasn't created, but there's something else happening beforehand I believe. Double check that you've updated all submoduless git submodule update --init --recursive. What system is this being ran on?

greglucas commented 1 year ago

Good suggestion, I'll try and update all of the submodules again and make sure everything is in-sync. I am having to resolve conflicts and cherry-pick commits between branches because I have forked off of CU-SWQU, which is ahead and behind develop, which is behind this, so there are conflicts at each of these steps.

I am running inside an Ubuntu Docker container. See here for my progress on this, I will try and push up some more commits soon and may need to make some PRs against the WAM and IPE repositories to make gfortran happy. Stay tuned. https://github.com/greglucas/GSMWAM-IPE/tree/docker-build-system

Edit: I updated all submodules to these feature branches, rebuilt the code and I still get the same failure mode as above :(