Skip to content

Commit

Permalink
New coupled model utility (ufs-community#647)
Browse files Browse the repository at this point in the history
Adds a new utility - cpld_gridgen - which creates several files for the coupled model.

Fixes ufs-community#143
  • Loading branch information
DeniseWorthen authored May 31, 2022
1 parent b5d097c commit 4e9ca5e
Show file tree
Hide file tree
Showing 39 changed files with 6,259 additions and 4 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ https://ufs-community.github.io/UFS_UTILS/.
Utility | Programmer(s)
--------|----------
chgres_cube | George Gayno, Jeff Beck, Larissa Reames
cpld_gridgen | Denise Worthen, Minsuk Ji
emcsfc_ice_blend | George Gayno
emcsfc_snow2mdl | George Gayno
fre-nctools | GFDL progammer
Expand Down Expand Up @@ -70,6 +71,7 @@ make install
The UFS_UTILS package contains the following utilities (under the sorc
directory):
- chgres_cube
- cpld_gridgen
- emcsfc_ice_blend
- emcsfc_snow2mdl
- fre-nctools
Expand Down
2 changes: 1 addition & 1 deletion build_all.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ export MOD_PATH
if [[ "$target" == "linux.*" || "$target" == "macosx.*" ]]; then
unset -f module
set +x
source ./modulefiles/build.$target > /dev/null
source ./modulefiles/build.$target > /dev/null
set -x
else
set +x
Expand Down
2 changes: 2 additions & 0 deletions docs/user_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,4 +71,6 @@ https://github.com/ufs-community/UFS_UTILS.
Currently, contains the routines required by global_cycle to
perform data assimilation updates to land model states

- <a href="cpld_gridgen/index.html">cpld_gridgen</a> - Utility to
create the Fix and IC files for the S2SW and S2S applications

2 changes: 1 addition & 1 deletion modulefiles/build.hera.gnu.lua
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ load(pathJoin("hpc-mpich", mpich_ver))
netcdf_ver=os.getenv("netcdf_ver") or "4.7.4"
load(pathJoin("netcdf", netcdf_ver))

esmf_ver=os.getenv("esmf_ver") or "8_1_1"
esmf_ver=os.getenv("esmf_ver") or "8.2.1b04"
load(pathJoin("esmf", esmf_ver))

bacio_ver=os.getenv("bacio_ver") or "2.4.1"
Expand Down
3 changes: 3 additions & 0 deletions modulefiles/build.hera.intel.lua
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,7 @@ load(pathJoin("nccmp", nccmp_ver))
esmf_ver=os.getenv("esmf_ver") or "8.2.1b04"
load(pathJoin("esmf", esmf_ver))

nco_ver=os.getenv("nco_ver") or "4.9.1"
load(pathJoin("nco", nco_ver))

whatis("Description: UFS_UTILS build environment")
3 changes: 3 additions & 0 deletions modulefiles/build.jet.intel.lua
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,7 @@ load(pathJoin("g2", g2_ver))
prod_util_ver=os.getenv("prod_util_ver") or "1.2.2"
load(pathJoin("prod_util", prod_util_ver))

nco_ver=os.getenv("nco_ver") or "4.9.3"
load(pathJoin("nco", nco_ver))

whatis("Description: UFS_UTILS build environment")
3 changes: 3 additions & 0 deletions modulefiles/build.orion.intel.lua
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,7 @@ load(pathJoin("nccmp", nccmp_ver))
esmf_ver=os.getenv("esmf_ver") or "8.2.0"
load(pathJoin("esmf", esmf_ver))

nco_ver=os.getenv("nco_ver") or "4.9.3"
load(pathJoin("nco", nco_ver))

whatis("Description: UFS_UTILS build environment")
76 changes: 76 additions & 0 deletions reg_tests/cpld_gridgen/RegressionTests_hera.intel.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
Sat Apr 23 17:52:41 UTC 2022
Start Regression test

Working dir = /scratch1/NCEPDEV/stmp4/Minsuk.Ji/CPLD_GRIDGEN/rt_142841/025
Baseline dir = /scratch1/NCEPDEV/nems/role.ufsutils/ufs_utils/reg_tests/cpld_gridgen/baseline_data/025

Checking test 025 results ....
Comparing Bu.mx025_SCRIP.nc........OK
Comparing C384.mx025.tile1.nc........OK
Comparing C384.mx025.tile2.nc........OK
Comparing C384.mx025.tile3.nc........OK
Comparing C384.mx025.tile4.nc........OK
Comparing C384.mx025.tile5.nc........OK
Comparing C384.mx025.tile6.nc........OK
Comparing Ct.mx025_SCRIP_land.nc........OK
Comparing Ct.mx025_SCRIP.nc........OK
Comparing Ct.mx025.to.C384.nc........OK
Comparing Cu.mx025_SCRIP.nc........OK
Comparing Cv.mx025_SCRIP.nc........OK
Comparing grid_cice_NEMS_mx025.nc........OK
Comparing kmtu_cice_NEMS_mx025.nc........OK
Comparing mesh.mx025.nc........OK
Comparing tripole.mx025.nc........OK


Working dir = /scratch1/NCEPDEV/stmp4/Minsuk.Ji/CPLD_GRIDGEN/rt_142841/050
Baseline dir = /scratch1/NCEPDEV/nems/role.ufsutils/ufs_utils/reg_tests/cpld_gridgen/baseline_data/050

Checking test 050 results ....
Comparing Bu.mx050_SCRIP.nc........OK
Comparing C192.mx050.tile1.nc........OK
Comparing C192.mx050.tile2.nc........OK
Comparing C192.mx050.tile3.nc........OK
Comparing C192.mx050.tile4.nc........OK
Comparing C192.mx050.tile5.nc........OK
Comparing C192.mx050.tile6.nc........OK
Comparing Ct.mx025_SCRIP.nc........OK
Comparing Ct.mx050_SCRIP_land.nc........OK
Comparing Ct.mx050_SCRIP.nc........OK
Comparing Ct.mx050.to.C192.nc........OK
Comparing Cu.mx050_SCRIP.nc........OK
Comparing Cv.mx050_SCRIP.nc........OK
Comparing grid_cice_NEMS_mx050.nc........OK
Comparing kmtu_cice_NEMS_mx050.nc........OK
Comparing mesh.mx050.nc........OK
Comparing tripole.mx025.Ct.to.mx050.Ct.neareststod.nc........OK
Comparing tripole.mx050.nc........OK


Working dir = /scratch1/NCEPDEV/stmp4/Minsuk.Ji/CPLD_GRIDGEN/rt_142841/100
Baseline dir = /scratch1/NCEPDEV/nems/role.ufsutils/ufs_utils/reg_tests/cpld_gridgen/baseline_data/100

Checking test 100 results ....
Comparing Bu.mx100_SCRIP.nc........OK
Comparing C96.mx100.tile1.nc........OK
Comparing C96.mx100.tile2.nc........OK
Comparing C96.mx100.tile3.nc........OK
Comparing C96.mx100.tile4.nc........OK
Comparing C96.mx100.tile5.nc........OK
Comparing C96.mx100.tile6.nc........OK
Comparing Ct.mx025_SCRIP.nc........OK
Comparing Ct.mx100_SCRIP_land.nc........OK
Comparing Ct.mx100_SCRIP.nc........OK
Comparing Ct.mx100.to.C96.nc........OK
Comparing Cu.mx100_SCRIP.nc........OK
Comparing Cv.mx100_SCRIP.nc........OK
Comparing grid_cice_NEMS_mx100.nc........OK
Comparing kmtu_cice_NEMS_mx100.nc........OK
Comparing mesh.mx100.nc........OK
Comparing tripole.mx025.Ct.to.mx100.Ct.neareststod.nc........OK
Comparing tripole.mx100.nc........OK
Comparing ufs.topo_edits_011818.nc........OK


REGRESSION TEST WAS SUCCESSFUL
Sat Apr 23 17:57:15 UTC 2022
76 changes: 76 additions & 0 deletions reg_tests/cpld_gridgen/RegressionTests_jet.intel.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
Mon Apr 25 14:59:30 GMT 2022
Start Regression test

Working dir = /lfs4/HFIP/h-nems//Minsuk.Ji/CPLD_GRIDGEN/rt_25376/025
Baseline dir = /lfs4/HFIP/hfv3gfs/emc.nemspara/role.ufsutils/ufs_utils/reg_tests/cpld_gridgen/baseline_data/025

Checking test 025 results ....
Comparing Bu.mx025_SCRIP.nc........OK
Comparing C384.mx025.tile1.nc........OK
Comparing C384.mx025.tile2.nc........OK
Comparing C384.mx025.tile3.nc........OK
Comparing C384.mx025.tile4.nc........OK
Comparing C384.mx025.tile5.nc........OK
Comparing C384.mx025.tile6.nc........OK
Comparing Ct.mx025.to.C384.nc........OK
Comparing Ct.mx025_SCRIP.nc........OK
Comparing Ct.mx025_SCRIP_land.nc........OK
Comparing Cu.mx025_SCRIP.nc........OK
Comparing Cv.mx025_SCRIP.nc........OK
Comparing grid_cice_NEMS_mx025.nc........OK
Comparing kmtu_cice_NEMS_mx025.nc........OK
Comparing mesh.mx025.nc........OK
Comparing tripole.mx025.nc........OK


Working dir = /lfs4/HFIP/h-nems//Minsuk.Ji/CPLD_GRIDGEN/rt_25376/050
Baseline dir = /lfs4/HFIP/hfv3gfs/emc.nemspara/role.ufsutils/ufs_utils/reg_tests/cpld_gridgen/baseline_data/050

Checking test 050 results ....
Comparing Bu.mx050_SCRIP.nc........OK
Comparing C192.mx050.tile1.nc........OK
Comparing C192.mx050.tile2.nc........OK
Comparing C192.mx050.tile3.nc........OK
Comparing C192.mx050.tile4.nc........OK
Comparing C192.mx050.tile5.nc........OK
Comparing C192.mx050.tile6.nc........OK
Comparing Ct.mx025_SCRIP.nc........OK
Comparing Ct.mx050.to.C192.nc........OK
Comparing Ct.mx050_SCRIP.nc........OK
Comparing Ct.mx050_SCRIP_land.nc........OK
Comparing Cu.mx050_SCRIP.nc........OK
Comparing Cv.mx050_SCRIP.nc........OK
Comparing grid_cice_NEMS_mx050.nc........OK
Comparing kmtu_cice_NEMS_mx050.nc........OK
Comparing mesh.mx050.nc........OK
Comparing tripole.mx025.Ct.to.mx050.Ct.neareststod.nc........OK
Comparing tripole.mx050.nc........OK


Working dir = /lfs4/HFIP/h-nems//Minsuk.Ji/CPLD_GRIDGEN/rt_25376/100
Baseline dir = /lfs4/HFIP/hfv3gfs/emc.nemspara/role.ufsutils/ufs_utils/reg_tests/cpld_gridgen/baseline_data/100

Checking test 100 results ....
Comparing Bu.mx100_SCRIP.nc........OK
Comparing C96.mx100.tile1.nc........OK
Comparing C96.mx100.tile2.nc........OK
Comparing C96.mx100.tile3.nc........OK
Comparing C96.mx100.tile4.nc........OK
Comparing C96.mx100.tile5.nc........OK
Comparing C96.mx100.tile6.nc........OK
Comparing Ct.mx025_SCRIP.nc........OK
Comparing Ct.mx100.to.C96.nc........OK
Comparing Ct.mx100_SCRIP.nc........OK
Comparing Ct.mx100_SCRIP_land.nc........OK
Comparing Cu.mx100_SCRIP.nc........OK
Comparing Cv.mx100_SCRIP.nc........OK
Comparing grid_cice_NEMS_mx100.nc........OK
Comparing kmtu_cice_NEMS_mx100.nc........OK
Comparing mesh.mx100.nc........OK
Comparing tripole.mx025.Ct.to.mx100.Ct.neareststod.nc........OK
Comparing tripole.mx100.nc........OK
Comparing ufs.topo_edits_011818.nc........OK


REGRESSION TEST WAS SUCCESSFUL
Mon Apr 25 15:07:31 GMT 2022
76 changes: 76 additions & 0 deletions reg_tests/cpld_gridgen/RegressionTests_orion.intel.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
Sat Apr 23 12:52:18 CDT 2022
Start Regression test

Working dir = /work/noaa/stmp/jminsuk/CPLD_GRIDGEN/rt_614/025
Baseline dir = /work/noaa/nems/role-nems/ufs_utils/reg_tests/cpld_gridgen/baseline_data/025

Checking test 025 results ....
Comparing Bu.mx025_SCRIP.nc........OK
Comparing C384.mx025.tile1.nc........OK
Comparing C384.mx025.tile2.nc........OK
Comparing C384.mx025.tile3.nc........OK
Comparing C384.mx025.tile4.nc........OK
Comparing C384.mx025.tile5.nc........OK
Comparing C384.mx025.tile6.nc........OK
Comparing Ct.mx025_SCRIP_land.nc........OK
Comparing Ct.mx025_SCRIP.nc........OK
Comparing Ct.mx025.to.C384.nc........OK
Comparing Cu.mx025_SCRIP.nc........OK
Comparing Cv.mx025_SCRIP.nc........OK
Comparing grid_cice_NEMS_mx025.nc........OK
Comparing kmtu_cice_NEMS_mx025.nc........OK
Comparing mesh.mx025.nc........OK
Comparing tripole.mx025.nc........OK


Working dir = /work/noaa/stmp/jminsuk/CPLD_GRIDGEN/rt_614/050
Baseline dir = /work/noaa/nems/role-nems/ufs_utils/reg_tests/cpld_gridgen/baseline_data/050

Checking test 050 results ....
Comparing Bu.mx050_SCRIP.nc........OK
Comparing C192.mx050.tile1.nc........OK
Comparing C192.mx050.tile2.nc........OK
Comparing C192.mx050.tile3.nc........OK
Comparing C192.mx050.tile4.nc........OK
Comparing C192.mx050.tile5.nc........OK
Comparing C192.mx050.tile6.nc........OK
Comparing Ct.mx025_SCRIP.nc........OK
Comparing Ct.mx050_SCRIP_land.nc........OK
Comparing Ct.mx050_SCRIP.nc........OK
Comparing Ct.mx050.to.C192.nc........OK
Comparing Cu.mx050_SCRIP.nc........OK
Comparing Cv.mx050_SCRIP.nc........OK
Comparing grid_cice_NEMS_mx050.nc........OK
Comparing kmtu_cice_NEMS_mx050.nc........OK
Comparing mesh.mx050.nc........OK
Comparing tripole.mx025.Ct.to.mx050.Ct.neareststod.nc........OK
Comparing tripole.mx050.nc........OK


Working dir = /work/noaa/stmp/jminsuk/CPLD_GRIDGEN/rt_614/100
Baseline dir = /work/noaa/nems/role-nems/ufs_utils/reg_tests/cpld_gridgen/baseline_data/100

Checking test 100 results ....
Comparing Bu.mx100_SCRIP.nc........OK
Comparing C96.mx100.tile1.nc........OK
Comparing C96.mx100.tile2.nc........OK
Comparing C96.mx100.tile3.nc........OK
Comparing C96.mx100.tile4.nc........OK
Comparing C96.mx100.tile5.nc........OK
Comparing C96.mx100.tile6.nc........OK
Comparing Ct.mx025_SCRIP.nc........OK
Comparing Ct.mx100_SCRIP_land.nc........OK
Comparing Ct.mx100_SCRIP.nc........OK
Comparing Ct.mx100.to.C96.nc........OK
Comparing Cu.mx100_SCRIP.nc........OK
Comparing Cv.mx100_SCRIP.nc........OK
Comparing grid_cice_NEMS_mx100.nc........OK
Comparing kmtu_cice_NEMS_mx100.nc........OK
Comparing mesh.mx100.nc........OK
Comparing tripole.mx025.Ct.to.mx100.Ct.neareststod.nc........OK
Comparing tripole.mx100.nc........OK
Comparing ufs.topo_edits_011818.nc........OK


REGRESSION TEST WAS SUCCESSFUL
Sat Apr 23 12:56:51 CDT 2022
15 changes: 15 additions & 0 deletions reg_tests/cpld_gridgen/parm/grid.nml.IN
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
& grid_nml
ni=NI_GLB
nj=NJ_GLB
dirsrc='FIXDIR'
dirout='OUTDIR'
fv3dir='MOSAICDIR'
topofile=TOPOGFILE
editsfile=EDITSFILE
res=RESNAME
atmres=MOSAICRES
npx=NPX
editmask=DO_MASKEDIT
debug=DO_DEBUG
do_postwgts=DO_POSTWGTS
/
6 changes: 6 additions & 0 deletions reg_tests/cpld_gridgen/rt.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# C384_025 needs to be the first test due to dependency
# TEST_NAME | DEP_NAME
#
C384_025 |
C192_050 | C384_025
C096_100 | C384_025
Loading

0 comments on commit 4e9ca5e

Please sign in to comment.