Skip to content

Commit bc128f2

Browse files
committed
Merge remote-tracking branch 'origin/support/lisf-557ww-7.5' into support/lisf-557ww-7.6
2 parents e1c09f7 + 8b90c2e commit bc128f2

File tree

18 files changed

+1991
-140
lines changed

18 files changed

+1991
-140
lines changed

docs/LDT_users_guide/revision_table.adoc

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
|====
33
| Revision | Summary of Changes | Date
44

5+
| 2.5 | LISF 557WW 7.5.18 release | Aug 27, 2024
56
| 3.0 | LISF Public 7.5.0 release | Jan 10, 2024
67
| 2.4 | LISF Public 7.4.3 release | Oct 03, 2023
78
| 2.3 | LISF 557WW 7.5.9 release | Jul 05, 2023
+168
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
#%Module1.0###################################################################
2+
3+
proc ModulesHelp { } {
4+
puts stderr "\t[module-info name] - loads the LISF_7_5_INTEL_2023_2_1 env"
5+
puts stderr ""
6+
puts stderr "This is for use on NCCS' discover system running SLES 15.4."
7+
puts stderr ""
8+
puts stderr "\tThe following env variables are set:"
9+
puts stderr "\t\tDEV_ENV"
10+
puts stderr "\t\tLIS_ARCH"
11+
puts stderr "\t\tLIS_SPMD"
12+
puts stderr "\t\tLIS_FC"
13+
puts stderr "\t\tLIS_CC"
14+
puts stderr "\t\tLIS_RPC"
15+
puts stderr "\t\tLIS_OPENJPEG"
16+
puts stderr "\t\tLIS_ECCODES"
17+
puts stderr "\t\tLIS_NETCDF"
18+
puts stderr "\t\tLIS_HDF4"
19+
puts stderr "\t\tLIS_HDFEOS"
20+
puts stderr "\t\tLIS_HDF5"
21+
puts stderr "\t\tLIS_MODESMF"
22+
puts stderr "\t\tLIS_LIBESMF"
23+
puts stderr "\t\tLIS_MINPACK"
24+
puts stderr "\t\tLIS_CRTM"
25+
puts stderr "\t\tLIS_CRTM_PROF"
26+
puts stderr "\t\tLIS_CMEM"
27+
puts stderr "\t\tLIS_LAPACK"
28+
puts stderr "\t\tLIS_PETSC"
29+
puts stderr "\t\tLDT_ARCH"
30+
puts stderr "\t\tLDT_FC"
31+
puts stderr "\t\tLDT_CC"
32+
puts stderr "\t\tLDT_RPC"
33+
puts stderr "\t\tLDT_OPENJPEG"
34+
puts stderr "\t\tLDT_ECCODES"
35+
puts stderr "\t\tLDT_NETCDF"
36+
puts stderr "\t\tLDT_HDF4"
37+
puts stderr "\t\tLDT_HDFEOS"
38+
puts stderr "\t\tLDT_HDF5"
39+
puts stderr "\t\tLDT_MODESMF"
40+
puts stderr "\t\tLDT_LIBESMF"
41+
puts stderr "\t\tLDT_GDAL"
42+
puts stderr "\t\tLDT_FORTRANGIS"
43+
puts stderr "\t\tLDT_LIBGEOTIFF"
44+
puts stderr "\t\tLVT_ARCH"
45+
puts stderr "\t\tLVT_FC"
46+
puts stderr "\t\tLVT_CC"
47+
puts stderr "\t\tLVT_RPC"
48+
puts stderr "\t\tLVT_OPENJPEG"
49+
puts stderr "\t\tLVT_ECCODES"
50+
puts stderr "\t\tLVT_NETCDF"
51+
puts stderr "\t\tLVT_HDF4"
52+
puts stderr "\t\tLVT_HDFEOS"
53+
puts stderr "\t\tLVT_HDF5"
54+
puts stderr "\t\tLVT_MODESMF"
55+
puts stderr "\t\tLVT_LIBESMF"
56+
puts stderr "\t\tLVT_GDAL"
57+
puts stderr "\t\tLVT_FORTRANGIS"
58+
puts stderr ""
59+
puts stderr "\tThe following modules are loaded:"
60+
puts stderr "\t\tcomp/gcc/13.2.0"
61+
puts stderr "\t\tcomp/intel/2023.2.1"
62+
puts stderr "\t\tmpi/impi/2021.11"
63+
puts stderr "\t\tgit/2.42.0"
64+
puts stderr ""
65+
}
66+
67+
conflict comp mpi
68+
69+
module-whatis "loads the [module-info name] environment"
70+
71+
set modname [module-info name]
72+
set modmode [module-info mode]
73+
74+
module load comp/gcc/13.2.0
75+
module load comp/intel/2023.2.1
76+
module load mpi/impi/2021.11
77+
module load git/2.42.0
78+
79+
set def_lis_rpc /usr/lib64/libtirpc.so
80+
set def_lis_hdf5 /discover/nobackup/projects/lis/libs/sles-15.4/hdf5/1.14.2_intel-2023.2.1
81+
set def_lis_netcdf /discover/nobackup/projects/lis/libs/sles-15.4/netcdf/4.9.2_intel-2023.2.1
82+
set def_lis_openjpeg /discover/nobackup/projects/lis/libs/sles-15.4/openjpeg/2.3.0-150000.3.13.1.x86_64/usr
83+
set def_lis_eccodes /discover/nobackup/projects/lis/libs/sles-15.4/eccodes/2.32.0_intel-2023.2.1
84+
set def_lis_hdf4 /discover/nobackup/projects/lis/libs/sles-15.4/hdf4/4.2.16-2_intel-2023.2.1
85+
set def_lis_hdfeos /discover/nobackup/projects/lis/libs/sles-15.4/hdfeos2/3.0_intel-2023.2.1
86+
set def_lis_modesmf /discover/nobackup/projects/lis/libs/sles-15.4/esmf/8.5.0_intel-2023.2.1_impi-2021.11/mod/modO/Linux.intel.64.intelmpi.default
87+
set def_lis_libesmf /discover/nobackup/projects/lis/libs/sles-15.4/esmf/8.5.0_intel-2023.2.1_impi-2021.11/lib/libO/Linux.intel.64.intelmpi.default
88+
set def_lvt_proj /discover/nobackup/projects/lis/libs/sles-15.4/proj/9.3.0_intel-2023.2.1
89+
set def_ldt_libgeotiff /discover/nobackup/projects/lis/libs/sles-15.4/geotiff/1.7.1_intel-2023.2.1
90+
set def_lvt_gdal /discover/nobackup/projects/lis/libs/sles-15.4/gdal/3.7.2_intel-2023.2.1
91+
set def_lvt_fortrangis /discover/nobackup/projects/lis/libs/sles-15.4/fortrangis/3.0-1_intel-2023.2.1
92+
set def_lis_petsc /discover/nobackup/projects/lis/libs/sles-15.4/petsc/3.20.0_intel-2023.2.1_impi-2021.11
93+
set def_lis_minpack /discover/nobackup/projects/lis/libs/minpack/intel_11_1_038
94+
set def_lis_crtm /discover/nobackup/projects/lis/libs/JCSDA_CRTM/REL-2.0.2.Surface-rev_intel_18_0_3_222
95+
set def_lis_crtm_prof /discover/nobackup/projects/lis/libs/CRTM_Profile_Utility/intel_18_0_3_222
96+
set def_lis_cmem /discover/nobackup/projects/lis/libs/LIS-MEM/intel_18_0_3_222
97+
set def_lis_lapack /discover/nobackup/projects/lis/libs/lapack/3.6.0_intel_14_0_3_174
98+
99+
setenv DEV_ENV LISF_7_5_INTEL_2023_2_1
100+
setenv LIS_ARCH linux_ifc
101+
setenv LIS_SPMD parallel
102+
setenv LIS_FC mpiifort
103+
setenv LIS_CC mpicc
104+
setenv LIS_RPC $def_lis_rpc
105+
setenv LIS_OPENJPEG $def_lis_openjpeg
106+
setenv LIS_ECCODES $def_lis_eccodes
107+
setenv LIS_NETCDF $def_lis_netcdf
108+
setenv LIS_HDF4 $def_lis_hdf4
109+
setenv LIS_HDFEOS $def_lis_hdfeos
110+
setenv LIS_HDF5 $def_lis_hdf5
111+
setenv LIS_MODESMF $def_lis_modesmf
112+
setenv LIS_LIBESMF $def_lis_libesmf
113+
setenv LIS_MINPACK $def_lis_minpack
114+
setenv LIS_CRTM $def_lis_crtm
115+
setenv LIS_CRTM_PROF $def_lis_crtm_prof
116+
setenv LIS_CMEM $def_lis_cmem
117+
setenv LIS_LAPACK $def_lis_lapack
118+
setenv LIS_PETSC $def_lis_petsc
119+
120+
setenv LDT_ARCH linux_ifc
121+
setenv LDT_FC mpiifort
122+
setenv LDT_CC mpicc
123+
setenv LDT_RPC $def_lis_rpc
124+
setenv LDT_OPENJPEG $def_lis_openjpeg
125+
setenv LDT_ECCODES $def_lis_eccodes
126+
setenv LDT_NETCDF $def_lis_netcdf
127+
setenv LDT_HDF4 $def_lis_hdf4
128+
setenv LDT_HDFEOS $def_lis_hdfeos
129+
setenv LDT_HDF5 $def_lis_hdf5
130+
setenv LDT_MODESMF $def_lis_modesmf
131+
setenv LDT_LIBESMF $def_lis_libesmf
132+
setenv LDT_GDAL $def_lvt_gdal
133+
setenv LDT_FORTRANGIS $def_lvt_fortrangis
134+
setenv LDT_LIBGEOTIFF $def_ldt_libgeotiff
135+
136+
137+
setenv LVT_ARCH linux_ifc
138+
setenv LVT_FC mpiifort
139+
setenv LVT_CC mpicc
140+
setenv LVT_RPC $def_lis_rpc
141+
setenv LVT_OPENJPEG $def_lis_openjpeg
142+
setenv LVT_ECCODES $def_lis_eccodes
143+
setenv LVT_NETCDF $def_lis_netcdf
144+
setenv LVT_HDF4 $def_lis_hdf4
145+
setenv LVT_HDFEOS $def_lis_hdfeos
146+
setenv LVT_HDF5 $def_lis_hdf5
147+
setenv LVT_MODESMF $def_lis_modesmf
148+
setenv LVT_LIBESMF $def_lis_libesmf
149+
setenv LVT_GDAL $def_lvt_gdal
150+
setenv LVT_FORTRANGIS $def_lvt_fortrangis
151+
152+
153+
prepend-path LD_LIBRARY_PATH "$def_lis_openjpeg/lib"
154+
prepend-path LD_LIBRARY_PATH "$def_ldt_libgeotiff/lib"
155+
prepend-path LD_LIBRARY_PATH "$def_lvt_proj/lib"
156+
prepend-path LD_LIBRARY_PATH "$def_lvt_gdal/lib"
157+
prepend-path LD_LIBRARY_PATH "$def_lis_hdf4/lib"
158+
prepend-path LD_LIBRARY_PATH "$def_lis_hdf5/lib"
159+
prepend-path LD_LIBRARY_PATH "$def_lis_libesmf"
160+
prepend-path LD_LIBRARY_PATH "$def_lis_netcdf/lib"
161+
prepend-path LD_LIBRARY_PATH "$def_lis_eccodes/lib"
162+
prepend-path LD_LIBRARY_PATH "$def_lis_petsc/lib"
163+
prepend-path PATH "$def_lis_netcdf/bin:$def_lis_eccodes/bin"
164+
165+
# EMK Miniconda3 environment for S2S
166+
prepend-path PATH "/discover/nobackup/projects/usaf_lis/emkemp/miniconda3/20240712_py311_sles15_hpc11/bin"
167+
setenv ESMFMKFILE /discover/nobackup/projects/usaf_lis/emkemp/miniconda3/20240712_py311_sles15_hpc11/lib/esmf.mk
168+
setenv PROJ_LIB /discover/nobackup/projects/usaf_lis/emkemp/miniconda3/20240712_py311_sles15_hpc11/share/proj/

