Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
266cc62
Apply dust branch based off of release-clm5.0.34 to dev branch
ekluzek Aug 22, 2022
33dcd9f
Set roughfct2d to 1.0 if rough_fct dataset is not being used
ekluzek Aug 23, 2022
c8c885a
Distinguish between normal fsurdat surface dataset and the rough_fct …
ekluzek Aug 23, 2022
564875e
Always output FV
ekluzek Aug 23, 2022
f71bb05
Make sure to distinquish history variable names as it will otherwise …
ekluzek Aug 23, 2022
fd7e5e0
14 Oct 2022: dmleung edited DUSTMod to properly use LUH2 to compute h…
dmleung Oct 14, 2022
c7e0cf8
Add in externals to run a FHIST compset with CAM, CICE, and CICE5 fro…
ekluzek Oct 21, 2022
5b6d00e
dmleung 11 Nov 2022: removed the added lines in lnd2atmMod.F90 that f…
dmleung Nov 11, 2022
1592ebb
dmleung changed the upper limit of the gragmentation exponent from 3 …
dmleung Nov 14, 2022
571dc5e
dmleung changed the upper limit of the fragmentation exponent from 3 …
dmleung Nov 14, 2022
db58502
set 0.1 as the minimum LAI for the Okin-Pierre drag partioning equati…
dmleung Nov 14, 2022
5830686
dmleung removed outputting ustar (USTAR) in the DustMod.F90 since
dmleung Nov 15, 2022
36d1fee
31 Jan 2023: dmleung added capabilities of reading stream files for P…
dmleung Jan 31, 2023
512c702
dmleung fixed some bugs for the streams capability and further
dmleung Jan 31, 2023
059597c
code cleanup by dmleung; 6 Feb 2023
dmleung Feb 6, 2023
cc7696e
dmleung added a nolake filter in calculating the drag partition effe…
dmleung Feb 26, 2023
53ea165
code cleanup by dmleung 25 Feb 2023
dmleung Feb 26, 2023
23f44da
remove the older methods of reading in prigent's roughenss data (rou…
dmleung Mar 31, 2023
2bcfc13
26 May 2023: dmleung removed the markers from the codes. Comments stay.
dmleung May 26, 2023
62b7bcd
Truncate threshold crossing rate to zero, if the term going into the …
ekluzek Jun 9, 2023
817df64
Merge branch 'dustemis_dev' of github.com:dmleung/CTSM into dustemis_dev
ekluzek Jun 9, 2023
3f48309
Merge tag 'ctsm5.1.dev166' into dustemis_dev
ekluzek Jan 26, 2024
9208fde
Update CAM and CICE6 to cesm2_3_beta16 versions
ekluzek Jan 26, 2024
896713b
Squashed 'manage_externals/' changes from 7b6d92ef6..0f884bfec
ekluzek Jan 26, 2024
5e20fb8
Merge commit '896713bc0971108231cafb8dc0d392fce5e8131c' into dustemis…
ekluzek Jan 26, 2024
c4e14d1
Update to cam version that no longer uses svn, but git
ekluzek Jan 26, 2024
6abcc1d
Update assign-to-project.yml
ekluzek Jan 26, 2024
9902724
Move datasets to under inputdata
ekluzek Feb 9, 2024
158c878
Remove whitespace at end of lines, remove commented out code included…
ekluzek Feb 9, 2024
1e6d8be
Add use_prigent_roughness to determine if that streams dataset needs …
ekluzek Feb 9, 2024
a960deb
Merge branch 'dustemis_dev' of github.com:dmleung/CTSM into dustemis_dev
ekluzek Feb 9, 2024
b9d118f
Remove more commented out code
ekluzek Feb 9, 2024
9a05842
Add in read of use_prigent_roughness to the FORTRAN source
ekluzek Feb 13, 2024
d8b6cb8
Remove an empty call the prigentRoughness call is what's being used
ekluzek Feb 13, 2024
4a72a1c
Work with some indentation, remove commented out code, add a dealloca…
ekluzek Feb 13, 2024
3291040
Shorten many lines (will help with nag compiler), add extra error che…
ekluzek Feb 13, 2024
2886a18
Move CalcDragPartition to DUSTMod from PrigentRoughnessStream object
ekluzek Feb 13, 2024
e2123b0
Move CalcDragPartition to DUSTMod from PrigentRoughnessStream object
ekluzek Feb 13, 2024
3e9d6b6
dmleung fixed many of ekluzek's comments: defining magic values into …
dmleung Feb 20, 2024
fcf1fb9
small bug fix to the previous commit. dmleung 20 Feb 2024
dmleung Feb 20, 2024
b1fad33
dmleung added more comments in the code blocks for the dust emission …
dmleung Feb 20, 2024
4d73244
dmleung: small bug fix to the previous commit. 20 Feb 2024
dmleung Feb 21, 2024
5aa9494
A bug fix for z0s inside CalcDragPartition in DUSTMod.F90. dmleung 22…
dmleung Feb 23, 2024
0c62e5b
Fix meshfile names so the resolution name is correct, as pointed out …
ekluzek Feb 25, 2024
942a3ae
Fix a logical comparison so will compile with gnu on Derecho
ekluzek Feb 26, 2024
c27f209
dmleung: improved LAI treatment in Okin's vegetation drag partitionin…
dmleung Feb 27, 2024
ac5873b
dmleung: Now we call the vegetation in Okin scheme VAI instead of LAI…
dmleung Feb 27, 2024
eede6f8
dmleung reverted to the landunit level VAI for Okin's vegetation drag…
dmleung Apr 1, 2024
53871f4
Typo fix: Some users told me that the denominator of the dust emissio…
dmleung Apr 1, 2024
f488309
Important change: Used Monin-Obukhov length to calculate the buoyancy…
dmleung Apr 1, 2024
03f89ea
dmleung added a minor edit on subtimestep wind fluctuation (23 May 2024)
dmleung May 24, 2024
956ea90
dmleung added more comments on the impact of soil moisture threshold …
dmleung May 24, 2024
348c394
dmleung 28 May 2024: a small edit of DUSTMod.F90 to deal with the sit…
dmleung May 28, 2024
f8eb462
dmleung added comments on the positive denom required for dust emissi…
dmleung May 28, 2024
573feef
Restore this back to ctsm5.1.dev166 to make merging easier
ekluzek Jun 5, 2024
19cc556
Change prigentroughnessstream_type to use snake case with VS code
ekluzek Jun 5, 2024
65646fc
Remove uneeded code only needed for Zender's scheme
ekluzek Jun 5, 2024
c90fa86
Just fix a few typos
ekluzek Jun 5, 2024
917baf7
Add OBU to the restart file since it's needed by Leung-2024 dust emis…
ekluzek Jun 24, 2024
d3bac46
Merge commit '917baf781' into dustemis_dev
ekluzek Jun 24, 2024
f579ab3
Merge tag 'ctsm5.1.dev176' into dustemis_dev
ekluzek Jun 26, 2024
bb1bd9c
Make Leung_2023 the default, remove error checking about using it
ekluzek Jun 26, 2024
00e3d62
Remove abort on Leung dust method
ekluzek Jun 26, 2024
d36d78e
Merge tag 'ctsm5.2.006' into dustemis_dev
ekluzek Jun 26, 2024
19f793f
Update cam and cice6 tags to that in cesm2_3_beta17
ekluzek Jun 26, 2024
93dc1f1
Merge tag 'ctsm5.2.007' into dustemis_dev
ekluzek Jun 27, 2024
0b55728
Merge tag 'branch_tags/tmp-240620.n02.ctsm5.2.007' into dustemis_dev
ekluzek Jul 4, 2024
1356d0b
dmleung add a little tuning to reduce the sensitivity of dust emissio…
dmleung Jul 8, 2024
b4f70ea
Merge branch 'dustemis_dev' of github.com:dmleung/CTSM into dustemis_dev
dmleung Jul 8, 2024
525c78b
Remove leftover conflict header, so can compile
ekluzek Jul 17, 2024
21ec2ba
Remove commented out lines make sure reproduces results for aux_clm o…
ekluzek Jul 24, 2024
07f4f03
Merge branch 'dustemis_dev' of github.com:dmleung/CTSM into dustemis_dev
ekluzek Jul 25, 2024
3ee7333
Bring in changes from Danny into the soil state functions, and update…
ekluzek Jul 26, 2024
ef8acab
Bring in actuall Leung_2023 DustEmissions subroutine, unit test fails…
ekluzek Jul 28, 2024
667003d
Fix several of the Leung 2023 unit tests because of change in answers…
ekluzek Jul 28, 2024
0903d70
This looks wrong, but is actually correct in order to get this to wor…
ekluzek Jul 30, 2024
a58ad0f
Get unit tests all working by adjusting the Leung 2023 test by what's…
ekluzek Jul 30, 2024
b09ef39
mpi bcast dust_emis_method so can go between Leung and Zender methods
ekluzek Aug 5, 2024
e723545
Add a subroutine to set drag partition for testing, label input/outpu…
ekluzek Aug 6, 2024
af3a878
Merge tag 'ctsm5.2.008' into dustemis_dev
ekluzek Aug 6, 2024
064c37c
By default prigent streams are off for Zender dust emissions
ekluzek Aug 7, 2024
2e4ceb8
Fix the error check
ekluzek Aug 7, 2024
b89a829
Add test for prigent on without Leung
ekluzek Aug 8, 2024
568aee4
Merge tag 'ctsm5.2.018' into dustemis_dev
ekluzek Aug 9, 2024
d0f7fc2
Update cam and cice to version in cesm3_0_beta02, there is a gitflexi…
ekluzek Aug 9, 2024
5084ea6
Remove CAM and CICE from the submodules for coming into CTSM master
ekluzek Aug 9, 2024
870588a
Add a LDust testmod and tests for it
ekluzek Aug 9, 2024
b669df6
Add some comments about how this can be removed
ekluzek Aug 9, 2024
2d889af
Add some comments and revise the warning as per code review
ekluzek Aug 9, 2024
e76b9d1
REmove all of the settings of GLC_TWO_WAY_COUPLING set to FALSE since…
ekluzek Aug 9, 2024
00537d1
Add dust fields including FV to output history files for the Zender a…
ekluzek Aug 10, 2024
f484425
Modify some of the comments based on code review, and simplify the Ma…
ekluzek Aug 10, 2024
d7e5a6d
Add back the comment that got accidentally removed
ekluzek Aug 10, 2024
e83caa8
Remove if for use_cn around adding FV to the history file and make it…
ekluzek Aug 10, 2024
4daf924
Code review noticed a couple places where a 1_8 really should be vai_…
ekluzek Aug 10, 2024
5007a1a
Remove cam and cice as submodules
ekluzek Aug 10, 2024
63a2e73
Remove commented out code for clarity
ekluzek Aug 10, 2024
5a2c873
Clarify the error message that the prigent streams file is required f…
ekluzek Aug 10, 2024
96d2de5
Fix a syntax topo, so will work
ekluzek Aug 10, 2024
38c42ae
Add a unit test to check if dpfct_rock can be nan, currently fails as…
ekluzek Aug 10, 2024
1fe61e6
Now passes the unit-test
ekluzek Aug 10, 2024
1895cba
Add obu to create_fv, and add test for obu of zero, and error handlin…
ekluzek Aug 10, 2024
d426797
Set obu in create_fv since it's needed for the Leung method
ekluzek Aug 11, 2024
f29bfb4
Add a couple more asserts for MassFracClayLeung which helps clarify i…
ekluzek Aug 11, 2024
601b090
Add a test that low stabiility is constant dust emission output, chan…
ekluzek Aug 11, 2024
02b4f9a
Change constants so they are more recognizable as floating point with…
ekluzek Aug 11, 2024
07a62b6
Update change files
ekluzek Aug 11, 2024
0d17de5
Update test number
ekluzek Aug 11, 2024
39ecaf0
Update Change files
ekluzek Aug 11, 2024
9b1ff24
Change default back to Zender
ekluzek Aug 11, 2024
b45a7fa
Remove the PEM test with CISM for LDust since it changes answers
ekluzek Aug 11, 2024
503c47f
Update change files
ekluzek Aug 11, 2024
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
32 changes: 29 additions & 3 deletions bld/CLMBuildNamelist.pm
Original file line number Diff line number Diff line change
Expand Up @@ -1764,6 +1764,7 @@ sub process_namelist_inline_logic {
# namelist options for dust emissions
######################################
setup_logic_dust_emis($opts, $nl_flags, $definition, $defaults, $nl, $envxml_ref);
setup_logic_prigent_roughness($opts, $nl_flags, $definition, $defaults, $nl);

#################################
# namelist group: megan_emis_nl #
Expand Down Expand Up @@ -4075,9 +4076,6 @@ sub setup_logic_dust_emis {
"$option is being set, need to change one or the other" );
}
}
if ( $dust_emis_method eq "Leung_2023" ) {
$log->warning("dust_emis_method is Leung_2023 and that option has NOT been brought into CTSM yet");
}
}
# Otherwise make sure dust settings are NOT being set in CLM
} else {
Expand Down Expand Up @@ -5081,6 +5079,33 @@ sub setup_logic_misc {

#-------------------------------------------------------------------------------

sub setup_logic_prigent_roughness {
#
# The Prigent roughness stream data set read in if needed
#
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
my $var = "use_prigent_roughness";
my $dust_emis_method = remove_leading_and_trailing_quotes( $nl->get_value('dust_emis_method') );
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
'dust_emis_method'=>$dust_emis_method );
my $use_prigent = $nl->get_value($var);
if ( &value_is_true($use_prigent) ) {
if ( $dust_emis_method ne "Leung_2023" ) {
# The Prigent dataset could be used for other purposes
# (such as roughness as in https://github.com/ESCOMP/CTSM/issues/2349)
$log->warning( "$var does NOT need to on without dust_emis_method being Leung_2023, it simply won't be used" );
}
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_fldfilename_prigentroughness' );
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_meshfile_prigentroughness' );
} elsif ( $dust_emis_method eq "Leung_2023" ) {
# In the future we WILL allow it to be turned off for testing and Paleo work
# see: https://github.com/ESCOMP/CTSM/issues/2381)
$log->fatal_error("variable \"$var\" MUST be true when Leung_2023 dust emission method is being used" );
}
}

#-------------------------------------------------------------------------------

sub write_output_files {
my ($opts, $nl_flags, $defaults, $nl) = @_;

Expand Down Expand Up @@ -5133,6 +5158,7 @@ sub write_output_files {
push @groups, "clm_temperature_inparm";
push @groups, "soilbgc_decomp";
push @groups, "clm_canopy_inparm";
push @groups, "prigentroughness";
push @groups, "zendersoilerod";
if (remove_leading_and_trailing_quotes($nl->get_value('snow_cover_fraction_method')) eq 'SwensonLawrence2012') {
push @groups, "scf_swenson_lawrence_2012_inparm";
Expand Down
11 changes: 11 additions & 0 deletions bld/namelist_files/namelist_defaults_ctsm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2565,6 +2565,17 @@ lnd/clm2/surfdata_esmf/NEON/surfdata_1x1_NEON_TOOL_hist_78pfts_CMIP6_simyr2000_c
<stream_meshfile_zendersoilerod dust_emis_method="Zender_2003" zender_soil_erod_source="lnd"
>lnd/clm2/dustemisdata/dust_2x2_ESMFmesh_cdf5_c230730.nc</stream_meshfile_zendersoilerod>

<!-- ========================================= -->
<!-- Defaults for Prigent's roughness data -->
<!-- ========================================= -->

<use_prigent_roughness dust_emis_method="Leung_2023">.true.</use_prigent_roughness>
<use_prigent_roughness >.false.</use_prigent_roughness>
<stream_fldfilename_prigentroughness
>lnd/clm2/dustemisdata/Prigent_2005_roughness_0.25x0.25_cdf5_c240127.nc</stream_fldfilename_prigentroughness>
<stream_meshfile_prigentroughness
>lnd/clm2/dustemisdata/dust_0.25x0.25_ESMFmesh_cdf5_c240222.nc</stream_meshfile_prigentroughness>

<!-- ========================================= -->
<!-- Defaults for different BGC/decomp modes -->
<!-- ========================================= -->
Expand Down
20 changes: 20 additions & 0 deletions bld/namelist_files/namelist_definition_ctsm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1694,6 +1694,25 @@ Mapping method from Nitrogen deposition input file to the model resolution
copy = copy using the same indices
</entry>

<!-- ======================================================================================== -->
<!-- Prigent roughness stream -->
<!-- ======================================================================================== -->

<entry id="use_prigent_roughness" type="logical" category="clm_physics"
group="prigentroughness" valid_values="" >
If TRUE use the Prigent roughness dataset
</entry>

<entry id="stream_fldfilename_prigentroughness" type="char*256" category="datasets"
input_pathname="abs" group="prigentroughness" valid_values="" >
Filename of input stream data for aeolian roughness length (from Prigent's roughness dataset)
</entry>

<entry id="stream_meshfile_prigentroughness" type="char*256" category="datasets"
input_pathname="abs" group="prigentroughness" valid_values="" >
mesh filename of input stream data for aeolian roughness length (from Prigent's roughness dataset)
</entry>

<!-- ======================================================================================== -->
<!-- Dust namelist and Zender soil erodibility stream -->
<!-- ======================================================================================== -->
Expand Down Expand Up @@ -1783,6 +1802,7 @@ If true, will ignore the prescribed soilm data for that point and let the model
prescribed data.
</entry>


<!-- ======================================================================================== -->
<!-- lai_streams streams Namelist (when phys = CLM4_5) -->
<!-- ======================================================================================== -->
Expand Down
19 changes: 9 additions & 10 deletions bld/unit_testers/build-namelist_test.pl
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ sub cat_and_create_namelistinfile {
#
# Figure out number of tests that will run
#
my $ntests = 3338;
my $ntests = 3339;

if ( defined($opts{'compare'}) ) {
$ntests += 1999;
Expand Down Expand Up @@ -517,6 +517,10 @@ sub cat_and_create_namelistinfile {
namelst=>"use_crop=.true.",
phys=>"clm4_5",
},
"LeungDust_WO_Prigent" =>{ options=>" -envxml_dir . -bgc sp",
namelst=>"use_prigent_roughness=.false.",
phys=>"clm5_1",
},
"soilm_stream off w file" =>{ options=>"-res 0.9x1.25 -envxml_dir .",
namelst=>"use_soil_moisture_streams = .false.,stream_fldfilename_soilm='file_provided_when_off'",
phys=>"clm5_0",
Expand All @@ -539,17 +543,14 @@ sub cat_and_create_namelistinfile {
},
"coldstart exice on wo stream"=>{ options=>"-res 0.9x1.25 -envxml_dir . --clm_start_type cold",
namelst=>"use_excess_ice=.true., use_excess_ice_streams = .false.",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm6_0",
},
"coldstart exice on bad temp" =>{ options=>"-res 0.9x1.25 -envxml_dir . --clm_start_type cold",
namelst=>"use_excess_ice=.true., use_excess_ice_streams = .true., excess_ice_coldstart_temp=0.0",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm6_0",
},
"coldstart exice on bad depth" =>{ options=>"-res 0.9x1.25 -envxml_dir . --clm_start_type cold",
namelst=>"use_excess_ice=.true., use_excess_ice_streams = .true., excess_ice_coldstart_depth=0.0",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm6_0",
},
"clm50CNDVwtransient" =>{ options=>" -envxml_dir . -use_case 20thC_transient -dynamic_vegetation -res 10x15 -ignore_warnings",
Expand Down Expand Up @@ -1235,10 +1236,6 @@ sub cat_and_create_namelistinfile {

my %warntest = (
# Warnings without the -ignore_warnings option given
"dustemisLeung" =>{ options=>"-envxml_dir .",
namelst=>"dust_emis_method = 'Leung_2023'",
phys=>"clm5_1",
},
"coldwfinidat" =>{ options=>"-envxml_dir . -clm_start_type cold",
namelst=>"finidat = 'testfile.nc'",
phys=>"clm5_0",
Expand Down Expand Up @@ -1273,12 +1270,14 @@ sub cat_and_create_namelistinfile {
},
"Set coldtemp wo coldstart" =>{ options=>"-envxml_dir . --clm_start_type startup",
namelst=>"use_excess_ice=.true.,excess_ice_coldstart_temp=-10.",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm6_0",
},
"Set colddepth wo coldstart" =>{ options=>"-envxml_dir . --clm_start_type startup",
namelst=>"use_excess_ice=.true.,excess_ice_coldstart_depth=0.5",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm6_0",
},
"PrigentOnWOLeung" =>{ options=>"-envxml_dir . -bgc sp",
namelst=>"use_prigent_roughness=.true.,dust_emis_method='Zender_2003'",
phys=>"clm6_0",
},
"NotNEONbutNEONlightres" =>{ options=>"--res CLM_USRDAT --clm_usr_name regional --envxml_dir . --bgc bgc --light_res 106x174",
Expand Down
19 changes: 5 additions & 14 deletions cime_config/testdefs/testlist_clm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@
<option name="comment">Simple test use soil eroditability in CTSM for CAM5 tuning</option>
</options>
</test>
<test name="ERP_D_Ld9" grid="ne30pg3_t232" compset="I1850Clm60BgcCropG" testmods="clm/clm60cam7LndTuningMode">
<test name="ERP_D_Ld9" grid="ne30pg3_t232" compset="I1850Clm60BgcCropG" testmods="clm/clm60cam7LndTuningModeLDust">
<machines>
<machine name="derecho" compiler="intel" category="aux_clm"/>
</machines>
Expand All @@ -109,7 +109,7 @@
<option name="comment">CESM3 development Exact restart test with change in the processor count at the standard coupled resolution</option>
</options>
</test>
<test name="ERP_D_Ld9" grid="f10_f10_mg37" compset="I1850Clm60BgcCrop" testmods="clm/clm60cam7LndTuningMode">
<test name="ERP_D_Ld9" grid="f10_f10_mg37" compset="I1850Clm60BgcCrop" testmods="clm/clm60cam7LndTuningModeLDust">
<machines>
<machine name="izumi" compiler="nag" category="aux_clm"/>
</machines>
Expand All @@ -129,7 +129,7 @@
<option name="comment">CESM3 development Exact restart test with change in the processor count at the standard coupled resolution</option>
</options>
</test>
<test name="ERP_D_Ld9" grid="ne30pg3_t232" compset="IHistClm60BgcCropG" testmods="clm/clm60cam7LndTuningMode">
<test name="ERP_D_Ld9" grid="ne30pg3_t232" compset="IHistClm60BgcCropG" testmods="clm/clm60cam7LndTuningModeLDust">
<machines>
<machine name="derecho" compiler="intel" category="aux_clm"/>
</machines>
Expand All @@ -138,15 +138,6 @@
<option name="comment">CESM3 development Exact restart test with change in the processor count at the standard coupled resolution for transient</option>
</options>
</test>
<test name="PEM_D_Ld9" grid="ne30pg3_t232" compset="I1850Clm60BgcCropG" testmods="clm/clm60cam7LndTuningMode">
<machines>
<machine name="derecho" compiler="intel" category="aux_clm"/>
</machines>
<options>
<option name="wallclock">00:20:00</option>
<option name="comment">CESM3 development test with change in the processor count at the standard coupled resolution</option>
</options>
</test>
<test name="ERS_D_Ld9" grid="ne30pg3_t232" compset="I1850Clm60BgcCropG" testmods="clm/clm60cam7LndTuningMode">
<machines>
<machine name="derecho" compiler="intel" category="aux_clm"/>
Expand All @@ -156,7 +147,7 @@
<option name="comment">CESM3 development simple exact restart test at the standard coupled resolution</option>
</options>
</test>
<test name="ERI_D" grid="ne30pg3_t232" compset="I1850Clm60BgcCropG" testmods="clm/clm60cam7LndTuningMode">
<test name="ERI_D" grid="ne30pg3_t232" compset="I1850Clm60BgcCropG" testmods="clm/clm60cam7LndTuningModeLDust">
<machines>
<machine name="derecho" compiler="intel" category="aux_clm"/>
</machines>
Expand Down Expand Up @@ -247,7 +238,7 @@
<option name="comment">Test that the workhorse mpasa resolution functions for CAM, for both Hist and 2000 with latest CLM version. No need to run this test with every tag, but include it in the less frequent ctsm_sci testing.</option>
</options>
</test>
<test name="SMS_Ln9" grid="mpasa60_mpasa60" compset="I2000Clm60Sp" testmods="clm/clm60cam7LndTuningMode">
<test name="SMS_Ln9" grid="mpasa60_mpasa60" compset="I2000Clm60Sp" testmods="clm/clm60cam7LndTuningModeLDust">
<machines>
<machine name="derecho" compiler="intel" category="ctsm_sci"/>
</machines>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
! Turn on using the soil eroditability file in CTSM
dust_emis_method = 'Zender_2003'
zender_soil_erod_source = 'lnd'
hist_fincl1 += 'FV'
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
! Turn on using the soil eroditability file in CTSM
dust_emis_method = 'Zender_2003'
zender_soil_erod_source = 'lnd'
hist_fincl1 += 'FV'
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
! Turn on using the soil eroditability file in CTSM
dust_emis_method = 'Zender_2003'
zender_soil_erod_source = 'lnd'
hist_fincl1 += 'FV'
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
../clm60cam7LndTuningMode
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
dust_emis_method = 'Leung_2023'
! Add all of the Leung optional history fields
hist_fincl1 += 'FV', 'DUST_EMIS_COEFF', 'WND_FRC_FT', 'WND_FRC_FT_DRY', 'WND_FRC_IT', 'WND_FRC_SOIL', 'LND_FRC_MBLE', 'GWC', 'LIQ_FRAC',
'U_S_MEAN', 'U_S_MEAN', 'ZETAOBU', 'U_FT', 'U_IT', 'ALPHA_TC_RATE', 'P_IT', 'ETA', 'SSR', 'VAI_OKIN',
'FRC_THR_RGHN_FCT', 'WND_FRC_FT_STD', 'DPFCT_ROCK'
113 changes: 113 additions & 0 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,117 @@
===============================================================
Tag name: ctsm5.2.019
Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326)
Date: Sun 11 Aug 2024 09:00:43 AM MDT
One-line Summary: Add in an additional dust emission method Leung_2023, by default off

Purpose and description of changes
----------------------------------

Author: Danny Leung
This is a scheme that builds upon a switch of CESM2's default dust emission scheme (Zender et al., 2003) to
@jfkok's more physical and less empirical one (Kok et al., 2014). This brings in additional modifications and add new aeolian
physics to the Kok's scheme, most notably, by adding the roughness effect (or called drag partition effect) which discounts surface
soil erosion by winds due to the presence of local-scale land-surface roughness elements (mostly plants and rocks). We use a hybrid
approach to account for both roughness from rocks (with a 2-D time-invariant dataset provided by Prigent et al., 2005; 2012) and
roughness from plants (time-varying, as a function of CLM's LAI). We further include the dust emission intermittency effects due to
boundary-layer turbulence.

Significant changes to scientifically-supported configurations
--------------------------------------------------------------

Does this tag change answers significantly for any of the following physics configurations?
(Details of any changes will be given in the "Answer changes" section below.)

[Put an [X] in the box for any configuration with significant answer changes.]

[ ] clm6_0

[ ] clm5_1

[ ] clm5_0

[ ] ctsm5_0-nwp

[ ] clm4_5


Bugs fixed
----------

List of CTSM issues fixed (include CTSM Issue # and description) [one per line]:
#1604 -- A new physically based dust emission scheme with more aeolian physics (updated)

Notes of particular relevance for users
---------------------------------------

Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): New namelist items
dust_emis_method can now be set to Leung_2023

use_prigent_roughness ---------------- Logical to use the Prigent dataset (default on when Leung_2023 is used)
stream_fldfilename_prigentroughness -- Prigent streams dataset
stream_meshile_prigentroughness ------ Mesh file for the dataset

History field FV can now be output for any compset, but it's default off

Changes to the datasets (e.g., parameter, surface or initial files):
New Prigent streams dataset with aeolian roughness length

Notes of particular relevance for developers:
---------------------------------------------

Caveats for developers (e.g., code that is duplicated that requires double maintenance):
Some issues will be worked on later

#2568 -- Turn on Leung by default for clm6_0 physics

#2381 -- Allow Prigent streams to be off in Leung_2023 dust emissions for Paleo work
(Fixing this will allow a unit-test module to be removed)

#2680 -- prigentroughnessmapalgo is hardcoded to bilinear add it to the namelist so it can change (change name to snake-case)

#2681 -- Add global dust variables to the DustEmisBase class that apply to both Zender and Leung dust emission methods bfb enhancement next

#2682 -- Small function and saved constants for convective velocity code cleanup enhancement priority

Changes to tests or testing:
New test mod that explicitly turns on Leung_2023 dust emissions: clm60cam7LndTuningModeLDust
Some of the tests with clm60cam7LndTuningMode were converted to this test mod
PF unit tester was added for Leung_2023
More work could be done in the unit-testers to exercise more of the code

Testing summary: regular
----------------

[PASS means all tests PASS; OK means tests PASS other than expected fails.]

build-namelist tests (if CLMBuildNamelist.pm has changed):

derecho - PASS (1002 are different)

python testing (if python code has changed; see instructions in python/README.md; document testing done):

derecho - PASS

regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):

derecho ----- OK
izumi ------- OK

Answer changes
--------------

Changes answers relative to baseline: no bit-for-bit (unless you turn the new dust scheme on)
Tests with BGC change answers because fieldlists are different (FV is no longer on history files by default)

Other details
-------------

Pull Requests that document the changes (include PR ids):
(https://github.com/ESCOMP/ctsm/pull)
#1897 -- A new physically based dust emission scheme with more aeolian physics (updated)

===============================================================
===============================================================
Tag name: ctsm5.2.018
Originator(s): mvdebolskiy
Date: Fri 02 Aug 2024 09:26:33 AM MDT
Expand Down
1 change: 1 addition & 0 deletions doc/ChangeSum
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Tag Who Date Summary
============================================================================================================================
ctsm5.2.019 erik 08/11/2024 Add in an additional dust emission method Leung_2023, by default off
ctsm5.2.018 mvdebols 08/02/2024 Fix/excess ice cold start
ctsm5.2.017 erik 07/30/2024 Dust emissions control moved to cmeps
ctsm5.2.016 samrabin 07/27/2024 Enable new crop calendars for clm60 compsets
Expand Down
1 change: 1 addition & 0 deletions src/biogeochem/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ list(APPEND clm_sources
CNSpeciesMod.F90
CNDVType.F90
DustEmisBase.F90
DustEmisLeung2023.F90
DustEmisZender2003.F90
DustEmisFactory.F90
CropReprPoolsMod.F90
Expand Down
Loading