ufs-community / ufs-srweather-app

UFS Short-Range Weather Application
Other
55 stars 117 forks source link

'prod_util' module needs to be available on other platforms #839

Open chan-hoo opened 1 year ago

chan-hoo commented 1 year ago

Description

NCO wants to use the specific functions of err_exit, err_chk, and compath, which are included in the module prod_util, in the j-job and ex-scripts. However, the module prod_util is only available on WCOSS2. To remove any machine-specific logic from the scripts, prod_util needs to be available on the other platforms supported in the UFS SRW App.

Solution

Make prod_util available on other platforms

natalie-perlin commented 1 year ago

Is there a specific version that is needed?

The version prod_util v1.2.2 is installed in the following standard EPIC software stack locations, all verified: Gaea: /lustre/f2/dev/role.epic/contrib/hpc-stack/intel-classic-2022.0.2 /lustre/f2/dev/role.epic/contrib/hpc-stack/intel-classic-2022.0.2_ncdf492

Hera: /scratch1/NCEPDEV/nems/role.epic/hpc-stack/libs/intel-2022.1.2 /scratch1/NCEPDEV/nems/role.epic/hpc-stack/libs/intel-2022.1.2_ncdf492 /scratch1/NCEPDEV/nems/role.epic/hpc-stack/libs/gnu-9.2 /scratch1/NCEPDEV/nems/role.epic/hpc-stack/libs/gnu-9.2_ncdf492

Orion: /work/noaa/epic-ps/role-epic-ps/hpc-stack/libs/intel-2022.1.2 /work/noaa/epic-ps/role-epic-ps/hpc-stack/libs/intel-2022.1.2_ncdf492

Jet: /mnt/lfs4/HFIP/hfv3gfs/role.epic/hpc-stack/libs/intel-2022.1.2 /mnt/lfs4/HFIP/hfv3gfs/role.epic/hpc-stack/libs/intel-2022.1.2_ncdf492

Cheyenne: /glade/work/epicufsrt/contrib/hpc-stack/intel2022.1 /glade/work/epicufsrt/contrib/hpc-stack/intel2022.1_ncdf492 /glade/work/epicufsrt/contrib/hpc-stack/gnu10.1.0/ (and ./gnu11.2.0, ./gnu12.1.0)

AWS: /contrib/EPIC/hpc-stack/intel-2021.3.0

MichaelLueken commented 1 year ago

@natalie-perlin It looks like the SRW App is using prod_util/2.0.14 on WCOSS2.

natalie-perlin commented 1 year ago

@chan-hoo - prod_util/1.2.2 was/is available in all the software stack locations as a part of a standard installation.

More recent versions that exist, prod_util/2.0.13 and prod_util/2.0.14 are not available from the same repository as an earlier version, but could be found in the following locations: Version v2.0.13 code: https://github.com/NCEP-NCO/prod_util/tree/v2.0.13 Version v2.0.14 code: https://www.nco.ncep.noaa.gov/pmb/codes/nwprod/prod_util.v2.0.14/

Both versions are installed, since not sure which one needs to be used as an "official source", for the following platforms and stacks:

Hera:

/scratch1/NCEPDEV/nems/role.epic/hpc-stack/libs/intel-2022.1.2
/scratch1/NCEPDEV/nems/role.epic/hpc-stack/libs/intel-2022.1.2_ncdf492/
/scratch1/NCEPDEV/nems/role.epic/hpc-stack/libs/gnu-9.2
/scratch1/NCEPDEV/nems/role.epic/hpc-stack/libs/gnu-9.2_ncdf492

Gaea:

/lustre/f2/dev/role.epic/contrib/hpc-stack/src-intel-classic-2022.0.2
/lustre/f2/dev/role.epic/contrib/hpc-stack/src-intel-classic-2022.0.2_ncdf492

Cheyenne:

/glade/work/epicufsrt/contrib/hpc-stack/intel2022.1
/glade/work/epicufsrt/contrib/hpc-stack/intel2022.1_ncdf492
/glade/work/epicufsrt/contrib/hpc-stack/gnu10.1.0
/glade/work/epicufsrt/contrib/hpc-stack/gnu10.1.0_ncdf492
/glade/work/epicufsrt/contrib/hpc-stack/gnu11.2.0

Orion:

/work/noaa/epic/role-epic/contrib/orion/hpc-stack/intel-2022.1.2
/work/noaa/epic/role-epic/contrib/orion/hpc-stack/intel-2022.1.2_ncdf492

Jet currently has disk space issue; will install when it is resolved. GaeaC5, Hercules, Derecho are on the list as well.

UPDATES: Jet

/mnt/lfs4/HFIP/hfv3gfs/role.epic/hpc-stack/libs/intel-2022.1.2
/mnt/lfs4/HFIP/hfv3gfs/role.epic/hpc-stack/libs/intel-2022.1.2_ncdf492