env/discover/sles12/lisf_7.5_intel_2021.4.0_s2s

+4-1
Original file line numberDiff line numberDiff line change
@@ -171,4 +171,7 @@ prepend-path LD_LIBRARY_PATH "$def_lis_petsc/lib"
171171
prepend-path PATH "$def_lis_netcdf/bin:$def_lis_eccodes/bin"
172172

173173
# EMK Miniconda3 environment for S2S
174-
prepend-path PATH "/discover/nobackup/projects/usaf_lis/emkemp/miniconda3/20221027/bin"
174+
prepend-path PATH "/discover/nobackup/projects/usaf_lis/emkemp/miniconda3/20240712_py311_sles15_hpc11/bin"
175+
setenv ESMFMKFILE /discover/nobackup/projects/usaf_lis/emkemp/miniconda3/20240712_py311_sles15_hpc11/lib/esmf.mk
176+
setenv PROJ_LIB /discover/nobackup/projects/usaf_lis/emkemp/miniconda3/20240712_py311_sles15_hpc11/share/proj/
177+

ldt/USAFSI/LDT_usafsiMod.F90

+56-12
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,11 @@ module LDT_usafsiMod
7878

7979
! Other new settings
8080
real :: fill_climo
81+
character*255 :: source_of_ocean_data ! EMK 20240718
8182
character*255 :: gofs_sst_dir
8283
character*255 :: gofs_cice_dir
84+
character*255 :: espcd_sst_dir ! EMK 20240718
85+
character*255 :: espcd_cice_dir ! EMK 20240718
8386
character*255 :: lis_grib2_dir
8487
character*20 :: security_class
8588
character*20 :: data_category
@@ -107,7 +110,7 @@ subroutine LDT_usafsiInit()
107110
! Imports
108111
use ESMF
109112
use LDT_coreMod, only: LDT_config
110-
use LDT_logMod, only: LDT_verify
113+
use LDT_logMod, only: LDT_verify, LDT_logunit, LDT_endrun
111114

