-
Notifications
You must be signed in to change notification settings - Fork 320
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
Fan 2019 ctsm #767
base: master
Are you sure you want to change the base?
Fan 2019 ctsm #767
Changes from 149 commits
01c1153
2b6b2a8
5127039
e23d599
f52f159
36c6d1a
f94ac48
63df80b
6c5185e
0227fd3
cc8c864
f4b7cbb
def5ee8
f591e8d
c65ecf6
6b256ba
e20a808
138e09a
b71f54b
59478df
44333c9
0910db2
2b4ba5b
bb2dc1e
761bb11
9292097
d744560
5b9473a
feba86d
772a6ba
2a408af
615c290
5d51bd1
1514aed
a9fd431
3861750
00442aa
69036c0
2de3aab
5d02b4b
e9fb310
691f61c
1cc8868
940eb89
6216a13
53b8a83
a3a0e5f
03eff3a
c37dd7f
dc05bc0
50db0da
e82648d
269816f
290989c
6ed438b
bb9e526
ec44287
ca71111
bdcff24
d11bf70
6c41b79
de079be
a95a6e1
2e36926
da4a8c2
6c11623
2f70072
c040263
c0c311d
27719f6
561d9c8
5e51050
9540019
8687c20
b730f66
807c639
108a0a7
00d92f4
5c359a3
fc1250f
c5077c1
7c56648
e7dda27
b06931e
35bbe00
cfde300
090ec9c
5ca3cc4
be597f8
802e8e6
57292f8
013ff57
bc183b1
46ff6f7
9a4b1fc
34f3af1
638f58f
0865091
b110e2d
f8813d4
7bea1d6
60fa182
4acfd5a
4b086ec
a755fb2
c723a9b
bb1b661
ccffea1
17df3a2
8187f7f
4bcacf4
b68f23f
9a80707
33bc7c8
629b78a
91c0dbf
2898dea
a13a64b
fd5ffab
6f0e78c
b9d97f0
52de87d
0d94113
8f1180e
6841dcb
ec1ff0d
ff5f125
6fc9a0d
56f5798
42b434e
a6b124a
3c8bea8
2043e3a
f840649
84ddc73
5692075
a1f9485
4d26005
bde3383
c9d4304
38638ad
c2f9448
21628ed
8b51ed4
e75844b
facec5c
f21e04d
e0e2fc5
12a9857
1646e04
4b40337
e66a347
b529fb7
32acf32
f638983
d5b1e4c
b436dbb
2b13f9e
51374ec
4334813
c635d5a
22de9df
459952b
6ff603c
7473335
1001dce
ce03b35
b7cb2f1
a3fd227
19879da
dce44b9
99de107
285b526
80ed25b
368a5fa
b7ce4e3
c203f2e
f68cfc9
07a641f
c9169e7
67cf886
169f2f6
ede22be
07653f4
a24fb20
62f4d18
1596900
3427431
cdee600
86bb9a4
43cc324
aa4d65b
521686c
9b6a56d
ee8ef31
7ea2c77
757baa0
63be0ed
0fe26fc
136d23f
d08dbd9
90f5e39
613c8bf
22e0add
02526e5
020704c
625c225
84f9ca3
326bd8c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,6 +20,7 @@ | |
# 2012-07-01 Kluzek Add some common CESM namelist options | ||
# 2013-12 Andre Refactor everything into subroutines | ||
# 2013-12 Muszala Add Ecosystem Demography functionality | ||
# 2016-09-20 Oleson Add ndep2 and ndep3 streams capability | ||
#-------------------------------------------------------------------------------------------- | ||
|
||
package CLMBuildNamelist; | ||
|
@@ -162,6 +163,11 @@ OPTIONS | |
(can ONLY be turned on when BGC type is 'cn' or 'bgc') | ||
This turns on the namelist variable: use_cndv | ||
(Deprecated, this will be removed) | ||
-fan "mode" Set how and if FAN is run: atm|soil|full|on|off | ||
If "on", FAN is enabled but not connected to atmosphere or | ||
soil biogeochemistry. If "full", both connections are | ||
active. The soil and atmosphere coupling can be enabled | ||
selectively with the "soil" and "atm" modes. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This makes sense to me. @ekluzek how are multiple flags like this handled elsewhere in the code? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Also, should we make it clear here, or elsewhere in the code that when 'soil' is active we're really just talking about soil in crop columns, as FAN manure inputs are put onto non-crop columns, but these fluxes are not considered in the current implementation? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @ekluzek I think we have discussed moving away from having namelist opts like this, because they're confusing for the user - instead using just namelist variables where possible, or xml variables where we need something that controls a number of other things. Do you agree? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There is actually a namelist option to enable FAN fluxes also for non-crops, but it is off by default. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @juliusvira the point is that simple namelist options shouldn't be added as a command line option to build-namelist. The command line options are for things that are complicated and involve many namelist items. And as @billsacks points out if needed a xml option could also be added. But, in this case it looks like there could be a single simple namelist option that can control FAN. So it's something that can just be turned on by adding it to the user_nl_clm file. I think that's a better user interface for FAN than through the build-namelist command line. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
-fire_emis Produce a fire_emis_nl namelist that will go into the | ||
"drv_flds_in" file for the driver to pass fire emissions to the atm. | ||
(Note: buildnml copies the file for use by the driver) | ||
|
@@ -265,6 +271,7 @@ sub process_commandline { | |
chk_res => undef, | ||
note => undef, | ||
drydep => 0, | ||
fan => "default", | ||
output_reals_filename => undef, | ||
fire_emis => 0, | ||
megan => "default", | ||
|
@@ -292,6 +299,7 @@ sub process_commandline { | |
"clm_usr_name=s" => \$opts{'clm_usr_name'}, | ||
"envxml_dir=s" => \$opts{'envxml_dir'}, | ||
"drydep!" => \$opts{'drydep'}, | ||
"fan=s" => \$opts{'fan'}, | ||
"fire_emis!" => \$opts{'fire_emis'}, | ||
"ignore_warnings!" => \$opts{'ignore_warnings'}, | ||
"chk_res!" => \$opts{'chk_res'}, | ||
|
@@ -508,7 +516,8 @@ sub read_namelist_defaults { | |
"$cfgdir/namelist_files/namelist_defaults_ctsm.xml", | ||
"$cfgdir/namelist_files/namelist_defaults_drv.xml", | ||
"$cfgdir/namelist_files/namelist_defaults_fire_emis.xml", | ||
"$cfgdir/namelist_files/namelist_defaults_drydep.xml" ); | ||
"$cfgdir/namelist_files/namelist_defaults_drydep.xml", | ||
"$cfgdir/namelist_files/namelist_defaults_fan.xml" ); | ||
|
||
# Add the location of the use case defaults files to the options hash | ||
$opts->{'use_case_dir'} = "$cfgdir/namelist_files/use_cases"; | ||
|
@@ -1504,6 +1513,7 @@ sub process_namelist_inline_logic { | |
setup_logic_subgrid($opts, $nl_flags, $definition, $defaults, $nl); | ||
setup_logic_fertilizer($opts, $nl_flags, $definition, $defaults, $nl); | ||
setup_logic_grainproduct($opts, $nl_flags, $definition, $defaults, $nl, $physv); | ||
setup_logic_fan($opts, $nl_flags, $definition, $defaults, $nl, $physv); | ||
setup_logic_soilstate($opts, $nl_flags, $definition, $defaults, $nl); | ||
setup_logic_demand($opts, $nl_flags, $definition, $defaults, $nl); | ||
setup_logic_surface_dataset($opts, $nl_flags, $definition, $defaults, $nl); | ||
|
@@ -1562,6 +1572,11 @@ sub process_namelist_inline_logic { | |
############################### | ||
setup_logic_nitrogen_deposition($opts, $nl_flags, $definition, $defaults, $nl); | ||
|
||
################################ | ||
# namelist group: fan_nml # | ||
################################ | ||
# setup_logic_fan_nml($opts, $nl_flags, $definition, $defaults, $nl, $physv); | ||
|
||
################################## | ||
# namelist group: cnmresp_inparm # | ||
################################## | ||
|
@@ -2971,6 +2986,61 @@ sub setup_logic_fertilizer { | |
|
||
#------------------------------------------------------------------------------- | ||
|
||
sub setup_logic_fan { | ||
# | ||
# Flags to control FAN (Flow of Agricultural Nitrogen) nitrogen deposition (manure and fertilizer) | ||
# | ||
my ($opts, $nl_flags, $definition, $defaults, $nl, $physv) = @_; | ||
my $fan_mode = $opts->{'fan'}; | ||
|
||
if ($fan_mode eq 'default') { $fan_mode = 'off'; } | ||
|
||
if (!($fan_mode =~ /atm|soil|full|on|off/)) { | ||
$log->fatal_error("fan_mode not one of atm, soil, full, on, off\n" ); | ||
} | ||
|
||
if ( !($fan_mode eq 'off') ) { | ||
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_fan', | ||
'fan_mode'=>$fan_mode ); | ||
|
||
$nl_flags->{'use_fan'} = $nl->get_value('use_fan'); | ||
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fan_nh3_to_atm', | ||
'fan_mode'=>$fan_mode); | ||
$nl_flags->{'fan_nh3_to_atm'} = $nl->get_value('fan_nh3_to_atm'); | ||
|
||
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fan_mapalgo'); | ||
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_year_first_fan', | ||
'sim_year'=>$nl_flags->{'sim_year'}, 'sim_year_range'=>$nl_flags->{'sim_year_range'}); | ||
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_year_last_fan', | ||
'sim_year'=>$nl_flags->{'sim_year'}, 'sim_year_range'=>$nl_flags->{'sim_year_range'}); | ||
# Set align year, if first and last years are different | ||
#if ( $nl->get_value('stream_year_first_fan') != $nl->get_value('stream_year_last_fan') ) { | ||
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'model_year_align_fan', | ||
'sim_year'=>$nl_flags->{'sim_year'}, 'sim_year_range'=>$nl_flags->{'sim_year_range'}); | ||
#} | ||
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_fldfilename_fan'); | ||
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fan_to_bgc_crop', | ||
'fan_mode'=>$fan_mode); | ||
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fan_to_bgc_veg', | ||
'fan_mode'=>$fan_mode); | ||
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fract_spread_grass', | ||
'fan_mode'=>$fan_mode); | ||
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'nh4_ads_coef', | ||
'fan_mode'=>$fan_mode); | ||
} else { | ||
$nl_flags->{'use_fan'} = ".false."; | ||
} | ||
|
||
if ( &value_is_true( $nl_flags->{'use_ed'} ) && &value_is_true( $nl_flags->{'use_fan'} ) ) { | ||
$log->fatal_error("Cannot turn use_fan on when use_ed is on\n" ); | ||
} | ||
if ( !&value_is_true( $nl_flags->{'use_crop'} ) && &value_is_true( $nl_flags->{'use_fan'} ) ) { | ||
$log->fatal_error("Cannot turn use_fan on when use_crop is off\n" ); | ||
} | ||
} | ||
|
||
#------------------------------------------------------------------------------- | ||
|
||
sub setup_logic_grainproduct { | ||
# | ||
# Flags to control 1-year grain product pool | ||
|
@@ -3127,6 +3197,79 @@ sub setup_logic_nitrogen_deposition { | |
} | ||
} | ||
|
||
#------------------------------------------------------------------------------- | ||
|
||
sub setup_logic_fan_nml { | ||
my ($opts, $nl_flags, $definition, $defaults, $nl, $physv) = @_; | ||
|
||
# | ||
# Nitrogen deposition2 for bgc=CN | ||
# | ||
|
||
if ( $nl_flags->{'bgc_mode'} ne "none" && value_is_true( $nl_flags->{'use_fan'} ) ) { | ||
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fan_mapalgo', 'phys'=>$nl_flags->{'phys'}, | ||
'bgc'=>$nl_flags->{'bgc_mode'}, 'hgrid'=>$nl_flags->{'res'}, | ||
'clm_accelerated_spinup'=>$nl_flags->{'clm_accelerated_spinup'} ); | ||
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_year_first_fan', 'phys'=>$nl_flags->{'phys'}, | ||
'bgc'=>$nl_flags->{'bgc_mode'}, 'sim_year'=>$nl_flags->{'sim_year'}, | ||
'sim_year_range'=>$nl_flags->{'sim_year_range'}); | ||
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_year_last_fan', 'phys'=>$nl_flags->{'phys'}, | ||
'bgc'=>$nl_flags->{'bgc_mode'}, 'sim_year'=>$nl_flags->{'sim_year'}, | ||
'sim_year_range'=>$nl_flags->{'sim_year_range'}); | ||
|
||
# Set align year, if first and last years are different | ||
if ( $nl->get_value('stream_year_first_fan') != $nl->get_value('stream_year_last_fan') ) { | ||
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'model_year_align_fan', 'sim_year'=>$nl_flags->{'sim_year'}, | ||
'sim_year_range'=>$nl_flags->{'sim_year_range'}); | ||
} | ||
|
||
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_fldfilename_fan', 'phys'=>$nl_flags->{'phys'}, | ||
'bgc'=>$nl_flags->{'bgc_mode'}, | ||
'hgrid'=>"360x720cru" ); | ||
|
||
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fan_to_bgc_crop', | ||
'use_cn'=>$nl_flags->{'use_cn'}, 'use_ed'=>$nl_flags->{'use_ed'} ); | ||
$nl_flags->{'fan_to_bgc_crop'} = $nl->get_value('fan_to_bgc_crop'); | ||
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fan_to_bgc_veg', | ||
'use_cn'=>$nl_flags->{'use_cn'}, 'use_ed'=>$nl_flags->{'use_ed'} ); | ||
$nl_flags->{'use_veg'} = $nl->get_value('fan_to_bgc_veg'); | ||
|
||
|
||
} elsif ( $nl_flags->{'bgc_mode'} =~/cn|bgc/ && value_is_true( $nl_flags->{'use_fan'} ) ) { | ||
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fan_mapalgo', 'phys'=>$nl_flags->{'phys'}, | ||
'use_cn'=>$nl_flags->{'use_cn'}, 'hgrid'=>$nl_flags->{'res'}, | ||
'clm_accelerated_spinup'=>$nl_flags->{'clm_accelerated_spinup'} ); | ||
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_year_first_fan', 'phys'=>$nl_flags->{'phys'}, | ||
'use_cn'=>$nl_flags->{'use_cn'}, 'sim_year'=>$nl_flags->{'sim_year'}, | ||
'sim_year_range'=>$nl_flags->{'sim_year_range'}); | ||
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_year_last_fan', 'phys'=>$nl_flags->{'phys'}, | ||
'use_cn'=>$nl_flags->{'use_cn'}, 'sim_year'=>$nl_flags->{'sim_year'}, | ||
'sim_year_range'=>$nl_flags->{'sim_year_range'}); | ||
# Set align year, if first and last years are different | ||
if ( $nl->get_value('stream_year_first_fan') != $nl->get_value('stream_year_last_fan') ) { | ||
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'model_year_align_fan', 'sim_year'=>$nl_flags->{'sim_year'}, | ||
'sim_year_range'=>$nl_flags->{'sim_year_range'}); | ||
} | ||
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_fldfilename_fan', 'phys'=>$nl_flags->{'phys'}, | ||
'use_cn'=>$nl_flags->{'use_cn'}, | ||
'hgrid'=>"360x720cru" ); | ||
} else { | ||
# If bgc is NOT CN/CNDV then make sure none of the fan settings are set! | ||
if ( value_is_true( $nl_flags->{'use_fan'} ) ) { | ||
if ( defined($nl->get_value('stream_year_first_fan')) || | ||
defined($nl->get_value('stream_year_last_fan')) || | ||
defined($nl->get_value('model_year_align_fan')) || | ||
defined($nl->get_value('stream_fldfilename_fan')) | ||
) { | ||
fatal_error("When bgc is NOT CN or CNDV none of: stream_year_first_fan," . | ||
"stream_year_last_fan, model_year_align_fan, nor stream_fldfilename_fan" . | ||
" can be set!\n"); | ||
} | ||
} | ||
} | ||
} | ||
|
||
|
||
#------------------------------------------------------------------------------- | ||
|
||
sub setup_logic_cnmresp { | ||
|
@@ -3742,6 +3885,9 @@ sub write_output_files { | |
push @groups, "lifire_inparm"; | ||
push @groups, "ch4finundated"; | ||
push @groups, "clm_canopy_inparm"; | ||
if ( &value_is_true($nl_flags->{'use_fan'}) ) { | ||
push @groups, "fan_nml"; | ||
} | ||
if (remove_leading_and_trailing_quotes($nl->get_value('snow_cover_fraction_method')) eq 'SwensonLawrence2012') { | ||
push @groups, "scf_swenson_lawrence_2012_inparm"; | ||
} | ||
|
@@ -3753,6 +3899,9 @@ sub write_output_files { | |
|
||
# Drydep, fire-emission or MEGAN namelist for driver | ||
@groups = qw(drydep_inparm megan_emis_nl fire_emis_nl carma_inparm); | ||
if ( &value_is_true($nl_flags->{'use_fan'}) ) { | ||
push @groups, "fan_inparm"; | ||
} | ||
$outfile = "$opts->{'dir'}/drv_flds_in"; | ||
$nl->write($outfile, 'groups'=>\@groups, 'note'=>"$note" ); | ||
$log->verbose_message("Writing @groups namelists to $outfile"); | ||
|
@@ -3838,8 +3987,8 @@ sub add_default { | |
|
||
# check whether the variable has a value in the namelist object -- if so then skip to end | ||
my $val = $nl->get_variable_value($group, $var); | ||
if (! defined $val) { | ||
|
||
if (! defined $val) { | ||
# Look for a specified value in the options hash | ||
|
||
if (defined $settings{'val'}) { | ||
|
@@ -4372,6 +4521,7 @@ sub version { | |
|
||
sub main { | ||
my %nl_flags; | ||
|
||
$nl_flags{'cfgdir'} = dirname(abs_path($0)); | ||
|
||
my %opts = process_commandline(\%nl_flags); | ||
|
@@ -4386,6 +4536,7 @@ sub main { | |
my $definition = read_namelist_definition($cfgdir, \%opts, \%nl_flags); | ||
my $defaults = read_namelist_defaults($cfgdir, \%opts, \%nl_flags, $cfg); | ||
|
||
|
||
# List valid values if asked for | ||
list_options(\%opts, $definition, $defaults); | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -470,6 +470,15 @@ attributes from the config_cache.xml file (with keys converted to upper-case). | |
<!-- Plant hydraulic stress --> | ||
<use_hydrstress >.false.</use_hydrstress> | ||
<use_hydrstress phys="clm5_0" use_fates=".false." configuration="clm">.true.</use_hydrstress> | ||
|
||
<!-- flow of agricultural nitrogen (fan) model --> | ||
<use_fan>.false.</use_fan> | ||
<use_fan fan_mode='atm'>.true.</use_fan> | ||
<use_fan fan_mode='on'>.true.</use_fan> | ||
<use_fan fan_mode='soil'>.true.</use_fan> | ||
<use_fan fan_mode='full'>.true.</use_fan> | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It would be helpful to see simulations that use these name list conventions, especially for use_fan = .false. (which I would assume is the default configuration. see comments in #636. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
|
||
<!-- | ||
|
||
Initial condition files to use and or interpolate from | ||
|
@@ -1026,6 +1035,58 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.nc</fsurd | |
<ndepmapalgo use_cn=".true." hgrid="1x1_asphaltjungleNJ" >nn</ndepmapalgo> | ||
<ndepmapalgo use_cn=".true." hgrid="5x5_amazon" >nn</ndepmapalgo> | ||
|
||
<!--KO--> | ||
<!-- FAN Nitrogen (manure) deposition streams namelist defaults --> | ||
<stream_year_first_fan sim_year="2000" >2010</stream_year_first_fan> | ||
<stream_year_last_fan sim_year="2000" >2010</stream_year_last_fan> | ||
|
||
<stream_year_first_fan sim_year="1850" >2010</stream_year_first_fan> | ||
<stream_year_last_fan sim_year="1850" >2010</stream_year_last_fan> | ||
|
||
<stream_year_first_fan sim_year="1000" >2010</stream_year_first_fan> | ||
<stream_year_last_fan sim_year="1000" >2010</stream_year_last_fan> | ||
|
||
<model_year_align_fan >2010</model_year_align_fan> | ||
|
||
<stream_year_first_fan sim_year="constant" sim_year_range="1000-1002" >2010</stream_year_first_fan> | ||
<stream_year_last_fan sim_year="constant" sim_year_range="1000-1002" >2010</stream_year_last_fan> | ||
|
||
<stream_year_first_fan sim_year="constant" sim_year_range="1000-1004" >2010</stream_year_first_fan> | ||
<stream_year_last_fan sim_year="constant" sim_year_range="1000-1004" >2010</stream_year_last_fan> | ||
|
||
<stream_year_first_fan sim_year="constant" sim_year_range="1850-2000" >2010</stream_year_first_fan> | ||
<stream_year_last_fan sim_year="constant" sim_year_range="1850-2000" >2010</stream_year_last_fan> | ||
|
||
<stream_year_first_fan sim_year="constant" sim_year_range="1850-2100" >2010</stream_year_first_fan> | ||
<stream_year_last_fan sim_year="constant" sim_year_range="1850-2100" >2010</stream_year_last_fan> | ||
|
||
<stream_year_first_fan sim_year="constant" sim_year_range="2000-2100" >2010</stream_year_first_fan> | ||
<stream_year_last_fan sim_year="constant" sim_year_range="2000-2100" >2010</stream_year_last_fan> | ||
|
||
<stream_fldfilename_fan>lnd/clm2/paramdata/FAN_nitrogen_soilph_fv1.9x2.5_simyr2010_c20190905.nc</stream_fldfilename_fan> | ||
|
||
<fan_mapalgo >bilinear</fan_mapalgo> | ||
|
||
<fan_mapalgo hgrid="1x1_brazil" >nn</fan_mapalgo> | ||
<fan_mapalgo hgrid="1x1_mexicocityMEX" >nn</fan_mapalgo> | ||
<fan_mapalgo hgrid="1x1_vancouverCAN" >nn</fan_mapalgo> | ||
<fan_mapalgo hgrid="1x1_urbanc_alpha" >nn</fan_mapalgo> | ||
<fan_mapalgo hgrid="1x1_camdenNJ" >nn</fan_mapalgo> | ||
<fan_mapalgo hgrid="1x1_asphaltjungleNJ" >nn</fan_mapalgo> | ||
<fan_mapalgo hgrid="1x1_tropicAtl" >nn</fan_mapalgo> | ||
<fan_mapalgo hgrid="5x5_amazon" >nn</fan_mapalgo> | ||
|
||
ekluzek marked this conversation as resolved.
Show resolved
Hide resolved
|
||
<fan_to_bgc_crop fan_mode="soil">.true.</fan_to_bgc_crop> | ||
<fan_to_bgc_crop fan_mode="full">.true.</fan_to_bgc_crop> | ||
<fan_to_bgc_crop fan_mode="atm">.false.</fan_to_bgc_crop> | ||
<fan_to_bgc_crop fan_mode="on">.false.</fan_to_bgc_crop> | ||
<fan_to_bgc_veg>.false.</fan_to_bgc_veg> | ||
<fract_spread_grass fan_mode="on">1.0</fract_spread_grass> | ||
<fract_spread_grass fan_mode="soil">0.0</fract_spread_grass> | ||
wwieder marked this conversation as resolved.
Show resolved
Hide resolved
|
||
<fract_spread_grass fan_mode="full">0.0</fract_spread_grass> | ||
<fract_spread_grass fan_mode="atm">1.0</fract_spread_grass> | ||
<nh4_ads_coef>1.0</nh4_ads_coef> | ||
|
||
<!-- LAI streams namelist defaults --> | ||
<use_lai_streams >.false.</use_lai_streams> | ||
<stream_year_first_lai >2001</stream_year_first_lai> | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
<?xml version="1.0"?> | ||
|
||
<?xml-stylesheet type="text/xsl" href="namelist_defaults.xsl"?> | ||
|
||
<namelist_defaults> | ||
|
||
<!-- | ||
Values to use by default for creation of CLM model driver namelists. | ||
The element names are the same as the corresponding namelist | ||
variables. Values that depend on the model configuration use | ||
attributes to express the dependency. The recognized attributes | ||
are: RESOLUTION, defaults, mask, ic_ymd, ic_tod, sim_year and all configuration | ||
attributes from the config_cache.xml file (with keys converted to upper-case). | ||
--> | ||
|
||
<fan_nh3_to_atm use_fan=".false.">.false.</fan_nh3_to_atm> | ||
<fan_nh3_to_atm use_fan=".true." fan_mode="atm">.true.</fan_nh3_to_atm> | ||
<fan_nh3_to_atm use_fan=".true." fan_mode="full">.true.</fan_nh3_to_atm> | ||
|
||
</namelist_defaults> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm assuming these names are for the new manure streams, but I think @ekluzek asked for these ndep2 & 3 to be replace with more descriptive names. would it be helpful to use consistent terminology?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess the comment can be changed. Is this modification list still updated?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@juliusvira as you can see we don't keep that list updated very often. And only sometimes update it with something that is pretty major. Since, git keeps track of the history, I don't tend to use this revision history.
So I'd recommend just deleting this line.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.