Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

cam6_3_006: initial implementation of CLUBB+MF #221

Merged
merged 27 commits into from
Dec 3, 2020
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
ee058e4
removed scmlat,scmlon from usermods_dir/scam_xxx
adamrher Sep 16, 2020
06dbd54
incorporate clubb_mf
adamrher Sep 16, 2020
dd22a60
added clubb_mf namelist group
adamrher Sep 17, 2020
bf353b1
added ChangeLog entry & default to dry plumes (condensation off)
adamrher Sep 17, 2020
2e0c19b
removed initial from all code mods
adamrher Sep 17, 2020
31a0162
important bug fixes, code cleanup
adamrher Sep 24, 2020
28ec956
mods from mikael, use fluxes in edmf module for clubb solver
adamrher Sep 29, 2020
9fde824
comments clarifying meaning of lowest thermo level
adamrher Sep 29, 2020
c3b62a6
brought code up to date. addressed first code review
adamrher Oct 7, 2020
93bb386
minor update to changelog in hopes of resolving conflicts
adamrher Oct 7, 2020
4c91878
addressing first round of code review
adamrher Oct 21, 2020
9a910a2
Add CLUBB_MF test and fix minor NAG bug
cacraigucar Nov 5, 2020
be0aa09
added drydep_srf_file for ne5pg3, swapped dycores for edmf test
adamrher Nov 5, 2020
2b8664d
bug fix in microphys
adamrher Nov 8, 2020
5fe837b
1st attempt at addressing goldys review
adamrher Nov 18, 2020
704e610
Updates from review
cacraigucar Nov 20, 2020
fed4187
Add the testmod for clubbmf
cacraigucar Nov 20, 2020
80c4c0f
Renamed edmf_module to clubb_mf
cacraigucar Nov 20, 2020
cd9850b
thanksgivign break bug fixes, replace with kiss RNG
adamrher Nov 30, 2020
3288ec0
Merge to cam6_3_005
cacraigucar Nov 30, 2020
e832e3c
Remove file that shouldn't have been committed and added missing r8
cacraigucar Nov 30, 2020
7a0cd21
Remove one more file that should not have been committed
cacraigucar Nov 30, 2020
6612d0d
Add paths for r8 and TGIT tests
cacraigucar Dec 1, 2020
cf43c94
final updates including ChangeLog text - no testing reported yet:q
cacraigucar Dec 1, 2020
1b5ff17
Uncomment debug write in clubb_mf
cacraigucar Dec 2, 2020
68597ab
Changed TGIT to use CAM_ROOT so it operates correctly wherever it is …
cacraigucar Dec 2, 2020
4b73b13
Update ChangeLog
cacraigucar Dec 3, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions bld/build-namelist
Original file line number Diff line number Diff line change
Expand Up @@ -3050,6 +3050,11 @@ if ($clubb_sgs =~ /$TRUE/io) {
add_default($nl, 'clubb_l_vert_avg_closure');
add_default($nl, 'clubb_l_diag_Lscale_from_tau');
add_default($nl, 'clubb_l_damp_wp2_using_em');
add_default($nl, 'do_clubb_mf');
add_default($nl, 'clubb_mf_L0');
add_default($nl, 'clubb_mf_ent0');
add_default($nl, 'clubb_mf_wa');
add_default($nl, 'clubb_mf_wb');
}

# Tuning for wet scavenging of modal aerosols
Expand Down
7 changes: 7 additions & 0 deletions bld/namelist_files/namelist_defaults_cam.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1850,6 +1850,13 @@
<clubb_l_diag_Lscale_from_tau silhs="1" > .false. </clubb_l_diag_Lscale_from_tau>
<clubb_l_damp_wp2_using_em silhs="1" > .true. </clubb_l_damp_wp2_using_em>

<!-- CLUBB+MF options -->
<do_clubb_mf > .false. </do_clubb_mf>
<clubb_mf_L0 > 50.0 </clubb_mf_L0>
<clubb_mf_ent0 > 0.22 </clubb_mf_ent0>
<clubb_mf_wa > 1.0 </clubb_mf_wa>
<clubb_mf_wb > 1.5 </clubb_mf_wb>

<!-- Microphysics scheme -->
<micro_mg_do_hail > .false. </micro_mg_do_hail>
<micro_mg_do_graupel > .false. </micro_mg_do_graupel>
Expand Down
31 changes: 31 additions & 0 deletions bld/namelist_files/namelist_definition.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3618,6 +3618,37 @@ energy.
Default: true
</entry>

