From 993f3f1520a87acea1585dfccc1ae488e01589fc Mon Sep 17 00:00:00 2001 From: Francis Vitt Date: Thu, 16 Nov 2023 07:44:20 -0700 Subject: [PATCH 01/11] corrrection for zonal mean history output --- src/dynamics/fv/dyn_grid.F90 | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/dynamics/fv/dyn_grid.F90 b/src/dynamics/fv/dyn_grid.F90 index 722fd8e6fe..610df45831 100644 --- a/src/dynamics/fv/dyn_grid.F90 +++ b/src/dynamics/fv/dyn_grid.F90 @@ -1113,8 +1113,13 @@ subroutine define_cam_grids() ind = ind + 1 grid_map(1, ind) = 1 grid_map(2, ind) = i - grid_map(3, ind) = 1 - grid_map(4, ind) = i + if (beglonxy == 1) then + grid_map(3, ind) = 1 + grid_map(4, ind) = i + else + grid_map(3, ind) = 0 + grid_map(4, ind) = 0 + end if end do ! We need a special, size-one "longigude" coordinate ! NB: This is never a distributed coordinate so calc even on inactive PEs From 9279c44228ca24dee15ac0e4b55b46a816e9f825 Mon Sep 17 00:00:00 2001 From: Francis Vitt Date: Mon, 20 Nov 2023 15:00:20 -0700 Subject: [PATCH 02/11] PE layouts and grid decomp for 1-deg waccmx --- bld/build-namelist | 16 +- cime_config/config_pes.xml | 1741 +++++++++++++++++++----------------- 2 files changed, 936 insertions(+), 821 deletions(-) diff --git a/bld/build-namelist b/bld/build-namelist index 642d63e70d..8ce374a8c4 100755 --- a/bld/build-namelist +++ b/bld/build-namelist @@ -4051,13 +4051,21 @@ sub fv_decomp_set{ my $nlev = $cfg->get('nlev'); my ($ny, $nz); + my $waccmx = $cfg->get('waccmx'); + my $nmaglat = 97; + my $nmaglon = 80; + my $nlatitudes = $nlat; + if ($waccmx and $nlat>$nmaglat) { + $nlatitudes = $nmaglat; # magnetic grid resolution + } + # die if bad input if ($ntasks < 1) { die "$ProgName - ERROR: fv_decomp_set: bad input: ntasks=$ntasks.\n" . " -ntask argument to build-namelist is wrong."; } - NZ: for ($nz = 1; $nz <= $nlev; ++$nz) { + NZLOOP: for ($nz = 1; $nz <= $nlev; ++$nz) { # test that $nz divides $ntasks if ($ntasks%$nz == 0) { @@ -4066,7 +4074,7 @@ sub fv_decomp_set{ # test that y subdomains contain at least 3 latitudes # if so then done - if (3*$ny <= $nlat) {last NZ;} + if (3*$ny <= $nlatitudes) {last NZLOOP;} } } @@ -4075,6 +4083,10 @@ sub fv_decomp_set{ die "$ProgName - ERROR: fv_decomp_set failed to find a decomposition.\n" . " npr_yz needs to be set by the user."; } + if ($waccmx and $nmaglon/$nz < 4) { + die "$ProgName - ERROR: fv_decomp_set failed to find a decomposition.\n" + . " Too many MPI tasks to properly decompose WACCMX magnetic grid."; + } return "$ny,$nz,$nz,$ny"; } diff --git a/cime_config/config_pes.xml b/cime_config/config_pes.xml index ae8d997187..b9dcbf1de0 100644 --- a/cime_config/config_pes.xml +++ b/cime_config/config_pes.xml @@ -7,67 +7,67 @@ none - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 none - -1 - -1 - -1 - -1 - -1 - -1 - -1 - -1 + -1 + -1 + -1 + -1 + -1 + -1 + -1 + -1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -77,34 +77,34 @@ none - -4 - -4 - -4 - -4 - -4 - -4 - -4 - -4 + -4 + -4 + -4 + -4 + -4 + -4 + -4 + -4 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -114,34 +114,34 @@ none - -4 - -4 - -4 - -4 - -4 - -4 - -4 - -4 + -4 + -4 + -4 + -4 + -4 + -4 + -4 + -4 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -151,34 +151,34 @@ none - -40 - -40 - -40 - -40 - -40 - -40 - -40 - -40 + -40 + -40 + -40 + -40 + -40 + -40 + -40 + -40 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -188,34 +188,34 @@ none - 2048 - 2048 - 2048 - 2048 - 2048 - 2048 - 2048 - 2048 + 2048 + 2048 + 2048 + 2048 + 2048 + 2048 + 2048 + 2048 - 8 - 8 - 8 - 8 - 8 - 8 - 8 - 8 + 8 + 8 + 8 + 8 + 8 + 8 + 8 + 8 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -260,36 +260,36 @@ - none + none - -16 - -16 - -16 - -16 - -16 - -16 - -16 - -16 + -16 + -16 + -16 + -16 + -16 + -16 + -16 + -16 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -299,34 +299,34 @@ none - 4800 - 4800 - 4800 - 4800 - 4800 - 4800 - 4800 - 4800 + 4800 + 4800 + 4800 + 4800 + 4800 + 4800 + 4800 + 4800 - 4 - 4 - 4 - 4 - 4 - 4 - 4 - 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -336,34 +336,34 @@ none - 16384 - 16384 - 16384 - 16384 - 16384 - 16384 - 16384 - 16384 + 16384 + 16384 + 16384 + 16384 + 16384 + 16384 + 16384 + 16384 - 8 - 8 - 8 - 8 - 8 - 8 - 8 - 8 + 8 + 8 + 8 + 8 + 8 + 8 + 8 + 8 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -373,34 +373,34 @@ none - 8192 - 8192 - 8192 - 8192 - 8192 - 8192 - 8192 - 8192 + 8192 + 8192 + 8192 + 8192 + 8192 + 8192 + 8192 + 8192 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -410,34 +410,34 @@ none - -32 - -32 - -32 - -32 - -32 - -32 - -32 - -32 + -32 + -32 + -32 + -32 + -32 + -32 + -32 + -32 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -447,34 +447,34 @@ none - 64 - 64 - 64 - 64 - 64 - 64 - 64 - 64 + 64 + 64 + 64 + 64 + 64 + 64 + 64 + 64 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -484,34 +484,34 @@ none - -2 - -2 - -2 - -2 - -2 - -2 - -2 - -2 + -2 + -2 + -2 + -2 + -2 + -2 + -2 + -2 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -521,34 +521,34 @@ none - 224 - 224 - 224 - 224 - 224 - 224 - 224 - 224 + 224 + 224 + 224 + 224 + 224 + 224 + 224 + 224 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -558,34 +558,34 @@ none - 192 - 192 - 192 - 192 - 192 - 192 - 192 - 192 + 192 + 192 + 192 + 192 + 192 + 192 + 192 + 192 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -595,34 +595,34 @@ none - 192 - 192 - 192 - 192 - 192 - 192 - 192 - 192 + 192 + 192 + 192 + 192 + 192 + 192 + 192 + 192 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -632,34 +632,34 @@ none - 240 - 240 - 240 - 240 - 240 - 240 - 240 - 240 + 240 + 240 + 240 + 240 + 240 + 240 + 240 + 240 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -674,10 +674,10 @@ 360 360 360 - 360 - 360 - 360 - 360 + 360 + 360 + 360 + 360 3 @@ -771,40 +771,75 @@ + + + none + + -4 + -4 + -4 + -4 + -4 + -4 + -4 + -4 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + none - 192 - 192 - 192 - 192 - 192 - 192 - 192 - 192 + 192 + 192 + 192 + 192 + 192 + 192 + 192 + 192 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 - + @@ -843,6 +878,74 @@ + + + none + + -8 + -8 + -8 + -8 + -8 + -8 + -8 + -8 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + none + + -4 + -4 + -4 + -4 + -4 + -4 + -4 + -4 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + @@ -850,34 +953,34 @@ none - -4 - -4 - -4 - -4 - -4 - -4 - -4 - -4 + -4 + -4 + -4 + -4 + -4 + -4 + -4 + -4 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -887,34 +990,34 @@ none - -208 - -208 - -208 - -208 - -208 - -208 - -208 - -208 + -208 + -208 + -208 + -208 + -208 + -208 + -208 + -208 - 8 - 8 - 8 - 8 - 8 - 8 - 8 - 8 + 8 + 8 + 8 + 8 + 8 + 8 + 8 + 8 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -924,34 +1027,34 @@ none - 384 - 384 - 384 - 384 - 384 - 384 - 384 - 384 + 384 + 384 + 384 + 384 + 384 + 384 + 384 + 384 - 3 - 3 - 3 - 3 - 3 - 3 - 3 - 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -961,34 +1064,34 @@ none - -8 - -8 - -8 - -8 - -8 - -8 - -8 - -8 + -8 + -8 + -8 + -8 + -8 + -8 + -8 + -8 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -996,34 +1099,34 @@ none - 768 - 768 - 768 - 768 - 768 - 768 - 768 - 768 + 768 + 768 + 768 + 768 + 768 + 768 + 768 + 768 - 3 - 3 - 3 - 3 - 3 - 3 - 3 - 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -1066,34 +1169,34 @@ none - 480 - 480 - 480 - 480 - 480 - 480 - 480 - 480 + 480 + 480 + 480 + 480 + 480 + 480 + 480 + 480 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -1103,34 +1206,34 @@ none - -16 - -16 - -16 - -16 - -16 - -16 - -16 - -16 + -16 + -16 + -16 + -16 + -16 + -16 + -16 + -16 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -1140,34 +1243,34 @@ none - 960 - 960 - 960 - 960 - 960 - 960 - 960 - 960 + 960 + 960 + 960 + 960 + 960 + 960 + 960 + 960 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -1177,14 +1280,14 @@ - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 @@ -1196,34 +1299,34 @@ none - -1 - -1 - -1 - -1 - -1 - -1 - -1 - -1 + -1 + -1 + -1 + -1 + -1 + -1 + -1 + -1 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -1234,34 +1337,34 @@ none - -4 - -4 - -4 - -4 - -4 - -4 - -4 - -4 + -4 + -4 + -4 + -4 + -4 + -4 + -4 + -4 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -1272,34 +1375,34 @@ none - -16 - -16 - -16 - -16 - -16 - -16 - -16 - -16 + -16 + -16 + -16 + -16 + -16 + -16 + -16 + -16 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -1310,34 +1413,34 @@ none - -32 - -32 - -32 - -32 - -32 - -32 - -32 - -32 + -32 + -32 + -32 + -32 + -32 + -32 + -32 + -32 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -1348,34 +1451,34 @@ none - -32 - -32 - -32 - -32 - -32 - -32 - -32 - -32 + -32 + -32 + -32 + -32 + -32 + -32 + -32 + -32 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -1388,34 +1491,34 @@ none - -91 - -91 - -91 - -91 - -91 - -91 - -91 - -91 + -91 + -91 + -91 + -91 + -91 + -91 + -91 + -91 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -1426,34 +1529,34 @@ none - -118 - -118 - -118 - -118 - -118 - -118 - -118 - -118 + -118 + -118 + -118 + -118 + -118 + -118 + -118 + -118 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -1464,34 +1567,34 @@ none - -135 - -135 - -135 - -135 - -135 - -135 - -135 - -135 + -135 + -135 + -135 + -135 + -135 + -135 + -135 + -135 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 From c3855a92692a98aa84da34ad8b12bd2c04a6bbf7 Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Mon, 27 Nov 2023 13:25:30 -0700 Subject: [PATCH 03/11] Update test_driver and Externals --- Externals.cfg | 8 +- test/system/test_driver.sh | 250 +++++++++++++++++++++++++++++++++---- 2 files changed, 228 insertions(+), 30 deletions(-) diff --git a/Externals.cfg b/Externals.cfg index b6dc66e74d..1bd378578a 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -9,14 +9,14 @@ local_path = components/cice required = True [cime] -tag = cime5.8.28 +tag = cime5.8.32.5 protocol = git repo_url = https://github.com/ESMCI/cime local_path = cime required = True [cism] -tag = cism2_1_68 +tag = cism2_1_69_a protocol = git repo_url = https://github.com/ESCOMP/cism-wrapper local_path = components/cism @@ -24,7 +24,7 @@ externals = Externals_CISM.cfg required = True [clm] -tag = ctsm1.0.dev107 +tag = release-cesm2.2.02 protocol = git repo_url = https://github.com/ESCOMP/ctsm local_path = components/clm @@ -32,7 +32,7 @@ externals = Externals_CLM.cfg required = True [mosart] -tag = mosart1_0_36 +tag = mosart1_0_37_1 protocol = git repo_url = https://github.com/ESCOMP/mosart local_path = components/mosart diff --git a/test/system/test_driver.sh b/test/system/test_driver.sh index 71120cda84..a80121753d 100755 --- a/test/system/test_driver.sh +++ b/test/system/test_driver.sh @@ -26,6 +26,7 @@ help () { echo "${hprefix} [ -j ] (number of jobs for gmake)" echo "${hprefix} [ --baseline-dir ] (directory for saving baselines of cime tests)" echo "${hprefix} [ --no-baseline] (baselines of cime tests are not saved)" + echo "${hprefix} [ --xml-driver ] (mct or nuopc)" echo "${hprefix} [ --cesm ] (default aux_cam)" echo "${hprefix} [ --rerun-cesm ] (rerun the cesm tests with the --use-existing-flag)" echo "${hprefix} [ --namelists-only ] (Only perform namelist actions for tests. Incompatible with --rerun-cesm.)" @@ -81,25 +82,29 @@ namelists_only=false batch=false # Understand where we are and where the CAM root and CIME reside -script_dir="$( cd $( dirname $0 ); pwd -P )" -CAM_ROOT="${CAM_ROOT:-$(dirname $(dirname ${script_dir} ) )}" -# Make sure CAM_ROOT, exists and that this -# script was called from its test directory. -if [ -d "${CAM_ROOT}" ]; then - test_dir="${CAM_ROOT}/test/system" - if [ -f "${test_dir}/test_driver.sh" ]; then - # Check against this script. - script_file="${script_dir}/test_driver.sh" - if [ "${test_dir}/test_driver.sh" != "${script_file}" ]; then - perr "CAM_ROOT test dir is ${test_dir} but script is ${script_file}" - fi # Else, everything is fine - else - perr "No test_driver.sh found in ${test_dir}" - fi +if [ -n "${CAM_ROOT}" ]; then + # The user specified a CAM_ROOT, make sure it exists and that this + # script was called from its test directory. + if [ -d "${CAM_ROOT}" ]; then + test_dir="${CAM_ROOT}/test/system" + if [ -f "${test_dir}/test_driver.sh" ]; then + # Check against this script. + script_dir="$( cd $( dirname $0 ); pwd -P )" + script_file="${script_dir}/test_driver.sh" + if [ "${test_dir}/test_driver.sh" != "${script_file}" ]; then + perr "CAM_ROOT test dir is ${test_dir} but script is ${script_file}" + fi # Else, everything is fine + else + perr "No test_driver.sh found in ${test_dir}" + fi + else + perr "CAM_ROOT, '${CAM_ROOT}', does not exist" + fi else - perr "CAM_ROOT, '${CAM_ROOT}', does not exist" + # The user did not specify CAM_ROOT, find it relative to this script + test_dir="$( dirname $0 )" + export CAM_ROOT="$(dirname $(dirname $( cd ${test_dir}; pwd -P )))" fi -export CAM_ROOT # Now, find CIME_ROOT, first try a CAM standalone checkout if [ -d "${CAM_ROOT}/cime/scripts" ]; then export CIME_ROOT="${CAM_ROOT}/cime" @@ -177,6 +182,14 @@ while [ "${1:0:1}" == "-" ]; do fi ;; + --xml-driver ) + if [ $# -lt 2 ]; then + perr "${1} specify mct or nuopc)" + fi + xml_driver="${2}" + shift + ;; + --namelists-only ) namelists_only=true if [ "${use_existing}" != "" ]; then @@ -201,6 +214,7 @@ fi #will attach timestamp onto end of script name to prevent overwriting start_date="`date --iso-8601=seconds`" cur_time=`date '+%H%M%S'` +date_str="`date '+%Y%m%d%H%M%S'`" hostname=`hostname` @@ -237,7 +251,7 @@ case $hostname in mach_workspace="/glade/scratch" # Check for CESM baseline directory - if [ -n "{$BL_TESTDIR}" ] && [ ! -d "${BL_TESTDIR}" ]; then + if [ -n "${BL_TESTDIR}" ] && [ ! -d "${BL_TESTDIR}" ]; then echo "CESM_BASELINE ${BL_TESTDIR} not found. Check BL_TESTDIR for correct tag name." exit fi @@ -250,7 +264,7 @@ cat > ${submit_script_cime} << EOF #PBS -N cime-tests #PBS -q $CAM_BATCHQ #PBS -A $CAM_ACCOUNT -#PBS -l walltime=4:00:00 +#PBS -l walltime=$wallclock_limit #PBS -l select=1:ncpus=36:mpiprocs=36 #PBS -j oe #PBS -l inception=login @@ -259,6 +273,63 @@ EOF ##^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ writing to batch script ^^^^^^^^^^^^^^^^^^^ ;; + ##derecho + derecho* | dec* ) + submit_script_cime="`pwd -P`/test_driver_derecho_cime_${cur_time}.sh" + + if [ -z "$CAM_ACCOUNT" ]; then + echo "ERROR: Must set the environment variable CAM_ACCOUNT" + exit 2 + fi + + if [ -z "$CAM_BATCHQ" ]; then + export CAM_BATCHQ="main" + fi + + # wallclock for run job + wallclock_limit="5:00:00" + + if [ $gmake_j = 0 ]; then + gmake_j=128 + fi + + # run tests on 1 node using 64 tasks/node, 2 threads/task + # These settings are ignored on cheyenne and derecho. + # PE layouts come from config_pes.xml. + CAM_TASKS=64 + CAM_THREADS=2 + + # change parallel configuration on 1 nodes using 32 tasks, 1 threads/task + # These settings are ignored on cheyenne and derecho. + # PE layouts come from config_pes.xml. + CAM_RESTART_TASKS=32 + CAM_RESTART_THREADS=1 + + mach_workspace="/glade/derecho/scratch" + + # Check for CESM baseline directory + if [ -n "${BL_TESTDIR}" ] && [ ! -d "${BL_TESTDIR}" ]; then + echo "CESM_BASELINE ${BL_TESTDIR} not found. Check BL_TESTDIR for correct tag name." + exit 3 + fi + +#------------------------------------------- + +cat > ${submit_script_cime} << EOF +#!/bin/bash +# +#PBS -N cime-tests +#PBS -q $CAM_BATCHQ +#PBS -A $CAM_ACCOUNT +#PBS -l walltime=$wallclock_limit +#PBS -l select=1:ncpus=128:mpiprocs=128 +#PBS -j oe + +EOF + +##^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ writing to batch script ^^^^^^^^^^^^^^^^^^^ + ;; + ##hobart hob* | h[[:digit:]]* ) @@ -318,6 +389,7 @@ EOF ##izumi izu* | i[[:digit:]]* ) + submit_script_cime="`pwd -P`/test_driver_izumi_cime_${cur_time}.sh" export PATH=/cluster/torque/bin:${PATH} @@ -372,6 +444,58 @@ EOF ##^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ writing to batch script ^^^^^^^^^^^^^^^^^^^ ;; + ##casper + casper* | crhtc* ) + submit_script_cime="`pwd -P`/test_driver_casper_cime_${cur_time}.sh" + + if [ -z "$CAM_ACCOUNT" ]; then + echo "ERROR: Must set the environment variable CAM_ACCOUNT" + exit 2 + fi + + if [ -z "$CAM_BATCHQ" ]; then + export CAM_BATCHQ="casper" + fi + + # wallclock for run job + wallclock_limit="00:59:00" + + if [ $gmake_j = 0 ]; then + gmake_j=36 + fi + + # run tests on 1 nodes using 18 tasks/node, 2 threads/task + CAM_TASKS=18 + CAM_THREADS=2 + + # change parallel configuration on 1 nodes using 32 tasks, 1 threads/task + CAM_RESTART_TASKS=32 + CAM_RESTART_THREADS=1 + + mach_workspace="/glade/scratch" + + # Check for CESM baseline directory + if [ -n "${BL_TESTDIR}" ] && [ ! -d "${BL_TESTDIR}" ]; then + echo "CESM_BASELINE ${BL_TESTDIR} not found. Check BL_TESTDIR for correct tag name." + exit + fi + +#------------------------------------------- + +cat > ${submit_script_cime} << EOF +#!/bin/bash +# +#PBS -N cime-tests +#PBS -q $CAM_BATCHQ +#PBS -A $CAM_ACCOUNT +#PBS -l walltime=$wallclock_limit +#PBS -l select=1:ncpus=36:mpiprocs=36:mem=300GB +#PBS -j oe +#PBS -V +EOF + +##^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ writing to batch script ^^^^^^^^^^^^^^^^^^^ + ;; * ) echo "ERROR: machine $hostname not currently supported"; exit 1 ;; esac @@ -384,32 +508,50 @@ comp="" if [ "${hostname:0:4}" == "chey" ]; then cesm_test_mach="cheyenne" fi +if [ "${hostname:0:5}" == "derec" ] || [ "${hostname:0:3}" == "dec" ]; then + cesm_test_mach="derecho" +fi if [ "${hostname:0:6}" == "hobart" ]; then cesm_test_mach="hobart" fi if [ "${hostname:0:5}" == "izumi" ]; then cesm_test_mach="izumi" fi +if [ "${hostname:0:6}" == "casper" ] || [ "${hostname:0:5}" == "crhtc" ]; then + cesm_test_mach="casper" +fi if [ -n "${CAM_FC}" ]; then comp="_${CAM_FC,,}" fi if [ "${cesm_test_suite}" != "none" -a -n "${cesm_test_mach}" ]; then - if [ "${hostname:0:5}" != "izumi" ]; then + if [ "${hostname:0:5}" != "izumi" ] && [ "${hostname:0:7}" != "derecho" ]; then module load python fi + for cesm_test in ${cesm_test_suite}; do - testargs="--xml-category ${cesm_test} --xml-machine ${cesm_test_mach} --retry 2" + # Force derecho to run the cheyenne testlist. + # After the transition to derecho is completed, this if statement can be removed and + # just the else needs to remain. + if [ "${cesm_test_mach}" == "derecho" ]; then + testargs="--xml-category ${cesm_test} --xml-machine cheyenne --mach ${cesm_test_mach} --retry 2" + else + testargs="--xml-category ${cesm_test} --xml-machine ${cesm_test_mach} --retry 2" + fi if [ -n "${use_existing}" ]; then test_id="${use_existing}" else - idstr="`date '+%Y%m%d%H%M%S'`" - test_id=${cesm_test}${comp}"_"${idstr} + test_id=${cesm_test}${comp}"_"${date_str} fi currdir="`pwd -P`" logfile="${currdir}/${test_id}.log" + # Create an empty logfile so that other tasks can append to it + if [ -f "${logfile}" ]; then + rm -f ${logfile} + fi + touch ${logfile} script_dir="${CIME_ROOT}/scripts" if [ ! -d "${script_dir}" ]; then echo "ERROR: CIME scripts dir not found at ${script_dir}" @@ -420,8 +562,37 @@ if [ "${cesm_test_suite}" != "none" -a -n "${cesm_test_mach}" ]; then exit 1 fi - ##setup CESM work directory - cesm_testdir=$mach_workspace/$LOGNAME/$test_id + ## If this is a Nag test, run the r8 and git tests + if [ "${comp}" == "_nag" ]; then + sepstr="################################################################" + echo "${sepstr}" | tee -a ${logfile} + ark_file="/fs/cgd/csm/tools/addrealkind/addrealkind" + tr8_script="${CAM_ROOT}/test/system/TR8.sh" + export ADDREALKIND_EXE="${ark_file}"; ${tr8_script} | tee -a ${logfile} + res=${PIPESTATUS[0]} + if [ $res -eq 0 ]; then + echo "TR8 test PASS" | tee -a ${logfile} + else + echo "TR8 test FAIL, rc = $res" | tee -a ${logfile} + fi + echo "${sepstr}" | tee -a ${logfile} + ${CAM_ROOT}/test/system/TGIT.sh | tee -a ${logfile} + res=${PIPESTATUS[0]} + if [ $res -eq 0 ]; then + echo "TGIT test PASS" | tee -a ${logfile} + else + echo "TGIT test FAIL, rc = $res" | tee -a ${logfile} + fi + echo "${sepstr}" | tee -a ${logfile} + fi + + ## Setup CESM work directory + if [ "${hostname:0:6}" == "casper" ] || [ "${hostname:0:5}" == "crhtc" ]; then + ## Would fail to compile on Casper with long folder name + cesm_testdir=$mach_workspace/$LOGNAME/$cesm_test + else + cesm_testdir=$mach_workspace/$LOGNAME/$test_id + fi if [ -e ${cesm_testdir} ]; then if [ -n "${use_existing}" ]; then @@ -447,6 +618,14 @@ if [ "${cesm_test_suite}" != "none" -a -n "${cesm_test_mach}" ]; then chey* | r* ) testargs="${testargs} --queue ${CAM_BATCHQ} --test-root ${cesm_testdir} --output-root ${cesm_testdir}" ;; + # derecho + derec* | dec* ) + testargs="${testargs} --queue ${CAM_BATCHQ} --test-root ${cesm_testdir} --output-root ${cesm_testdir}" + ;; + # casper + casper* | crhtc* ) + testargs="${testargs} --queue ${CAM_BATCHQ} --test-root ${cesm_testdir} --output-root ${cesm_testdir}" + ;; *) if $batch; then testargs="${testargs} --queue ${CAM_BATCHQ} --test-root ${cesm_testdir} --output-root ${cesm_testdir}" @@ -507,18 +686,29 @@ if [ "${cesm_test_suite}" != "none" -a -n "${cesm_test_mach}" ]; then fi fi + if [ -n "${xml_driver}" ]; then + testargs="${testargs} --xml-driver ${xml_driver}" + fi echo "" - echo "CESM test results will be in: ${cesm_testdir}" | tee ${logfile} + echo "CESM test results will be in: ${cesm_testdir}" | tee -a ${logfile} echo "Running ./create_test ${testargs}" | tee -a ${logfile} if [ "${hostname:0:2}" == "ch" ]; then echo "cd ${script_dir}" >> ${submit_script_cime} + echo "module load python" >> ${submit_script_cime} echo './create_test' ${testargs} >> ${submit_script_cime} chmod u+x ${submit_script_cime} qsub ${submit_script_cime} fi + if [ "${hostname:0:2}" == "de" ]; then + echo "cd ${script_dir}" >> ${submit_script_cime} + echo './create_test' ${testargs} >> ${submit_script_cime} + chmod u+x ${submit_script_cime} + qsub ${submit_script_cime} + fi + if [ "${hostname:0:6}" == "hobart" ]; then echo "cd ${script_dir}" >> ${submit_script_cime} echo './create_test' ${testargs} >> ${submit_script_cime} @@ -537,6 +727,14 @@ if [ "${cesm_test_suite}" != "none" -a -n "${cesm_test_mach}" ]; then fi fi + if [ "${hostname:0:6}" == "casper" ] || [ "${hostname:0:5}" == "crhtc" ]; then + echo "cd ${script_dir}" >> ${submit_script_cime} + echo "module load python" >> ${submit_script_cime} + echo './create_test' ${testargs} >> ${submit_script_cime} + chmod u+x ${submit_script_cime} + qsub ${submit_script_cime} + fi + done fi From 42bbfe82f8b162dae89ab2fa2cd9a764d61da591 Mon Sep 17 00:00:00 2001 From: James Edwards Date: Thu, 30 Nov 2023 09:47:30 -0700 Subject: [PATCH 04/11] remove cism from all f compsets --- cime_config/config_compsets.xml | 52 ++++++++++++++++----------------- cime_config/config_pes.xml | 40 ++++++++++++++++++++++++- 2 files changed, 65 insertions(+), 27 deletions(-) diff --git a/cime_config/config_compsets.xml b/cime_config/config_compsets.xml index 03587cf5b5..5796a3b8d2 100644 --- a/cime_config/config_compsets.xml +++ b/cime_config/config_compsets.xml @@ -52,19 +52,19 @@ F2000climo - 2000_CAM60_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV + 2000_CAM60_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV FHIST - HIST_CAM60_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV + HIST_CAM60_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV FHIST_BGC - HIST_CAM60_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV + HIST_CAM60_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV @@ -189,12 +189,12 @@ F2010climo - 2010_CAM60_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV + 2010_CAM60_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV F1850 - 1850_CAM60_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV + 1850_CAM60_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV @@ -209,12 +209,12 @@ F1850_BDRD - 1850_CAM60_CLM50%BGC_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV_BGC%BDRD + 1850_CAM60_CLM50%BGC_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV_BGC%BDRD FHIST_BDRD - HIST_CAM60_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV_BGC%BDRD + HIST_CAM60_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV_BGC%BDRD @@ -277,25 +277,25 @@ FC2000climo - 2000_CAM60%CCTS1_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV + 2000_CAM60%CCTS1_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV FC2010climo - 2010_CAM60%CCTS1_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV + 2010_CAM60%CCTS1_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV FCHIST - HIST_CAM60%CCTS1_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV + HIST_CAM60%CCTS1_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV FCvbsxHIST - HIST_CAM60%CVBSX_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV + HIST_CAM60%CVBSX_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV FCfireHIST - HIST_CAM60%CFIRE_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV + HIST_CAM60%CFIRE_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV @@ -333,12 +333,12 @@ F1850_BDRD - 1850_CAM60_CLM50%BGC_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV_BGC%BDRD + 1850_CAM60_CLM50%BGC_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV_BGC%BDRD FHIST_BDRD - HIST_CAM60_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV_BGC%BDRD + HIST_CAM60_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV_BGC%BDRD @@ -385,43 +385,43 @@ FWHIST - HIST_CAM60%WCTS_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV + HIST_CAM60%WCTS_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV FWHIST_BGC - HIST_CAM60%WCTS_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV + HIST_CAM60%WCTS_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV FWsc2010climo - 2010_CAM60%WCSC_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV + 2010_CAM60%WCSC_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV FWsc2000climo - 2000_CAM60%WCSC_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV + 2000_CAM60%WCSC_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV FWsc1850 - 1850_CAM60%WCSC_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV + 1850_CAM60%WCSC_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV FWscHIST - HIST_CAM60%WCSC_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV + HIST_CAM60%WCSC_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV FW1850 - 1850_CAM60%WCTS_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV + 1850_CAM60%WCTS_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV @@ -431,17 +431,17 @@ FWma2000climo - 2000_CAM60%WCCM_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV + 2000_CAM60%WCCM_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV FW2000climo - 2000_CAM60%WCTS_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV + 2000_CAM60%WCTS_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV FW2010climo - 2010_CAM60%WCTS_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV + 2010_CAM60%WCTS_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV @@ -456,7 +456,7 @@ FWmaHIST - HIST_CAM60%WCCM_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV + HIST_CAM60%WCCM_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV @@ -466,7 +466,7 @@ FWmadHIST - HIST_CAM60%WCMD_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV + HIST_CAM60%WCMD_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV diff --git a/cime_config/config_pes.xml b/cime_config/config_pes.xml index ae8d997187..69408eae0f 100644 --- a/cime_config/config_pes.xml +++ b/cime_config/config_pes.xml @@ -1460,7 +1460,7 @@ - + none @@ -1497,6 +1497,44 @@ + + + + none + + -35 + -35 + -35 + -35 + -35 + -35 + -35 + -35 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + From 5a683b6148ed42838291e6b50c5d1f6c6c825dba Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Thu, 30 Nov 2023 10:21:50 -0700 Subject: [PATCH 05/11] Update PE layouts and archive_baseline location --- cime_config/config_pes.xml | 38 +++++++++++++++++++++++++++++++++ test/system/archive_baseline.sh | 10 +++++++++ 2 files changed, 48 insertions(+) diff --git a/cime_config/config_pes.xml b/cime_config/config_pes.xml index b9dcbf1de0..7fe10dfddb 100644 --- a/cime_config/config_pes.xml +++ b/cime_config/config_pes.xml @@ -1276,6 +1276,44 @@ + + + + none + + 36 + 36 + 36 + 36 + 36 + 36 + 36 + 36 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + diff --git a/test/system/archive_baseline.sh b/test/system/archive_baseline.sh index adab681a88..50ca71f477 100755 --- a/test/system/archive_baseline.sh +++ b/test/system/archive_baseline.sh @@ -103,6 +103,16 @@ case $hostname in baselinedir="/glade/p/cesm/amwg/cesm_baselines/$cam_tag" ;; + de*) + echo "server: derecho" + if [ -z "$CAM_FC" ]; then + CAM_FC="INTEL" + fi + test_file_list="tests_pretag_derecho" + cam_tag=$1 + baselinedir="/glade/campaign/cesm/community/amwg/cam_baselines/$cam_tag" + ;; + * ) echo "ERROR: machine $hostname not currently supported"; exit 1 ;; esac From 80105163eb09c3a01cc6503aa308f231b4d9466a Mon Sep 17 00:00:00 2001 From: John Truesdale Date: Thu, 30 Nov 2023 17:13:43 -0700 Subject: [PATCH 06/11] cesm2_2 cam derecho fixes for regression test failures --- cime_config/config_pes.xml | 190 ++++++++++++++++++ .../cam/outfrq9s_mg3/shell_commands | 2 +- src/chemistry/mozart/mo_drydep.F90 | 2 +- src/control/ncdio_atm.F90 | 4 +- 4 files changed, 194 insertions(+), 4 deletions(-) diff --git a/cime_config/config_pes.xml b/cime_config/config_pes.xml index b9dcbf1de0..596c4f7242 100644 --- a/cime_config/config_pes.xml +++ b/cime_config/config_pes.xml @@ -1484,6 +1484,196 @@ + + + + + none + + 96 + 96 + 96 + 96 + 96 + 96 + 96 + 96 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + none + + 384 + 384 + 384 + 384 + 384 + 384 + 384 + 384 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + none + + 384 + 384 + 384 + 384 + 384 + 384 + 384 + 384 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + none + + 1152 + 1152 + 1152 + 1152 + 1152 + 1152 + 1152 + 1152 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + none + + 2304 + 2304 + 2304 + 2304 + 2304 + 2304 + 2304 + 2304 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + diff --git a/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mg3/shell_commands b/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mg3/shell_commands index d611a3bc78..20d96d5367 100644 --- a/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mg3/shell_commands +++ b/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mg3/shell_commands @@ -1,6 +1,6 @@ ./xmlchange ROF_NCPL=\$ATM_NCPL ./xmlchange GLC_NCPL=\$ATM_NCPL ./xmlchange CAM_CONFIG_OPTS=' -microphys mg3' --append -if [ "`./xmlquery ATM_GRID --value`" == "C96" ]; then +if [ "`./xmlquery ATM_GRID --value`" == "C96" ] && [ "`./xmlquery MACH --value`" != "derecho" ]; then ./xmlchange NTASKS=-1 fi diff --git a/src/chemistry/mozart/mo_drydep.F90 b/src/chemistry/mozart/mo_drydep.F90 index 9241af802e..8f6f7d901a 100644 --- a/src/chemistry/mozart/mo_drydep.F90 +++ b/src/chemistry/mozart/mo_drydep.F90 @@ -2156,7 +2156,7 @@ subroutine interp_map( plon, plat, nlon_veg, nlat_veg, npft_veg, lat_veg, lat_ve if (single_column) then if (scm_cambfb_mode) then piofile => initial_file_get_id() - call shr_scam_getCloseLatLon(piofile%fh,scmlat,scmlon,closelat,closelon,latidx,lonidx) + call shr_scam_getCloseLatLon(piofile,scmlat,scmlon,closelat,closelon,latidx,lonidx) ploniop=size(loniop) platiop=size(latiop) else diff --git a/src/control/ncdio_atm.F90 b/src/control/ncdio_atm.F90 index 619d9b5b61..fe8fe84e24 100644 --- a/src/control/ncdio_atm.F90 +++ b/src/control/ncdio_atm.F90 @@ -404,7 +404,7 @@ subroutine infld_real_2d_2d(varname, ncid, dimname1, dimname2, & strt(1) = dim1b strt(2) = dim2b cnt = arraydimsize - call shr_scam_getCloseLatLon(ncid%fh,scmlat,scmlon,closelat,closelon,latidx,lonidx) + call shr_scam_getCloseLatLon(ncid,scmlat,scmlon,closelat,closelon,latidx,lonidx) if (trim(field_dnames(1)) == 'lon') then strt(1) = lonidx ! First dim always lon for Eulerian dycore else @@ -847,7 +847,7 @@ subroutine infld_real_3d_3d(varname, ncid, dimname1, dimname2, dimname3, & strt(2) = dim2b strt(3) = dim3b cnt = arraydimsize - call shr_scam_getCloseLatLon(ncid%fh,scmlat,scmlon,closelat,closelon,latidx,lonidx) + call shr_scam_getCloseLatLon(ncid,scmlat,scmlon,closelat,closelon,latidx,lonidx) if (trim(field_dnames(1)) == 'lon') then strt(1) = lonidx ! First dim always lon for Eulerian dycore else From 9eb5e27491ab3d24a3b52118b3343b451442afa7 Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Fri, 1 Dec 2023 13:03:19 -0700 Subject: [PATCH 07/11] Update cime external --- Externals.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals.cfg b/Externals.cfg index 1bd378578a..daaf2d591f 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -9,7 +9,7 @@ local_path = components/cice required = True [cime] -tag = cime5.8.32.5 +tag = cime5.8.32.6 protocol = git repo_url = https://github.com/ESMCI/cime local_path = cime From ae6812c6a0c8a35a7a734bc8bc91094d8f7bad6d Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Fri, 1 Dec 2023 13:22:09 -0700 Subject: [PATCH 08/11] Update cime external --- Externals.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals.cfg b/Externals.cfg index daaf2d591f..b89e000b69 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -9,7 +9,7 @@ local_path = components/cice required = True [cime] -tag = cime5.8.32.6 +tag = cime5.8.32.7 protocol = git repo_url = https://github.com/ESMCI/cime local_path = cime From 7f6188cd7fb966a808c92973a28c750ac7feaa9c Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Tue, 5 Dec 2023 13:30:21 -0700 Subject: [PATCH 09/11] Update cime external --- Externals.cfg | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Externals.cfg b/Externals.cfg index b89e000b69..07468dee7c 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -9,7 +9,7 @@ local_path = components/cice required = True [cime] -tag = cime5.8.32.7 +tag = cime5.8.32.8 protocol = git repo_url = https://github.com/ESMCI/cime local_path = cime @@ -24,7 +24,7 @@ externals = Externals_CISM.cfg required = True [clm] -tag = release-cesm2.2.02 +tag = release-cesm2.2.03 protocol = git repo_url = https://github.com/ESCOMP/ctsm local_path = components/clm @@ -46,7 +46,7 @@ local_path = components/rtm required = True [fms] -tag = fi_20200609 +tag = fi_20200609_cesm2.2_231205 protocol = git repo_url = https://github.com/ESCOMP/FMS_interface.git local_path = libraries/FMS From 84efc3cedd848b3aec28a1ef07469cb221fbde6b Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Wed, 6 Dec 2023 14:55:12 -0700 Subject: [PATCH 10/11] Update cime external --- Externals.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals.cfg b/Externals.cfg index 07468dee7c..3274b2751d 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -9,7 +9,7 @@ local_path = components/cice required = True [cime] -tag = cime5.8.32.8 +tag = cime5.8.32.7 protocol = git repo_url = https://github.com/ESMCI/cime local_path = cime From 076b4a94ad27ee214e18015675d404ad92cd239e Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Thu, 7 Dec 2023 13:19:56 -0700 Subject: [PATCH 11/11] Update ChangeLog --- doc/ChangeLog | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) diff --git a/doc/ChangeLog b/doc/ChangeLog index 2db164e4dd..2ff2a319a1 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,103 @@ + +=============================================================== + +Tag name: cam_cesm2_2_rel_09 +Originator(s): cacraig, jedwards, jet, fischer +Date: Dec 7, 2023 +One-line Summary: Fix derecho tests on CESM2_2 branch +Github PR URL: https://github.com/ESCOMP/CAM/pull/924 and + https://github.com/ESCOMP/CAM/pull/915 + +Purpose of changes (include the issue number and title text for each relevant GitHub issue): + - Get CAM CESM2.2 branch working on derecho: https://github.com/ESCOMP/CAM/issues/920 + - Problem with waccmx writing restart files on derecho in CESM2.2: https://github.com/ESCOMP/CAM/issues/901 + - remove cism from all f compsets on CESM2_2 branch: https://github.com/ESCOMP/CAM/pull/933 + +Describe any changes made to build system: N/A + +Describe any changes made to the namelist: N/A + +List any changes to the defaults for the boundary datasets: N/A + +Describe any substantial timing or memory changes: N/A + +Code reviewed by: nusbaume + +List all files eliminated: N/A + +List all existing files that have been modified, and describe the changes: +M Externals.cfg + - Update externals + +M cime_config/config_compsets.xml + - Remove CISM from CAM compsets on this branch + +M cime_config/config_pes.xml + - Update PE layouts for derecho + +M cime_config/testdefs/testmods_dirs/cam/outfrq9s_mg3/shell_commands + - Modify test so it does not change tasks if running on derecho + +M src/chemistry/mozart/mo_drydep.F90 +M src/control/ncdio_atm.F90 + - Fixes for SCAM regression test failure + +M test/system/archive_baseline.sh + - Add capability for archiving baselines on derecho + +M test/system/test_driver.sh + - Update to modern test_driver.sh which contains the ability to run on derecho + +If there were any failures reported from running test_driver.sh on any test +platform, and checkin with these failures has been OK'd by the gatekeeper, +then copy the lines from the td.*.status files for the failed tests to the +appropriate machine below. All failed tests must be justified. + + +derecho/intel/aux_cam: Initial tests on derecho so no comparisons with previous version + ERP_Ln9.ne30pg3_ne30pg3_mg17.FW2000climo.derecho_intel.cam-outfrq9s_wcm_ne30 (Overall: FAIL) details: + FAIL ERP_Ln9.ne30pg3_ne30pg3_mg17.FW2000climo.derecho_intel.cam-outfrq9s_wcm_ne30 RUN time=10 + - pre-exiting failure on cheyenne, so expected + +cheyenne/intel/aux_cam: + ERP_Ln9.ne30pg3_ne30pg3_mg17.FW2000climo.cheyenne_intel.cam-outfrq9s_wcm_ne30 (Overall: FAIL) details: + FAIL ERP_Ln9.ne30pg3_ne30pg3_mg17.FW2000climo.cheyenne_intel.cam-outfrq9s_wcm_ne30 RUN time=5 + - pre-existing failure + + ERP_Ld3.f09_f09_mg17.FWHIST.cheyenne_intel.cam-reduced_hist1d (Overall: DIFF) details: + ERP_Ln9.C96_C96_mg17.F2000climo.cheyenne_intel.cam-outfrq9s_mg3 (Overall: DIFF) details: + ERP_Ln9.f09_f09_mg17.F1850.cheyenne_intel.cam-outfrq9s (Overall: DIFF) details: + ERP_Ln9.f09_f09_mg17.F2000climo.cheyenne_intel.cam-outfrq9s (Overall: DIFF) details: + ERP_Ln9.f09_f09_mg17.F2000climo.cheyenne_intel.cam-outfrq9s_mg3 (Overall: DIFF) details: + ERP_Ln9.f09_f09_mg17.F2010climo.cheyenne_intel.cam-outfrq9s (Overall: DIFF) details: + ERP_Ln9.f09_f09_mg17.FHIST_BDRD.cheyenne_intel.cam-outfrq9s (Overall: DIFF) details: + ERP_Ln9.f19_f19_mg17.FWsc1850.cheyenne_intel.cam-outfrq9s (Overall: DIFF) details: + ERS_Ln9.f09_f09_mg17.FX2000.cheyenne_intel.cam-outfrq9s (Overall: DIFF) details: + ERS_Ln9.f19_f19_mg17.FXSD.cheyenne_intel.cam-outfrq9s (Overall: DIFF) details: + SMS_D_Ln9.f09_f09_mg17.FCvbsxHIST.cheyenne_intel.cam-outfrq9s (Overall: DIFF) details: + SMS_D_Ln9.f19_f19_mg17.FWma2000climo.cheyenne_intel.cam-outfrq9s (Overall: DIFF) details: + SMS_D_Ln9.f19_f19_mg17.FXHIST.cheyenne_intel.cam-outfrq9s_amie (Overall: DIFF) details: + SMS_D_Ln9.ne0CONUSne30x8_ne0CONUSne30x8_mt12.FCHIST.cheyenne_intel.cam-outfrq9s_refined_camchem (Overall: DIFF) details: + SMS_D_Ln9_P720x1.ne0ARCTICne30x4_ne0ARCTICne30x4_mt12.FHIST.cheyenne_intel.cam-outfrq9s_refined (Overall: DIFF) details: + SMS_D_Ln9_P720x1.ne0CONUSne30x8_ne0CONUSne30x8_mt12.FHIST.cheyenne_intel.cam-outfrq9s_refined (Overall: DIFF) details: + SMS_Ld1.f09_f09_mg17.FW2000climo.cheyenne_intel.cam-outfrq1d (Overall: DIFF) details: + SMS_Ld1.ne30pg3_ne30pg3_mg17.FC2010climo.cheyenne_intel.cam-outfrq1d (Overall: DIFF) details: + SMS_Lm13.f10_f10_mg37.F2000climo.cheyenne_intel.cam-outfrq1m (Overall: DIFF) details: + SMS_Ln9.f09_f09_mg17.F2010climo.cheyenne_intel.cam-nudging (Overall: DIFF) details: + SMS_Ln9.f09_f09_mg17.FW1850.cheyenne_intel.cam-reduced_hist3s (Overall: DIFF) details: + SMS_Ln9.f19_f19.F2000climo.cheyenne_intel.cam-silhs (Overall: DIFF) details: + - answer differences due to namelist differences due to default setting changes with the CTSM external update. That in + addition to the removal of cism from all CAM compsets, lead to answer changes + +izumi/nag/aux_cam: + DAE.f45_f45_mg37.FHS94.izumi_nag.cam-dae (Overall: FAIL) details: + FAIL DAE.f45_f45_mg37.FHS94.izumi_nag.cam-dae COMPARE_base_da + - pre-existing failure + +izumi/pgi/aux_cam: + PGI no longer supported, so regression tests dropped + +=============================================================== =============================================================== Tag name: cam_cesm2_2_rel_08