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

Two answer changing fixes (fire, DWT_SLASH) and fix for urban streams for Clm45 #802

Merged
merged 10 commits into from
Sep 6, 2019
41 changes: 20 additions & 21 deletions bld/namelist_files/namelist_defaults_ctsm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1105,36 +1105,35 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.nc</fsurd
<popdensmapalgo use_cn=".true." hgrid="5x5_amazon" >nn</popdensmapalgo>

<!-- Urban time varying streams namelist defaults -->
<stream_year_first_urbantv phys="clm4_5" >2000</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm4_5" >2000</stream_year_last_urbantv>
<stream_year_first_urbantv sim_year="2000" >2000</stream_year_first_urbantv>
<stream_year_last_urbantv sim_year="2000" >2000</stream_year_last_urbantv>

<stream_year_first_urbantv phys="clm5_0" sim_year="2000" >2000</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm5_0" sim_year="2000" >2000</stream_year_last_urbantv>
<stream_year_first_urbantv sim_year="1850" >1850</stream_year_first_urbantv>
<stream_year_last_urbantv sim_year="1850" >1850</stream_year_last_urbantv>

<stream_year_first_urbantv phys="clm5_0" sim_year="1850" >1850</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm5_0" sim_year="1850" >1850</stream_year_last_urbantv>
<stream_year_first_urbantv sim_year="1000" >2000</stream_year_first_urbantv>
<stream_year_last_urbantv sim_year="1000" >2000</stream_year_last_urbantv>

<stream_year_first_urbantv phys="clm5_0" sim_year="1000" >2000</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm5_0" sim_year="1000" >2000</stream_year_last_urbantv>
<stream_year_first_urbantv sim_year="constant" sim_year_range="1000-1002" >2000</stream_year_first_urbantv>
<stream_year_last_urbantv sim_year="constant" sim_year_range="1000-1002" >2000</stream_year_last_urbantv>

<stream_year_first_urbantv phys="clm5_0" sim_year="constant" sim_year_range="1000-1002" >2000</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm5_0" sim_year="constant" sim_year_range="1000-1002" >2000</stream_year_last_urbantv>
<stream_year_first_urbantv sim_year="constant" sim_year_range="1000-1004" >2000</stream_year_first_urbantv>
<stream_year_last_urbantv sim_year="constant" sim_year_range="1000-1004" >2000</stream_year_last_urbantv>

<stream_year_first_urbantv phys="clm5_0" sim_year="constant" sim_year_range="1000-1004" >2000</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm5_0" sim_year="constant" sim_year_range="1000-1004" >2000</stream_year_last_urbantv>
<stream_year_first_urbantv sim_year="constant" sim_year_range="1850-2000" >1850</stream_year_first_urbantv>
<stream_year_last_urbantv sim_year="constant" sim_year_range="1850-2000" >2106</stream_year_last_urbantv>

<stream_year_first_urbantv phys="clm5_0" sim_year="constant" sim_year_range="1850-2000" >1850</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm5_0" sim_year="constant" sim_year_range="1850-2000" >2106</stream_year_last_urbantv>
<stream_year_first_urbantv sim_year="constant" sim_year_range="1850-2100" >1850</stream_year_first_urbantv>
<stream_year_last_urbantv sim_year="constant" sim_year_range="1850-2100" >2106</stream_year_last_urbantv>

<stream_year_first_urbantv phys="clm5_0" sim_year="constant" sim_year_range="1850-2100" >1850</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm5_0" sim_year="constant" sim_year_range="1850-2100" >2106</stream_year_last_urbantv>
<stream_year_first_urbantv sim_year="constant" sim_year_range="2000-2100" >1850</stream_year_first_urbantv>
<stream_year_last_urbantv sim_year="constant" sim_year_range="2000-2100" >2106</stream_year_last_urbantv>

<stream_year_first_urbantv phys="clm5_0" sim_year="constant" sim_year_range="2000-2100" >1850</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm5_0" sim_year="constant" sim_year_range="2000-2100" >2106</stream_year_last_urbantv>
<stream_fldfilename_urbantv phys="clm5_0" hgrid="0.9x1.25"
>lnd/clm2/urbandata/CLM50_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c160923.nc</stream_fldfilename_urbantv>

<stream_fldfilename_urbantv phys="clm5_0" hgrid="0.9x1.25" >lnd/clm2/urbandata/CLM50_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c160923.nc</stream_fldfilename_urbantv>

