noaa-emc / gsi-utils Goto Github PK
View Code? Open in Web Editor NEWGSI related utilities
GSI related utilities
The GSI should be upgraded to use the newest suite of spack-stack libraries (version 1.6.0). This includes an upgrade of CRTM to 2.4.0.1, netcdf-fortran to 4.6.1, prod_util to 2.1.1, and Python to 3.11.6.
The interp_inc executable currently does not work with hdf5 past version 1.10.8. This is because later versions of hdf5 for certain routines require that the MPI root process be available for work, but the structure of src/netcdf_io/interp_inc.fd/driver.f90 (in the 344-422 line range) is such that it's not available, so the job hangs. I have successfully tested a workaround where the last process (mype=npes-1
) is used rather than the root process (mype=0
), but am filing this issue because I'm not very familiar with the code and whether there are reasons to avoid that approach.
there is code pertaining to 3d variables that was probably cut and pasted from getsigensmeanp and doesn't work. Since this utilitiy is not used in operations, no one noticed. PR #9 fixes this.
Specifically:
Radiance_utilities/diag2grads
global_angupdate
These 2 (atleast) have dead links to fortran code from the GSI. These two are currently not built (or buildable) and therefore are not used (that is an assumption on my part unless someone has a secret way of building them that is not in this repository).
Suggesting to remove them from develop
(They will always be in the repository history).
@RussTreadon-NOAA @ADCollard @dtkleist
Please let me know if there are concerns regarding this by Jan 1, 2024.
The current hpc-stack installs are frozen. Management of hpc-stack installs on the RDHPCS platforms has moved to EPIC. Update GSI-utils to use the EPIC-installed hpc-stacks on Hera, Orion, and Jet.
Matching global-workflow issue NOAA-EMC/global-workflow#1311
@aerorahul With the separation of GSI-utils from GSI, would there be more willingness to have scripts for working with the output of the EFSOI utility included with the EFSOI code? Something dedicated is necessary just for reading the osense binary file, and much of the analysis was specific to EFSOI, and also not very useful for other applications.
BUFR version 12.1.0 was released recently. The GSI-utils should be updated to use this version on all systems.
The global workflow and subcomponents need to have their compilers upgraded to Intel 2021+ OneAPI compilers. Months ago, when I tested this on a non-NOAA GCP cloud instance, compiling with Intel 2021.2 resulted in some cases where the EnKF recentering utility would freeze at C192 ensemble resolution. I was unable to diagnose the issue at the time, but I have seen similar behavior in the GSI when attempting to allocate enormous amounts of memory (~200GB) for a single array, so if the issue is still present, looking for large allocations may be a place to start (also possible that this was just an issue with GCP alone).
The new soil analysis requires adding the ensemble mean increment to the deterministic member. For the atmosphere the same code is used to calculate the ensemble mean states and ensemble mean increments: gsi_utils.fd/src/EnKF/gfs/src/getsigensmeanp_smooth.fdgetsigensmeanp_smooth
For the sfc files, this code calculates the ensemble mean states:
gsi_utils.fd/src/EnKF/gfs/src/getsfcensmeanp.fd/
We need to
getsigensmeanp_smooth.x
and recentersigp.x
failures in g-w PR #2592 highlight the need to update each code with the following good coding practices
This PR is opened to enhance getsigensmeanp_smooth_ncep.f90
and recentersigp.f90
by incorporating the above coding practices into select sections of each source code file.
The 'classic' Intel compilers (ifort
, icc
, and icpc
) are now discontinued and the new LLVM compilers (ifx
and icx
) are the only option starting with version 2024. All supported machines with working versions of the LLVM compilers should be upgraded to the LLVM suite.
Description
RDHPCS Hera is being upgraded to Linux Rocky version 8. As a result all build applications, namely module files must be updated accordingly.
Required Functionality
A UFS based applications used by the UFS global-workflow must be updated to Rocky-8.
Proposed Solution
Update all GSI-utils global-workflow applications to Rocky-8 compatability.
Definition of Completion
The global-workflow and the associated UFS applications reproduce RHEL 8 instances. Further, all unit-tests pass with success.
Related Issues
Global workflow issue NOAA-EMC/global-workflow#2329
The UFS has migrated to spack-stack/1.4.1 and there is work being done to migrate the GSI to the same (NOAA-EMC/GSI#589) on non-production machines (WCOSS2 is still using Intel/19). The GSI-utils should also be migrated to use spack-stack. This will involve a few upgrades at once: Intel 18 to 2021+, hdf5/1.10.6 to 1.14.0, and netcdf/4.7.4 to 4.9.2. It should be noted that during a port to a NESDIS GCP instance, the only compiler available was Intel 2021. The GSI utilities ran fine at coarser resolutions, but the EnKF recentering utility sometimes failed at ensemble resolution C192.
I am going to try this in one step to bypass #13 (since hpc-stack is minimally supported) and address #15. My suggested plan for testing is to run 40 cycles in the global workflow at all available resolutions up to C384/C192 and 4 additional cycles at C768/C384 as it is the only application that makes use of this utility suite.
The GSI Utilities repository should be ported to Hercules which is now possible following the port to spack-stack.
What is wrong?
GSI-utils has a copy of detect_machine.sh. This was copied from UFSWM to maintain consistency. The UFSWM has updated and removed the COMPILER
add-on to the variable MACHINE_ID
for all platforms.
What should have happened?
A consistent return of use of detect_machine.sh
should return the name of the machine w/o COMPILER
add-on.
What machines are impacted?
All or N/A
Steps to reproduce
None
Additional information
None
Do you have a proposed solution?
Copy detect_machine.sh from ufs-weather-model to GSI-utils.
https://github.com/ufs-community/ufs-weather-model/blob/develop/tests/detect_machine.sh
Update module files to build gsi_utils on Gaea-C5
The UFS now points to the hpc-stack suite installed in /apps/test/hpc-stack/i-19.1.3.304__m-8.1.12__h-1.14.0__n-4.9.2__p-2.5.10__e-8.4.2. The GSI-utils modules should be updated to point to the same stack.
When building with GSI and EnKF, CRTM is required.
The CRTM modulefile needs to be loaded.
Add and/or modify module files to make it compile using EPIC spack-stack on AWS and other NOAA Cloud platforms.
Jet upgraded to Rocky8 Linux OS, and all modules have been reinstalled accordingly.
As a result, Global Workflow no longer runs on Jet.
For Global Workflow to transition to Rocky8, this module must migrate as well
Refs NOAA-EMC/global-workflow#2377
Todo: update modulefiles/gsiutils_jet.intel.lua to use rocky8 installation of Spack-Stack
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.