Skip to content

Commit

Permalink
clm4_5_17_r263
Browse files Browse the repository at this point in the history
Keep the hydraulic conductivity for organic soil higher than it is for mineral soil. This was found to be an issue and fixed by
Sean Swenson, Dave Lawrence, and Keith Oleson. Double dry deposition velocity for SO2 (Jean-Francois Lamaruque) for both clm4_5
and clm5_0.  Fix bug for value of NACTIVE at first time-step. Partial fix so that max daylengh isn't hardwired to present day at least
at initialization (see caveat below). Move the sample files for the mkprocdata_map tool (for mapping between unstructured grids
and regular lat lon grids) out of CLM and into $CSMDATA. Update the c13/c14 timeseries files to the 2.0 version as per Keith Lindsay.
  • Loading branch information
ekluzek authored and bjandre committed Dec 20, 2017
1 parent 383aa01 commit bea22b6
Show file tree
Hide file tree
Showing 11 changed files with 177 additions and 15 deletions.
4 changes: 2 additions & 2 deletions bld/namelist_files/namelist_defaults_clm4_5.xml
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,8 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
<stomatalcond_method phys="clm4_5" >Ball-Berry1987</stomatalcond_method>

<!-- Carbon isotope concentration files -->
<atm_c13_filename use_c13=".true." use_c13_timeseries=".true." >lnd/clm2/isotopes/atm_delta_C13_CMIP6_1850-2015_yearly_c170429.nc</atm_c13_filename>
<atm_c14_filename use_c14=".true." use_c14_bombspike =".true." >lnd/clm2/isotopes/atm_delta_C14_CMIP6_3x1_global_1850-2015_yearly_c170429.nc</atm_c14_filename>
<atm_c13_filename use_c13=".true." use_c13_timeseries=".true." >lnd/clm2/isotopes/atm_delta_C13_CMIP6_1850-2015_yearly_v2.0_c171012.nc</atm_c13_filename>
<atm_c14_filename use_c14=".true." use_c14_bombspike =".true." >lnd/clm2/isotopes/atm_delta_C14_CMIP6_3x1_global_1850-2015_yearly_v2.0_c171012.nc</atm_c14_filename>

<!-- Irrigation default -->
<irrigate use_crop=".true." >.false.</irrigate>
Expand Down
137 changes: 137 additions & 0 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,141 @@
===============================================================
Tag name: clm4_5_17_r263
Originator(s): erik (Erik Kluzek)
Date: Wed Nov 8 15:36:41 MST 2017
One-line Summary: Drydep vel. for SO2 doubled, influence of organic mater in soil calmed, max daylength not hardwired to present day

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

Keep the hydraulic conductivity for organic soil higher than it is for mineral soil. This was found to be an issue and fixed by
Sean Swenson, Dave Lawrence, and Keith Oleson. Double dry deposition velocity for SO2 (Jean-Francois Lamaruque) for both clm4_5
and clm5_0. Fix bug for value of NACTIVE at first time-step. Partial fix so that max daylengh isn't hardwired to present day at least
at initialization (see caveat below). Move the sample files for the mkprocdata_map tool (for mapping between unstructured grids
and regular lat lon grids) out of CLM and into $CSMDATA. Update the c13/c14 timeseries files to the 2.0 version as per Keith Lindsay.

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

Bugs fixed (include bugzilla ID):
2530 -- organic soil influence varies wildly
2304 -- NACTIVE at first time step
1843 -- Max daylength now uses orbital parameters at initialization rather than hardwired to present day (partial)

Known bugs introduced in this tag:
2529 -- SSP case that runs on cheyenne fails on hobart

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

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

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

Changes made to namelist defaults (e.g., changed parameter values): None

Changes to the datasets (e.g., parameter, surface or initial files): c13/c14 time-series files

Substantial timing or memory changes: None

Notes of particular relevance for developers: (including Code reviews and testing)
---------------------------------------------

Caveats for developers (e.g., code that is duplicated that requires double maintenance):
Max daylength will still be wrong in cases where variable_years is used, where the orbit
changes after initializaiton. It'll start out correct and begin to diverge each year.
Since, this feature is untested it's not worth going through the additional changes to
correct it during the run.