<stream_fldfilename_urbantv phys="clm4_5" hgrid="0.9x1.25" >lnd/clm2/urbandata/CLM45_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c160923.nc</stream_fldfilename_urbantv>
<stream_fldfilename_urbantv phys="clm4_5" hgrid="0.9x1.25"
>lnd/clm2/urbandata/CLM45_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c160923.nc</stream_fldfilename_urbantv>

<urbantvmapalgo >nn</urbantvmapalgo>

Expand Down
4 changes: 4 additions & 0 deletions bld/namelist_files/use_cases/1850-2100_rcp2.6_transient.xml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@
<stream_year_last_popdens phys="clm5_0" cnfireson=".true." >2010</stream_year_last_popdens>
<model_year_align_popdens phys="clm5_0" cnfireson=".true." >1850</model_year_align_popdens>

<stream_year_first_urbantv phys="clm4_5" >1850</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm4_5" >2100</stream_year_last_urbantv>
<model_year_align_urbantv phys="clm4_5" >1850</model_year_align_urbantv>

<stream_year_first_urbantv phys="clm5_0" >1850</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm5_0" >2100</stream_year_last_urbantv>
<model_year_align_urbantv phys="clm5_0" >1850</model_year_align_urbantv>
Expand Down
4 changes: 4 additions & 0 deletions bld/namelist_files/use_cases/1850-2100_rcp4.5_transient.xml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@
<stream_year_last_popdens phys="clm5_0" cnfireson=".true." >2010</stream_year_last_popdens>
<model_year_align_popdens phys="clm5_0" cnfireson=".true." >1850</model_year_align_popdens>

<stream_year_first_urbantv phys="clm4_5" >1850</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm4_5" >2100</stream_year_last_urbantv>
<model_year_align_urbantv phys="clm4_5" >1850</model_year_align_urbantv>

<stream_year_first_urbantv phys="clm5_0" >1850</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm5_0" >2100</stream_year_last_urbantv>
<model_year_align_urbantv phys="clm5_0" >1850</model_year_align_urbantv>
Expand Down
4 changes: 4 additions & 0 deletions bld/namelist_files/use_cases/1850-2100_rcp6_transient.xml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@
<stream_year_last_popdens phys="clm5_0" cnfireson=".true." >2010</stream_year_last_popdens>
<model_year_align_popdens phys="clm5_0" cnfireson=".true." >1850</model_year_align_popdens>

<stream_year_first_urbantv phys="clm4_5" >1850</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm4_5" >2100</stream_year_last_urbantv>
<model_year_align_urbantv phys="clm4_5" >1850</model_year_align_urbantv>

<stream_year_first_urbantv phys="clm5_0" >1850</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm5_0" >2100</stream_year_last_urbantv>
<model_year_align_urbantv phys="clm5_0" >1850</model_year_align_urbantv>
Expand Down
4 changes: 4 additions & 0 deletions bld/namelist_files/use_cases/1850-2100_rcp8.5_transient.xml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@
<stream_year_last_popdens phys="clm5_0" cnfireson=".true." >2010</stream_year_last_popdens>
<model_year_align_popdens phys="clm5_0" cnfireson=".true." >1850</model_year_align_popdens>

<stream_year_first_urbantv phys="clm4_5" >1850</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm4_5" >2100</stream_year_last_urbantv>
<model_year_align_urbantv phys="clm4_5" >1850</model_year_align_urbantv>

<stream_year_first_urbantv phys="clm5_0" >1850</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm5_0" >2100</stream_year_last_urbantv>
<model_year_align_urbantv phys="clm5_0" >1850</model_year_align_urbantv>
Expand Down
3 changes: 3 additions & 0 deletions bld/namelist_files/use_cases/1850_control.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@
<stream_year_first_popdens phys="clm5_0" cnfireson=".true." >1850</stream_year_first_popdens>
<stream_year_last_popdens phys="clm5_0" cnfireson=".true." >1850</stream_year_last_popdens>

<stream_year_first_urbantv phys="clm4_5" >1850</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm5_0" >1850</stream_year_last_urbantv>

<stream_year_first_urbantv phys="clm5_0" >1850</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm5_0" >1850</stream_year_last_urbantv>

Expand Down
4 changes: 4 additions & 0 deletions bld/namelist_files/use_cases/2000-2100_rcp8.5_transient.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@
<stream_year_last_popdens phys="clm5_0" cnfireson=".true." >2010</stream_year_last_popdens>
<model_year_align_popdens phys="clm5_0" cnfireson=".true." >2000</model_year_align_popdens>

<stream_year_first_urbantv phys="clm4_5" >2000</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm4_5" >2100</stream_year_last_urbantv>
<model_year_align_urbantv phys="clm4_5" >2000</model_year_align_urbantv>

