From 41f7ca923ec290a78fd525eecd524927ab16f255 Mon Sep 17 00:00:00 2001 From: Denise Worthen Date: Fri, 27 Oct 2023 08:36:20 -0400 Subject: [PATCH] cpld_gridgen: Fix weights generation for tripole->rectilinear output of ocean and ice (#858) When generating rectilinear destination grids, set lat_typ=cap in order to obtain a grid from 90S to 90N. Also, return an optional RouteHandle (un-used) when generating the ESMF Weights. This creates a weights file which properly generates values along the tripole seam. Fixes #857 Fixes #864 --- .../RegressionTests_hera.intel.log | 83 +++++++++- .../RegressionTests_jet.intel.log | 83 +++++++++- .../RegressionTests_orion.intel.log | 83 +++++++++- .../RegressionTests_wcoss2.intel.log | 143 ++++++++++++++++++ reg_tests/cpld_gridgen/rt.conf | 1 + reg_tests/cpld_gridgen/rt.sh | 11 +- sorc/cpld_gridgen.fd/charstrings.F90 | 2 +- sorc/cpld_gridgen.fd/gen_fixgrid.F90 | 32 +++- sorc/cpld_gridgen.fd/postwgts.F90 | 28 ++-- ush/cpld_gridgen.sh | 33 ++-- 10 files changed, 431 insertions(+), 68 deletions(-) create mode 100644 reg_tests/cpld_gridgen/RegressionTests_wcoss2.intel.log diff --git a/reg_tests/cpld_gridgen/RegressionTests_hera.intel.log b/reg_tests/cpld_gridgen/RegressionTests_hera.intel.log index 6e9632d61..1a9a8954d 100644 --- a/reg_tests/cpld_gridgen/RegressionTests_hera.intel.log +++ b/reg_tests/cpld_gridgen/RegressionTests_hera.intel.log @@ -1,8 +1,8 @@ -Sat Apr 23 17:52:41 UTC 2022 +Thu Oct 26 17:23:32 UTC 2023 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 +Working dir = /scratch1/NCEPDEV/stmp4/Denise.Worthen/CPLD_GRIDGEN/rt_198243/025 +Baseline dir = /scratch1/NCEPDEV/nems/role.ufsutils/ufs_utils/reg_tests/cpld_gridgen/baseline_data/025.new Checking test 025 results .... Comparing Bu.mx025_SCRIP.nc........OK @@ -20,11 +20,26 @@ 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 rect.0p25_SCRIP.nc........OK +Comparing rect.0p5_SCRIP.nc........OK +Comparing rect.1p0_SCRIP.nc........OK +Comparing rect.5p0_SCRIP.nc........OK +Comparing tripole.mx025.Bu.to.Ct.bilinear.nc........OK +Comparing tripole.mx025.Ct.to.rect.0p25.bilinear.nc........OK +Comparing tripole.mx025.Ct.to.rect.0p25.conserve.nc........OK +Comparing tripole.mx025.Ct.to.rect.0p5.bilinear.nc........OK +Comparing tripole.mx025.Ct.to.rect.0p5.conserve.nc........OK +Comparing tripole.mx025.Ct.to.rect.1p0.bilinear.nc........OK +Comparing tripole.mx025.Ct.to.rect.1p0.conserve.nc........OK +Comparing tripole.mx025.Ct.to.rect.5p0.bilinear.nc........OK +Comparing tripole.mx025.Ct.to.rect.5p0.conserve.nc........OK +Comparing tripole.mx025.Cu.to.Ct.bilinear.nc........OK +Comparing tripole.mx025.Cv.to.Ct.bilinear.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 +Working dir = /scratch1/NCEPDEV/stmp4/Denise.Worthen/CPLD_GRIDGEN/rt_198243/050 +Baseline dir = /scratch1/NCEPDEV/nems/role.ufsutils/ufs_utils/reg_tests/cpld_gridgen/baseline_data/050.new Checking test 050 results .... Comparing Bu.mx050_SCRIP.nc........OK @@ -43,12 +58,24 @@ 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 rect.0p5_SCRIP.nc........OK +Comparing rect.1p0_SCRIP.nc........OK +Comparing rect.5p0_SCRIP.nc........OK Comparing tripole.mx025.Ct.to.mx050.Ct.neareststod.nc........OK +Comparing tripole.mx050.Bu.to.Ct.bilinear.nc........OK +Comparing tripole.mx050.Ct.to.rect.0p5.bilinear.nc........OK +Comparing tripole.mx050.Ct.to.rect.0p5.conserve.nc........OK +Comparing tripole.mx050.Ct.to.rect.1p0.bilinear.nc........OK +Comparing tripole.mx050.Ct.to.rect.1p0.conserve.nc........OK +Comparing tripole.mx050.Ct.to.rect.5p0.bilinear.nc........OK +Comparing tripole.mx050.Ct.to.rect.5p0.conserve.nc........OK +Comparing tripole.mx050.Cu.to.Ct.bilinear.nc........OK +Comparing tripole.mx050.Cv.to.Ct.bilinear.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 +Working dir = /scratch1/NCEPDEV/stmp4/Denise.Worthen/CPLD_GRIDGEN/rt_198243/100 +Baseline dir = /scratch1/NCEPDEV/nems/role.ufsutils/ufs_utils/reg_tests/cpld_gridgen/baseline_data/100.new Checking test 100 results .... Comparing Bu.mx100_SCRIP.nc........OK @@ -67,10 +94,50 @@ 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 rect.1p0_SCRIP.nc........OK +Comparing rect.5p0_SCRIP.nc........OK Comparing tripole.mx025.Ct.to.mx100.Ct.neareststod.nc........OK +Comparing tripole.mx100.Bu.to.Ct.bilinear.nc........OK +Comparing tripole.mx100.Ct.to.rect.1p0.bilinear.nc........OK +Comparing tripole.mx100.Ct.to.rect.1p0.conserve.nc........OK +Comparing tripole.mx100.Ct.to.rect.5p0.bilinear.nc........OK +Comparing tripole.mx100.Ct.to.rect.5p0.conserve.nc........OK +Comparing tripole.mx100.Cu.to.Ct.bilinear.nc........OK +Comparing tripole.mx100.Cv.to.Ct.bilinear.nc........OK Comparing tripole.mx100.nc........OK Comparing ufs.topo_edits_011818.nc........OK +Working dir = /scratch1/NCEPDEV/stmp4/Denise.Worthen/CPLD_GRIDGEN/rt_198243/500 +Baseline dir = /scratch1/NCEPDEV/nems/role.ufsutils/ufs_utils/reg_tests/cpld_gridgen/baseline_data/500.new + +Checking test 500 results .... +Comparing Bu.mx500_SCRIP.nc........OK +Comparing C48.mx500.tile1.nc........OK +Comparing C48.mx500.tile2.nc........OK +Comparing C48.mx500.tile3.nc........OK +Comparing C48.mx500.tile4.nc........OK +Comparing C48.mx500.tile5.nc........OK +Comparing C48.mx500.tile6.nc........OK +Comparing Ct.mx025_SCRIP.nc........OK +Comparing Ct.mx500_SCRIP_land.nc........OK +Comparing Ct.mx500_SCRIP.nc........OK +Comparing Ct.mx500.to.C48.nc........OK +Comparing Cu.mx500_SCRIP.nc........OK +Comparing Cv.mx500_SCRIP.nc........OK +Comparing grid_cice_NEMS_mx500.nc........OK +Comparing kmtu_cice_NEMS_mx500.nc........OK +Comparing mesh.mx500.nc........OK +Comparing rect.5p0_SCRIP.nc........OK +Comparing tripole.mx025.Ct.to.mx500.Ct.neareststod.nc........OK +Comparing tripole.mx500.Bu.to.Ct.bilinear.nc........OK +Comparing tripole.mx500.Ct.to.rect.5p0.bilinear.nc........OK +Comparing tripole.mx500.Ct.to.rect.5p0.conserve.nc........OK +Comparing tripole.mx500.Cu.to.Ct.bilinear.nc........OK +Comparing tripole.mx500.Cv.to.Ct.bilinear.nc........OK +Comparing tripole.mx500.nc........OK + + REGRESSION TEST WAS SUCCESSFUL -Sat Apr 23 17:57:15 UTC 2022 +Thu Oct 26 17:46:20 UTC 2023 +Elapsed time: 00h:24m:25s. Have a nice day! diff --git a/reg_tests/cpld_gridgen/RegressionTests_jet.intel.log b/reg_tests/cpld_gridgen/RegressionTests_jet.intel.log index 88b074661..a0d8ca735 100644 --- a/reg_tests/cpld_gridgen/RegressionTests_jet.intel.log +++ b/reg_tests/cpld_gridgen/RegressionTests_jet.intel.log @@ -1,8 +1,8 @@ -Mon Apr 25 14:59:30 GMT 2022 +Thu Oct 26 18:20:27 UTC 2023 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 +Working dir = /lfs4/HFIP/h-nems/Denise.Worthen/CPLD_GRIDGEN/rt_55026/025 +Baseline dir = /lfs4/HFIP/hfv3gfs/emc.nemspara/role.ufsutils/ufs_utils/reg_tests/cpld_gridgen/baseline_data/025.new Checking test 025 results .... Comparing Bu.mx025_SCRIP.nc........OK @@ -20,11 +20,26 @@ 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 rect.0p25_SCRIP.nc........OK +Comparing rect.0p5_SCRIP.nc........OK +Comparing rect.1p0_SCRIP.nc........OK +Comparing rect.5p0_SCRIP.nc........OK +Comparing tripole.mx025.Bu.to.Ct.bilinear.nc........OK +Comparing tripole.mx025.Ct.to.rect.0p25.bilinear.nc........OK +Comparing tripole.mx025.Ct.to.rect.0p25.conserve.nc........OK +Comparing tripole.mx025.Ct.to.rect.0p5.bilinear.nc........OK +Comparing tripole.mx025.Ct.to.rect.0p5.conserve.nc........OK +Comparing tripole.mx025.Ct.to.rect.1p0.bilinear.nc........OK +Comparing tripole.mx025.Ct.to.rect.1p0.conserve.nc........OK +Comparing tripole.mx025.Ct.to.rect.5p0.bilinear.nc........OK +Comparing tripole.mx025.Ct.to.rect.5p0.conserve.nc........OK +Comparing tripole.mx025.Cu.to.Ct.bilinear.nc........OK +Comparing tripole.mx025.Cv.to.Ct.bilinear.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 +Working dir = /lfs4/HFIP/h-nems/Denise.Worthen/CPLD_GRIDGEN/rt_55026/050 +Baseline dir = /lfs4/HFIP/hfv3gfs/emc.nemspara/role.ufsutils/ufs_utils/reg_tests/cpld_gridgen/baseline_data/050.new Checking test 050 results .... Comparing Bu.mx050_SCRIP.nc........OK @@ -43,12 +58,24 @@ 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 rect.0p5_SCRIP.nc........OK +Comparing rect.1p0_SCRIP.nc........OK +Comparing rect.5p0_SCRIP.nc........OK Comparing tripole.mx025.Ct.to.mx050.Ct.neareststod.nc........OK +Comparing tripole.mx050.Bu.to.Ct.bilinear.nc........OK +Comparing tripole.mx050.Ct.to.rect.0p5.bilinear.nc........OK +Comparing tripole.mx050.Ct.to.rect.0p5.conserve.nc........OK +Comparing tripole.mx050.Ct.to.rect.1p0.bilinear.nc........OK +Comparing tripole.mx050.Ct.to.rect.1p0.conserve.nc........OK +Comparing tripole.mx050.Ct.to.rect.5p0.bilinear.nc........OK +Comparing tripole.mx050.Ct.to.rect.5p0.conserve.nc........OK +Comparing tripole.mx050.Cu.to.Ct.bilinear.nc........OK +Comparing tripole.mx050.Cv.to.Ct.bilinear.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 +Working dir = /lfs4/HFIP/h-nems/Denise.Worthen/CPLD_GRIDGEN/rt_55026/100 +Baseline dir = /lfs4/HFIP/hfv3gfs/emc.nemspara/role.ufsutils/ufs_utils/reg_tests/cpld_gridgen/baseline_data/100.new Checking test 100 results .... Comparing Bu.mx100_SCRIP.nc........OK @@ -67,10 +94,50 @@ 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 rect.1p0_SCRIP.nc........OK +Comparing rect.5p0_SCRIP.nc........OK Comparing tripole.mx025.Ct.to.mx100.Ct.neareststod.nc........OK +Comparing tripole.mx100.Bu.to.Ct.bilinear.nc........OK +Comparing tripole.mx100.Ct.to.rect.1p0.bilinear.nc........OK +Comparing tripole.mx100.Ct.to.rect.1p0.conserve.nc........OK +Comparing tripole.mx100.Ct.to.rect.5p0.bilinear.nc........OK +Comparing tripole.mx100.Ct.to.rect.5p0.conserve.nc........OK +Comparing tripole.mx100.Cu.to.Ct.bilinear.nc........OK +Comparing tripole.mx100.Cv.to.Ct.bilinear.nc........OK Comparing tripole.mx100.nc........OK Comparing ufs.topo_edits_011818.nc........OK +Working dir = /lfs4/HFIP/h-nems/Denise.Worthen/CPLD_GRIDGEN/rt_55026/500 +Baseline dir = /lfs4/HFIP/hfv3gfs/emc.nemspara/role.ufsutils/ufs_utils/reg_tests/cpld_gridgen/baseline_data/500.new + +Checking test 500 results .... +Comparing Bu.mx500_SCRIP.nc........OK +Comparing C48.mx500.tile1.nc........OK +Comparing C48.mx500.tile2.nc........OK +Comparing C48.mx500.tile3.nc........OK +Comparing C48.mx500.tile4.nc........OK +Comparing C48.mx500.tile5.nc........OK +Comparing C48.mx500.tile6.nc........OK +Comparing Ct.mx025_SCRIP.nc........OK +Comparing Ct.mx500.to.C48.nc........OK +Comparing Ct.mx500_SCRIP.nc........OK +Comparing Ct.mx500_SCRIP_land.nc........OK +Comparing Cu.mx500_SCRIP.nc........OK +Comparing Cv.mx500_SCRIP.nc........OK +Comparing grid_cice_NEMS_mx500.nc........OK +Comparing kmtu_cice_NEMS_mx500.nc........OK +Comparing mesh.mx500.nc........OK +Comparing rect.5p0_SCRIP.nc........OK +Comparing tripole.mx025.Ct.to.mx500.Ct.neareststod.nc........OK +Comparing tripole.mx500.Bu.to.Ct.bilinear.nc........OK +Comparing tripole.mx500.Ct.to.rect.5p0.bilinear.nc........OK +Comparing tripole.mx500.Ct.to.rect.5p0.conserve.nc........OK +Comparing tripole.mx500.Cu.to.Ct.bilinear.nc........OK +Comparing tripole.mx500.Cv.to.Ct.bilinear.nc........OK +Comparing tripole.mx500.nc........OK + + REGRESSION TEST WAS SUCCESSFUL -Mon Apr 25 15:07:31 GMT 2022 +Thu Oct 26 18:50:56 UTC 2023 +Elapsed time: 00h:32m:10s. Have a nice day! diff --git a/reg_tests/cpld_gridgen/RegressionTests_orion.intel.log b/reg_tests/cpld_gridgen/RegressionTests_orion.intel.log index 2a7e3b8e0..ff7816ef9 100644 --- a/reg_tests/cpld_gridgen/RegressionTests_orion.intel.log +++ b/reg_tests/cpld_gridgen/RegressionTests_orion.intel.log @@ -1,8 +1,8 @@ -Sat Apr 23 12:52:18 CDT 2022 +Thu Oct 26 13:21:30 CDT 2023 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 +Working dir = /work/noaa/stmp/dworthen/CPLD_GRIDGEN/rt_121164/025 +Baseline dir = /work/noaa/nems/role-nems/ufs_utils/reg_tests/cpld_gridgen/baseline_data/025.new Checking test 025 results .... Comparing Bu.mx025_SCRIP.nc........OK @@ -20,11 +20,26 @@ 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 rect.0p25_SCRIP.nc........OK +Comparing rect.0p5_SCRIP.nc........OK +Comparing rect.1p0_SCRIP.nc........OK +Comparing rect.5p0_SCRIP.nc........OK +Comparing tripole.mx025.Bu.to.Ct.bilinear.nc........OK +Comparing tripole.mx025.Ct.to.rect.0p25.bilinear.nc........OK +Comparing tripole.mx025.Ct.to.rect.0p25.conserve.nc........OK +Comparing tripole.mx025.Ct.to.rect.0p5.bilinear.nc........OK +Comparing tripole.mx025.Ct.to.rect.0p5.conserve.nc........OK +Comparing tripole.mx025.Ct.to.rect.1p0.bilinear.nc........OK +Comparing tripole.mx025.Ct.to.rect.1p0.conserve.nc........OK +Comparing tripole.mx025.Ct.to.rect.5p0.bilinear.nc........OK +Comparing tripole.mx025.Ct.to.rect.5p0.conserve.nc........OK +Comparing tripole.mx025.Cu.to.Ct.bilinear.nc........OK +Comparing tripole.mx025.Cv.to.Ct.bilinear.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 +Working dir = /work/noaa/stmp/dworthen/CPLD_GRIDGEN/rt_121164/050 +Baseline dir = /work/noaa/nems/role-nems/ufs_utils/reg_tests/cpld_gridgen/baseline_data/050.new Checking test 050 results .... Comparing Bu.mx050_SCRIP.nc........OK @@ -43,12 +58,24 @@ 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 rect.0p5_SCRIP.nc........OK +Comparing rect.1p0_SCRIP.nc........OK +Comparing rect.5p0_SCRIP.nc........OK Comparing tripole.mx025.Ct.to.mx050.Ct.neareststod.nc........OK +Comparing tripole.mx050.Bu.to.Ct.bilinear.nc........OK +Comparing tripole.mx050.Ct.to.rect.0p5.bilinear.nc........OK +Comparing tripole.mx050.Ct.to.rect.0p5.conserve.nc........OK +Comparing tripole.mx050.Ct.to.rect.1p0.bilinear.nc........OK +Comparing tripole.mx050.Ct.to.rect.1p0.conserve.nc........OK +Comparing tripole.mx050.Ct.to.rect.5p0.bilinear.nc........OK +Comparing tripole.mx050.Ct.to.rect.5p0.conserve.nc........OK +Comparing tripole.mx050.Cu.to.Ct.bilinear.nc........OK +Comparing tripole.mx050.Cv.to.Ct.bilinear.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 +Working dir = /work/noaa/stmp/dworthen/CPLD_GRIDGEN/rt_121164/100 +Baseline dir = /work/noaa/nems/role-nems/ufs_utils/reg_tests/cpld_gridgen/baseline_data/100.new Checking test 100 results .... Comparing Bu.mx100_SCRIP.nc........OK @@ -67,10 +94,50 @@ 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 rect.1p0_SCRIP.nc........OK +Comparing rect.5p0_SCRIP.nc........OK Comparing tripole.mx025.Ct.to.mx100.Ct.neareststod.nc........OK +Comparing tripole.mx100.Bu.to.Ct.bilinear.nc........OK +Comparing tripole.mx100.Ct.to.rect.1p0.bilinear.nc........OK +Comparing tripole.mx100.Ct.to.rect.1p0.conserve.nc........OK +Comparing tripole.mx100.Ct.to.rect.5p0.bilinear.nc........OK +Comparing tripole.mx100.Ct.to.rect.5p0.conserve.nc........OK +Comparing tripole.mx100.Cu.to.Ct.bilinear.nc........OK +Comparing tripole.mx100.Cv.to.Ct.bilinear.nc........OK Comparing tripole.mx100.nc........OK Comparing ufs.topo_edits_011818.nc........OK +Working dir = /work/noaa/stmp/dworthen/CPLD_GRIDGEN/rt_121164/500 +Baseline dir = /work/noaa/nems/role-nems/ufs_utils/reg_tests/cpld_gridgen/baseline_data/500.new + +Checking test 500 results .... +Comparing Bu.mx500_SCRIP.nc........OK +Comparing C48.mx500.tile1.nc........OK +Comparing C48.mx500.tile2.nc........OK +Comparing C48.mx500.tile3.nc........OK +Comparing C48.mx500.tile4.nc........OK +Comparing C48.mx500.tile5.nc........OK +Comparing C48.mx500.tile6.nc........OK +Comparing Ct.mx025_SCRIP.nc........OK +Comparing Ct.mx500_SCRIP_land.nc........OK +Comparing Ct.mx500_SCRIP.nc........OK +Comparing Ct.mx500.to.C48.nc........OK +Comparing Cu.mx500_SCRIP.nc........OK +Comparing Cv.mx500_SCRIP.nc........OK +Comparing grid_cice_NEMS_mx500.nc........OK +Comparing kmtu_cice_NEMS_mx500.nc........OK +Comparing mesh.mx500.nc........OK +Comparing rect.5p0_SCRIP.nc........OK +Comparing tripole.mx025.Ct.to.mx500.Ct.neareststod.nc........OK +Comparing tripole.mx500.Bu.to.Ct.bilinear.nc........OK +Comparing tripole.mx500.Ct.to.rect.5p0.bilinear.nc........OK +Comparing tripole.mx500.Ct.to.rect.5p0.conserve.nc........OK +Comparing tripole.mx500.Cu.to.Ct.bilinear.nc........OK +Comparing tripole.mx500.Cv.to.Ct.bilinear.nc........OK +Comparing tripole.mx500.nc........OK + + REGRESSION TEST WAS SUCCESSFUL -Sat Apr 23 12:56:51 CDT 2022 +Thu Oct 26 13:41:16 CDT 2023 +Elapsed time: 00h:21m:06s. Have a nice day! diff --git a/reg_tests/cpld_gridgen/RegressionTests_wcoss2.intel.log b/reg_tests/cpld_gridgen/RegressionTests_wcoss2.intel.log new file mode 100644 index 000000000..08cef51ad --- /dev/null +++ b/reg_tests/cpld_gridgen/RegressionTests_wcoss2.intel.log @@ -0,0 +1,143 @@ +Thu Oct 26 18:28:37 UTC 2023 +Start Regression test + +Working dir = /lfs/h2/emc/stmp/denise.worthen/CPLD_GRIDGEN/rt_155737/025 +Baseline dir = /lfs/h2/emc/nems/noscrub/emc.nems/UFS_UTILS/reg_tests/cpld_gridgen/baseline_data/025.new + +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 rect.0p25_SCRIP.nc........OK +Comparing rect.0p5_SCRIP.nc........OK +Comparing rect.1p0_SCRIP.nc........OK +Comparing rect.5p0_SCRIP.nc........OK +Comparing tripole.mx025.Bu.to.Ct.bilinear.nc........OK +Comparing tripole.mx025.Ct.to.rect.0p25.bilinear.nc........OK +Comparing tripole.mx025.Ct.to.rect.0p25.conserve.nc........OK +Comparing tripole.mx025.Ct.to.rect.0p5.bilinear.nc........OK +Comparing tripole.mx025.Ct.to.rect.0p5.conserve.nc........OK +Comparing tripole.mx025.Ct.to.rect.1p0.bilinear.nc........OK +Comparing tripole.mx025.Ct.to.rect.1p0.conserve.nc........OK +Comparing tripole.mx025.Ct.to.rect.5p0.bilinear.nc........OK +Comparing tripole.mx025.Ct.to.rect.5p0.conserve.nc........OK +Comparing tripole.mx025.Cu.to.Ct.bilinear.nc........OK +Comparing tripole.mx025.Cv.to.Ct.bilinear.nc........OK +Comparing tripole.mx025.nc........OK + + +Working dir = /lfs/h2/emc/stmp/denise.worthen/CPLD_GRIDGEN/rt_155737/050 +Baseline dir = /lfs/h2/emc/nems/noscrub/emc.nems/UFS_UTILS/reg_tests/cpld_gridgen/baseline_data/050.new + +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 rect.0p5_SCRIP.nc........OK +Comparing rect.1p0_SCRIP.nc........OK +Comparing rect.5p0_SCRIP.nc........OK +Comparing tripole.mx025.Ct.to.mx050.Ct.neareststod.nc........OK +Comparing tripole.mx050.Bu.to.Ct.bilinear.nc........OK +Comparing tripole.mx050.Ct.to.rect.0p5.bilinear.nc........OK +Comparing tripole.mx050.Ct.to.rect.0p5.conserve.nc........OK +Comparing tripole.mx050.Ct.to.rect.1p0.bilinear.nc........OK +Comparing tripole.mx050.Ct.to.rect.1p0.conserve.nc........OK +Comparing tripole.mx050.Ct.to.rect.5p0.bilinear.nc........OK +Comparing tripole.mx050.Ct.to.rect.5p0.conserve.nc........OK +Comparing tripole.mx050.Cu.to.Ct.bilinear.nc........OK +Comparing tripole.mx050.Cv.to.Ct.bilinear.nc........OK +Comparing tripole.mx050.nc........OK + + +Working dir = /lfs/h2/emc/stmp/denise.worthen/CPLD_GRIDGEN/rt_155737/100 +Baseline dir = /lfs/h2/emc/nems/noscrub/emc.nems/UFS_UTILS/reg_tests/cpld_gridgen/baseline_data/100.new + +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 rect.1p0_SCRIP.nc........OK +Comparing rect.5p0_SCRIP.nc........OK +Comparing tripole.mx025.Ct.to.mx100.Ct.neareststod.nc........OK +Comparing tripole.mx100.Bu.to.Ct.bilinear.nc........OK +Comparing tripole.mx100.Ct.to.rect.1p0.bilinear.nc........OK +Comparing tripole.mx100.Ct.to.rect.1p0.conserve.nc........OK +Comparing tripole.mx100.Ct.to.rect.5p0.bilinear.nc........OK +Comparing tripole.mx100.Ct.to.rect.5p0.conserve.nc........OK +Comparing tripole.mx100.Cu.to.Ct.bilinear.nc........OK +Comparing tripole.mx100.Cv.to.Ct.bilinear.nc........OK +Comparing tripole.mx100.nc........OK +Comparing ufs.topo_edits_011818.nc........OK + + +Working dir = /lfs/h2/emc/stmp/denise.worthen/CPLD_GRIDGEN/rt_155737/500 +Baseline dir = /lfs/h2/emc/nems/noscrub/emc.nems/UFS_UTILS/reg_tests/cpld_gridgen/baseline_data/500.new + +Checking test 500 results .... +Comparing Bu.mx500_SCRIP.nc........OK +Comparing C48.mx500.tile1.nc........OK +Comparing C48.mx500.tile2.nc........OK +Comparing C48.mx500.tile3.nc........OK +Comparing C48.mx500.tile4.nc........OK +Comparing C48.mx500.tile5.nc........OK +Comparing C48.mx500.tile6.nc........OK +Comparing Ct.mx025_SCRIP.nc........OK +Comparing Ct.mx500_SCRIP_land.nc........OK +Comparing Ct.mx500_SCRIP.nc........OK +Comparing Ct.mx500.to.C48.nc........OK +Comparing Cu.mx500_SCRIP.nc........OK +Comparing Cv.mx500_SCRIP.nc........OK +Comparing grid_cice_NEMS_mx500.nc........OK +Comparing kmtu_cice_NEMS_mx500.nc........OK +Comparing mesh.mx500.nc........OK +Comparing rect.5p0_SCRIP.nc........OK +Comparing tripole.mx025.Ct.to.mx500.Ct.neareststod.nc........OK +Comparing tripole.mx500.Bu.to.Ct.bilinear.nc........OK +Comparing tripole.mx500.Ct.to.rect.5p0.bilinear.nc........OK +Comparing tripole.mx500.Ct.to.rect.5p0.conserve.nc........OK +Comparing tripole.mx500.Cu.to.Ct.bilinear.nc........OK +Comparing tripole.mx500.Cv.to.Ct.bilinear.nc........OK +Comparing tripole.mx500.nc........OK + + +REGRESSION TEST WAS SUCCESSFUL +Thu Oct 26 18:48:08 UTC 2023 +Elapsed time: 00h:20m:34s. Have a nice day! diff --git a/reg_tests/cpld_gridgen/rt.conf b/reg_tests/cpld_gridgen/rt.conf index 64b2a617f..d40b4d815 100644 --- a/reg_tests/cpld_gridgen/rt.conf +++ b/reg_tests/cpld_gridgen/rt.conf @@ -9,6 +9,7 @@ C384_025 | C192_050 | C384_025 C096_100 | C384_025 + C048_500 | C384_025 ################################################################# # Non-baseline configurations. diff --git a/reg_tests/cpld_gridgen/rt.sh b/reg_tests/cpld_gridgen/rt.sh index b08cbac7c..49f353963 100755 --- a/reg_tests/cpld_gridgen/rt.sh +++ b/reg_tests/cpld_gridgen/rt.sh @@ -108,7 +108,7 @@ TESTS_FILE="$PATHRT/rt.conf" export TEST_NAME= # for C3072 on hera, use WLCLK=60 and MEM="--exclusive" -WLCLK_dflt=10 +WLCLK_dflt=15 export WLCLK=$WLCLK_dflt MEM_dflt="--mem=12g" export MEM=$MEM_dflt @@ -125,7 +125,7 @@ rm -f fail_test* $COMPILE_LOG run_*.log nccmp_*.log summary.log if [[ $target = wcoss2 ]]; then STMP=${STMP:-/lfs/h2/emc/stmp/$USER} - export MOM6_FIXDIR=/lfs/h2/emc/nems/noscrub/emc.nems/UFS_UTILS/reg_tests/cpld_gridgen/fix_mom6 + export MOM6_FIXDIR=/lfs/h2/emc/global/noscrub/emc.global/FIX/fix/mom6/20220805 BASELINE_ROOT=/lfs/h2/emc/nems/noscrub/emc.nems/UFS_UTILS/reg_tests/cpld_gridgen/baseline_data ACCOUNT=${ACCOUNT:-GFS-DEV} export APRUN="mpiexec -n 1 -ppn 1 --cpu-bind core" @@ -134,7 +134,7 @@ if [[ $target = wcoss2 ]]; then NCCMP=/lfs/h2/emc/global/noscrub/George.Gayno/util/nccmp/nccmp-1.8.5.0/src/nccmp elif [[ $target = hera ]]; then STMP=${STMP:-/scratch1/NCEPDEV/stmp4/$USER} - export MOM6_FIXDIR=/scratch1/NCEPDEV/nems/role.ufsutils/ufs_utils/reg_tests/cpld_gridgen/fix_mom6 + export MOM6_FIXDIR=/scratch1/NCEPDEV/global/glopara/fix/mom6/20220805 BASELINE_ROOT=/scratch1/NCEPDEV/nems/role.ufsutils/ufs_utils/reg_tests/cpld_gridgen/baseline_data ACCOUNT=${ACCOUNT:-nems} QUEUE=${QUEUE:-batch} @@ -143,7 +143,7 @@ elif [[ $target = hera ]]; then SBATCH_COMMAND="./cpld_gridgen.sh" elif [[ $target = orion ]]; then STMP=${STMP:-/work/noaa/stmp/$USER} - export MOM6_FIXDIR=/work/noaa/nems/role-nems/ufs_utils/reg_tests/cpld_gridgen/fix_mom6 + export MOM6_FIXDIR=/work/noaa/global/glopara/fix/mom6/20220805 BASELINE_ROOT=/work/noaa/nems/role-nems/ufs_utils/reg_tests/cpld_gridgen/baseline_data ACCOUNT=${ACCOUNT:-nems} QUEUE=${QUEUE:-batch} @@ -153,13 +153,14 @@ elif [[ $target = orion ]]; then SBATCH_COMMAND="./cpld_gridgen.sh" elif [[ $target = jet ]]; then STMP=${STMP:-/lfs4/HFIP/h-nems/$USER} - export MOM6_FIXDIR=/lfs4/HFIP/hfv3gfs/emc.nemspara/role.ufsutils/ufs_utils/reg_tests/cpld_gridgen/fix_mom6 + export MOM6_FIXDIR=/lfs4/HFIP/hfv3gfs/glopara/git/fv3gfs/fix/mom6/20220805 BASELINE_ROOT=/lfs4/HFIP/hfv3gfs/emc.nemspara/role.ufsutils/ufs_utils/reg_tests/cpld_gridgen/baseline_data ACCOUNT=${ACCOUNT:-h-nems} QUEUE=${QUEUE:-batch} NCCMP=nccmp PARTITION=xjet ulimit -s unlimited + WLCLK=25 SBATCH_COMMAND="./cpld_gridgen.sh" fi NEW_BASELINE_ROOT=$STMP/CPLD_GRIDGEN/BASELINE diff --git a/sorc/cpld_gridgen.fd/charstrings.F90 b/sorc/cpld_gridgen.fd/charstrings.F90 index 00deab1b4..0e7b5a19b 100644 --- a/sorc/cpld_gridgen.fd/charstrings.F90 +++ b/sorc/cpld_gridgen.fd/charstrings.F90 @@ -15,7 +15,7 @@ module charstrings character(len=CL) :: dirout !< The directory where output files will be written character(len=CL) :: fv3dir !< The directory containing the FV3 mosaic files character(len=CS) :: res !< The Ocean/Ice resolution, e.g. 500 (5deg), 100 (1deg) - !! 050 (1/2deg), 025 (1/4deg) + !! 050 (1/2deg), 025 (1/4deg) character(len=CS) :: atmres !< The ATM resolution, e.g. C96, C192, C384 character(len=CL) :: logmsg !< An informational message diff --git a/sorc/cpld_gridgen.fd/gen_fixgrid.F90 b/sorc/cpld_gridgen.fd/gen_fixgrid.F90 index 2fcffb126..36f118eed 100644 --- a/sorc/cpld_gridgen.fd/gen_fixgrid.F90 +++ b/sorc/cpld_gridgen.fd/gen_fixgrid.F90 @@ -169,17 +169,22 @@ program gen_fixgrid if(xtype.eq. 6)dp4 = real(dp8,4) - !print *,minval(dp8),maxval(dp8) - !print *,minval(dp4),maxval(dp4) - if(editmask)then !--------------------------------------------------------------------- - ! apply topoedits run time mask changes if required for this config + ! apply topoedits run time mask changes if required for this config + ! this will create a modified topoedits file which accounts for any + ! land mask changes created at run time by MOM6 !--------------------------------------------------------------------- if(trim(editsfile) == 'none')then print '(a)', 'Need a valid editsfile to make mask edits ' - stop + call abort() + end if + inquire(file=trim(dirsrc)//'/'//trim(editsfile),exist=fexist) + if (.not. fexist) then + print '(a)', 'Required topoedits file '//trim(editsfile) & + //'for land mask changes is missing ' + call abort() end if fsrc = trim(dirsrc)//'/'//trim(editsfile) @@ -191,11 +196,22 @@ program gen_fixgrid ! MOM6 reads the depth file, applies the topo edits and then adjusts ! depth using masking_depth and min/max depth. This call mimics ! MOM6 routines apply_topography_edits_from_file and limit_topography + ! If the the topoedits file has been modified to account for MOM6 run + ! time land mask changes (above), then the depth will be created using + ! this modified topoedits file !--------------------------------------------------------------------- - fsrc = trim(dirsrc)//'/'//trim(editsfile) - if(editmask)fsrc = trim(dirout)//'/'//'ufs.'//trim(editsfile) - call apply_topoedits(fsrc) + fsrc = trim(dirsrc)//'/'//trim(editsfile) + if(editmask)fsrc = trim(dirout)//'/'//'ufs.'//trim(editsfile) + + if (trim(editsfile) /= 'none') then + inquire(file=trim(fsrc),exist=fexist) + if (.not. fexist) then + print '(a)', 'Required topoedits file '//trim(fsrc)//' is missing ' + call abort() + end if + end if + call apply_topoedits(fsrc) !--------------------------------------------------------------------- ! read MOM6 supergrid file diff --git a/sorc/cpld_gridgen.fd/postwgts.F90 b/sorc/cpld_gridgen.fd/postwgts.F90 index 4ff0bc0fa..0310d8db9 100644 --- a/sorc/cpld_gridgen.fd/postwgts.F90 +++ b/sorc/cpld_gridgen.fd/postwgts.F90 @@ -29,6 +29,7 @@ subroutine make_postwgts character(len=CM), dimension(2) :: methodname = (/'conserve', 'bilinear'/) + type(ESMF_RouteHandle) :: rh type(ESMF_RegridMethod_Flag) :: method ! the number of possible destination grids depends on the source grid resolution integer :: k,rc,nd,ndest @@ -38,22 +39,25 @@ subroutine make_postwgts ! set the destination grids !--------------------------------------------------------------------- - if(trim(res) .eq. '400')return - - if(trim(res) .eq. '100')then + if(trim(res) .eq. '500')then ndest = 1 allocate(destgrds(ndest)) - destgrds = (/'1p0 '/) + destgrds = (/'5p0 '/) end if - if(trim(res) .eq. '050')then + if(trim(res) .eq. '100')then ndest = 2 allocate(destgrds(ndest)) - destgrds = (/'1p0 ', '0p5 '/) + destgrds = (/'5p0 ', '1p0 '/) end if - if(trim(res) .eq. '025')then + if(trim(res) .eq. '050')then ndest = 3 allocate(destgrds(ndest)) - destgrds = (/'1p0 ', '0p5 ', '0p25'/) + destgrds = (/'5p0 ', '1p0 ', '0p5 '/) + end if + if(trim(res) .eq. '025')then + ndest = 4 + allocate(destgrds(ndest)) + destgrds = (/'5p0 ', '1p0 ', '0p5 ', '0p25'/) end if !--------------------------------------------------------------------- @@ -71,8 +75,8 @@ subroutine make_postwgts print '(a)',trim(logmsg) call ESMF_RegridWeightGen(srcFile=trim(fsrc),dstFile=trim(fdst), & - weightFile=trim(fwgt), regridmethod=method, & - ignoreDegenerate=.true., & + weightFile=trim(fwgt), regridmethod=method, & + ignoreDegenerate=.true., & unmappedaction=ESMF_UNMAPPEDACTION_IGNORE, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=__FILE__)) call ESMF_Finalize(endflag=ESMF_END_ABORT) @@ -98,8 +102,8 @@ subroutine make_postwgts print '(a)',trim(logmsg) call ESMF_RegridWeightGen(srcFile=trim(fsrc),dstFile=trim(fdst), & - weightFile=trim(fwgt), regridmethod=method, & - ignoreDegenerate=.true., & + weightFile=trim(fwgt), regridmethod=method, & + ignoreDegenerate=.true., regridRouteHandle=rh, & unmappedaction=ESMF_UNMAPPEDACTION_IGNORE, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=__FILE__)) call ESMF_Finalize(endflag=ESMF_END_ABORT) diff --git a/ush/cpld_gridgen.sh b/ush/cpld_gridgen.sh index 2573baf6e..2aafd621e 100755 --- a/ush/cpld_gridgen.sh +++ b/ush/cpld_gridgen.sh @@ -21,7 +21,7 @@ function edit_namelist { export RESNAME=${RESNAME:-$1} export DEBUG=.false. export MASKEDIT=.false. -export DO_POSTWGTS=.false. +export DO_POSTWGTS=.true. export OUTDIR_PATH=${OUTDIR_PATH:-/scratch1/NCEPDEV/climate/Denise.Worthen/grids-20220116} export MOSAICDIR_PATH=${MOSAICDIR_PATH:-$PATHTR/fix/orog} if [[ $MOSAICRES == C3072 ]]; then @@ -41,11 +41,7 @@ elif [[ $MOSAICRES == C048 ]]; then export MOSAICRES=C48 export NPX=48 fi -if [ $RESNAME = 500 ]; then - export FIXDIR_PATH=/scratch1/NCEPDEV/global/glopara/fix/mom6/20220805/500/ -else - export FIXDIR_PATH=${MOM6_FIXDIR}/${RESNAME} -fi +export FIXDIR_PATH=${MOM6_FIXDIR}/${RESNAME} APRUN=${APRUN:-"srun"} @@ -54,6 +50,10 @@ if [ $RESNAME = 500 ]; then export NJ=35 export TOPOGFILE=ocean_topog.nc export EDITSFILE='none' + if [ $DO_POSTWGTS == .true. ]; then + #pre-generate SCRIP files for dst rectilinear grids using NCO + $APRUN -n 1 ncremap -g ${OUTDIR_PATH}/rect.5p0_SCRIP.nc -G latlon=36,72#lon_typ=grn_ctr#lat_typ=cap + fi fi if [ $RESNAME = 100 ]; then @@ -64,9 +64,8 @@ if [ $RESNAME = 100 ]; then export EDITSFILE=topo_edits_011818.nc if [ $DO_POSTWGTS == .true. ]; then #pre-generate SCRIP files for dst rectilinear grids using NCO - # TODO: is the stagger really correct? The first pt is at 0.0E? - # should lat_type be cap? #lon_typ=grn_ctr#lat_typ=cap - ncremap -g ${OUTDIR_PATH}/rect.1p0_SCRIP.nc -G latlon=181,360#lon_typ=grn_ctr + $APRUN -n 1 ncremap -g ${OUTDIR_PATH}/rect.5p0_SCRIP.nc -G latlon=36,72#lon_typ=grn_ctr#lat_typ=cap + $APRUN -n 1 ncremap -g ${OUTDIR_PATH}/rect.1p0_SCRIP.nc -G latlon=181,360#lon_typ=grn_ctr#lat_typ=cap fi fi @@ -77,10 +76,9 @@ if [ $RESNAME = 050 ]; then export EDITSFILE='none' if [ $DO_POSTWGTS == .true. ]; then #pre-generate SCRIP files for dst rectilinear grids using NCO - # TODO: is the stagger really correct? The first pt is at 0.0E? - # should lat_type be cap? #lon_typ=grn_ctr#lat_typ=cap - ncremap -g ${OUTDIR_PATH}/rect.1p0_SCRIP.nc -G latlon=181,360#lon_typ=grn_ctr - ncremap -g ${OUTDIR_PATH}/rect.0p5_SCRIP.nc -G latlon=361,720#lon_typ=grn_ctr + $APRUN -n 1 ncremap -g ${OUTDIR_PATH}/rect.5p0_SCRIP.nc -G latlon=36,72#lon_typ=grn_ctr#lat_typ=cap + $APRUN -n 1 ncremap -g ${OUTDIR_PATH}/rect.1p0_SCRIP.nc -G latlon=181,360#lon_typ=grn_ctr#lat_typ=cap + $APRUN -n 1 ncremap -g ${OUTDIR_PATH}/rect.0p5_SCRIP.nc -G latlon=361,720#lon_typ=grn_ctr#lat_typ=cap fi fi @@ -91,11 +89,10 @@ if [ $RESNAME = 025 ]; then export EDITSFILE=All_edits.nc if [ $DO_POSTWGTS == .true. ]; then #pre-generate SCRIP files for dst rectilinear grids using NCO - # TODO: is the stagger really correct? The first pt is at 0.0E? - # should lat_type be cap? #lon_typ=grn_ctr#lat_typ=cap - ncremap -g ${OUTDIR_PATH}/rect.1p0_SCRIP.nc -G latlon=181,360#lon_typ=grn_ctr - ncremap -g ${OUTDIR_PATH}/rect.0p5_SCRIP.nc -G latlon=361,720#lon_typ=grn_ctr - ncremap -g ${OUTDIR_PATH}/rect.0p25_SCRIP.nc -G latlon=721,1440#lon_typ=grn_ctr + $APRUN -n 1 ncremap -g ${OUTDIR_PATH}/rect.5p0_SCRIP.nc -G latlon=36,72#lon_typ=grn_ctr#lat_typ=cap + $APRUN -n 1 ncremap -g ${OUTDIR_PATH}/rect.1p0_SCRIP.nc -G latlon=181,360#lon_typ=grn_ctr#lat_typ=cap + $APRUN -n 1 ncremap -g ${OUTDIR_PATH}/rect.0p5_SCRIP.nc -G latlon=361,720#lon_typ=grn_ctr#lat_typ=cap + $APRUN -n 1 ncremap -g ${OUTDIR_PATH}/rect.0p25_SCRIP.nc -G latlon=721,1440#lon_typ=grn_ctr#lat_typ=cap fi fi