<!-- for CLUBB+MF -->
<entry id="do_clubb_mf" type="logical" category="conv"
group="clubb_params_nl" valid_values="" >
If TRUE run CLUBB-MF
cacraigucar marked this conversation as resolved.
Show resolved Hide resolved
Default: FALSE
</entry>

<entry id="clubb_mf_L0" type="real" category="conv"
group="clubb_mf_nl" valid_values="" >
Real: Entrainment length scale
Default: 50.0
</entry>

<entry id="clubb_mf_ent0" type="real" category="conv"
group="clubb_mf_nl" valid_values="" >
Real: Entrainment factor
Default: 0.22
</entry>

<entry id="clubb_mf_wa" type="real" category="conv"
group="clubb_mf_nl" valid_values="" >
Real: vertical velocity factor a
Default: 1.0
</entry>

<entry id="clubb_mf_wb" type="real" category="conv"
group="clubb_mf_nl" valid_values="" >
Real: vertical velocity factor b
Default: 1.5
</entry>

<!-- CARMA Sectional Microphysics -->

<entry id="carma_model" type="char*32" category="carma"
Expand Down
2 changes: 0 additions & 2 deletions cime_config/usermods_dirs/scam_SAS/user_nl_cam
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
use_gw_front = .false.
scmlon=$PTS_LON
scmlat=$PTS_LAT
iopfile="$DIN_LOC_ROOT/atm/cam/scam/iop/SAS_ideal_4scam.nc"
ncdata="$DIN_LOC_ROOT/atm/cam/scam/iop/CESM2.F2000climo.IOP_SITES.cam.i.0003-06-01-00000.nc"
mfilt=30
Expand Down
2 changes: 0 additions & 2 deletions cime_config/usermods_dirs/scam_arm95/user_nl_cam
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
scmlon=$PTS_LON
scmlat=$PTS_LAT
ncdata="$DIN_LOC_ROOT/atm/cam/scam/iop/CESM2.F2000climo.IOP_SITES.cam.i.0003-07-01-00000.nc"
iopfile="$DIN_LOC_ROOT/atm/cam/scam/iop/ARM95_4scam.nc"
mfilt=1500
Expand Down
2 changes: 0 additions & 2 deletions cime_config/usermods_dirs/scam_arm97/user_nl_cam
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
scmlon=$PTS_LON
scmlat=$PTS_LAT
iopfile="$DIN_LOC_ROOT/atm/cam/scam/iop/ARM97_4scam.nc"
ncdata="$DIN_LOC_ROOT/atm/cam/scam/iop/CESM2.F2000climo.IOP_SITES.cam.i.0003-06-01-00000.nc"
mfilt=2088
Expand Down
2 changes: 0 additions & 2 deletions cime_config/usermods_dirs/scam_atex/user_nl_cam
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
scmlon=$PTS_LON
scmlat=$PTS_LAT
iopfile="$DIN_LOC_ROOT/atm/cam/scam/iop/ATEX_48hr_4scam.nc"
ncdata="$DIN_LOC_ROOT/atm/cam/scam/iop/CESM2.F2000climo.IOP_SITES.cam.i.0003-02-01-00000.nc"
mfilt=2088
Expand Down
2 changes: 0 additions & 2 deletions cime_config/usermods_dirs/scam_bomex/user_nl_cam
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
scmlon=$PTS_LON
scmlat=$PTS_LAT
iopfile="$DIN_LOC_ROOT/atm/cam/scam/iop/BOMEX_5day_4scam.nc"
ncdata="$DIN_LOC_ROOT/atm/cam/scam/iop/CESM2.F2000climo.IOP_SITES.cam.i.0003-06-01-00000.nc"
mfilt=2088
Expand Down
2 changes: 0 additions & 2 deletions cime_config/usermods_dirs/scam_cgilsS11/user_nl_cam
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
scmlon=$PTS_LON
scmlat=$PTS_LAT
iopfile="$DIN_LOC_ROOT/atm/cam/scam/iop/S11_CTL_MixedLayerInit_reduced.nc"
ncdata="$DIN_LOC_ROOT/atm/cam/scam/iop/CESM2.F2000climo.IOP_SITES.cam.i.0003-07-01-00000.nc"
mfilt=2088
Expand Down
2 changes: 0 additions & 2 deletions cime_config/usermods_dirs/scam_cgilsS12/user_nl_cam
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
scmlon=$PTS_LON
scmlat=$PTS_LAT
iopfile="$DIN_LOC_ROOT/atm/cam/scam/iop/S12_CTL_MixedLayerInit_reduced.nc"
ncdata="$DIN_LOC_ROOT/atm/cam/scam/iop/CESM2.F2000climo.IOP_SITES.cam.i.0003-07-01-00000.nc"
mfilt=2088
Expand Down
2 changes: 0 additions & 2 deletions cime_config/usermods_dirs/scam_cgilsS6/user_nl_cam
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
scmlon=$PTS_LON
scmlat=$PTS_LAT
iopfile="$DIN_LOC_ROOT/atm/cam/scam/iop/S6_CTL_reduced.nc"
ncdata="$DIN_LOC_ROOT/atm/cam/scam/iop/CESM2.F2000climo.IOP_SITES.cam.i.0003-07-01-00000.nc"
mfilt=2088
Expand Down
2 changes: 0 additions & 2 deletions cime_config/usermods_dirs/scam_dycomsRF01/user_nl_cam
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
scmlon=$PTS_LON
scmlat=$PTS_LAT
iopfile="$DIN_LOC_ROOT/atm/cam/scam/iop/DYCOMSrf01_4day_4scam.nc"
ncdata="$DIN_LOC_ROOT/atm/cam/scam/iop/CESM2.F2000climo.IOP_SITES.cam.i.0003-07-01-00000.nc"
mfilt=2088
Expand Down
2 changes: 0 additions & 2 deletions cime_config/usermods_dirs/scam_dycomsRF02/user_nl_cam
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
scmlon=$PTS_LON
scmlat=$PTS_LAT
iopfile="$DIN_LOC_ROOT/atm/cam/scam/iop/DYCOMSrf02_48hr_4scam.nc"
ncdata="$DIN_LOC_ROOT/atm/cam/scam/iop/CESM2.F2000climo.IOP_SITES.cam.i.0003-07-01-00000.nc"
mfilt=2088
Expand Down
2 changes: 0 additions & 2 deletions cime_config/usermods_dirs/scam_gateIII/user_nl_cam
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
scmlon=$PTS_LON
scmlat=$PTS_LAT
iopfile="$DIN_LOC_ROOT/atm/cam/scam/iop/GATEIII_4scam_c170809.nc"
ncdata="$DIN_LOC_ROOT/atm/cam/scam/iop/CESM2.F2000climo.IOP_SITES.cam.i.0003-08-01-00000.nc"
mfilt=1440
Expand Down
2 changes: 0 additions & 2 deletions cime_config/usermods_dirs/scam_mpace/user_nl_cam
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
scmlon=$PTS_LON
scmlat=$PTS_LAT
iopfile="$DIN_LOC_ROOT/atm/cam/scam/iop/MPACE_4scam.nc"
ncdata="$DIN_LOC_ROOT/atm/cam/scam/iop/CESM2.F2000climo.IOP_SITES.cam.i.0003-10-01-00000.nc"
mfilt=1242
Expand Down
2 changes: 0 additions & 2 deletions cime_config/usermods_dirs/scam_rico/user_nl_cam
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
scmlon=$PTS_LON
scmlat=$PTS_LAT
iopfile="$DIN_LOC_ROOT/atm/cam/scam/iop/RICO_3day_4scam.nc"
ncdata="$DIN_LOC_ROOT/atm/cam/scam/iop/CESM2.F2000climo.IOP_SITES.cam.i.0003-07-01-00000.nc"
mfilt=2088
Expand Down
2 changes: 0 additions & 2 deletions cime_config/usermods_dirs/scam_sparticus/user_nl_cam
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
scmlon=$PTS_LON
scmlat=$PTS_LAT
iopfile="$DIN_LOC_ROOT/atm/cam/scam/iop/SPARTICUS_4scam.nc"
ncdata="$DIN_LOC_ROOT/atm/cam/scam/iop/CESM2.F2000climo.IOP_SITES.cam.i.0003-04-01-00000.nc"
mfilt=2156
Expand Down
2 changes: 0 additions & 2 deletions cime_config/usermods_dirs/scam_togaII/user_nl_cam
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
scmlon=$PTS_LON
scmlat=$PTS_LAT
iopfile="$DIN_LOC_ROOT/atm/cam/scam/iop/TOGAII_4scam.nc"
ncdata="$DIN_LOC_ROOT/atm/cam/scam/iop/CESM2.F2000climo.IOP_SITES.cam.i.0003-12-01-00000.nc"
mfilt=9
Expand Down
2 changes: 0 additions & 2 deletions cime_config/usermods_dirs/scam_twp06/user_nl_cam
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
scmlon=$PTS_LON
scmlat=$PTS_LAT
iopfile="$DIN_LOC_ROOT/atm/cam/scam/iop/TWP06_4scam.nc"
ncdata="$DIN_LOC_ROOT/atm/cam/scam/iop/CESM2.F2000climo.IOP_SITES.cam.i.0003-01-01-00000.nc"
mfilt=1926
Expand Down
82 changes: 82 additions & 0 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,87 @@
===============================================================