<stream_year_first_urbantv phys="clm5_0" >2000</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm5_0" >2100</stream_year_last_urbantv>
<model_year_align_urbantv phys="clm5_0" >2000</model_year_align_urbantv>
Expand Down
3 changes: 3 additions & 0 deletions bld/namelist_files/use_cases/2000_control.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@
<stream_year_first_popdens phys="clm5_0" cnfireson=".true." >2000</stream_year_first_popdens>
<stream_year_last_popdens phys="clm5_0" cnfireson=".true." >2000</stream_year_last_popdens>

<stream_year_first_urbantv phys="clm4_5" >2000</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm4_5" >2000</stream_year_last_urbantv>

<stream_year_first_urbantv phys="clm5_0" >2000</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm5_0" >2000</stream_year_last_urbantv>

Expand Down
4 changes: 4 additions & 0 deletions bld/namelist_files/use_cases/20thC_transient.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@
<stream_year_last_popdens phys="clm5_0" cnfireson=".true." >2016</stream_year_last_popdens>
<model_year_align_popdens phys="clm5_0" cnfireson=".true." >1850</model_year_align_popdens>

<stream_year_first_urbantv phys="clm4_5" >1850</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm4_5" >2106</stream_year_last_urbantv>
<model_year_align_urbantv phys="clm4_5" >1850</model_year_align_urbantv>

<stream_year_first_urbantv phys="clm5_0" >1850</stream_year_first_urbantv>
<stream_year_last_urbantv phys="clm5_0" >2106</stream_year_last_urbantv>
<model_year_align_urbantv phys="clm5_0" >1850</model_year_align_urbantv>
Expand Down
2 changes: 1 addition & 1 deletion cime_config/usermods_dirs/output_bgc/user_nl_clm
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ hist_fincl2 += 'GPP', 'NPP', 'AGNPP', 'TOTVEGC', 'NPP_NUPTAKE', 'AR', 'HR', 'HTO

! h2 stream (monthly average, landunit-level)
! TOT_WOODPRODC:I, CROPPROD1C:I, and NEE are not available at the landunit level
hist_fincl3 += 'GPP', 'NPP', 'AR', 'HR', 'DWT_CONV_CFLUX_PATCH', 'WOOD_HARVESTC', 'DWT_WOOD_PRODUCTC_GAIN_PATCH', 'SLASH_HARVESTC', 'COL_FIRE_CLOSS', 'DWT_SLASH_CFLUX', 'FROOTC:I', 'HTOP'
hist_fincl3 += 'GPP', 'NPP', 'AR', 'HR', 'DWT_CONV_CFLUX_PATCH', 'WOOD_HARVESTC', 'DWT_WOOD_PRODUCTC_GAIN_PATCH', 'SLASH_HARVESTC', 'COL_FIRE_CLOSS', 'FROOTC:I', 'HTOP'

! h3 stream (yearly average, gridcell-level)
hist_fincl4 += 'SOILC_vr', 'SOILN_vr', 'CWDC_vr', 'LITR1C_vr', 'LITR2C_vr', 'LITR3C_vr', 'LITR1N_vr', 'LITR2N_vr', 'LITR3N_vr','CWDN_vr', 'TOTLITC:I', 'TOT_WOODPRODC:I', 'TOTSOMC:I','TOTVEGC:I'
Expand Down
121 changes: 121 additions & 0 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,125 @@
===============================================================
Tag name: ctsm1.0.dev063
Originator(s): erik (Erik Kluzek)
Date: Thu Sep 5 21:28:02 MDT 2019
One-line Summary: Two answer changing fixes (fire, DWT_SLASH) and fix for urban streams for Clm45

Purpose of changes
------------------

Fire bug fix and DWT_SLASH change and fix urban stream years for clm4_5.
The latitude used in an expression for Bgc-Fire model Li2016 (used in Clm50)
had latitude in degrees rather than in radians as it should have been. The
term is used for ignition and the cosine was being taken in degrees rather
than radians, hence the spatial pattern for ignition with latitude was incorrect.

The history field DWT_SLASH_CFLUX was being calculated on the column, but
really should have been a patch level variable. In the same way other fields
were handled we made DWT_SLASH_CFLUX a grid-cell variable, and added
DWT_SLASH_CFLUX_PATCH on the patch level that could be added to output. The same
is true of the C13_ and C14_ versions of it.

Clm45 was setting urbantv to year 2000, rather than 1850 or historical as it should
have. The urbantv file for Clm45 doesn't actually change, so this doesn't actually
make a difference. But, it does make the namelist look wrong.

