Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GAEA support, authoritative branches, non-nested global grids #3

Merged
merged 32 commits into from
Dec 21, 2023
Merged
Show file tree
Hide file tree
Changes from 28 commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
b950540
gaea c5 port
SamuelTrahanNOAA Nov 21, 2023
64253d9
update forecast hash
SamuelTrahanNOAA Nov 21, 2023
c5d77d3
update to top of hafs_forecast.fd
SamuelTrahanNOAA Nov 22, 2023
0630ebb
add old gwd suite
SamuelTrahanNOAA Nov 22, 2023
1726ec6
switch to spack stack
SamuelTrahanNOAA Nov 22, 2023
100f699
use BUFR_LIB4 so hera spack stack will compile
SamuelTrahanNOAA Nov 22, 2023
a6ba208
include old gwd suite too
SamuelTrahanNOAA Nov 22, 2023
d43e206
use old GWD suite
SamuelTrahanNOAA Nov 22, 2023
c72ffd8
no cray-libsci
SamuelTrahanNOAA Nov 22, 2023
535639e
compile old gwd
SamuelTrahanNOAA Nov 22, 2023
6fb3983
Merge branch 'WaterInTheWestC5-Nov2023' of ssh://github.com/SamuelTra…
SamuelTrahanNOAA Nov 22, 2023
dd853ab
revert rocoto script changes
SamuelTrahanNOAA Nov 22, 2023
5a890a6
gtype=stretched works
SamuelTrahanNOAA Dec 1, 2023
357be64
uniform c384 case
SamuelTrahanNOAA Dec 4, 2023
6f08940
point to develop hafs gsi and develup ufs-community ufs-weather-model
SamuelTrahanNOAA Dec 5, 2023
0c9cdd6
ufs-community ufs-weather-model develop for hafs_forecast.fd (for rea…
SamuelTrahanNOAA Dec 5, 2023
e580bca
patches and modules for c5
SamuelTrahanNOAA Dec 12, 2023
5c0524c
global_nest_v0 suite
SamuelTrahanNOAA Dec 12, 2023
b704f87
apply patch to tracker for c5 support
SamuelTrahanNOAA Dec 12, 2023
7273564
apply patch to utils for c5 support
SamuelTrahanNOAA Dec 12, 2023
b142e62
do not compile gsi, hycom_utils, or ww3_utils
SamuelTrahanNOAA Dec 12, 2023
60e7fd9
longer wallclock limit for forecast so C768 can run
SamuelTrahanNOAA Dec 12, 2023
6c34811
point to authoritative tracker and utils
SamuelTrahanNOAA Dec 12, 2023
aa19db8
WaterInTheWest.sh: run Steve Case
SamuelTrahanNOAA Dec 18, 2023
d0cfcb3
Point to Sam's data, where the Steve Case resides.
SamuelTrahanNOAA Dec 18, 2023
02a7f60
merge develop
SamuelTrahanNOAA Dec 18, 2023
d7f8139
point to NOAA-GSL for pygraf
SamuelTrahanNOAA Dec 18, 2023
3d4552b
revert changes to gsi submodule
SamuelTrahanNOAA Dec 18, 2023
2b0897a
correct non-nested global parm file descriptions
SamuelTrahanNOAA Dec 19, 2023
27704ab
disable pygraf on GAEA (untested on Hera!!)
SamuelTrahanNOAA Dec 20, 2023
025d823
revert changes to WaterInTheWest.sh
SamuelTrahanNOAA Dec 21, 2023
63e72b2
reduce the NoNest and Uniform conf files to override values
SamuelTrahanNOAA Dec 21, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 5 additions & 12 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,22 +1,15 @@
[submodule "ufs-weather-model"]
path = sorc/hafs_forecast.fd
url = https://github.com/NOAA-GSL/ufs-weather-model.git
branch = WaterInTheWest
# url = https://github.com/hafs-community/ufs-weather-model.git
# branch = support/hafs.v1.1.0
# url = https://github.com/ufs-community/ufs-weather-model.git
# branch = develop
url = https://github.com/ufs-community/ufs-weather-model
branch = develop
[submodule "UFS_UTILS"]
path = sorc/hafs_utils.fd
# url = https://github.com/hafs-community/UFS_UTILS.git
# branch = support/HAFS
url = https://github.com/ufs-community/UFS_UTILS.git
url = https://github.com/ufs-community/UFS_UTILS
branch = develop
[submodule "gfdl-tracker"]
path = sorc/hafs_tracker.fd
url = https://github.com/hafs-community/gfdl-tracker.git
# branch = support/HAFS
branch = support/hafs.v1.1.0
url = https://github.com/hafs-community/gfdl-tracker
branch = support/HAFS
[submodule "sorc/hafs_gsi.fd"]
path = sorc/hafs_gsi.fd
url = https://github.com/hafs-community/GSI.git
Expand Down
2 changes: 1 addition & 1 deletion jobs/JHAFS_PRODUCT
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ fi
mkdir -p $DATA
cd $DATA

if [ ${gtype} = nest ]; then
if [ ${gtype} = nest ] || [ $gtype = stretch ] || [ $gtype = uniform ]; then
ngrids=$((${nest_grids} + 1))
else
ngrids=${nest_grids}
Expand Down
79 changes: 79 additions & 0 deletions modulefiles/hafs.gaea_c5.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
help([[
This module loads libraries required for building and running HAFS
on the NOAA RDHPC machine Gaea C5 using Intel-2023.1.0.
]])

whatis("Description: HAFS Application environment")

load("PrgEnv-intel/8.3.3")
load("intel-classic/2023.1.0")
load("cray-mpich/8.1.25")
-- load("python/3.9.12")

prepend_path("MODULEPATH", "/lustre/f2/dev/wpo/role.epic/contrib/spack-stack/c5/spack-stack-dev-20230717/envs/unified-env/install/modulefiles/Core")
prepend_path("MODULEPATH", "/lustre/f2/dev/wpo/role.epic/contrib/spack-stack/c5/modulefiles")
prepend_path("MODULEPATH", "/lustre/f2/dev/Samuel.Trahan/hafs/modulefiles/")

miniconda_ver=os.getenv("miniconda_ver") or "23.5.2-hafs"
load(pathJoin("miniconda", miniconda_ver))

stack_intel_ver=os.getenv("stack_intel_ver") or "2023.1.0"
load(pathJoin("stack-intel", stack_intel_ver))

stack_cray_mpich_ver=os.getenv("stack_cray_mpich_ver") or "8.1.25"
load(pathJoin("stack-cray-mpich", stack_cray_mpich_ver))

-- stack_python_ver=os.getenv("stack_python_ver") or "3.9.12"
-- load(pathJoin("stack-python", stack_python_ver))

local ufs_modules = {
{["jasper"] = "2.0.32"},
{["zlib"] = "1.2.13"},
{["libpng"] = "1.6.37"},
{["hdf5"] = "1.14.0"},
{["netcdf-c"] = "4.9.2"},
{["netcdf-fortran"] = "4.6.0"},
{["parallelio"] = "2.5.10"},
{["esmf"] = "8.4.2"},
{["fms"] = "2023.01"},
{["bacio"] = "2.4.1"},
{["crtm"] = "2.4.0"},
{["g2"] = "3.4.5"},
{["g2tmpl"] = "1.10.2"},
{["ip"] = "3.3.3"},
{["nemsio"] = "2.5.4"},
{["sp"] = "2.3.3"},
{["w3emc"] = "2.9.2"},
{["w3nco"] = "2.4.1"},
{["gftl-shared"] = "1.5.0"},
-- no yafyaml
{["mapl"] = "2.35.2-esmf-8.4.2"},
{["bufr"] = "11.7.0"},
{["sfcio"] = "1.4.1"},
{["sigio"] = "2.3.2"},
-- no szip
{["wrf-io"] = "1.2.0"},
{["prod-util"] = "1.2.2"},
{["grib-util"] = "1.2.3"},
{["wgrib2"] = "2.0.8"},
-- no gempak
{["nco"] = "5.0.6"},
{["cdo"] = "2.0.5"},
}

for i = 1, #ufs_modules do
for name, default_version in pairs(ufs_modules[i]) do
local env_version_name = string.gsub(name, "-", "_") .. "_ver"
load(pathJoin(name, os.getenv(env_version_name) or default_version))
end
end

load("rocoto")

unload("darshan-runtime")
unload("cray-libsci")

setenv("CMAKE_C_COMPILER", "cc")
setenv("CMAKE_CXX_COMPILER", "CC")
setenv("CMAKE_Fortran_COMPILER", "ftn")
setenv("CMAKE_Platform", "gaea_c5.intel")
163 changes: 53 additions & 110 deletions modulefiles/hafs.hera.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,122 +6,65 @@ prepend_path("MODULEPATH", "/contrib/sutils/modulefiles")
load("sutils")
load("hpss")

cmake_ver=os.getenv("cmake_ver") or "3.20.1"
load(pathJoin("cmake", cmake_ver))

prepend_path("MODULEPATH", "/scratch1/NCEPDEV/hwrf/noscrub/local/modulefiles")
load(pathJoin("python","wcoss2_env"))

prepend_path("MODULEPATH", "/scratch2/NCEPDEV/nwprod/hpc-stack/libs/hpc-stack/modulefiles/stack")
hpc_ver=os.getenv("hpc_ver") or "1.2.0"
load(pathJoin("hpc", hpc_ver))

hpc_intel_ver=os.getenv("hpc_intel_ver") or "2022.1.2"
load(pathJoin("hpc-intel", hpc_intel_ver))

hpc_impi_ver=os.getenv("hpc_impi_ver") or "2022.1.2"
load(pathJoin("hpc-impi", hpc_impi_ver))

jasper_ver=os.getenv("jasper_ver") or "2.0.25"
load(pathJoin("jasper", jasper_ver))

zlib_ver=os.getenv("zlib_ver") or "1.2.11"
load(pathJoin("zlib", zlib_ver))

zstd_ver=os.getenv("zstd_ver") or "1.5.0"
load(pathJoin("zstd", zstd_ver))

libpng_ver=os.getenv("libpng_ver") or "1.6.37"
load(pathJoin("libpng", libpng_ver))

hdf5_ver=os.getenv("hdf5_ver") or "1.10.6"
load(pathJoin("hdf5", hdf5_ver))

netcdf_ver=os.getenv("netcdf_ver") or "4.7.4"
load(pathJoin("netcdf", netcdf_ver))

pio_ver=os.getenv("pio_ver") or "2.5.7"
load(pathJoin("pio", pio_ver))

esmf_ver=os.getenv("esmf_ver") or "8.3.0b09"
load(pathJoin("esmf", esmf_ver))

fms_ver=os.getenv("fms_ver") or "2022.04"
load(pathJoin("fms",fms_ver))

bacio_ver=os.getenv("bacio_ver") or "2.4.1"
load(pathJoin("bacio", bacio_ver))

crtm_ver=os.getenv("crtm_ver") or "2.4.0"
load(pathJoin("crtm", crtm_ver))

g2_ver=os.getenv("g2_ver") or "3.4.5"
load(pathJoin("g2", g2_ver))
prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.5.0/envs/unified-env-noavx512/install/modulefiles/Core")

g2tmpl_ver=os.getenv("g2tmpl_ver") or "1.10.2"
load(pathJoin("g2tmpl", g2tmpl_ver))
stack_intel_ver=os.getenv("stack_intel_ver") or "2021.5.0"
load(pathJoin("stack-intel", stack_intel_ver))

ip_ver=os.getenv("ip_ver") or "3.3.3"
load(pathJoin("ip", ip_ver))
stack_impi_ver=os.getenv("stack_impi_ver") or "2021.5.1"
load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver))