Tag name: cam6_3_001
Originator(s): herrington, bacmeister, goldy, cacraig
gold2718 marked this conversation as resolved.
Show resolved Hide resolved
Date: 2020-09-17
One-line Summary: Initial implementation of mass fluxes in CLUBB (CLUBB+MF) & scam bug-fix
Github PR URL: NA
adamrher marked this conversation as resolved.
Show resolved Hide resolved

Purpose of changes (include the issue number and title text for each relevant GitHub issue):
- Implement CLUBB-MF functionality on trunk (#181)
- FSCAM is failing prealpha test (#213)
- scmlat/scmlon nl's removed in prior tag, but still being set for scam cases

Describe any changes made to build system: NA

Describe any changes made to the namelist:
- created namelist group clubb_mf_nl and added namelists
- added a namelist entry to the clubb_params_nl group (turns mass fluxes on/off, defaults to off)
- removed scmlat/scmlon declarations in user_nl_cam for scam cases in cime_config/usermods_dirs/scam_xxx

List any changes to the defaults for the boundary datasets: NA

Describe any substantial timing or memory changes: NA

Code reviewed by: cacraig, goldy

List all files eliminated:

List all files added and what they do:
- mass flux subroutine (edmf_module.F90) has been added to src/physics/cam/

List all existing files that have been modified, and describe the changes:
- bld/build-namelists, bld/namelist_files/namelist_definitions.xml and bld/namelist_files/namelist_defaults.xml
- cime_config/usermods_dirs/scam_{xxx}/user_nl_cam, xxx = all scam cases
- src/control/runtime_opts.F90
- src/physics/cam/clubb_intr.F90
cacraigucar marked this conversation as resolved.
Show resolved Hide resolved

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.

cheyenne/intel/aux_cam:

izumi/nag/aux_cam:

izumi/pgi/aux_cam:

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):
- since mass fluxes are off by default, there are bit-for-bit no changes.
cacraigucar marked this conversation as resolved.
Show resolved Hide resolved
- this has been tested by running the Bomex case for the current trunk and my branch

- unmodified branch, Bomex case (but with scmlat/scmlon declarations removed):
- /glade/scratch/aherring/cam6_3_000_FSCAM_bomex_T42_T42_pe36_200917_nlev32-test/run/

- modified branch, Bomex case with mass fluxes off:
- /glade/scratch/aherring/cam6_3_000.clubbmf_FSCAM_bomex_T42_T42_pe36_200917_nlev32-test/run/

- where I've verified that the i/o is bit-for-bit identical in these runs.

If bitwise differences were observed, how did you show they were no worse
than roundoff?

gold2718 marked this conversation as resolved.
Show resolved Hide resolved
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_000
Originator(s): goldy
Date: 2020-09-01
Expand Down
2 changes: 2 additions & 0 deletions src/control/runtime_opts.F90
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ subroutine read_namelist(nlfilename, single_column, scmlat, scmlon)
use radiation_data, only: rad_data_readnl
use modal_aer_opt, only: modal_aer_opt_readnl
use clubb_intr, only: clubb_readnl
use edmf_module, only: clubb_mf_readnl
gold2718 marked this conversation as resolved.
Show resolved Hide resolved
use chemistry, only: chem_readnl
use prescribed_volcaero, only: prescribed_volcaero_readnl
use prescribed_strataero,only: prescribed_strataero_readnl
Expand Down Expand Up @@ -139,6 +140,7 @@ subroutine read_namelist(nlfilename, single_column, scmlat, scmlon)
call microp_driver_readnl(nlfilename)
call microp_aero_readnl(nlfilename)
call clubb_readnl(nlfilename)
call clubb_mf_readnl(nlfilename)
call subcol_readnl(nlfilename)
call cldfrc_readnl(nlfilename)
call cldfrc2m_readnl(nlfilename)
Expand Down
Loading