Skip to content

Commit

Permalink
Merge branch 'clm51_fixes'
Browse files Browse the repository at this point in the history
Answer changing bug fixes for clm51: fire and organic_frac_squared

A few bug fixes for CLM51:
- Initialize btran2 to 0 in CNFireLi2021Mod
- Remove multiplications by col%wtgcell in CNFireLi2021Mod
- Initialize nfire to 0 in CNFireLi2021Mod
- Fix organic_frac_squared default for clm5_1

Resolves #1171 (btran2 not initialized to zero in
CNFireLi2021Mod.F90)

Partially addresses #1169 (CNFireLi2021Mod reintroduces a
number of bugs that were fixed in earlier versions)

Partially addresses #1166 (Possible problems with namelist
defaults starting in ctsm5.0.dev001)
  • Loading branch information
billsacks committed Oct 2, 2020
2 parents 2b4802d + 00a8c3a commit 4277604
Show file tree
Hide file tree
Showing 5 changed files with 137 additions and 4 deletions.
2 changes: 1 addition & 1 deletion bld/namelist_files/namelist_defaults_ctsm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -160,9 +160,9 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
<urban_traffic>.false.</urban_traffic>

<!-- Soil state settings -->
<organic_frac_squared phys="clm5_1" >.true.</organic_frac_squared>
<organic_frac_squared phys="clm4_5" >.true.</organic_frac_squared>
<organic_frac_squared phys="clm5_0" >.false.</organic_frac_squared>
<organic_frac_squared phys="clm5_1" >.false.</organic_frac_squared>

<soil_layerstruct_predefined structure="fast">4SL_2m</soil_layerstruct_predefined>
<soil_layerstruct_predefined structure="standard" phys="clm5_1" >20SL_8.5m</soil_layerstruct_predefined>
Expand Down
2 changes: 2 additions & 0 deletions doc/.ChangeLog_template
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ Does this tag change answers significantly for any of the following physics conf

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

[ ] clm5_1

[ ] clm5_0

[ ] ctsm5_0-nwp
Expand Down
125 changes: 125 additions & 0 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,129 @@
===============================================================
Tag name: ctsm5.1.dev005
Originator(s): sacks (Bill Sacks)
Date: Fri Oct 2 09:51:08 MDT 2020
One-line Summary: Answer changing bug fixes for clm51: fire and organic_frac_squared

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

A few bug fixes for CLM51:
- Initialize btran2 to 0 in CNFireLi2021Mod
- Remove multiplications by col%wtgcell in CNFireLi2021Mod
- Initialize nfire to 0 in CNFireLi2021Mod
- Fix organic_frac_squared default for clm5_1

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

Issues fixed (include CTSM Issue #):
- Resolves ESCOMP/CTSM#1171 (btran2 not initialized to zero in
CNFireLi2021Mod.F90)
- Partially addresses ESCOMP/CTSM#1169 (CNFireLi2021Mod reintroduces a
number of bugs that were fixed in earlier versions)
- Partially addresses ESCOMP/CTSM#1166 (Possible problems with namelist
defaults starting in ctsm5.0.dev001)


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_1

[ ] 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):
- Fixes default for organic_frac_squared for clm5_1

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

Substantial timing or memory changes: not investigated (none expected)

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

CTSM testing:

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

build-namelist tests:

cheyenne - not run

tools-tests (test/tools):

cheyenne - not run

PTCLM testing (tools/shared/PTCLM/test):

cheyenne - not run

python testing (see instructions in python/README.md; document testing done):

(any machine) - not run

regular tests (aux_clm):

cheyenne ---- ok
izumi ------- ok

ok: tests pass, baselines fail just for CLM51 cases, as expected

NOTE: The following expensive tests did not run, due to a long queue
wait time; we are about to remove these tests from the test suite
anyway:

PEND ERS_D_Ld10.C96_C96_mg17.IHistClm50Sp.cheyenne_intel.clm-decStart RUN
PEND ERS_Ln9.ne0ARCTICne30x4_ne0ARCTICne30x4_mt12.IHistClm50SpGs.cheyenne_intel.clm-clm50cam6LndTuningMode_1979Start RUN
PEND SMS_Ln9.ne0ARCTICGRISne30x8_ne0ARCTICGRISne30x8_mt12.IHistClm50Sp.cheyenne_intel.clm-clm50cam6LndTuningMode_1979Start RUN
PEND SMS_Ln9.ne0ARCTICGRISne30x8_ne0ARCTICGRISne30x8_mt12.ISSP585Clm50BgcCrop.cheyenne_intel.clm-clm50cam6LndTuningMode RUN
PEND SMS_Ln9.ne0CONUSne30x8_ne0CONUSne30x8_mt12.IHistClm50Sp.cheyenne_intel.clm-clm50cam6LndTuningMode_2013Start RUN

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


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

Changes answers relative to baseline: YES - just for CLM51

Summarize any changes to answers, i.e.,
- what code configurations: CLM51
- what platforms/compilers: all
- nature of change (roundoff; larger than roundoff/same climate; new climate):
possibly new climate

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):
https://github.com/ESCOMP/CTSM/pull/1172

===============================================================
===============================================================
Tag name: ctsm5.1.dev004
Originator(s): oleson (Keith Oleson), sacks (Bill Sacks)
Date: Wed Sep 30 10:45:25 MDT 2020
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.1.dev005 sacks 10/02/2020 Answer changing bug fixes for clm51: fire and organic_frac_squared
ctsm5.1.dev004 oleson 09/30/2020 Improve robustness of onset and offset counters when changing dt
ctsm5.1.dev003 ivanderk 09/29/2020 Add capability for dynamic lakes
ctsm5.1.dev002 slevis 09/25/2020 Reduce duplication between caps
Expand Down
11 changes: 8 additions & 3 deletions src/biogeochem/CNFireLi2021Mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -382,10 +382,10 @@ subroutine CNFireArea (this, bounds, num_soilc, filter_soilc, num_soilp, filter_
! whereas in fact the land cover change occurred when the column *was*
! tropical closed forest.
if( patch%itype(p) == nbrdlf_evr_trp_tree .and. patch%wtcol(p) > 0._r8 )then
trotr1_col(c)=trotr1_col(c)+patch%wtcol(p)*col%wtgcell(c)
trotr1_col(c)=trotr1_col(c)+patch%wtcol(p)
end if
if( patch%itype(p) == nbrdlf_dcd_trp_tree .and. patch%wtcol(p) > 0._r8 )then
trotr2_col(c)=trotr2_col(c)+patch%wtcol(p)*col%wtgcell(c)
trotr2_col(c)=trotr2_col(c)+patch%wtcol(p)
end if

if (transient_landcover) then
Expand All @@ -409,7 +409,7 @@ subroutine CNFireArea (this, bounds, num_soilc, filter_soilc, num_soilp, filter_
! different seasons. But having deforestation spread evenly
! throughout the year is much better than having it all
! concentrated on January 1.)
dtrotr_col(c)=dtrotr_col(c)-dwt_smoothed(p)*col%wtgcell(c)
dtrotr_col(c)=dtrotr_col(c)-dwt_smoothed(p)
end if
end if
end if
Expand Down Expand Up @@ -581,6 +581,7 @@ subroutine CNFireArea (this, bounds, num_soilc, filter_soilc, num_soilp, filter_
c = filter_soilc(fc)
g = col%gridcell(c)
hdmlf=this%forc_hdm(g)
nfire(c) = 0._r8
if( cropf_col(c) < 1._r8 )then
fuelc(c) = totlitc(c)+totvegc(c)-rootc_col(c)-fuelc_crop(c)*cropf_col(c)
if (spinup_state == 2) then
Expand Down Expand Up @@ -691,6 +692,10 @@ subroutine CNFire_calc_fire_root_wetness( this, bounds, nlevgrnd, num_exposedveg
h2osoi_vol => waterstatebulk_inst%h2osoi_vol_col & ! Input: [real(r8) (:,:) ] volumetric soil water (0<=h2osoi_vol<=watsat) [m3/m3] (porosity) (constant)
)

do f = 1, num_exposedvegp
p = filter_exposedvegp(f)
btran2(p) = 0._r8
end do
do j = 1,nlevgrnd
do f = 1, num_exposedvegp
p = filter_exposedvegp(f)
Expand Down

0 comments on commit 4277604

Please sign in to comment.