At the time the tag was made, cheyenne was down, so there are six tests that weren't confirmed to pass:
ERS_D_Ld3.f19_f19_mg16.IHistClm40SpCruGs.cheyenne_intel.clm-40default
ERS_Ly5_P60x1.f10_f10_musgs.IHistClm50BgcCrop.cheyenne_intel.clm-cropMonthOutput
SMS_D_Ld5.f10_f10_musgs.I2000Clm50Fates.cheyenne_intel.clm-fates
SMS_D_Ly2.1x1_numaIA.IHistClm50BgcCropGs.cheyenne_intel.clm-ciso_bombspike1963
SMS_Ld1.f19_f19_mg16.IHistClm40SpCruGs.cheyenne_intel.clm-40default
SMS_Ld1.f19_g17.I2000Clm50Vic.cheyenne_intel.clm-default

Changes to tests or testing: tools testing modified to point to files in CSMDATA

Code reviewed by: self,lamar,oleson,sacks,dlawren

Did you follow the steps in .CLMTrunkChecklist: yes

CLM testing: regular, tools

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

build-namelist tests:

cheyenne - PASS

unit-tests (components/clm/src):

cheyenne - PASS

tools-tests (components/clm/test/tools):

cheyenne - PASS

regular tests (aux_clm):

yellowstone_intel - OK
yellowstone_pgi --- OK
yellowstone_gnu --- OK
cheyenne_intel ---- OK
cheyenne_gnu ------ OK
hobart_nag -------- OK
hobart_pgi -------- OK
hobart_intel ------ OK

CLM tag used for the baseline comparisons: clm4_5_16_r262


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

Changes answers relative to baseline: Yes!

Summarize any changes to answers, i.e.,
- what code configurations: clm4_5 and clm5_0
- what platforms/compilers: all
- nature of change: changes answers with bug fixes in a significant way

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/csm/clm50_r243_1deg_GSWP3V2_cropopt_nsc_hksat_hist


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

List any svn externals directories updated (cime, rtm, mosart, cism, etc.): none

List all files eliminated:

Remove sample files, move to CSMDATA, remove sample namelist
D components/clm/tools/mkprocdata_map/clm4054_f19g16_I2000.clm2.h0.2000-01_c170430.nc
D components/clm/tools/mkprocdata_map/map_ne30np4_nomask_to_fv1.9x2.5_nomask_aave_da_c121107.nc
D components/clm/tools/mkprocdata_map/clm4054_ne30g16_I2000.clm2.h0.2000-01_c170430.nc
D components/clm/tools/mkprocdata_map/mkprocdata_map_in

List all files added and what they do:

A components/clm/tools/mkprocdata_map/README.filedescriptions -- Describe the files in this directory

List all existing files that have been modified, and describe the changes:

M components/clm/test/tools/nl_files/mkprocdata_ne30_to_f19_I2000 - Point to files in CSMDATA rather than mkprocdata_map dir.

M components/clm/bld/namelist_files/namelist_defaults_clm4_5.xml -- Point to new v2.0 of the c13/c14 timeseries files