112115
! Defaults
113116
implicit none
@@ -507,23 +510,64 @@ subroutine LDT_usafsiInit()
507510
rc=rc)
508511
call LDT_verify(rc, trim(cfg_entry)//" not specified")
509512

510-
! Get gofs_sst_dir
511-
cfg_entry = "USAFSI GOFS SST data directory:"
513+
! EMK 20240718...Specify source of ocean data.
514+
cfg_entry = "USAFSI source of ocean data:"
512515
call ESMF_ConfigFindLabel(LDT_config, trim(cfg_entry), rc=rc)
513516
call LDT_verify(rc, trim(cfg_entry)//" not specified")
514517
call ESMF_ConfigGetAttribute(LDT_config, &
515-
usafsi_settings%gofs_sst_dir, &
518+
usafsi_settings%source_of_ocean_data, &
516519
rc=rc)
517520
call LDT_verify(rc, trim(cfg_entry)//" not specified")
521+
if (usafsi_settings%source_of_ocean_data .ne. "GOFS" .and. &
522+
usafsi_settings%source_of_ocean_data .ne. "ESPC-D") then
523+
write(LDT_logunit,*)'[ERR] Unrecognized source of ocean data'
524+
write(LDT_logunit,*)'[ERR] Must be GOFS or ESPC-D'
525+
write(LDT_logunit,*) &
526+
"[ERR] Update entry for 'USAFSI source of ocean data:'"
527+
write(LDT_logunit,*)'[ERR] LDT will halt.'
528+
call LDT_endrun()
529+
end if
518530

519-
! Get gofs_cice_dir
520-
cfg_entry = "USAFSI GOFS CICE data directory:"
521-
call ESMF_ConfigFindLabel(LDT_config, trim(cfg_entry), rc=rc)
522-
call LDT_verify(rc, trim(cfg_entry)//" not specified")
523-
call ESMF_ConfigGetAttribute(LDT_config, &
524-
usafsi_settings%gofs_cice_dir, &
525-
rc=rc)
526-
call LDT_verify(rc, trim(cfg_entry)//" not specified")
531+
if (usafsi_settings%source_of_ocean_data == "GOFS") then
532+
! Get gofs_sst_dir
533+
cfg_entry = "USAFSI GOFS SST data directory:"
534+
call ESMF_ConfigFindLabel(LDT_config, trim(cfg_entry), rc=rc)
535+
call LDT_verify(rc, trim(cfg_entry)//" not specified")
536+
call ESMF_ConfigGetAttribute(LDT_config, &
537+
usafsi_settings%gofs_sst_dir, &
538+
rc=rc)
539+
call LDT_verify(rc, trim(cfg_entry)//" not specified")
540+
541+
! Get gofs_cice_dir
542+
cfg_entry = "USAFSI GOFS CICE data directory:"
543+
call ESMF_ConfigFindLabel(LDT_config, trim(cfg_entry), rc=rc)
544+
call LDT_verify(rc, trim(cfg_entry)//" not specified")
545+
call ESMF_ConfigGetAttribute(LDT_config, &
546+
usafsi_settings%gofs_cice_dir, &
547+
rc=rc)
548+
call LDT_verify(rc, trim(cfg_entry)//" not specified")
549+
550+
else if (usafsi_settings%source_of_ocean_data == "ESPC-D") then
551+
552+
! Get espcd_sst_dir
553+
cfg_entry = "USAFSI ESPC-D SST data directory:"
554+
call ESMF_ConfigFindLabel(LDT_config, trim(cfg_entry), rc=rc)
555+
call LDT_verify(rc, trim(cfg_entry)//" not specified")
556+
call ESMF_ConfigGetAttribute(LDT_config, &
557+
usafsi_settings%espcd_sst_dir, &
558+
rc=rc)
559+
call LDT_verify(rc, trim(cfg_entry)//" not specified")
560+
561+
! Get espcd_cice_dir
562+
cfg_entry = "USAFSI ESPC-D CICE data directory:"
563+
call ESMF_ConfigFindLabel(LDT_config, trim(cfg_entry), rc=rc)
564+
call LDT_verify(rc, trim(cfg_entry)//" not specified")
565+
call ESMF_ConfigGetAttribute(LDT_config, &
566+
usafsi_settings%espcd_cice_dir, &
567+
rc=rc)
568+
call LDT_verify(rc, trim(cfg_entry)//" not specified")
569+
570+
end if
527571

528572
! Get lis_grib2_dir
529573
cfg_entry = "USAFSI LIS GRIB2 data directory:"

ldt/USAFSI/USAFSI_analysisMod.F90

+11-6
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@
1919
! 13 Jan 2022 Eric Kemp Added support for GRIB1 FNMOC SST file.
2020
! 28 Jul 2023 Eric Kemp Added support for new sfcobs file format (longer
2121
! station names.
22+
! 19 Jul 2024 Eric Kemp Renamed run_seaice_analysis_gofs to
23+
! run_seaice_analysis_navy to reflect use of
24+
! ESPC-D or GOFS data. Also fixed uninitialized
25+
! variable.
2226
!
2327
! DESCRIPTION:
2428
! Source code for Air Force snow depth analysis.
@@ -46,7 +50,7 @@ module USAFSI_analysisMod
4650
public :: run_snow_analysis_noglacier ! EMK
4751
public :: run_snow_analysis_glacier ! EMK
4852
public :: run_seaice_analysis_ssmis ! EMK
49-
public :: run_seaice_analysis_gofs ! EMK
53+
public :: run_seaice_analysis_navy ! EMK
5054
public :: getclimo ! Yeosang Yoon
5155

5256
! Internal constant
@@ -2316,6 +2320,7 @@ subroutine getsst (date10, stmpdir, sstdir)
23162320
found = .false.
23172321
limit = 3
23182322
tries = 1
2323+
grstat = 0
23192324

23202325
call date10_julhr (date10, julsst, program_name, routine_name)
23212326

@@ -3423,8 +3428,8 @@ subroutine run_seaice_analysis_ssmis(month,runcycle,nc,nr,landmask)
34233428

34243429
end subroutine run_seaice_analysis_ssmis
34253430

3426-
! Update sea ice based on remapped US Navy GOFS data
3427-
subroutine run_seaice_analysis_gofs(month, runcycle, nc, nr, landmask)
3431+
! Update sea ice based on remapped US Navy GOFS/ESPC-D data
3432+
subroutine run_seaice_analysis_navy(month, runcycle, nc, nr, landmask)
34283433

34293434
! Imports
34303435
use LDT_usafsiMod, only: usafsi_settings
@@ -3468,10 +3473,10 @@ subroutine run_seaice_analysis_gofs(month, runcycle, nc, nr, landmask)
34683473

34693474
! Use the GOFS data if available. Otherwise, try to fall back
34703475
! on prior analysis subject to certain constraints.
3471-
if (USAFSI_arrays%gofs_icecon(c,r) >= 0) then
3476+
if (USAFSI_arrays%navy_icecon(c,r) >= 0) then
34723477
! We have valid GOFS data
34733478
USAFSI_arrays%icecon(c,r) = &
3474-
nint(USAFSI_arrays%gofs_icecon(c,r))
3479+
nint(USAFSI_arrays%navy_icecon(c,r))
34753480
if (USAFSI_arrays%icecon(c,r) > usafsi_settings%minice) then
34763481
USAFSI_arrays%icemask(c,r) = icepnt
34773482
else
@@ -3548,7 +3553,7 @@ subroutine run_seaice_analysis_gofs(month, runcycle, nc, nr, landmask)
35483553
end do ! c
35493554
end do ! r
35503555

3551-
end subroutine run_seaice_analysis_gofs
3556+
end subroutine run_seaice_analysis_navy
35523557

35533558
! Private subroutine
35543559
subroutine summer (obelev, hemi, oblat, month, towarm)

ldt/USAFSI/USAFSI_arraysMod.F90

+3-2
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@
3232
!** 22 Mar 19 Ported to LDT...Eric Kemp, NASA GSFC/SSAI
3333
!** 09 May 19 Renamed LDTSI...Eric Kemp, NASA GSFC/SSAI
3434
!** 13 Dec 19 Renamed USAFSI...Eric Kemp, NASA GSFC/SSAI
35-
!**
35+
!** 19 Jul 24 Renamed gofs_icecon array to navy_icecon array to reflect
36+
! source as either ESPC-D or GOFS.
3637
!*****************************************************************************************
3738
!*****************************************************************************************
3839

@@ -65,7 +66,7 @@ module USAFSI_arraysMod
6566
real, allocatable :: snofrac ( : , : ) ! FRACTIONAL SNOW DATA ON USAFSI GRID
6667
real, allocatable :: ssmis_depth ( : , : ) ! SNOW DEPTH FROM SSMIS EDRS
6768
real, allocatable :: sst ( : , : ) ! NAVY SEA SURFACE TEMPERATURES (KELVIN)
68-
real, allocatable :: gofs_icecon(:,:)
69+
real, allocatable :: navy_icecon(:,:)
6970
end type USAFSI_arrays_t
7071

7172
type(USAFSI_arrays_t), public :: USAFSI_arrays

0 commit comments

Comments
 (0)