nemsio_ver_ver=os.getenv("nemsio_ver") or "2.5.4"
load(pathJoin("nemsio", nemsio_ver))

sp_ver=os.getenv("sp_ver") or "2.3.3"
load(pathJoin("sp", sp_ver))

w3emc_ver=os.getenv("w3emc_ver") or "2.9.2"
load(pathJoin("w3emc", w3emc_ver))

w3nco_ver=os.getenv("w3nco_ver") or "2.4.1"
load(pathJoin("w3nco", w3nco_ver))

gftl_shared_ver=os.getenv("gftl_shared_ver") or "v1.5.0"
load(pathJoin("gftl-shared", gftl_shared_ver))

yafyaml_ver=os.getenv("yafyaml_ver") or "v0.5.1"
load(pathJoin("yafyaml", yafyaml_ver))

mapl_ver=os.getenv("mapl_ver") or "2.22.0-esmf-8.3.0b09"
load(pathJoin("mapl", mapl_ver))

bufr_ver=os.getenv("bufr_ver") or "11.4.0"
load(pathJoin("bufr", bufr_ver))

sfcio_ver=os.getenv("sfcio_ver") or "1.4.1"
load(pathJoin("sfcio", sfcio_ver))

sigio_ver=os.getenv("sigio_ver") or "2.3.2"
load(pathJoin("sigio", sigio_ver))

