From 105d1f38b39a270fc19070a0e248cbbba9e67204 Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Thu, 25 May 2023 13:27:46 -0600 Subject: [PATCH 01/17] Modify based on tuning 'f' and up PE count for MT compset --- bld/namelist_files/namelist_defaults_cam.xml | 11 +++++- cime_config/config_pes.xml | 37 ++++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) diff --git a/bld/namelist_files/namelist_defaults_cam.xml b/bld/namelist_files/namelist_defaults_cam.xml index d69b278d90..7de517d67c 100644 --- a/bld/namelist_files/namelist_defaults_cam.xml +++ b/bld/namelist_files/namelist_defaults_cam.xml @@ -1991,6 +1991,7 @@ 6.0 1.0 0.5 + 0.1 0.5 4.2 0.0 @@ -2009,6 +2010,7 @@ 1.25 0.25 0.3 + 0.1 0.3 0.0 0.4 @@ -2044,9 +2046,12 @@ .true. .true. .false. + .true. .false. + .true. .false. .false. + .true. .false. .false. .false. @@ -2156,6 +2161,7 @@ 500.D-6 390.D-6 200.D-6 + 250.D-6 .false. .true. @@ -2186,6 +2192,7 @@ 1.D0 1.D0 + 2.5D0 0.2D0 @@ -2195,6 +2202,7 @@ 25.D-6 1.D0 + 0.5D0 1.D0 1.D0 @@ -2330,7 +2338,7 @@ 0.55D0 0.22D0 0.70D0 -0.70D0 +0.80D0 0.8D0 0.8D0 0.8D0 @@ -2370,6 +2378,7 @@ 1.62D0 0.90D0 1.00D0 +1.5D0 1.10D0 1.2D0 0.60D0 diff --git a/cime_config/config_pes.xml b/cime_config/config_pes.xml index 316bd8435d..d777eadf58 100644 --- a/cime_config/config_pes.xml +++ b/cime_config/config_pes.xml @@ -146,6 +146,43 @@ + + + + none + + -32 + -32 + -32 + -32 + -32 + -32 + -32 + -32 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + From 5e6e81953e626d8e20d3dd3197706a914f657020 Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Thu, 25 May 2023 13:40:40 -0600 Subject: [PATCH 02/17] Up PE layout to 50 for MT compsets --- cime_config/config_pes.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/cime_config/config_pes.xml b/cime_config/config_pes.xml index d777eadf58..d3320693c9 100644 --- a/cime_config/config_pes.xml +++ b/cime_config/config_pes.xml @@ -151,14 +151,14 @@ none - -32 - -32 - -32 - -32 - -32 - -32 - -32 - -32 + -50 + -50 + -50 + -50 + -50 + -50 + -50 + -50 1 From ee261a7d5d0d4aa04e08c6676787cf3abd856722 Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Thu, 1 Jun 2023 13:48:07 -0600 Subject: [PATCH 03/17] Add model_top configure flag --- bld/build-namelist | 2 ++ bld/config_files/definition.xml | 3 ++ bld/configure | 13 +++++++ bld/namelist_files/namelist_defaults_cam.xml | 36 ++++++++++---------- cime_config/config_component.xml | 4 +-- cime_config/config_pes.xml | 16 ++++----- 6 files changed, 46 insertions(+), 28 deletions(-) diff --git a/bld/build-namelist b/bld/build-namelist index 8e7ea8d2b2..87a8f9bdb6 100755 --- a/bld/build-namelist +++ b/bld/build-namelist @@ -498,6 +498,8 @@ my $dtime = $nl->get_value('dtime'); #----------------------------------------------------------------------------------------------- # Add defaults for the CAM component +my $model_top = $cfg->get('model_top'); + my $chem = $cfg->get('chem'); my $waccm_chem = ($chem =~ "waccm_"); my $waccm_phys = $cfg->get('waccm_phys'); diff --git a/bld/config_files/definition.xml b/bld/config_files/definition.xml index 095bf87d97..97f3bec833 100644 --- a/bld/config_files/definition.xml +++ b/bld/config_files/definition.xml @@ -46,6 +46,9 @@ Switch to turn on analytic initial conditions for the dynamics state: 0 => no 1 => yes. + +Model top specifier + Option to turn on waccmx thermosphere/ionosphere extension: 0 => no, 1 => yes diff --git a/bld/configure b/bld/configure index 3bb8f8958b..8d621a4866 100755 --- a/bld/configure +++ b/bld/configure @@ -89,6 +89,7 @@ OPTIONS -max_n_rad_cnst Maximum number of constituents that are either radiatively active, or in any single diagnostic list for the radiation. -microphys Specify the microphysics option [mg1 | mg2 | mg3| rk]. + -model_top Specify the model_top option [ lt | mt ]. -nadv Set total number of advected species to . -nadv_tt Set number of advected test tracers . -nlev Set number of levels to . @@ -271,6 +272,7 @@ GetOptions( "max_n_rad_cnst=s" => \$opts{'max_n_rad_cnst'}, "mct_libdir=s" => \$opts{'mct_libdir'}, "microphys=s" => \$opts{'microphys'}, + "model_top=s" => \$opts{'model_top'}, "mpas_libdir=s" => \$opts{'mpas_libdir'}, "mpi_inc=s" => \$opts{'mpi_inc'}, "mpi_lib=s" => \$opts{'mpi_lib'}, @@ -674,6 +676,17 @@ my $max_n_rad_cnst = $cfg_ref->get('max_n_rad_cnst'); if ($print>=2) { print "Maximum radiatively active tracers: $max_n_rad_cnst$eol"; } +#----------------------------------------------------------------------------------------------- +# model_top - not set by default +my $model_top = 'none'; +$cfg_ref->set('model_top', $model_top); + +# user override +if (defined $opts{'model_top'}) { + $cfg_ref->set('model_top', $opts{'model_top'}); +} +if ($print>=2) { print "model_top: $model_top$eol"; } + #----------------------------------------------------------------------------------------------- # waccm physics my $waccm_phys = 0; diff --git a/bld/namelist_files/namelist_defaults_cam.xml b/bld/namelist_files/namelist_defaults_cam.xml index 7de517d67c..49c9351fff 100644 --- a/bld/namelist_files/namelist_defaults_cam.xml +++ b/bld/namelist_files/namelist_defaults_cam.xml @@ -741,8 +741,8 @@ .true. .true. .true. -.false. -.false. +.false. +.false. .false. .false. .false. @@ -2985,12 +2985,12 @@ 3.22D0 - 3 - 2 - 4 - 4 - 3 - 1 + 3 + 2 + 4 + 4 + 3 + 1 1 20 @@ -3017,9 +3017,9 @@ -1 - 1.25e5 - 1.0e6 - 1.0e6 + 1.25e5 + 1.0e6 + 1.0e6 0.0 1.0 @@ -3039,18 +3039,18 @@ 2 1 - 3 - 5 - 3 - 5 - 3 - 10 + 3 + 5 + 3 + 5 + 3 + 10 7 3 4 - 6 + 6 3 -1 diff --git a/cime_config/config_component.xml b/cime_config/config_component.xml index 78645415a8..755a862329 100644 --- a/cime_config/config_component.xml +++ b/cime_config/config_component.xml @@ -166,8 +166,8 @@ -nlev 56 -nlev 88 -nlev 145 - -nlev 58 - -nlev 93 + -nlev 58 -model_top lt + -nlev 93 -model_top mt -phys adiabatic diff --git a/cime_config/config_pes.xml b/cime_config/config_pes.xml index d3320693c9..d777eadf58 100644 --- a/cime_config/config_pes.xml +++ b/cime_config/config_pes.xml @@ -151,14 +151,14 @@ none - -50 - -50 - -50 - -50 - -50 - -50 - -50 - -50 + -32 + -32 + -32 + -32 + -32 + -32 + -32 + -32 1 From fe4d06767b6d33ee4d3ceb80f634b5d122efb30d Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Thu, 1 Jun 2023 15:19:28 -0600 Subject: [PATCH 04/17] Adjust PE layout for MT run to one which works with restarts --- cime_config/config_pes.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/cime_config/config_pes.xml b/cime_config/config_pes.xml index d777eadf58..d3320693c9 100644 --- a/cime_config/config_pes.xml +++ b/cime_config/config_pes.xml @@ -151,14 +151,14 @@ none - -32 - -32 - -32 - -32 - -32 - -32 - -32 - -32 + -50 + -50 + -50 + -50 + -50 + -50 + -50 + -50 1 From 431c40d2d1e4754b4df8816bef4b79f7af0f2ad5 Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Fri, 2 Jun 2023 10:53:54 -0600 Subject: [PATCH 05/17] Address more review comments --- bld/build-namelist | 2 -- bld/config_files/definition.xml | 4 +++- cime_config/config_pes.xml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/bld/build-namelist b/bld/build-namelist index 87a8f9bdb6..8e7ea8d2b2 100755 --- a/bld/build-namelist +++ b/bld/build-namelist @@ -498,8 +498,6 @@ my $dtime = $nl->get_value('dtime'); #----------------------------------------------------------------------------------------------- # Add defaults for the CAM component -my $model_top = $cfg->get('model_top'); - my $chem = $cfg->get('chem'); my $waccm_chem = ($chem =~ "waccm_"); my $waccm_phys = $cfg->get('waccm_phys'); diff --git a/bld/config_files/definition.xml b/bld/config_files/definition.xml index 97f3bec833..156a3e4a36 100644 --- a/bld/config_files/definition.xml +++ b/bld/config_files/definition.xml @@ -47,7 +47,9 @@ Switch to turn on analytic initial conditions for the dynamics state: 1 => yes. -Model top specifier +Model top specifier - set by compset definition + lt: ~ 40 km top + mt: ~ 80 km top Option to turn on waccmx thermosphere/ionosphere extension: 0 => no, 1 => yes diff --git a/cime_config/config_pes.xml b/cime_config/config_pes.xml index d3320693c9..e7f41e048e 100644 --- a/cime_config/config_pes.xml +++ b/cime_config/config_pes.xml @@ -156,8 +156,8 @@ -50 -50 -50 - -50 - -50 + 1 + 1 -50 From a2142fd39c5aa34939a22c1fdf2d06c80200c586 Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Wed, 7 Jun 2023 16:37:00 -0600 Subject: [PATCH 06/17] Add a few more namelists and remove PE layout for MT --- bld/build-namelist | 7 ++++ bld/namelist_files/namelist_defaults_cam.xml | 5 ++- cime_config/config_pes.xml | 37 -------------------- 3 files changed, 9 insertions(+), 40 deletions(-) diff --git a/bld/build-namelist b/bld/build-namelist index 8e7ea8d2b2..2382a3c74f 100755 --- a/bld/build-namelist +++ b/bld/build-namelist @@ -3564,6 +3564,11 @@ if ($waccm_phys or } add_default($nl, 'gw_qbo_hdepth_scaling', 'val'=>$hdepth_scaling); add_default($nl, 'gw_top_taper'); +} elsif ($phys =~ /cam_dev/) { + # cam_dev settings for nlev<60 (Other cam_dev set above) + add_default($nl, 'use_gw_front' , 'val'=>'.true.'); + add_default($nl, 'use_gw_convect_dp', 'val'=>'.true.'); + add_default($nl, 'gw_qbo_hdepth_scaling', 'val'=>'1.0D0'); } else { add_default($nl, 'use_gw_front' , 'val'=>'.false.'); add_default($nl, 'use_gw_convect_dp', 'val'=>'.false.'); @@ -3695,6 +3700,8 @@ if ((not $waccm_phys) and ($do_gw_front or $do_gw_front_igw or $do_gw_convect_dp or $do_gw_convect_sh)) { add_default($nl, 'tau_0_ubc', 'val'=>'.true.'); +} elsif ($phys =~ /cam_dev/) { + add_default($nl, 'tau_0_ubc', 'val'=>'.true.'); } elsif (!$simple_phys) { add_default($nl, 'tau_0_ubc', 'val'=>'.false.'); } diff --git a/bld/namelist_files/namelist_defaults_cam.xml b/bld/namelist_files/namelist_defaults_cam.xml index 49c9351fff..627bcbf58b 100644 --- a/bld/namelist_files/namelist_defaults_cam.xml +++ b/bld/namelist_files/namelist_defaults_cam.xml @@ -740,9 +740,8 @@ .true. .true. .true. -.true. -.false. -.false. +.true. +.false. .false. .false. .false. diff --git a/cime_config/config_pes.xml b/cime_config/config_pes.xml index e7f41e048e..316bd8435d 100644 --- a/cime_config/config_pes.xml +++ b/cime_config/config_pes.xml @@ -146,43 +146,6 @@ - - - - none - - -50 - -50 - -50 - -50 - -50 - 1 - 1 - -50 - - - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - - - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - From 416f5a19369d35e01aaf22246a37ad0fd08031e4 Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Thu, 8 Jun 2023 17:24:36 -0600 Subject: [PATCH 07/17] Updates based on reviewer comments --- bld/build-namelist | 2 -- bld/namelist_files/namelist_defaults_cam.xml | 10 ++++------ 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/bld/build-namelist b/bld/build-namelist index 2382a3c74f..b6f8d0775e 100755 --- a/bld/build-namelist +++ b/bld/build-namelist @@ -3700,8 +3700,6 @@ if ((not $waccm_phys) and ($do_gw_front or $do_gw_front_igw or $do_gw_convect_dp or $do_gw_convect_sh)) { add_default($nl, 'tau_0_ubc', 'val'=>'.true.'); -} elsif ($phys =~ /cam_dev/) { - add_default($nl, 'tau_0_ubc', 'val'=>'.true.'); } elsif (!$simple_phys) { add_default($nl, 'tau_0_ubc', 'val'=>'.false.'); } diff --git a/bld/namelist_files/namelist_defaults_cam.xml b/bld/namelist_files/namelist_defaults_cam.xml index 627bcbf58b..b4ea579fd2 100644 --- a/bld/namelist_files/namelist_defaults_cam.xml +++ b/bld/namelist_files/namelist_defaults_cam.xml @@ -2044,10 +2044,8 @@ .true. .true. .true. - .false. - .true. - .false. - .true. + .true. + .true. .false. .false. .true. @@ -2160,7 +2158,8 @@ 500.D-6 390.D-6 200.D-6 - 250.D-6 + + 250.D-6 .false. .true. @@ -2202,7 +2201,6 @@ 1.D0 0.5D0 - 1.D0 1.D0 1.D0 From bc4f7c4f70f66272e93655f116d129879ce65360 Mon Sep 17 00:00:00 2001 From: Brian Eaton Date: Sat, 10 Jun 2023 14:36:28 -0400 Subject: [PATCH 08/17] add microp_mg_dcs defaults to build-namelist --- bld/build-namelist | 30 +++++++++++++++++++- bld/namelist_files/namelist_defaults_cam.xml | 25 ++++++---------- 2 files changed, 37 insertions(+), 18 deletions(-) diff --git a/bld/build-namelist b/bld/build-namelist index b6f8d0775e..fd60b843f8 100755 --- a/bld/build-namelist +++ b/bld/build-namelist @@ -3029,7 +3029,6 @@ if ($cfg->get('microphys') =~ /^mg/) { add_default($nl, 'nucleate_ice_subgrid_strat'); add_default($nl, 'nucleate_ice_use_troplev'); add_default($nl, 'cld_macmic_num_steps', 'dtime'=>$dtime); - add_default($nl, 'micro_mg_dcs'); add_default($nl, 'micro_mg_precip_frac_method'); add_default($nl, 'micro_mg_berg_eff_factor'); add_default($nl, 'nucleate_ice_incloud'); @@ -3057,6 +3056,35 @@ if ($cfg->get('microphys') =~ /^mg/) { add_default($nl, 'micro_mg_accre_sees_auto'); add_default($nl, 'micro_mg_implicit_fall'); } + + # tunings for micro_mg_dcs + my $microphys = $cfg->get('microphys'); + my $hgrid = $cfg->get('hgrid'); + my $silhs = $cfg->get('silhs'); + + my $micro_mg_dcs = '400.D-6'; # default for cam5/mg1 + + if ($microphys eq 'mg2') { + if ($phys eq 'cam6') { + $micro_mg_dcs = '500.D-6'; # default for cam6/mg2 + } + elsif ($phys eq 'cam_dev') { + $micro_mg_dcs = '250.D-6'; # default for cam_dev/mg2 + } + } + + if ($microphys eq 'mg3') { + $micro_mg_dcs = '250.D-6'; # default for cam_dev/mg3 + } + + if ($microphys =~ /mg2|mg3/ and $silhs eq '1') { + $micro_mg_dcs = '390.D-6'; # default for SIHLS + } + elsif ($microphys =~ /mg2|mg3/ and $hgrid =~ /1.9x2.5/) { + $micro_mg_dcs = '200.D-6'; # default for FV 2-deg + } + + add_default($nl, 'micro_mg_dcs', 'val'=>$micro_mg_dcs); } # Aerosol Namelist options diff --git a/bld/namelist_files/namelist_defaults_cam.xml b/bld/namelist_files/namelist_defaults_cam.xml index b4ea579fd2..c3c2e5a32f 100644 --- a/bld/namelist_files/namelist_defaults_cam.xml +++ b/bld/namelist_files/namelist_defaults_cam.xml @@ -2143,23 +2143,14 @@ 1 0 1 - 400.D-6 - - 2 - 0 - 1 - 500.D-6 - 390.D-6 - 200.D-6 - - 3 - 0 - 1 - 500.D-6 - 390.D-6 - 200.D-6 - - 250.D-6 + + 2 + 0 + 1 + + 3 + 0 + 1 .false. .true. From a49161200b41f67139a241273889a493de69ca43 Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Thu, 15 Jun 2023 11:27:39 -0600 Subject: [PATCH 09/17] Add additional namelist settings --- bld/build-namelist | 9 +++++---- bld/namelist_files/namelist_defaults_cam.xml | 17 ++++++++++++++--- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/bld/build-namelist b/bld/build-namelist index fd60b843f8..38c00c18a9 100755 --- a/bld/build-namelist +++ b/bld/build-namelist @@ -3082,7 +3082,7 @@ if ($cfg->get('microphys') =~ /^mg/) { } elsif ($microphys =~ /mg2|mg3/ and $hgrid =~ /1.9x2.5/) { $micro_mg_dcs = '200.D-6'; # default for FV 2-deg - } + } add_default($nl, 'micro_mg_dcs', 'val'=>$micro_mg_dcs); } @@ -3669,8 +3669,8 @@ if ($do_gw_rdg_beta) { die "$ProgName - ERROR: beta ridge scheme requires data from a topo file.\n"; } add_default($nl, 'n_rdg_beta', 'val'=>'10'); - add_default($nl, 'effgw_rdg_beta', 'val'=>'1.0D0'); - add_default($nl, 'effgw_rdg_beta_max', 'val'=>'1.0D0'); + add_default($nl, 'effgw_rdg_beta'); + add_default($nl, 'effgw_rdg_beta_max'); add_default($nl, 'trpd_leewv_rdg_beta', 'val'=>'.false.'); add_default($nl, 'rdg_beta_cd_llb', 'val'=>'1.0D0'); } @@ -3726,7 +3726,8 @@ if (($do_gw_rdg_beta or $do_gw_rdg_gamma)) { # use tau_0_ubc = .false. to avoid changing answers. if ((not $waccm_phys) and ($do_gw_front or $do_gw_front_igw or - $do_gw_convect_dp or $do_gw_convect_sh)) { + $do_gw_convect_dp or $do_gw_convect_sh or + $do_gw_oro or $do_gw_rdg_beta or $do_gw_rdg_gamma)) { add_default($nl, 'tau_0_ubc', 'val'=>'.true.'); } elsif (!$simple_phys) { add_default($nl, 'tau_0_ubc', 'val'=>'.false.'); diff --git a/bld/namelist_files/namelist_defaults_cam.xml b/bld/namelist_files/namelist_defaults_cam.xml index c3c2e5a32f..243494de8b 100644 --- a/bld/namelist_files/namelist_defaults_cam.xml +++ b/bld/namelist_files/namelist_defaults_cam.xml @@ -700,6 +700,8 @@ 0.7D0 0.4D0 +0.30D0 +0.70D0 0.55D0 0.5D0 0.5D0 @@ -708,8 +710,17 @@ 0.5D0 0.5D0 0.5D0 + 0.0625D0 +1.0D0 +0.5D0 +0.5D0 + +1.0D0 +0.5D0 +0.5D0 + 0.03D0 @@ -2976,7 +2987,7 @@ 3 2 4 - 4 + 4 3 1 @@ -3007,7 +3018,7 @@ 1.25e5 1.0e6 - 1.0e6 + 1.0e6 0.0 1.0 @@ -3038,7 +3049,7 @@ 3 4 - 6 + 6 3 -1 From 174fd6a32921f0bbaa7f6aaf64769820126dbb5b Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Thu, 15 Jun 2023 11:58:08 -0600 Subject: [PATCH 10/17] One more namelist cleanup --- bld/namelist_files/namelist_defaults_cam.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/namelist_files/namelist_defaults_cam.xml b/bld/namelist_files/namelist_defaults_cam.xml index 243494de8b..3df637a2d5 100644 --- a/bld/namelist_files/namelist_defaults_cam.xml +++ b/bld/namelist_files/namelist_defaults_cam.xml @@ -3042,7 +3042,7 @@ 5 3 5 - 3 + 3 10 7 From 2938eca51e103cf5613086cde7b92e1a0f5b490c Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Tue, 20 Jun 2023 15:27:01 -0600 Subject: [PATCH 11/17] Further refinement based on discussion at planning meeting --- bld/build-namelist | 20 +++++++----------- bld/namelist_files/namelist_defaults_cam.xml | 22 ++++++++++---------- cime_config/config_compsets.xml | 4 ++-- 3 files changed, 21 insertions(+), 25 deletions(-) diff --git a/bld/build-namelist b/bld/build-namelist index 38c00c18a9..2a11a77afb 100755 --- a/bld/build-namelist +++ b/bld/build-namelist @@ -3064,8 +3064,14 @@ if ($cfg->get('microphys') =~ /^mg/) { my $micro_mg_dcs = '400.D-6'; # default for cam5/mg1 - if ($microphys eq 'mg2') { - if ($phys eq 'cam6') { + if ($microphys =~ /mg2|mg3/) { + if ($silhs eq '1') { + $micro_mg_dcs = '390.D-6'; # default for SIHLS + } + elsif ($hgrid =~ /1.9x2.5/ and $phys eq 'cam6') { + $micro_mg_dcs = '200.D-6'; # default for FV 2-deg + } + elsif ($phys eq 'cam6') { $micro_mg_dcs = '500.D-6'; # default for cam6/mg2 } elsif ($phys eq 'cam_dev') { @@ -3073,16 +3079,6 @@ if ($cfg->get('microphys') =~ /^mg/) { } } - if ($microphys eq 'mg3') { - $micro_mg_dcs = '250.D-6'; # default for cam_dev/mg3 - } - - if ($microphys =~ /mg2|mg3/ and $silhs eq '1') { - $micro_mg_dcs = '390.D-6'; # default for SIHLS - } - elsif ($microphys =~ /mg2|mg3/ and $hgrid =~ /1.9x2.5/) { - $micro_mg_dcs = '200.D-6'; # default for FV 2-deg - } add_default($nl, 'micro_mg_dcs', 'val'=>$micro_mg_dcs); } diff --git a/bld/namelist_files/namelist_defaults_cam.xml b/bld/namelist_files/namelist_defaults_cam.xml index 3df637a2d5..f1364de7a3 100644 --- a/bld/namelist_files/namelist_defaults_cam.xml +++ b/bld/namelist_files/namelist_defaults_cam.xml @@ -2031,7 +2031,7 @@ .true. .false. 0.308 - 0.280 + 0.280 0.270 0.32 2 @@ -2055,8 +2055,8 @@ .true. .true. .true. - .true. - .true. + .true. + .true. .false. .false. .true. @@ -2373,14 +2373,14 @@ -1.35D0 -1.62D0 -0.90D0 -1.00D0 -1.5D0 -1.10D0 -1.2D0 -0.60D0 +1.35D0 +1.62D0 +0.90D0 +1.00D0 +1.5D0 +1.10D0 +1.2D0 +0.60D0 1.0D0 diff --git a/cime_config/config_compsets.xml b/cime_config/config_compsets.xml index 90991b3cf0..922dc18d51 100644 --- a/cime_config/config_compsets.xml +++ b/cime_config/config_compsets.xml @@ -62,12 +62,12 @@ - FLTHIST_v0c + FLTHIST_v0d HIST_CAM%DEV%LT%GHGMAM4_CLM51%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV - FMTHIST_v0c + FMTHIST_v0d HIST_CAM%DEV%MT%GHGMAM4_CLM51%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV From 09aa9fc017293c5131caf65c2cb89bb42f4a2fa8 Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Tue, 20 Jun 2023 16:57:31 -0600 Subject: [PATCH 12/17] Address additional reviewer comments --- bld/build-namelist | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/bld/build-namelist b/bld/build-namelist index 2a11a77afb..da300ec813 100755 --- a/bld/build-namelist +++ b/bld/build-namelist @@ -3072,10 +3072,10 @@ if ($cfg->get('microphys') =~ /^mg/) { $micro_mg_dcs = '200.D-6'; # default for FV 2-deg } elsif ($phys eq 'cam6') { - $micro_mg_dcs = '500.D-6'; # default for cam6/mg2 + $micro_mg_dcs = '500.D-6'; # default for cam6 } elsif ($phys eq 'cam_dev') { - $micro_mg_dcs = '250.D-6'; # default for cam_dev/mg2 + $micro_mg_dcs = '250.D-6'; # default for cam_dev } } @@ -3722,8 +3722,7 @@ if (($do_gw_rdg_beta or $do_gw_rdg_gamma)) { # use tau_0_ubc = .false. to avoid changing answers. if ((not $waccm_phys) and ($do_gw_front or $do_gw_front_igw or - $do_gw_convect_dp or $do_gw_convect_sh or - $do_gw_oro or $do_gw_rdg_beta or $do_gw_rdg_gamma)) { + $do_gw_convect_dp or $do_gw_convect_sh )) { add_default($nl, 'tau_0_ubc', 'val'=>'.true.'); } elsif (!$simple_phys) { add_default($nl, 'tau_0_ubc', 'val'=>'.false.'); From 0e953912df24cd9d8b7be42b23ef26dbd3bdda14 Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Tue, 20 Jun 2023 17:10:52 -0600 Subject: [PATCH 13/17] one more reviewer change --- bld/build-namelist | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bld/build-namelist b/bld/build-namelist index da300ec813..0de0ead4cb 100755 --- a/bld/build-namelist +++ b/bld/build-namelist @@ -3724,6 +3724,8 @@ if ((not $waccm_phys) and ($do_gw_front or $do_gw_front_igw or $do_gw_convect_dp or $do_gw_convect_sh )) { add_default($nl, 'tau_0_ubc', 'val'=>'.true.'); +} elsif ($phys =~ /cam_dev/) { + add_default($nl, 'tau_0_ubc', 'val'=>'.true.'); } elsif (!$simple_phys) { add_default($nl, 'tau_0_ubc', 'val'=>'.false.'); } From 6284f5dd221d8b96059bc01e5b810ab78d71b788 Mon Sep 17 00:00:00 2001 From: James Edwards Date: Wed, 21 Jun 2023 07:44:54 -0600 Subject: [PATCH 14/17] add pointers for intel performance, remove unused PI variable for nvhpc --- src/control/cam_history.F90 | 1 - .../se/dycore/fvm_consistent_se_cslam.F90 | 24 ++++++++++++------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/control/cam_history.F90 b/src/control/cam_history.F90 index 677544bdc3..51c357e68b 100644 --- a/src/control/cam_history.F90 +++ b/src/control/cam_history.F90 @@ -4992,7 +4992,6 @@ subroutine h_global (f, t) use cam_history_support, only: dim_index_2d use shr_reprosum_mod, only: shr_reprosum_calc use spmd_utils, only: mpicom - use shr_const_mod, only: PI => SHR_CONST_PI ! !----------------------------------------------------------------------- ! diff --git a/src/dynamics/se/dycore/fvm_consistent_se_cslam.F90 b/src/dynamics/se/dycore/fvm_consistent_se_cslam.F90 index ede1f44059..b5bcebd845 100644 --- a/src/dynamics/se/dycore/fvm_consistent_se_cslam.F90 +++ b/src/dynamics/se/dycore/fvm_consistent_se_cslam.F90 @@ -44,7 +44,7 @@ subroutine run_consistent_se_cslam(elem,fvm,hybrid,dt_fvm,tl,nets,nete,hvcoord,& use thread_mod , only: vert_num_threads, omp_set_nested implicit none type (element_t) , intent(inout) :: elem(:) - type (fvm_struct) , intent(inout) :: fvm(:) + type (fvm_struct), target , intent(inout) :: fvm(:) type (hybrid_t) , intent(in) :: hybrid ! distributed parallel structure (shared) type (TimeLevel_t) , intent(in) :: tl ! time level struct type (hvcoord_t) , intent(in) :: hvcoord @@ -71,7 +71,9 @@ subroutine run_consistent_se_cslam(elem,fvm,hybrid,dt_fvm,tl,nets,nete,hvcoord,& integer :: region_num_threads logical :: inJetCall logical :: ActiveJetThread - + + real(r8), pointer :: fcube(:,:,:,:) + real(r8), pointer :: spherecentroid(:,:,:) llimiter = .true. @@ -152,22 +154,26 @@ subroutine run_consistent_se_cslam(elem,fvm,hybrid,dt_fvm,tl,nets,nete,hvcoord,& !call t_stopf('fvm:orthogonal_swept_areas') do ie=nets,nete + ! Intel compiler version 2023.0.0 on derecho had significant slowdown on subroutine interface without + ! these pointers. + fcube => fvm(ie)%c(:,:,:,:) + spherecentroid => fvm(ie)%spherecentroid(:,1-nhe:nc+nhe,1-nhe:nc+nhe) do k=kmin,kmax - !call t_startf('fvm:tracers_reconstruct') - call reconstruction(fvm(ie)%c(:,:,:,:),nlev,k,& + !call t_startf('FVM:tracers_reconstruct') + call reconstruction(fcube,nlev,k,& ctracer(:,:,:,:),irecons_tracer,llimiter,ntrac,& nc,nhe,nhr,nhc,nht,ns,nhr+(nhe-1),& fvm(ie)%jx_min,fvm(ie)%jx_max,fvm(ie)%jy_min,fvm(ie)%jy_max,& fvm(ie)%cubeboundary,fvm(ie)%halo_interp_weight,fvm(ie)%ibase,& - fvm(ie)%spherecentroid(:,1-nhe:nc+nhe,1-nhe:nc+nhe),& + spherecentroid,& fvm(ie)%recons_metrics,fvm(ie)%recons_metrics_integral,& fvm(ie)%rot_matrix,fvm(ie)%centroid_stretch,& fvm(ie)%vertex_recons_weights,fvm(ie)%vtx_cart,& irecons_tracer_lev(k)) - !call t_stopf('fvm:tracers_reconstruct') - !call t_startf('fvm:swept_flux') - call swept_flux(elem(ie),fvm(ie),k,ctracer,irecons_tracer_lev(k),gsweights,gspts) - !call t_stopf('fvm:swept_flux') + !call t_stopf('FVM:tracers_reconstruct') + !call t_startf('fvm:swept_flux') + call swept_flux(elem(ie),fvm(ie),k,ctracer,irecons_tracer_lev(k),gsweights,gspts) + !call t_stopf('fvm:swept_flux') end do end do ! From 8098ad6ff279597ae894041a7a1711dc3cff4f65 Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Fri, 23 Jun 2023 14:43:01 -0600 Subject: [PATCH 15/17] Update LT file and remove ncdata files from use_cases --- bld/namelist_files/namelist_defaults_cam.xml | 2 +- bld/namelist_files/use_cases/1850_cam_lt.xml | 3 --- bld/namelist_files/use_cases/1850_cam_mt.xml | 3 --- bld/namelist_files/use_cases/hist_cam_lt.xml | 3 --- bld/namelist_files/use_cases/hist_cam_mt.xml | 3 --- 5 files changed, 1 insertion(+), 13 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_cam.xml b/bld/namelist_files/namelist_defaults_cam.xml index 8ccfa0dd9a..be97025ea5 100644 --- a/bld/namelist_files/namelist_defaults_cam.xml +++ b/bld/namelist_files/namelist_defaults_cam.xml @@ -125,7 +125,7 @@ atm/cam/inic/se/FCMTHIST_ne30pg3_1980-01-01_c221214.nc atm/cam/inic/fv/FC2000mam5_f10_0002-01-01_c221214.nc -atm/cam/inic/se/FWsc_ne30pg3_58L_GRID_48_taperstart10km_lowtop_BL10_v3_beta1p75_Top_43km.nc +atm/cam/inic/se/FLT_L58_ne30pg3_IC_c220623.nc atm/cam/inic/se/L93_ne30pg3_ne30pg3_mg17_450_short.cam.i.1979-01-07-00000.nc atm/cam/chem/trop_mozart/ic/cami_0000-09-01_4x5_L26_c060217.nc diff --git a/bld/namelist_files/use_cases/1850_cam_lt.xml b/bld/namelist_files/use_cases/1850_cam_lt.xml index f3c043d55b..d8668677e5 100644 --- a/bld/namelist_files/use_cases/1850_cam_lt.xml +++ b/bld/namelist_files/use_cases/1850_cam_lt.xml @@ -6,9 +6,6 @@ 18500101 FIXED - -atm/cam/inic/se/FWsc_ne30pg3_58L_GRID_48_taperstart10km_lowtop_BL10_v3_beta1p75_Top_43km.nc - atm/waccm/lb/LBC_17500116-20150116_CMIP6_0p5degLat_c180905.nc 1850 diff --git a/bld/namelist_files/use_cases/1850_cam_mt.xml b/bld/namelist_files/use_cases/1850_cam_mt.xml index 67049703f3..5a535f27be 100644 --- a/bld/namelist_files/use_cases/1850_cam_mt.xml +++ b/bld/namelist_files/use_cases/1850_cam_mt.xml @@ -6,9 +6,6 @@ 18500101 FIXED - -atm/cam/inic/se/L93_ne30pg3_ne30pg3_mg17_450_short.cam.i.1979-01-07-00000.nc - atm/waccm/lb/LBC_17500116-20150116_CMIP6_0p5degLat_c180905.nc 1850 diff --git a/bld/namelist_files/use_cases/hist_cam_lt.xml b/bld/namelist_files/use_cases/hist_cam_lt.xml index 577610275c..81834955c3 100644 --- a/bld/namelist_files/use_cases/hist_cam_lt.xml +++ b/bld/namelist_files/use_cases/hist_cam_lt.xml @@ -6,9 +6,6 @@ atm/cam/solar/SolarForcingCMIP6_18491230-23000102_c20200615.nc - -atm/cam/inic/se/FWsc_ne30pg3_58L_GRID_48_taperstart10km_lowtop_BL10_v3_beta1p75_Top_43km.nc - atm/waccm/lb/LBC_17500116-20150116_CMIP6_0p5degLat_c180905.nc 'SERIAL' diff --git a/bld/namelist_files/use_cases/hist_cam_mt.xml b/bld/namelist_files/use_cases/hist_cam_mt.xml index 08c53aa595..c100cc6e85 100644 --- a/bld/namelist_files/use_cases/hist_cam_mt.xml +++ b/bld/namelist_files/use_cases/hist_cam_mt.xml @@ -6,9 +6,6 @@ atm/cam/solar/SolarForcingCMIP6_18491230-23000102_c20200615.nc - -atm/cam/inic/se/L93_ne30pg3_ne30pg3_mg17_450_short.cam.i.1979-01-07-00000.nc - atm/waccm/lb/LBC_17500116-20150116_CMIP6_0p5degLat_c180905.nc 'SERIAL' From bc8887a748b6e50818f5f1bda5a09f2e221a624d Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Fri, 23 Jun 2023 15:16:58 -0600 Subject: [PATCH 16/17] ChangeLog for cam6_3_116 --- doc/ChangeLog | 125 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 124 insertions(+), 1 deletion(-) diff --git a/doc/ChangeLog b/doc/ChangeLog index 415e8d367f..f601d4e26f 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,126 @@ + +=============================================================== + +Tag name:cam6_3_116 +Originator(s): cacraig, hannay, jedwards, eaton +Date: June 23, 2023 +One-line Summary: CAM Tuning "F" and fix derecho CSLAM performance +Github PR URL: https://github.com/ESCOMP/CAM/pull/820 + +Purpose of changes (include the issue number and title text for each relevant GitHub issue): + - Update tunings for LT and MT based on the "Tuning F": https://github.com/ESCOMP/CAM/issues/818 + - New gw tuning to add to the trunk: https://github.com/ESCOMP/CAM/issues/829 + - More tuning for LT and MT: https://github.com/ESCOMP/CAM/issues/838 + - Derecho CSLAM performance issue: https://github.com/ESCOMP/CAM/discussions/827 + - add pointers for intel performance, remove unused PI variable for nvhpc: https://github.com/ESCOMP/CAM/pull/845 + - Introduce configure options "lt" and "mt" + - Use new ncdata file with required metadata for LT ne30pg3 runs + +Describe any changes made to build system: N/A + +Describe any changes made to the namelist: + - micro_mg_dcs is now set inside build-namelist + - Default settings were changed for: micro_mg_dcs, use_gw_front, use_gw_convect_dp, + eff_rdg_beta, eff_rdg_beta_max, tau_0_ubc, effgw_beres_dp, clubb_C7, clubb_C_uu_shr, + clubb_l_mono_flux_lim_um, clubb_l_mono_flux_lim_vm, clubb_l_predict_upwp_vpwp, + microp_aero_wsubi_scale, micro_mg_vtrmi_factor, dust_emis_fact, seasalt_emis_scale + +List any changes to the defaults for the boundary datasets: N/A + +Describe any substantial timing or memory changes: N/A + +Code reviewed by: fvitt, nusbaume, eaton, adamrher (jtruedal, nusbaume and Peter Lauritzen reveiwed PR#845) + +List all files eliminated: N/A + +List all files added and what they do: N/A + +List all existing files that have been modified, and describe the changes: +M bld/build-namelist + - Add selection for micro_mg_dcs + - Additional settings for tuning "F" + +M bld/config_files/definition.xml +M bld/configure +M cime_config/config_component.xml + - Introduce model_top qualifier with lt and mt options + +M bld/namelist_files/namelist_defaults_cam.xml + - Tuning "F" namelist settings + - Update files to include LT file with metadata + +M bld/namelist_files/use_cases/1850_cam_lt.xml +M bld/namelist_files/use_cases/1850_cam_mt.xml +M bld/namelist_files/use_cases/hist_cam_lt.xml +M bld/namelist_files/use_cases/hist_cam_mt.xml + - Remove ncdata files and use ones from namelist_defaults_cam.xml + +M cime_config/config_compsets.xml + - Update to FLTHIST_v0d and FMTHIST_v0d + +M src/control/cam_history.F90 + - remove unused pi + +M src/dynamics/se/dycore/fvm_consistent_se_cslam.F90 + - Fix derecho performance issue + + +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. + +Most tests had namelist differences + +cheyenne/intel/aux_cam: all BFB except: + + Ran FLTHIST with old and new ncdata file and the results were BFB + + ERP_Ln9_Vnuopc.ne30pg3_ne30pg3_mg17.FW2000climo.cheyenne_intel.cam-outfrq9s_wcm_ne30 (Overall: FAIL) details: + - pre-existing failure + + ERP_D_Ln9_Vnuopc.ne30pg3_ne30pg3_mg17.F2000dev.cheyenne_intel.cam-outfrq9s (Overall: DIFF) details: + ERP_Ln9_Vnuopc.f09_f09_mg17.F2000dev.cheyenne_intel.cam-outfrq9s_mg3 (Overall: DIFF) details: + ERS_Ld3_Vnuopc.f10_f10_mg37.F1850.cheyenne_intel.cam-outfrq1d_14dec_ghg_cam_dev (Overall: DIFF) details: + SMS_D_Ln9_Vnuopc_P720x1.ne30pg3_ne30pg3_mg17.FCLTHIST.cheyenne_intel.cam-outfrq9s (Overall: DIFF) details: + SMS_Ld1_Vnuopc.f19_f19.F2000dev.cheyenne_intel.cam-outfrq1d (Overall: DIFF) details: + - cam_dev tests have answer changes due to namelist changes + + SMS_Ln9_Vnuopc.f19_f19.F2000climo.cheyenne_intel.cam-silhs (Overall: DIFF) details: + - SILHS has answer changes due to namelist changes. Adam Herrington approved changing answers for this configuration + +izumi/nag/aux_cam: all BFB except: + DAE_Vnuopc.f45_f45_mg37.FHS94.izumi_nag.cam-dae (Overall: FAIL) details: + - pre-existing failure + +izumi/gnu/aux_cam: all BFB except: + SMS_D_Ln9.f10_f10_mg37.2000_CAM%DEV%GHGMAM4_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV_SESP.izumi_gnu.cam-outfrq9s (Overall: DIFF) details: + - cam_dev tests have answer changes due to namelist changes +CAM tag used for the baseline comparison tests if different than previous +tag: + +Summarize any changes to answers, i.e., +- what code configurations: +- what platforms/compilers: +- nature of change (roundoff; larger than roundoff but same climate; new + climate): + +If bitwise differences were observed, how did you show they were no worse +than roundoff? + +If this tag changes climate describe the run(s) done to evaluate the new +climate in enough detail that it(they) could be reproduced, i.e., +- source tag (all code used must be in the repository): +- platform/compilers: +- configure commandline: +- build-namelist command (or complete namelist): +- MSS location of output: + +MSS location of control simulations used to validate new climate: + +URL for AMWG diagnostics output used to validate new climate: + +=============================================================== =============================================================== Tag name: cam6_3_115 Originator(s): aherring, jet @@ -49,7 +172,7 @@ appropriate machine below. All failed tests must be justified. cheyenne/intel/aux_cam: ERS_Ln9_P36x1_Vnuopc.mpasa480_mpasa480.F2000climo.cheyenne_intel.cam-outfrq9s_mpasa480 (Overall: FAIL) details: ERP_Ln9_Vnuopc.ne30pg3_ne30pg3_mg17.FW2000climo.cheyenne_intel.cam-outfrq9s_wcm_ne30 (Overall: FAIL) details: - - pre-existing failures - mpasa480 failure due to corrupted comparison file. + - pre-existing failures - mpasa480 failure due to corrupted initial condition file. ERC_D_Ln9_P144x1_Vnuopc.ne16pg3_ne16pg3_mg17.QPC6HIST.cheyenne_intel.cam-outfrq3s_ttrac_usecase (Overall: DIFF) details: - Expected Difference due to update dry dep surface data file From fbc3da93014f4d426b44b35eb0999c69de5c90b5 Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Fri, 23 Jun 2023 16:06:56 -0600 Subject: [PATCH 17/17] Update MT file --- bld/namelist_files/namelist_defaults_cam.xml | 2 +- doc/ChangeLog | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_cam.xml b/bld/namelist_files/namelist_defaults_cam.xml index be97025ea5..2be6e70b76 100644 --- a/bld/namelist_files/namelist_defaults_cam.xml +++ b/bld/namelist_files/namelist_defaults_cam.xml @@ -126,7 +126,7 @@ atm/cam/inic/fv/FC2000mam5_f10_0002-01-01_c221214.nc atm/cam/inic/se/FLT_L58_ne30pg3_IC_c220623.nc -atm/cam/inic/se/L93_ne30pg3_ne30pg3_mg17_450_short.cam.i.1979-01-07-00000.nc +atm/cam/inic/se/cam7_FMT_ne30pg3_mg17_L93_c221118.nc atm/cam/chem/trop_mozart/ic/cami_0000-09-01_4x5_L26_c060217.nc atm/cam/chem/trop_mozart/ic/cami_0000-09-01_10x15_L26_c060216.nc diff --git a/doc/ChangeLog b/doc/ChangeLog index f601d4e26f..8462a0d7c1 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -14,7 +14,7 @@ Purpose of changes (include the issue number and title text for each relevant Gi - Derecho CSLAM performance issue: https://github.com/ESCOMP/CAM/discussions/827 - add pointers for intel performance, remove unused PI variable for nvhpc: https://github.com/ESCOMP/CAM/pull/845 - Introduce configure options "lt" and "mt" - - Use new ncdata file with required metadata for LT ne30pg3 runs + - Use new ncdata file with required metadata for LT and MT ne30pg3 runs Describe any changes made to build system: N/A @@ -47,7 +47,7 @@ M cime_config/config_component.xml M bld/namelist_files/namelist_defaults_cam.xml - Tuning "F" namelist settings - - Update files to include LT file with metadata + - Update files to include LT and MT input files which contain metadata M bld/namelist_files/use_cases/1850_cam_lt.xml M bld/namelist_files/use_cases/1850_cam_mt.xml @@ -74,7 +74,7 @@ Most tests had namelist differences cheyenne/intel/aux_cam: all BFB except: - Ran FLTHIST with old and new ncdata file and the results were BFB + Ran FLTHIST and FMTHIST with old and new ncdata file and the results were BFB ERP_Ln9_Vnuopc.ne30pg3_ne30pg3_mg17.FW2000climo.cheyenne_intel.cam-outfrq9s_wcm_ne30 (Overall: FAIL) details: - pre-existing failure