M components/clm/src/biogeophys/SoilStateInitTimeConstMod.F90 -- Fix bug 2530 for organic mater influence in soil
M components/clm/src/biogeochem/DryDepVelocity.F90 ------------- Double SO2 dry deposition rate
M components/clm/src/biogeochem/CNFUNMod.F90 ------------------- Bug, 2304 for NACTIVE on history for first time-step
M components/clm/src/biogeochem/ch4Mod.F90 --------------------- Bug, 2528, floating overflow for methane (doesn't change answers)
M components/clm/src/main/clm_initializeMod.F90 ---------------- Bug, 1843, max daylength no longer hardwired to present day at initialization

===============================================================
===============================================================
Tag name: clm4_5_16_r262
Originator(s): sacks (Bill Sacks)
Date: Fri Oct 27 10:17:54 MDT 2017
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
============================================================================================================================
clm4_5_17_r263 erik 11/08/2017 Drydep vel. for SO2 doubled, influence of organic mater in soil calmed, max daylength not hardwired to present day
clm4_5_16_r262 sacks 10/27/2017 Rename atm2lnd history fields for downscaled fields, properly turn on vic for clm45, and other minor fixes
clm4_5_16_r261 sacks 10/25/2017 Add option to reset snow over glacier columns
clm4_5_16_r260 erik 10/24/2017 Update paramater file for CLM50 as well as fates, fix a few issues
Expand Down
2 changes: 1 addition & 1 deletion src/biogeochem/CNFUNMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1472,7 +1472,6 @@ subroutine CNFUN(bounds,num_soilc, filter_soilc,num_soilp&

Nactive_no3(p) = n_active_no3_acc_total(p)/dt + n_active_no3_retrans_total(p)/dt
Nactive_nh4(p) = n_active_nh4_acc_total(p)/dt + n_active_nh4_retrans_total(p)/dt
Nactive(p) = Nactive_no3(p) + Nactive_nh4(p) + Nnonmyc_no3(p) + Nnonmyc_nh4(p)



Expand All @@ -1489,6 +1488,7 @@ subroutine CNFUN(bounds,num_soilc, filter_soilc,num_soilp&
Nuptake(p) = Nactive_no3(p) + Nactive_nh4(p) + Nnonmyc_no3(p) &
+ Nnonmyc_nh4(p) + Nfix(p) + Npassive(p) + &
retransn_to_npool(p)+free_retransn_to_npool(p)
Nactive(p) = Nactive_no3(p) + Nactive_nh4(p) + Nnonmyc_no3(p) + Nnonmyc_nh4(p)

! free N goes straight to the npool, not throught Nuptake...
sminn_to_plant_fun(p) = Nactive_no3(p) + Nactive_nh4(p) + Nnonmyc_no3(p) + Nnonmyc_nh4(p) + Nfix(p) + Npassive(p)
Expand Down
2 changes: 2 additions & 0 deletions src/biogeochem/DryDepVelocity.F90
Original file line number Diff line number Diff line change
Expand Up @@ -611,6 +611,8 @@ subroutine depvel_compute( bounds, &
velocity(pi,ispec) = 0.2_r8
case ( 'CB1', 'CB2', 'OC1', 'OC2', 'SOAM', 'SOAI', 'SOAT', 'SOAB', 'SOAX' )
velocity(pi,ispec) = 0.10_r8
case ( 'SO2' )
velocity(pi,ispec) = (1._r8/(ram1(pi)+rb1(pi)+rc))*200._r8
case default
velocity(pi,ispec) = (1._r8/(ram1(pi)+rb1(pi)+rc))*100._r8
end select
Expand Down
6 changes: 5 additions & 1 deletion src/biogeochem/ch4Mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -3342,7 +3342,11 @@ subroutine ch4_tran (bounds, &

o2demand = o2_decomp_depth(c,j) + o2_oxid_depth(c,j) ! o2_decomp_depth includes autotrophic root respiration
if (o2demand > 0._r8) then
o2stress(c,j) = min((conc_o2(c,j) / dtime + o2_aere_depth(c,j)) / o2demand, 1._r8)
if ( (conc_o2(c,j) / dtime + o2_aere_depth(c,j)) > o2demand )then
o2stress(c,j) = 1._r8
else
o2stress(c,j) = (conc_o2(c,j) / dtime + o2_aere_depth(c,j)) / o2demand
end if
else
o2stress(c,j) = 1._r8
end if
Expand Down
2 changes: 1 addition & 1 deletion src/biogeophys/SoilStateInitTimeConstMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -457,7 +457,7 @@ subroutine SoilStateInitTimeConst(bounds, soilstate_inst, nlfilename)
om_watsat = max(0.93_r8 - 0.1_r8 *(zsoi(lev)/zsapric), 0.83_r8)
om_b = min(2.7_r8 + 9.3_r8 *(zsoi(lev)/zsapric), 12.0_r8)
om_sucsat = min(10.3_r8 - 0.2_r8 *(zsoi(lev)/zsapric), 10.1_r8)
om_hksat = max(0.28_r8 - 0.2799_r8*(zsoi(lev)/zsapric), 0.0001_r8)
om_hksat = max(0.28_r8 - 0.2799_r8*(zsoi(lev)/zsapric), xksat)

soilstate_inst%bd_col(c,lev) = (1._r8 - soilstate_inst%watsat_col(c,lev))*2.7e3_r8
soilstate_inst%watsat_col(c,lev) = (1._r8 - om_frac) * soilstate_inst%watsat_col(c,lev) + om_watsat*om_frac
Expand Down
5 changes: 2 additions & 3 deletions src/main/clm_initializeMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -385,11 +385,10 @@ subroutine initialize2( )
call InitDaylength(bounds_proc, declin=declin, declinm1=declinm1)

! Initialize maximum daylength, based on latitude and maximum declination
! maximum declination hardwired for present-day orbital parameters,
! +/- 23.4667 degrees = +/- 0.409571 radians, use negative value for S. Hem
! given by the obliquity use negative value for S. Hem

do g = bounds_proc%begg,bounds_proc%endg
max_decl = 0.409571
max_decl = obliqr
if (grc%lat(g) < 0._r8) max_decl = -max_decl
grc%max_dayl(g) = daylength(grc%lat(g), max_decl)
end do
Expand Down
2 changes: 1 addition & 1 deletion test/tools/nl_files/mkprocdata_ne30_to_f19_I2000
Original file line number Diff line number Diff line change
@@ -1 +1 @@
-i CFGDIR/clm4054_ne30g16_I2000.clm2.h0.2000-01_c170430.nc -o ne30output_onf19grid.nc -m CFGDIR/map_ne30np4_nomask_to_fv1.9x2.5_nomask_aave_da_c121107.nc -t CFGDIR/clm4054_f19g16_I2000.clm2.h0.2000-01_c170430.nc -e EXEDIR
-i CSMDATA/lnd/clm2/test_mkprocdata_map/clm4054_ne30g16_I2000.clm2.h0.2000-01_c170430.nc -o ne30output_onf19grid.nc -m CSMDATA/lnd/clm2/test_mkprocdata_map/map_ne30np4_nomask_to_fv1.9x2.5_nomask_aave_da_c121107.nc -t CSMDATA/lnd/clm2/test_mkprocdata_map/clm4054_f19g16_I2000.clm2.h0.2000-01_c170430.nc -e EXEDIR
25 changes: 25 additions & 0 deletions tools/mkprocdata_map/README.filedescriptions
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
README.filedescriptions Erik Kluzek
11/7/2017

mkprocdata_map_all ------------ Script to run over a list of files
mkprocdata_map_wrap ----------- Main script to actually use
mkprocdata_map_functions.bash - Bash shell functions to use in other scripts
README ------------------------ Description and how to run
src --------------------------- Directory with FORTRAN source code

Also there are some sample files that can be used for testing under inputdata in

$DIN_LOC_ROOT/lnd/clm2/test_mkprocdata_map

See how this is done by looking at the file for testing mkprocdata_map:

../../test/tools/nl_files/mkprocdata_ne30_to_f19_I2000

Which does something like the following:

./mkprocdata_map_wrap \
-i $DIN_LOC_ROOT/lnd/clm2/test_mkprocdata_map/clm4054_ne30g16_I2000.clm2.h0.2000-01_c170430.nc \
-o ne30output_onf19grid.nc \
-m $DIN_LOC_ROOT/lnd/clm2/test_mkprocdata_map/map_ne30np4_nomask_to_fv1.9x2.5_nomask_aave_da_c121107.nc \
-t $DIN_LOC_ROOT/lnd/clm2/test_mkprocdata_map/clm4054_f19g16_I2000.clm2.h0.2000-01_c170430.nc

6 changes: 0 additions & 6 deletions tools/mkprocdata_map/mkprocdata_map_in

This file was deleted.

0 comments on commit bea22b6

Please sign in to comment.