szip_ver=os.getenv("szip_ver") or "2.1.1"
load(pathJoin("szip", szip_ver))

wrf_io_ver=os.getenv("wrf_io_ver") or "1.2.0"
load(pathJoin("wrf_io", wrf_io_ver))

prod_util_ver=os.getenv("prod_util_ver") or "1.2.2"
load(pathJoin("prod_util", prod_util_ver))

grib_util_ver=os.getenv("grib_util_ver") or "1.2.4"
load(pathJoin("grib_util", grib_util_ver))

wgrib2_ver=os.getenv("wgrib2_ver") or "2.0.8"
load(pathJoin("wgrib2", wgrib2_ver))
setenv("WGRIB2", "/scratch2/NCEPDEV/nwprod/hpc-stack/libs/hpc-stack/intel-18.0.5.274/impi-2018.0.4/wgrib2/2.0.8/bin/wgrib2")

gempak_ver=os.getenv("gempak_ver") or "7.4.2"
load(pathJoin("gempak", gempak_ver))
cmake_ver=os.getenv("cmake_ver") or "3.23.1"
load(pathJoin("cmake", cmake_ver))

-- nco_ver=os.getenv("nco_ver") or "5.0.6"
nco_ver=os.getenv("nco_ver") or "4.9.3"
load(pathJoin("nco", nco_ver))
local hafs_modules = {
{["jasper"] = "2.0.32"},
{["zlib"] = "1.2.13"},
{["zstd"] = "1.5.2"},
{["libpng"] = "1.6.37"},
{["hdf5"] = "1.14.0"},
{["netcdf-c"] = "4.9.2"},
{["netcdf-fortran"] = "4.6.0"},
{["parallelio"] = "2.5.10"},
{["esmf"] = "8.4.2"},
{["fms"] = "2023.01"},
{["bacio"] = "2.4.1"},
{["crtm"] = "2.4.0"},
{["g2"] = "3.4.5"},
{["g2tmpl"] = "1.10.2"},
{["ip"] = "4.3.0"},
{["nemsio"] = "2.5.4"},
{["sp"] = "2.3.3"},
{["w3emc"] = "2.10.0"},
{["w3nco"] = "2.4.1"},
{["gftl-shared"] = "1.5.0"},
{["yafyaml"] = "0.5.1"},
{["mapl"] = "2.35.2-esmf-8.4.2"},
{["bufr"] = "12.0.0"},
{["sfcio"] = "1.4.1"},
{["sigio"] = "2.3.2"},
{["szip"] = "2.1"},
{["wrf-io"] = "1.2.0"},
{["prod_util"] = "1.2.2"},
{["grib-util"] = "1.3.0"},
{["wgrib2"] = "2.0.8"},
{["gempak"] = "7.4.2"},
{["nco"] = "5.0.6"},
{["cdo"] = "2.0.5"},
{["rocoto"] = "1.3.3"},
{["scotch"] = "7.0.4"},
}