Note, that SP cases, Vic cases and Fates cases do NOT change answers. Or if fire is
off, or certain single-point cases. Some cold-start cases don't seem to be sensitive
to it either.

Bugs fixed or introduced
------------------------

Issues fixed (include CTSM Issue #): #175, #787, #780
fixes #175 urban stream years for clm4_5
fixes #787 DWT_SLASH field
fixes #780 Bug in CN Fire Li 2016 which used latitude in degrees rather than radians

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.]

[X] clm5_0

[ ] ctsm5_0-nwp

[ ] clm4_5

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

Caveats for users (e.g., need to interpolate initial conditions): None

Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): None

Changes made to namelist defaults (e.g., changed parameter values): Defaults for urbantv for clm4_5

Changes to the datasets (e.g., parameter, surface or initial files): None

Substantial timing or memory changes: None

Notes of particular relevance for developers: (including Code reviews and testing)
---------------------------------------------
NOTE: Be sure to review the steps in README.CHECKLIST.master_tags as well as the coding style in the Developers Guide

Caveats for developers (e.g., code that is duplicated that requires double maintenance): None

Changes to tests or testing: None

Code reviewed by: self, @olywon


CTSM testing: regular

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

build-namelist tests:

cheyenne - PASS (62 compare fail due to namelist changes)

regular tests (aux_clm):

cheyenne ---- OK
izumi ------- OK

If the tag used for baseline comparisons was NOT the previous tag, note that here: previous


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

Changes answers relative to baseline: Yes!

Summarize any changes to answers, i.e.,
- what code configurations: Clm50Bgc and some Clm45Bgc cases
- what platforms/compilers: All
- nature of change: similar climate (but fire ignition pattern changes by latitude)
DWT_SLASH_* history fields change because moved to gridcell quantity (so change is relatively minor)

If this tag changes climate describe the run(s) done to evaluate the new
climate (put details of the simulations in the experiment database)
- casename:
oleson/clm50_cesm20R_2deg_GSWP3V1_issue780_hist (for the fire change)

URL for LMWG diagnostics output used to validate new climate:
http://webext.cgd.ucar.edu/I20TR/clm50_cesm20R_2deg_GSWP3V1_issue780_hist/lnd/clm50_cesm20R_2deg_GSWP3V1_issue780_hist.1995_2014-clm50_cesm20R_2deg_GSWP3V1_hist.1995_2014/setsIndex.html


Detailed list of changes
------------------------

List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): None

Pull Requests that document the changes (include PR ids): #802
(https://github.com/ESCOMP/ctsm/pull)
#802 -- Three answer changing fixes (fire, DWT_SLASH, urban streams for clm4_5)

===============================================================
===============================================================
Tag name: ctsm1.0.dev062
Originator(s): sacks (Bill Sacks)
Date: Tue Sep 3 16:04:28 MDT 2019
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
============================================================================================================================
ctsm1.0.dev063 erik 09/05/2019 Two answer changing fixes (fire, DWT_SLASH) and fix for urban streams for Clm45
ctsm1.0.dev062 sacks 09/03/2019 Move hobart tests to izumi
ctsm1.0.dev061 erik 09/01/2019 Simple b4b fixes: new params file, remove override_nsrest/anoxia_wtsat, DV deprecated
ctsm1.0.dev060 sacks 08/29/2019 In SnowWater, truncate small h2osoi residuals
Expand Down
2 changes: 1 addition & 1 deletion src/biogeochem/CNFireLi2016Mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -607,7 +607,7 @@ subroutine CNFireArea (this, bounds, num_soilc, filter_soilc, num_soilp, filter_
end if
lh = pot_hmn_ign_counts_alpha*6.8_r8*hdmlf**(0.43_r8)/30._r8/24._r8
fs = 1._r8-(0.01_r8+0.98_r8*exp(-0.025_r8*hdmlf))
ig = (lh+this%forc_lnfm(g)/(5.16_r8+2.16_r8*cos(3*min(60._r8,abs(grc%latdeg(g)))))*0.22_r8) &
ig = (lh+this%forc_lnfm(g)/(5.16_r8+2.16_r8*cos(SHR_CONST_PI/180._r8*3*min(60._r8,abs(grc%latdeg(g)))))*0.22_r8) &
*(1._r8-fs)*(1._r8-cropf_col(c))
nfire(c) = ig/secsphr*fb*fire_m*lgdp_col(c) !fire counts/km2/sec
Lb_lf = 1._r8+10._r8*(1._r8-EXP(-0.06_r8*forc_wind(g)))
Expand Down
Loading