for i = 1, #hafs_modules do
for name, default_version in pairs(hafs_modules[i]) do
local env_version_name = string.gsub(name, "-", "_") .. "_ver"
load(pathJoin(name, os.getenv(env_version_name) or default_version))
end
end

cdo_ver=os.getenv("cdo_ver") or "1.9.8"
load(pathJoin("cdo", cdo_ver))

rocoto_ver=os.getenv("rocoto_ver") or "1.3.3"
load(pathJoin("rocoto", rocoto_ver))
prepend_path("MODULEPATH", "/scratch1/NCEPDEV/hwrf/noscrub/local/modulefiles")
load(pathJoin("python","wcoss2_env"))
SamuelTrahanNOAA marked this conversation as resolved.
Show resolved Hide resolved

setenv("CMAKE_C_COMPILER", "mpiicc")
setenv("CMAKE_CXX_COMPILER", "mpiicpc")
Expand Down
16 changes: 9 additions & 7 deletions parm/WaterInTheWest.conf
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,9 @@ jend_nest=1294
regional_esg=no

[forecast]
ccpp_suite_regional=FV3_RRFSv2c3
ccpp_suite_glob=FV3_RRFSv2c3
ccpp_suite_nest=FV3_RRFSv2c3
ccpp_suite_regional=FV3_global_nest_v0
ccpp_suite_glob=FV3_global_nest_v0
ccpp_suite_nest=FV3_global_nest_v0

# For the global domain if it is a global or global-nesting experiment
glob_k_split=1
Expand Down Expand Up @@ -111,7 +111,8 @@ npz=64
is_moving_nest=.false.

quilting=.true.
write_dopost=.false.
write_dopost=.true.
write_tasks_per_group=360
output_history=.true.

output_grid=regional_latlon,regional_latlon
Expand Down Expand Up @@ -160,13 +161,14 @@ lightning_threat=.true.
satpost=.false.
post_gridspecs=auto,auto
trak_gridspecs={post_gridspecs}
postxconfig_satpost={PARMhafs}/post/postxconfig-NT-AR-HAFS-SAT.txt
postxconfig_nosat={PARMhafs}/post/postxconfig-NT-AR-HAFS-PRSLEV.txt
# postxconfig_satpost={PARMhafs}/post/postxconfig-NT-AR-HAFS-SAT.txt
# postxconfig_nosat={PARMhafs}/post/postxconfig-NT-AR-HAFS-PRSLEV.txt

[atm_post_ens]
satpost_ens=.false.
post_gridspecs_ens=auto,auto
trak_gridspecs_ens={post_gridspecs}

[rocotostr]
FORECAST_RESOURCES=FORECAST_RESOURCES_2460PE
FORECAST_RESOURCES=FORECAST_RESOURCES_3060PE
ATM_POST_RESOURCES=ATM_POST_INLINE_RESOURCES
9 changes: 5 additions & 4 deletions parm/WaterInTheWestC192.conf
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,9 @@ jend_nest=322
regional_esg=no

[forecast]
ccpp_suite_regional=FV3_RRFSv2c3
ccpp_suite_glob=FV3_RRFSv2c3
ccpp_suite_nest=FV3_RRFSv2c3
ccpp_suite_regional=FV3_global_nest_v0
ccpp_suite_glob=FV3_global_nest_v0
ccpp_suite_nest=FV3_global_nest_v0

# For the global domain if it is a global or global-nesting experiment
glob_k_split=1
Expand Down Expand Up @@ -113,7 +113,7 @@ npz=64
is_moving_nest=.false.

quilting=.true.
write_dopost=.false.
write_dopost=.true.
output_history=.true.

output_grid=regional_latlon,regional_latlon
Expand Down Expand Up @@ -174,3 +174,4 @@ trak_gridspecs_ens={post_gridspecs}

[rocotostr]
FORECAST_RESOURCES=FORECAST_RESOURCES_600PE
ATM_POST_RESOURCES=ATM_POST_INLINE_RESOURCES
12 changes: 7 additions & 5 deletions parm/WaterInTheWestC384.conf
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,9 @@ jend_nest=648
regional_esg=no

[forecast]
ccpp_suite_regional=FV3_RRFSv2c3
ccpp_suite_glob=FV3_RRFSv2c3
ccpp_suite_nest=FV3_RRFSv2c3
ccpp_suite_regional=FV3_global_nest_v0
ccpp_suite_glob=FV3_global_nest_v0
ccpp_suite_nest=FV3_global_nest_v0

# For the global domain if it is a global or global-nesting experiment
glob_k_split=1
Expand Down Expand Up @@ -111,7 +111,8 @@ npz=64
is_moving_nest=.false.

quilting=.true.
write_dopost=.false.
write_dopost=.true.
write_tasks_per_group=120
output_history=.true.

output_grid=regional_latlon,regional_latlon
Expand Down Expand Up @@ -171,4 +172,5 @@ post_gridspecs_ens=auto,auto
trak_gridspecs_ens={post_gridspecs}

[rocotostr]
FORECAST_RESOURCES=FORECAST_RESOURCES_1320PE
FORECAST_RESOURCES=FORECAST_RESOURCES_1440PE
ATM_POST_RESOURCES=ATM_POST_INLINE_RESOURCES
Loading