From 2e57642d2d59f7ec18443b1667011e2294fde11c Mon Sep 17 00:00:00 2001 From: mvdebolskiy Date: Fri, 20 Oct 2023 14:19:43 +0200 Subject: [PATCH] Revert "Merge remote-tracking branch 'upstream/master' into noresm" This reverts commit 669d7ee9ddd6641cfb6ea4620059358b1fa6f9d8, reversing changes made to 22dd9a3481207bd853d1976c0937a5abf6a3eba5. --- bld/CLMBuildNamelist.pm | 50 +- bld/namelist_files/namelist_defaults_ctsm.xml | 20 +- .../namelist_definition_ctsm.xml | 83 +- doc/ChangeLog | 264 --- doc/ChangeSum | 3 - doc/design/dynamic_urban.rst | 10 +- doc/design/water_tracers.rst | 2 +- doc/source/conf.py | 3 + .../obtaining-and-building-ctsm.rst | 1 + .../lilac/specific-atm-models/index.rst | 2 +- .../lilac/specific-atm-models/wrf-nesting.rst | 67 +- .../lilac/specific-atm-models/wrf-tools.rst | 10 + doc/source/lilac/specific-atm-models/wrf.rst | 55 +- .../tech_note/BVOCs/CLM50_Tech_Note_BVOCs.rst | 57 +- .../CLM50_Tech_Note_CN_Allocation.rst | 122 +- .../CN_Pools/CLM50_Tech_Note_CN_Pools.rst | 50 +- .../CLM50_Tech_Note_Crop_Irrigation.rst | 768 +++++-- .../tech_note/DGVM/CLM50_Tech_Note_DGVM.rst | 15 +- .../CLM50_Tech_Note_Decomposition.rst | 569 +++-- .../tech_note/Dust/CLM50_Tech_Note_Dust.rst | 135 +- .../Ecosystem/CLM50_Tech_Note_Ecosystem.rst | 613 ++++- ...LM50_Tech_Note_External_Nitrogen_Cycle.rst | 237 +- .../tech_note/FUN/CLM50_Tech_Note_FUN.rst | 158 +- .../tech_note/Fire/CLM50_Tech_Note_Fire.rst | 382 +++- .../Fluxes/CLM50_Tech_Note_Fluxes.rst | 1082 ++++++--- .../Glacier/CLM50_Tech_Note_Glacier.rst | 387 +++- .../Hydrology/CLM50_Tech_Note_Hydrology.rst | 642 ++++-- .../CLM50_Tech_Note_Introduction.rst | 458 +++- .../Isotopes/CLM50_Tech_Note_Isotopes.rst | 160 +- .../tech_note/Lake/CLM50_Tech_Note_Lake.rst | 858 +++++-- .../CLM50_Tech_Note_Land-Only_Mode.rst | 178 +- .../MOSART/CLM50_Tech_Note_MOSART.rst | 176 +- .../Methane/CLM50_Tech_Note_Methane.rst | 423 +++- .../CLM50_Tech_Note_Photosynthesis.rst | 283 ++- ...LM50_Tech_Note_Photosynthetic_Capacity.rst | 189 +- .../CLM50_Tech_Note_Plant_Hydraulics.rst | 260 ++- .../CLM50_Tech_Note_Plant_Mortality.rst | 234 +- .../CLM50_Tech_Note_Plant_Respiration.rst | 67 +- .../CLM50_Tech_Note_Radiative_Fluxes.rst | 189 +- .../References/CLM50_Tech_Note_References.rst | 1536 ++++++++++--- .../CLM50_Tech_Note_Snow_Hydrology.rst | 422 +++- ...CLM50_Tech_Note_Soil_Snow_Temperatures.rst | 483 ++-- .../CLM50_Tech_Note_Surface_Albedos.rst | 518 ++++- .../CLM50_Tech_Note_Transient_Landcover.rst | 348 ++- .../tech_note/Urban/CLM50_Tech_Note_Urban.rst | 174 +- ...ech_Note_Vegetation_Phenology_Turnover.rst | 610 +++-- doc/source/tech_note/index.rst | 7 +- ...w-Files-to-the-build-namelist-Database.rst | 18 +- .../Adding-Resolution-Names.rst | 13 +- .../Adding-or-Changing-Default-Filenames.rst | 19 +- doc/source/users_guide/index.rst | 5 +- .../users_guide/overview/getting-help.rst | 19 +- .../users_guide/overview/introduction.rst | 199 +- .../users_guide/overview/quickstart.rst | 6 +- .../overview/scientific_validation.rst | 7 +- .../running-PTCLM/adding-ptclm-site-data.rst | 37 +- .../running-PTCLM/introduction-to-ptclm.rst | 18 +- .../running-PTCLM/ptclm-examples.rst | 2 +- .../users_guide/running-PTCLM/using-ptclm.rst | 56 +- .../running-pts_mode-configurations.rst | 12 +- .../running-single-point-configurations.rst | 41 +- ...point-and-regional-grid-configurations.rst | 26 +- ...transient-historical-CO2-concentration.rst | 24 +- ...tmospheric-forcing-to-spinup-the-model.rst | 8 +- .../Running-with-anomaly-forcing.rst | 4 +- ...tmospheric-forcing-to-spinup-the-model.rst | 10 +- ...Satellite-Phenology-Model-CLMSP-spinup.rst | 14 +- ...ning-up-the-biogeochemistry-BGC-spinup.rst | 27 +- .../running-the-prognostic-crop-model.rst | 7 +- .../running-with-irrigation.rst | 8 +- .../what-is-a-special-case.rst | 4 +- .../choosing-a-compset.rst | 19 +- .../customizing-the-clm-configuration.rst | 195 +- .../customizing-the-clm-namelist.rst | 73 +- .../customizing-the-datm-namelist.rst | 54 +- .../history_fields_fates.rst | 8 +- .../history_fields_nofates.rst | 8 +- doc/source/users_guide/testing/index.rst | 1 + doc/source/users_guide/testing/testing.rst | 21 +- .../trouble-shooting/trouble-shooting.rst | 21 +- .../building-the-clm-tools.rst | 15 +- .../users_guide/using-clm-tools/cprnc.rst | 8 +- .../using-clm-tools/creating-domain-files.rst | 3 +- ...g-input-for-surface-dataset-generation.rst | 41 +- .../datasts-for-observational-sites.rst | 14 +- .../observational-sites-datasets.rst | 13 +- .../what-are-the-clm-tools.rst | 45 +- src/biogeochem/CNProductsMod.F90 | 29 +- src/biogeochem/CNVegCarbonStateType.F90 | 1 + src/biogeochem/DryDepVelocity.F90 | 1 + src/biogeophys/AerosolMod.F90 | 27 - src/biogeophys/BareGroundFluxesMod.F90 | 4 + src/biogeophys/SnowSnicarMod.F90 | 1972 +++++------------ src/biogeophys/SolarAbsorbedType.F90 | 3 +- src/biogeophys/SurfaceAlbedoMod.F90 | 109 +- src/biogeophys/SurfaceAlbedoType.F90 | 206 +- src/biogeophys/SurfaceRadiationMod.F90 | 5 +- src/biogeophys/UrbanAlbedoMod.F90 | 20 +- src/cpl/nuopc/lnd_import_export.F90 | 26 +- src/main/clm_varctl.F90 | 30 - src/main/controlMod.F90 | 45 +- 101 files changed, 11442 insertions(+), 5519 deletions(-) diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm index f32b1b29b4..2136cfc05c 100755 --- a/bld/CLMBuildNamelist.pm +++ b/bld/CLMBuildNamelist.pm @@ -1557,7 +1557,6 @@ sub process_namelist_inline_logic { setup_logic_irrigate($opts, $nl_flags, $definition, $defaults, $nl); setup_logic_start_type($opts, $nl_flags, $nl); setup_logic_decomp_performance($opts, $nl_flags, $definition, $defaults, $nl); - setup_logic_snicar_methods($opts, $nl_flags, $definition, $defaults, $nl); setup_logic_snow($opts, $nl_flags, $definition, $defaults, $nl); setup_logic_glacier($opts, $nl_flags, $definition, $defaults, $nl, $envxml_ref); setup_logic_dynamic_plant_nitrogen_alloc($opts, $nl_flags, $definition, $defaults, $nl, $physv); @@ -1983,57 +1982,10 @@ sub setup_logic_decomp_performance { #------------------------------------------------------------------------------- -sub setup_logic_snicar_methods { - my ($opts, $nl_flags, $definition, $defaults, $nl) = @_; - - add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'snicar_snw_shape' ); - add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'snicar_solarspec' ); - add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'snicar_dust_optics' ); - add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'snicar_numrad_snw' ); - add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'snicar_snobc_intmix' ); - add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'snicar_snodst_intmix' ); - add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'snicar_use_aerosol' ); - add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_snicar_frc' ); - add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'do_sno_oc' ); - - # Error checking in loop - my %supportedSettings = ( 'snicar_solarspec' => "'mid_latitude_winter'", 'snicar_dust_optics' => "'sahara'", 'snicar_numrad_snw' => '5', 'snicar_snobc_intmix' => '.false.', 'snicar_snodst_intmix' => '.false.', 'snicar_use_aerosol' => '.true.', 'do_sno_oc' => '.false.' ); - keys %supportedSettings; - while ( my ($key, $val) = each %supportedSettings ) { - my $var = $nl->get_value($key); - if ( $var ne $val ) { - $log->warning("$key=$val is the supported option; $var is EXPERIMENTAL, UNSUPPORTED, and UNTESTED!"); - } - } - - # Error checking not in loop - my $key1 = 'snicar_snw_shape'; - my $var1 = $nl->get_value($key1); - my $val1a = "'sphere'"; # supported value for this option - my $val1b = "'hexagonal_plate'"; # supported value for this option - if (($var1 ne $val1a) && ($var1 ne $val1b)) { - $log->warning("$key1=$val1a and $val1b are supported; $var1 is EXPERIMENTAL, UNSUPPORTED, and UNTESTED!"); - } - - # snicar_snobc_intmix and snicar_snodst_intmix cannot both be true - my $key1 = 'snicar_snobc_intmix'; - my $key2 = 'snicar_snodst_intmix'; - my $var1 = $nl->get_value($key1); - my $var2 = $nl->get_value($key2); - my $val1 = $supportedSettings{$key1}; # supported value for this option - if (($var1 eq $var2) && ($var1 ne $val1)) { - $log->warning("$key1 = $var1 and $key2 = $var2 do not work together!"); - } -} - -#------------------------------------------------------------------------------- - sub setup_logic_snow { my ($opts, $nl_flags, $definition, $defaults, $nl) = @_; - my $numrad_snw = $nl->get_value('snicar_numrad_snw'); - add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fsnowoptics', - 'snicar_numrad_snw' => $numrad_snw); + add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fsnowoptics' ); add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fsnowaging' ); } diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index e94cdba456..68e38117be 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -1555,24 +1555,8 @@ use_crop=".true.">lnd/clm2/surfdata_map/ctsm5.1.dev052/landuse.timeseries_mpasa1 -lnd/clm2/snicardata/snicar_drdt_bst_fit_60_c070416.nc - -5 - -lnd/clm2/snicardata/snicar_optics_480bnd_c012422.nc -lnd/clm2/snicardata/snicar_optics_5bnd_c013122.nc - -hexagonal_plate -sphere -sphere - -.false. -mid_latitude_winter -sahara -.false. -.false. -.true. -.false. +lnd/clm2/snicardata/snicar_optics_5bnd_c090915.nc +lnd/clm2/snicardata/snicar_drdt_bst_fit_60_c070416.nc 2015 diff --git a/bld/namelist_files/namelist_definition_ctsm.xml b/bld/namelist_files/namelist_definition_ctsm.xml index 16231b3c01..9a0663c34f 100644 --- a/bld/namelist_files/namelist_definition_ctsm.xml +++ b/bld/namelist_files/namelist_definition_ctsm.xml @@ -150,54 +150,6 @@ specify spatially variable soil thickness. If not present, use bottom of soil column (nlevsoi). - -number of wavelength bands used in SNICAR snow albedo calculation -(snicar_numrad_snw=5 is the only supported option; others are EXPERIMENTAL, UNSUPPORTED, and UNTESTED!) - - - -type of downward solar radiation spectrum for SNICAR snow albedo calculation -(snicar_solarspec='mid_latitude_winter' is the only supported option; others are EXPERIMENTAL, UNSUPPORTED, and UNTESTED!) - - - -dust optics type for SNICAR snow albedo calculation -(snicar_dust_optics='sahara' is the only supported option; others are EXPERIMENTAL, UNSUPPORTED, and UNTESTED!) - - - -snow grain shape used in SNICAR snow albedo calculation -(snicar_dust_optics='hexagonal_plate' is supported in ctsm5.1 and 'sphere' in older model versions; others are EXPERIMENTAL, UNSUPPORTED, and UNTESTED!) - - - -Toggle to turn on/off aerosol deposition flux in snow in SNICAR -(snicar_use_aerosol='.false.' is EXPERIMENTAL, UNSUPPORTED, and UNTESTED!) - - - -option to activate BC-snow internal mixing in SNICAR snow albedo calculation -(snicar_snobc_intmix='.true.' is EXPERIMENTAL, UNSUPPORTED, and UNTESTED!) - - - -option to activate dust-snow internal mixing in SNICAR snow albedo calculation -(snicar_snodst_intmix='.true.' is EXPERIMENTAL, UNSUPPORTED, and UNTESTED!) - - - -option to activate organic carbon (OC) in SNICAR snow albedo calculation -(do_sno_oc='.true.' is EXPERIMENTAL, UNSUPPORTED, and UNTESTED!) - - Index of rooting profile for water @@ -1113,13 +1065,13 @@ Maximum nitrification rate constant (1/s) Toggle to use 25 lake layers instead of 10 -(extralaklayers=".true." is EXPERIMENTAL, UNSUPPORTED, and UNTESTED!) +(extralaklayers=".true." is EXPERIMENTAL NOT SUPPORTED! Nor is it Tested!) Toggle to turn on the VIC hydrologic parameterizations -(vichydro=".true." is EXPERIMENTAL, UNSUPPORTED!) +(vichydro=".true." is EXPERIMENTAL NOT SUPPORTED!) -Toggle to turn on calculation of SNow and Ice Aerosol Radiation model (SNICAR) albedo forcing diagnostics for each aerosol species + group="clm_inparm" valid_values="" value=".false."> +Toggle to turn on calculation of SNow and Ice Aerosol Radiation model (SNICAR) radiative forcing +(snicar_frc=".true." is EXPERIMENTAL NOT SUPPORTED!) Toggle to turn on use of LAI streams in place of the LAI on the surface dataset when using Satellite Phenology mode. -(EXPERIMENTAL, UNSUPPORTED, and UNTESTED!) +(EXPERIMENTAL and NOT tested) If true, no denitrification or nitrification in frozen soil layers. -(EXPERIMENTAL, UNSUPPORTED, and UNTESTED!) +(EXPERIMENTAL and NOT tested) If TRUE, weight btran (vegetation soil moisture availability) by unfrozen layers only, assuming that vegetation will allocate roots preferentially to the active layer. -(EXPERIMENTAL, UNSUPPORTED, and UNTESTED!) +(EXPERIMENTAL and NOT tested) If TRUE, weight btran (vegetation soil moisture availability) by the active layer, as defined by the greatest thaw depth over the current and prior years. -(EXPERIMENTAL, UNSUPPORTED, and UNTESTED!) +(EXPERIMENTAL and NOT tested) @@ -2392,7 +2345,7 @@ How much Carbon to initialize vegetation pools (leafc/frootc and storage) to whe Flexible CN ratio used for Phenology -(EXPERIMENTAL, UNSUPPORTED, and UNTESTED!) +(EXPERIMENTAL and NOT tested) Vcmax calculation for Photosynthesis - vcmax_opt = 4 As for vcmax_opt=0, but using leafN, and exponential if tree (EXPERIMENTAL, UNSUPPORTED, and UNTESTED!) + vcmax_opt = 4 As for vcmax_opt=0, but using leafN, and exponential if tree (EXPERIMENTAL NOT TESTED!) vcmax_opt = 3 Based on leafN and VCAD (used with Luna for crop and C4 vegetation) vcmax_opt = 0 Based on canopy top and foilage Nitrogen limitation factor from params file (clm4.5) @@ -2412,13 +2365,13 @@ Vcmax calculation for Photosynthesis Evergreen phenology option for CNPhenology -(EXPERIMENTAL, UNSUPPORTED, and UNTESTED!) +(EXPERIMENTAL and NOT tested) Carbon respiration option to burn off carbon when CN ratio is too high (do NOT use when FUN is on) -(EXPERIMENTAL, UNSUPPORTED, and UNTESTED!) +(EXPERIMENTAL and NOT tested) @@ -2476,7 +2429,7 @@ then don't fix aere (see ch4Mod.F90). If TRUE, turn on methane biogeochemistry model for lake columns, using a simplified version of the CH4 submodel. -(EXPERIMENTAL, UNSUPPORTED!) +(EXPERIMENTAL) If TRUE, use the fine root carbon predicted by CN when calculating the aerenchyma area, rather than the parametrization based on annual NPP, aboveground NPP fraction, and LAI. -(EXPERIMENTAL, UNSUPPORTED, and UNTESTED!) +(EXPERIMENTAL and NOT tested) diff --git a/doc/ChangeLog b/doc/ChangeLog index 537febda2c..8e8a99b868 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,268 +1,4 @@ =============================================================== -Tag name: ctsm5.1.dev145 -Originator(s): @cenlinhe (Cenlin He,UCAR/RAL), slevis (Samuel Levis,UCAR/TSS,303-665-1310) -Date: Thu Oct 19 14:34:25 MDT 2023 -One-line Summary: SNICAR snow albedo scheme updates - -Purpose and description of changes ----------------------------------- - - Notes copied here from the PR #1861: - - A few substantial changes in the SNICAR module for the following updated snow - albedo calculation features: - - Updated ice optical properties from Flanner et al. (2021), with multiple types - for ice refractive indices. - - Updated aerosol optical properties from Flanner et al. (2021) with multiple - dust types & new BC and OC optics. - - Updated downward solar spectra from Flanner et al. (2021) for multiple - condition types. - - More accurate radiative transfer solver (adding-doubling) from Dang et al. (2019). - - Nonspherical snow grain scheme from He et al. (2017). - - BC-snow internal mixing scheme from He et al. (2017). - - Dust-snow internal mixing scheme from He et al. (2019). - - Hyperspectral (480-band, 10-nm spectral res) capability with all the above features. - - New namelist controls for aerosol in snow and additional snow albedo - diagnostic output variables. - - Specific notes - - Code contributors: Cenlin He (NCAR/RAL) with advice from - Dave Lawrence (NCAR/CGD) and Mark Flanner (UMich). - - The manuscript to report this update is - Cenlin He, Mark Flanner, David M Lawrence, Yu Gu: New features and - enhancements in Community Land Model (CLM5) snow albedo modeling: description, - sensitivity, and evaluation. Authorea. June 08, 2023. - DOI:10.22541/essoar.168626390.01530324/v1 - - These updates will change the snow and surface albedo results along with - other surface fluxes changes. - - There are a few new namelist options related to SNICAR scheme added to the - namelist control. - - -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 - -[X] clm5_0 - -[X] ctsm5_0-nwp - -[X] clm4_5 - - -Bugs fixed or introduced ------------------------- -CTSM issues fixed (all three unrelated to this PR): -Fixes #2173 -Fixes #2107 -Fixes #2129 - -Notes of particular relevance for users ---------------------------------------- -Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): - New namelist variables: - snicar_numrad_snw = 5 or 480 wavelength bands, default 5 - snicar_solarspec, default "mid_latitude_winter" among six available options - snicar_dust_optics, default "sahara" among three avail. options - snicar_snw_shape, default "hexagonal_plate" among fourn avail. options - snicar_use_aerosol, default .true. - snicar_snobc_intmix and snicar_snodst_intmix, default .false. means do not - activate bc-snow and dust-snow internal mixing - - do_sno_oc, default .false., already appeared in previous code but in caps - use_snicar_frc, default .false., existed before - fsnowoptics now points to an updated 5-band file and gives the option for a - 480-band file - -Substantial timing or memory changes: -[e.g., check PFS test in the test suite and look at timings, if you -expect possible significant timing changes] - - -Notes of particular relevance for developers: ---------------------------------------------- -Changes to tests or testing: - - -Testing summary: ----------------- - - [PASS means all tests PASS; OK means tests PASS other than expected fails.] - - regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): - - cheyenne ---- OK - izumi ------- OK - - -Answer changes --------------- - -Changes answers relative to baseline: - YES - - Summarize any changes to answers, i.e., - - what code configurations: All - - what platforms/compilers: All - - nature of change: larger than roundoff; new climate? - - Namelist defaults are such that phys="clm5.0" and phys="clm4.5" give different - answers only due to the changed fsnowoptics file. - Namelist defaults are such that phys="clm5.1" changes answers as a result of - new parameterizations. - - If this tag changes climate, I will document such information on - https://github.com/ESCOMP/CTSM/wiki/Answer-changing-tags - -Other details -------------- -Pull Requests that document the changes (include PR ids): - https://github.com/ESCOMP/ctsm/pull/1861 - -=============================================================== -=============================================================== -Tag name: ctsm5.1.dev144 -Originator(s): samrabin (Sam Rabin, UCAR/TSS, samrabin@ucar.edu) -Date: Thu Oct 19 13:30:02 MDT 2023 -One-line Summary: Remove a deprecated shr_mpi_bcast call - -Purpose and description of changes ----------------------------------- - -Removes a use of the deprecated shr_mpi_mod, replacing with ESMF_VMBroadcast. In addition, since the last tag, some minor documentation changes have been made. - - -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.] - -[ ] clm5_1 - -[ ] clm5_0 - -[ ] ctsm5_0-nwp - -[ ] clm4_5 - - -Testing summary: ----------------- - - [PASS means all tests PASS; OK means tests PASS other than expected fails.] - - regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): - - cheyenne ---- OK - izumi ------- OK - -If the tag used for baseline comparisons was NOT the previous tag, note that here: Compared ctsm5.1.dev142 to a version of this branch (1f39800e1) with ctsm5.1.dev142 merged in. - - -Answer changes --------------- - -Changes answers relative to baseline: No - -Other details -------------- -[Remove any lines that don't apply. Remove entire section if nothing applies.] - -List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): - -Pull Requests that document the changes (include PR ids): -* #1991 (https://github.com/ESCOMP/CTSM/pull/1991) - -=============================================================== -=============================================================== -Tag name: ctsm5.1.dev143 -Originator(s): rgknox (Ryan Knox,LAWRENCE BERKELEY NATIONAL LABORATORY,510-495-) -Date: Fri Oct 13 08:53:38 MDT 2023 -One-line Summary: Zeroing of wood product fluxes on fates columns - -Purpose and description of changes ----------------------------------- - -This is a small change that initializes wood product fluxes on fates columns to zero. These -products are otherwise zero'd in a p2c() routine that is incompatible with fates. When -wood product fluxes become available via fates, these routines will be updated. These fluxes -were previously left as uninitialized, which was causing math issues on some compilers. - - -Significant changes to scientifically-supported configurations --------------------------------------------------------------- - -There are no changes to scientifically-supported configurations. - -[ ] clm5_1 - -[ ] clm5_0 - -[ ] ctsm5_0-nwp - -[ ] clm4_5 - - -Bugs fixed or introduced ------------------------- - -Fixes CTSM issue 2165 - - -Notes of particular relevance for users ---------------------------------------- - - -No caveats, no bugs, no issues of relevance. - -No noticable timing changes. - - -Notes of particular relevance for developers: ---------------------------------------------- - -None - - -Testing summary: ----------------- - - regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): - - cheyenne ---- OK - izumi ------- PASS - - Compared against baseline: ctsm5.1.dev142 - - -Answer changes --------------- - -Answer changes only on FATES tests, and only on the specific wood product fluxes modified. These values -are now zeros, instead of being uninitialized. Everything else is b4b. - - -Other details -------------- - -No other details. - -Pull Requests that document the changes (include PR ids): - #2168 -- GRU update for FATES - #2134 -- Update to documentation for Meier et al. (2022) roughness length parameterization - https://github.com/ESCOMP/CTSM/pull - -=============================================================== -=============================================================== Tag name: ctsm5.1.dev142 Originator(s): samrabin (Sam Rabin, UCAR/TSS, samrabin@ucar.edu) Date: Tue Sep 19 11:30:22 MDT 2023 diff --git a/doc/ChangeSum b/doc/ChangeSum index d53fd26b54..e11f439658 100644 --- a/doc/ChangeSum +++ b/doc/ChangeSum @@ -1,8 +1,5 @@ Tag Who Date Summary ============================================================================================================================ - ctsm5.1.dev145 slevis 10/19/2023 SNICAR snow albedo scheme updates - ctsm5.1.dev144 samrabin 10/19/2023 Remove a deprecated shr_mpi_bcast call - ctsm5.1.dev143 rgknox 10/13/2023 Zeroing of wood product fluxes on fates columns ctsm5.1.dev142 samrabin 09/19/2023 Merge 5 bit-for-bit pull requests ctsm5.1.dev141 slevis 09/13/2023 Change small snocan to zero ctsm5.1.dev140 afoster 09/12/2023 add lai_streams capability for FATES diff --git a/doc/design/dynamic_urban.rst b/doc/design/dynamic_urban.rst index fa7a499725..0ca5d488f4 100644 --- a/doc/design/dynamic_urban.rst +++ b/doc/design/dynamic_urban.rst @@ -6,18 +6,18 @@ Overview of this design document ================================== -This documents some of the high-level design decisions made during implementation of +This documents some of the high-level design decisions made during implementation of dynamic urban landunits. ============================================================================ The use of dzsoi_decomp for urban landunits to calculate totcolch4 in ch4Mod.F90 ============================================================================ -During the first test simulation for dynamic urban, we encountered a methane conservation -error the first time PCT_URBAN changed. The dynamic adjustments for conc_ch4_sat_col and +During the first test simulation for dynamic urban, we encountered a methane conservation +error the first time PCT_URBAN changed. The dynamic adjustments for conc_ch4_sat_col and conc_ch4_unsat_col (the column_state_updater in subroutine DynamicColumnAdjustments within ch4Mod.F90) were distributing non-zero values for roof and walls for layers 1,nlevsoi. -When the total column ch4 is summed over the soil layers (or in this case, urban layers), the -summation is done over nlevsoi, not nlevurb, using dz. dz is 1.e36 for roof/wall layers +When the total column ch4 is summed over the soil layers (or in this case, urban layers), the +summation is done over nlevsoi, not nlevurb, using dz. dz is 1.e36 for roof/wall layers that are greater than nlevurb, thus creating an imbalance. Rather than trying to keep the BGC variables physically meaningful in urban landunits, diff --git a/doc/design/water_tracers.rst b/doc/design/water_tracers.rst index c17b14a43d..b52d653393 100644 --- a/doc/design/water_tracers.rst +++ b/doc/design/water_tracers.rst @@ -30,7 +30,7 @@ Broadly speaking, we considered three ways to store information for each tracer: ``h2osoi_liq_col_tracer(c,j,m)`` for tracers). 3. Multiple instances of ``waterstate_type`` (etc.), with no extra dimension required for - individual variables. + individual variables. We decided to go with option (3) for a number of reasons: diff --git a/doc/source/conf.py b/doc/source/conf.py index dcd0b2eae6..bee524164a 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -37,6 +37,7 @@ 'sphinx.ext.autodoc', 'sphinx.ext.todo', 'sphinx.ext.coverage', + 'sphinx.ext.imgmath', 'sphinx.ext.githubpages'] # Add any paths that contain templates here, relative to this directory. @@ -93,6 +94,8 @@ # If true, `todo` and `todoList` produce output, else they produce nothing. todo_include_todos = True +imgmath_image_format = 'svg' + # -- Options for HTML output ---------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for diff --git a/doc/source/lilac/obtaining-building-and-running/obtaining-and-building-ctsm.rst b/doc/source/lilac/obtaining-building-and-running/obtaining-and-building-ctsm.rst index c0e510c017..99cb908d28 100644 --- a/doc/source/lilac/obtaining-building-and-running/obtaining-and-building-ctsm.rst +++ b/doc/source/lilac/obtaining-building-and-running/obtaining-and-building-ctsm.rst @@ -250,6 +250,7 @@ Makefile-formatted file gives variables that should be set in the atmosphere mod build. :ref:`See below for information on how to use this file`. + Rebuilding after changing CTSM source code ------------------------------------------ diff --git a/doc/source/lilac/specific-atm-models/index.rst b/doc/source/lilac/specific-atm-models/index.rst index 317732fb58..b5c3d2bc08 100644 --- a/doc/source/lilac/specific-atm-models/index.rst +++ b/doc/source/lilac/specific-atm-models/index.rst @@ -1,7 +1,7 @@ .. _specific-atm-models: ============================================================== - Instructions on using CTSM with specific atmosphere models + Instructions on using CTSM with specific atmosphere models ============================================================== .. toctree:: diff --git a/doc/source/lilac/specific-atm-models/wrf-nesting.rst b/doc/source/lilac/specific-atm-models/wrf-nesting.rst index f4c4570f2f..b21593029b 100644 --- a/doc/source/lilac/specific-atm-models/wrf-nesting.rst +++ b/doc/source/lilac/specific-atm-models/wrf-nesting.rst @@ -11,15 +11,15 @@ nested domain. A nested domain is usually used to have a finer-resolution domain within the coarser model domain. A nested simulation enables running at a higher -resolution over a smaller domain +resolution over a smaller domain .. note:: A nest should cover a portion of the parent domain and is fully contained by the parent domain, so that it is driven along its lateral boundaries by the - parent domain. + parent domain. .. todo:: - Negin wants to add a flowchart showing the workflow of a nested case. + Negin wants to add a flowchart showing the workflow of a nested case. There are currently two types of nesting available within WRF: @@ -33,10 +33,10 @@ There are currently two types of nesting available within WRF: - Also, the averaged values from the inner domain are being sent back to the outer domain at the corresponding grid points. .. important:: - Currently, the WRF-CTSM coupling infrastructure only support one-way nesting. - This example clarifies the workflow for running a nested WRF-CTSM case using one-way nesting with ``ndown.exe``. + Currently, the WRF-CTSM coupling infrastructure only support one-way nesting. + This example clarifies the workflow for running a nested WRF-CTSM case using one-way nesting with ``ndown.exe``. -The procedure for running a nested simulation for WRF with CTSM is +The procedure for running a nested simulation for WRF with CTSM is similar to the workflow for running WRF real cases, except that it requires additional steps to (1) clone the CTSM repository, (2) build CTSM and LILAC, and (3) define namelist options reuired for CTSM. @@ -46,12 +46,14 @@ A full description of all steps for a WRF-CTSM run are included here. .. important:: This section assumes the user has completed all the steps required for - WRF-CTSM simulation single domain. + WRF-CTSM simulation single domain. Therefore, we are not repeating the steps necessary for building WRF and - CTSM. + CTSM. + In this example we use a nested domain over the CONUS as shows below: + .. _Figure ctsm-ndown: .. figure:: ndown_ctsm_diagram.svg @@ -103,7 +105,7 @@ Nested Simulations : Pre-processing (ungrib.exe) ------------------------------------------------- As mentioned previously, the purpose of the ungrib script is to unpack GRIB meteorological data and pack it into an intermediate file format. -This step is exactly identical to a non-nested simulation. +This step is exactly identical to a non-nested simulation. Run ungrib to get gribbed data into usable format to be ingested by WRF. @@ -126,11 +128,12 @@ Check ungrib log for the following message showing successful completion of ungr At this point, you should see ungrib output (intermediate files) in your WPS directory. + Nested Simulations : Pre-processing (metgrid.exe) ------------------------------------------------- Ensure that the `start_date` and `end_date` for domain two is set correctly for your simulation. -Next, run ``metgrid.exe``:: +Next, run ``metgrid.exe``:: ./metgrid.exe >& log.metgrid @@ -141,12 +144,14 @@ metgrid step:: ! Successful completion of metgrid. ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + Running metgrid for two domains will create files like below:: - met_em.d01.* met_em.d02.* + + Nested Simulations : real.exe ------------------------------ @@ -155,30 +160,31 @@ both domains. In summary, complete the following steps: -Move or link WPS output files (``met_em.d01*`` and ``met_em.d02`` files) to your WRF test directory. +Move or link WPS output files (``met_em.d01*`` and ``met_em.d02`` files) to your WRF test directory. Edit namelist.input for your WRF domain and desirable configurations. This should be the same domain as WPS namelist. Make sure you set ``max_dom = -2,`` in the namelist. +2,`` in the namelist. To run WRF-CTSM, in your namelist change land-surface option to 6 for both domains:: - sf_surface_physics = 6, 6, + sf_surface_physics = 6, 6, + Run real.exe (if compiled parallel submit a batch job) to generate -initail and boundary condition files for both domain. +initail and boundary condition files for both domain. Make sure the following three files have been created in your directory:: wrfinput_d01 wrfinput_d02 wrfbdy_d01 -The boundary condition file is only created for the outer domain. +The boundary condition file is only created for the outer domain. -Check the last line of the real log file for the following message: +Check the last line of the real log file for the following message:: -Rename wrfinput_d02 +Rename wrfinput_d02 ------------------- Next, rename the ``wrfinput_d02`` file to ``wrfndi_d02``:: @@ -193,24 +199,24 @@ Add the following into your namelist.input file under ``&time_control``:: io_form_auxinput2 = 2 -Run ndown.exe to create ``wrfinput_d02`` and ``wrfbdy_d02``. +Run ndown.exe to create ``wrfinput_d02`` and ``wrfbdy_d02``. -Run WRF for coarser domain +Run WRF for coarser domain --------------------------- In this step, run WRF for the outer domain. -Make sure that ``max_dom = 1`` to run only for the coarser domain. +Make sure that ``max_dom = 1`` to run only for the coarser domain. This step is exactly identical as the previous example and only creates the -``wrfout*`` files for the coarser domain. +``wrfout*`` files for the coarser domain. Please make sure to copy ``lnd_in`` , ``lilac_in``, and ``lnd_modelio`` for the -coarser domain in this directory. +coarser domain in this directory. Create CTSM runtime files for the fine domain --------------------------------------------- This step is in addition creating CTSM runtime files for coarser domain which was explained here. For succesfully completing the previous step you should -have already created these files for the coarser domain. +have already created these files for the coarser domain. .. seealso:: @@ -219,6 +225,7 @@ have already created these files for the coarser domain. files for the finer domain you should follow the steps in section :numref:`setting-ctsm-runtime-options`. + Again, the goal here is to create files that determine CTSM runtime options which are defined within these three files: @@ -228,18 +235,20 @@ are defined within these three files: - ``lilac_in``: This namelist controls the operation of LILAC -Run WRF for the finer domain + +Run WRF for the finer domain ----------------------------- First, save (rename or move) the data from the coarser domain simulation (``wrfout_d01_*`` files). Next, rename ``wrfinput_d02`` and ``wrfbdy_d02`` to ``wrfinput_d01`` and ``wrfbdy_d01``, respectively. + Edit namelist.input, moving all of the fine-grid domain data from column 2 to column 1 so that this run will be for the fine-grid domain only. Make sure you set `max_dom=1` and set your `time_step` based on the finer domain. -.. note:: - It may be beneficial to save namelist.input to something else prior to this step in case you need to repeat this +.. note:: + It may be beneficial to save namelist.input to something else prior to this step in case you need to repeat this process in the future. Save the newly-edited namelist as namelist.input . Now run wrf.exe by submitting a job similar to a not-nested case. @@ -247,5 +256,7 @@ Now run wrf.exe by submitting a job similar to a not-nested case. .. important:: The output for the finer domain is wrfout_d01_* not wrfout_d02_* and although - in the name it is saying d01 it is technically d02 domain. + in the name it is saying d01 it is technically d02 domain. + + diff --git a/doc/source/lilac/specific-atm-models/wrf-tools.rst b/doc/source/lilac/specific-atm-models/wrf-tools.rst index 0366bc1582..8b3c423a58 100644 --- a/doc/source/lilac/specific-atm-models/wrf-tools.rst +++ b/doc/source/lilac/specific-atm-models/wrf-tools.rst @@ -9,6 +9,8 @@ This section includes instructions on tools and utilities developed for WRF-CTSM simulations. + + Generate CTSM surface dataset for a WRF domain ---------------------------------------------- @@ -16,6 +18,7 @@ Before this step, make sure you have successfully created geo_em* files for your specific WRF domain using WPS. Instructions on how to run ``geogrid.exe`` is described in here. + 1. Create SCRIP grid file from WRF ``geo_em*`` files, using the following ncl script:: @@ -36,6 +39,7 @@ is described in here. ncl mkunitymap.ncl + .. warning:: This will throw some git errors if not run in a repository. @@ -48,6 +52,7 @@ is described in here. ../../../configure --macros-format Makefile --mpilib mpi-serial + 5. Generate CTSM domain files using ``get_domain`` tool:: ./gen_domain -m /glade/work/$USER/ctsm/nldas_grid/scrip/wrf2clm_mapping_noneg.nc -o wrf2clm_ocn_noneg -l wrf2clm_lnd_noneg @@ -56,15 +61,20 @@ is described in here. ./mksurfdata.pl -res usrspec -usr_gname "nldas" -usr_gdate "190124" -usr_mapdir "/glade/work/$USER/ctsm/nldas_grid/map" -y 2000 -exedir "/glade/u/home/$USER/src/ctsm/ctsm_surfdata/tools/mksurfdata_map" -no-crop + + Merge WRF initial conditions into an existing CTSM initial condition file -------------------------------------------------------------------------- The following procedure is if you'd wish to merget WRF inital conditions from ``wrfinput`` file into CTSM initial condition file :: + ncl transfer_wrfinput_to_ctsm_with_snow.ncl 'finidat="the_existing_finidat_file.nc"' 'wrfinput="your_wrfinput_file"' 'merged="the_merged_finidat_file.nc"' + .. todo:: Sam, can you please make the above ncl script available. + diff --git a/doc/source/lilac/specific-atm-models/wrf.rst b/doc/source/lilac/specific-atm-models/wrf.rst index 5d104778ec..36b1e076a9 100644 --- a/doc/source/lilac/specific-atm-models/wrf.rst +++ b/doc/source/lilac/specific-atm-models/wrf.rst @@ -18,7 +18,7 @@ A full description of all steps for a WRF-CTSM run are included here. Specific new steps that would not be completed in a standard WRF real case are described in sections :numref:`clone-WRF-CTSM-repositories`, -:numref:`build-CTSM-and-dependencies` , +:numref:`build-CTSM-and-dependencies` , and :numref:`wrf-set-ctsm-runtime-options`. .. important:: @@ -27,7 +27,8 @@ and :numref:`wrf-set-ctsm-runtime-options`. If CIME is not ported to your machine, please see `instructions on porting CIME `_. - In this example we assume NCAR's ``Cheyenne`` HPC system in particular. + In this example we assume NCAR’s ``Cheyenne`` HPC system in particular. + .. _clone-WRF-CTSM-repositories: @@ -40,18 +41,20 @@ Clone the WRF repository and checkout ``develop`` branch:: cd WRF-CTSM git checkout develop + Clone the CTSM repository:: git clone https://github.com/ESCOMP/CTSM.git cd CTSM ./manage_externals/checkout_externals + .. _build-CTSM-and-dependencies: Build CTSM and its dependencies ------------------------------- -In your CTSM directory, build CTSM and its dependencies based on the +In your CTSM directory, build CTSM and its dependencies based on the instructions from section :numref:`obtaining-and-building-ctsm`:: ./lilac/build_ctsm /PATH/TO/CTSM/BUILD --machine MACHINE --compiler COMPILER @@ -60,6 +63,7 @@ For example on ``Cheyenne`` and for ``Intel`` compiler:: ./lilac/build_ctsm ctsm_build_dir --compiler intel --machine cheyenne + .. warning:: The directory you provided for the build script (``/PATH/TO/CTSM/BUILD``) must *not* exist. @@ -70,19 +74,20 @@ For example on ``Cheyenne`` and for ``Intel`` compiler:: Run ``./lilac/build_ctsm -h`` to see all options available. For example if you would like to run with threading support you can use ``--build-with-openmp``. + Building WRF with CTSM ---------------------- First, load the same modules and set the same environments as used for CTSM build by sourcing ``ctsm_build_environment.sh`` for Bash:: - source ctsm_build_dir/ctsm_build_environment.sh + source ctsm_build_dir/ctsm_build_environment.sh or sourcing ``ctsm_build_environment.csh`` for Cshell: .. code-block:: Tcsh - source ctsm_build_dir/ctsm_build_environment.csh + source ctsm_build_dir/ctsm_build_environment.csh Set makefile variables from CTSM needed for the WRF build by setting the following environment. For example for Bash:: @@ -103,27 +108,29 @@ Some of these are not required, but might help if you face any compilation error For more information check `WRF Users' Guide `_. + Explicitly define the model core to build by (Bash):: export WRF_EM_CORE=1 -or (Cshell): +or (Cshell): -.. code-block:: Tcsh +.. code-block:: Tcsh setenv WRF_EM_CORE 1 + Explicilty turn off data assimilation by (Bash):: export WRF_DA_CORE=0 -or (Cshell): +or (Cshell): -.. code-block:: Tcsh +.. code-block:: Tcsh setenv WRF_DA_CORE 0 -Now in your WRF directory configure and build WRF for your machine +Now in your WRF directory configure and build WRF for your machine and intended compiler:: ./clean -a @@ -131,7 +138,7 @@ and intended compiler:: At the prompt choose one of the options, based on the compiler used for building CTSM. Then you should choose if you'd like to build serially or -in parallel. For example, you can choose to build with ``intel`` compiler with +in parallel. For example, you can choose to build with ``intel`` compiler with distributed memory parallelization (``dmpar``). .. tip:: @@ -142,10 +149,12 @@ distributed memory parallelization (``dmpar``). The next prompt requests an option for nesting. Currently nesting is not available for WRF-CTSM so select option ``1 (basic)``. + Now compile em_real and save the log:: ./compile em_real >& compile.log + Check the bottom of your log file for a successful compilation message. .. note:: @@ -169,6 +178,7 @@ skip to section :numref:`wrf-set-ctsm-runtime-options`. Building WPS requires that WRF be already built successfully. + Get WPS from this website:: https://www2.mmm.ucar.edu/wrf/users/download/wrf-regist_or_download.php @@ -192,6 +202,7 @@ Then, compile WPS:: If wps builds succesfully you should see ``geogrid.exe``, ``ungrib.exe``, and ``metgrid.exe``. Alternatively, you can check the log for successful build messages. + Run WPS Programs ---------------- @@ -242,32 +253,37 @@ metgrid step:: ! Successful completion of metgrid. ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + Run real.exe ------------ Run ``real.exe`` to generate initial and boundary conditions. -Follow WRF instructions for creating initial and boundary conditions. +Follow WRF instructions for creating initial and boundary conditions. In summary, complete the following steps: -Move or link WPS output files (``met_em.d01*`` files) to your WRF test directory. +Move or link WPS output files (``met_em.d01*`` files) to your WRF test directory. Edit namelist.input for your WRF domain and desirable configurations. This should be the same domain as WPS namelist. + To run WRF-CTSM, in your namelist change land-surface option to 6:: sf_surface_physics = 6 + Run real.exe (if compiled parallel submit a batch job) to generate ``wrfinput`` and ``wrfbdy`` files. + Check the last line of the real log file for the following message:: SUCCESS COMPLETE REAL_EM INIT .. _wrf-set-ctsm-runtime-options: + Set CTSM runtime options ------------------------ @@ -285,6 +301,7 @@ are defined within these three files: - ``lilac_in``: This namelist controls the operation of LILAC + The basic process for creating the necessary input files are summarized as follows: @@ -325,7 +342,8 @@ Run the script ``make_runtime_inputs`` to create ``lnd_in`` and Modify ``lilac_in`` as needed. For this example, you can use the following options:: atm_mesh_filename = '/glade/scratch/negins/wrf_ctsm_files/wrf2ctsm_land_conus_ESMFMesh_c20201110.nc' - lnd_mesh_filename = '/glade/scratch/negins/wrf_ctsm_files/wrf2ctsm_land_conus_ESMFMesh_c20201110.nc' + lnd_mesh_filename = '/glade/scratch/negins/wrf_ctsm_files/wrf2ctsm_land_conus_ESMFMesh_c20201110.nc' + Run ``download_input_data`` script to download any of CTSM's standard input files that are needed based on settings in ``lnd_in`` and ``lilac_in``:: @@ -343,17 +361,17 @@ Run wrf.exe ----------- If real.exe completed successfully, we should have ``wrfinput`` and ``wrfbdy`` files -in our directory. +in our directory. If you plan to use this example's preexisting files, copy the following files to your WRF run directory:: - cp /glade/scratch/negins/wrf_ctsm_files/namelist.input . + cp /glade/scratch/negins/wrf_ctsm_files/namelist.input . cp /glade/scratch/negins/wrf_ctsm_files/wrfinput_d01 . cp /glade/scratch/negins/wrf_ctsm_files/wrfbdy_d01 . Now run WRF-CTSM. On Cheyenne this means submitting a batch job to PBS (Pro workload management system). -Please check NCAR CISL's `instructions on running a batch job on Cheyenne. +Please check NCAR CISL's `instructions on running a batch job on Cheyenne. `__ A simple PBS script to run WRF-CTSM on ``Cheyenne`` looks like this: @@ -378,8 +396,9 @@ A simple PBS script to run WRF-CTSM on ``Cheyenne`` looks like this: (See :numref:`runtime-environment-variables` for a description of the need to set ``MPI_TYPE_DEPTH`` on ``Cheyenne``.) To submit a batch job to the ``Cheyenne`` queues, use ``qsub`` command followed -by the PBS script name. +by the PBS script name. For example, if you named this script ``run_wrf_ctsm.csh``, submit the job like this:: qsub run_wrf_ctsm.csh + diff --git a/doc/source/tech_note/BVOCs/CLM50_Tech_Note_BVOCs.rst b/doc/source/tech_note/BVOCs/CLM50_Tech_Note_BVOCs.rst index 5d34fdce64..e7e8637649 100644 --- a/doc/source/tech_note/BVOCs/CLM50_Tech_Note_BVOCs.rst +++ b/doc/source/tech_note/BVOCs/CLM50_Tech_Note_BVOCs.rst @@ -3,24 +3,61 @@ Biogenic Volatile Organic Compounds (BVOCs) =============================================== -This chapter briefly describes the biogenic volatile organic compound (BVOC) emissions model implemented in CLM. The CLM3 version (Levis et al. 2003; Oleson et al. 2004) was based on Guenther et al. (1995). Heald et al. (2008) updated this scheme in CLM4 based on Guenther et al (2006). The current version was implemented in CLM4.5 and is based on MEGAN2.1 discussed in detail in Guenther et al. (2012). This update of MEGAN incorporates four main features: 1) expansion to 147 chemical compounds, 2) the treatment of the light-dependent fraction (LDF) for each compound, 3) inclusion of the inhibition of isoprene emission by atmospheric CO\ :sub:`2` and 4) emission factors mapped to the specific PFTs of the CLM. - -MEGAN2.1 now describes the emissions of speciated monoterpenes, sesquiterpenes, oxygenated VOCs as well as isoprene. A flexible scheme has been implemented in the CLM to specify a subset of emissions. This allows for additional flexibility in grouping chemical compounds to form the lumped species frequently used in atmospheric chemistry. The mapping or grouping is therefore defined through a namelist parameter in drv\_flds\_in, e.g. megan\_specifier = 'ISOP = isoprene', 'BIGALK pentane + hexane + heptane + tricyclene'. - -Terrestrial BVOC emissions from plants to the atmosphere are expressed as a flux, :math:`F_{i}` (:math:`\mu` \ g C m\ :sup:`-2` ground area h\ :sup:`-1`), for emission of chemical compound :math:`i` +This chapter briefly describes the biogenic volatile organic compound +(BVOC) emissions model implemented in CLM. The CLM3 version (Levis et +al. 2003; Oleson et al. 2004) was based on Guenther et al. (1995). Heald +et al. (2008) updated this scheme in CLM4 based on Guenther et al. +(2006). The current version was implemented in CLM4.5 and is based on MEGAN2.1 discussed in +detail in Guenther et al. (2012). This update of MEGAN incorporates four +main features: 1) expansion to 147 chemical compounds, 2) the treatment of the +light-dependent fraction (LDF) for each compound, 3) inclusion of the +inhibition of isoprene emission by atmospheric CO\ :sub:`2` and +4) emission factors mapped to the specific PFTs of the CLM. + +MEGAN2.1 now describes the emissions of speciated monoterpenes, +sesquiterpenes, oxygenated VOCs as well as isoprene. A flexible scheme +has been implemented in the CLM to specify a subset of emissions. This +allows for additional flexibility in grouping chemical compounds to form +the lumped species frequently used in atmospheric chemistry. The mapping +or grouping is therefore defined through a namelist parameter in +drv\_flds\_in, e.g. megan\_specifier = ’ISOP = isoprene’, ’BIGALK = +pentane + hexane + heptane + tricyclene’. + +Terrestrial BVOC emissions from plants to the atmosphere are expressed +as a flux, :math:`F_{i}` (:math:`\mu` \ g C m\ :sup:`-2` ground area h\ :sup:`-1`), for emission of chemical compound +:math:`i` .. math:: - :label: ZEqnNum964222 + :label: ZEqnNum964222 F_{i} =\gamma _{i} \rho \sum _{j}\varepsilon _{i,j} \left(wt\right)_{j} -where :math:`\gamma _{i}` is the emission activity factor accounting for responses to meteorological and phenological conditions, :math:`\rho` is the canopy loss and production factor also known as escape efficiency (set to 1), and :math:`\varepsilon _{i,\, j}` (:math:`\mu` \ g C m\ :sup:`-2` ground area h\ :sup:`-1`) is the emission factor at standard conditions of light, temperature, and leaf area for plant functional type *j* with fractional coverage :math:`\left(wt\right)_{j}` (Guenther et al. 2012). The emission activity factor :math:`\gamma _{i}` depends on plant functional type, temperature, LAI, leaf age, and soil moisture (Guenther et al. 2012) For isoprene only, the effect of CO\ :sub:`2` inhibition is now included as described by Heald et al. (2009). Previously, only isoprene was treated as a light-dependent emission. In MEGAN2.1, each chemical compound is assigned a LDF (ranging from 1.0 for isoprene to 0.2 for some monoterpenes, VOCs and acetone). The activity factor for the light response of emissions is therefore estimated as: +where :math:`\gamma _{i}` is the emission activity factor accounting +for responses to meteorological and phenological conditions, +:math:`\rho` is the canopy loss and production factor also known as +escape efficiency (set to 1), and :math:`\varepsilon _{i,\, j}` +(:math:`\mu` \ g C m\ :sup:`-2` ground area h\ :sup:`-1`) is +the emission factor at standard conditions of light, temperature, and +leaf area for plant functional type *j* with fractional coverage +:math:`\left(wt\right)_{j}` (Guenther et al. 2012). The emission +activity factor :math:`\gamma _{i}` depends on plant functional type, +temperature, LAI, leaf age, and soil moisture (Guenther et al. 2012). +For isoprene only, the effect of CO\ :sub:`2` inhibition is now +included as described by Heald et al. (2009). Previously, only isoprene +was treated as a light-dependent emission. In MEGAN2.1, each chemical +compound is assigned a LDF (ranging from 1.0 for isoprene to 0.2 for +some monoterpenes, VOCs and acetone). The activity factor for the light +response of emissions is therefore estimated as: .. math:: - :label: 28.2) + :label: 28.2) \gamma _{P,\, i} =\left(1-LDF_{i} \right)+\gamma _{P\_ LDF} LDF_{i} -where the LDF activity factor (:math:`\gamma _{P\_ LDF}` ) is specified as a function of PAR as in previous versions of MEGAN. +where the LDF activity factor (:math:`\gamma _{P\_ LDF}` ) is specified +as a function of PAR as in previous versions of MEGAN. -The values for each emission factor :math:`\epsilon _{i,\, j}` are now available for each of the plant functional types in the CLM and each chemical compound. This information is distributed through an external file, allowing for more frequent and easier updates. +The values for each emission factor :math:`\epsilon _{i,\, j}` are +now available for each of the plant functional types in the CLM and +each chemical compound. This information is distributed through an +external file, allowing for more frequent and easier updates. diff --git a/doc/source/tech_note/CN_Allocation/CLM50_Tech_Note_CN_Allocation.rst b/doc/source/tech_note/CN_Allocation/CLM50_Tech_Note_CN_Allocation.rst index 7cf6ec6fc8..e85a59439f 100644 --- a/doc/source/tech_note/CN_Allocation/CLM50_Tech_Note_CN_Allocation.rst +++ b/doc/source/tech_note/CN_Allocation/CLM50_Tech_Note_CN_Allocation.rst @@ -6,14 +6,36 @@ Carbon and Nitrogen Allocation Introduction ----------------- -The carbon and nitrogen allocation routines in CLM determine the fate of newly assimilated carbon, coming from the calculation of photosynthesis, and available mineral nitrogen, coming from plant uptake of mineral nitrogen in the soil or being drawn out of plant reserves. A significant change to CLM5 relative to prior versions is that allocation of carbon and nitrogen proceed independently rather than in a sequential manner. + +The carbon and nitrogen allocation routines in CLM determine the fate of +newly assimilated carbon, coming from the calculation of photosynthesis, +and available mineral nitrogen, coming from plant uptake of mineral +nitrogen in the soil or being drawn out of plant reserves. A significant change to CLM5 relative to prior versions is that allocation of carbon and nitrogen proceed independently rather than in a sequential manner. + Carbon Allocation for Maintenance Respiration Costs -------------------------------------------------------- -Allocation of available carbon on each time step is prioritized, with first priority given to the demand for carbon to support maintenance respiration of live tissues (section 13.7). Second priority is to replenish the internal plant carbon pool that supports maintenance respiration during times when maintenance respiration exceeds photosynthesis (e.g. at night, during winter for perennial vegetation, or during periods of drought stress) (Sprugel et al., 1995). Third priority is to support growth of new tissues, including allocation to storage pools from which new growth will be displayed in subsequent time steps. - -The total maintenance respiration demand (:math:`CF_{mr}`, gC m\ :sup:`-2` s\ :sup:`-1`) is calculated as a function of tissue mass and nitrogen concentration, and temperature (section 13.7) The carbon supply to support this demand is composed of fluxes allocated from carbon assimilated in the current timestep (:math:`CF_{GPP,mr}`, gC m\ :sup:`-2` s\ :sup:`-1` and from a storage pool that is drawn down when total demand exceeds photosynthesis ( :math:`CF_{xs,mr}`, gC m\ :sup:`-2` s\ :sup:`-1`): +Allocation of available carbon on each time step is prioritized, with +first priority given to the demand for carbon to support maintenance +respiration of live tissues (section 13.7). Second priority is to +replenish the internal plant carbon pool that supports maintenance +respiration during times when maintenance respiration exceeds +photosynthesis (e.g. at night, during winter for perennial vegetation, +or during periods of drought stress) (Sprugel et al., 1995). Third +priority is to support growth of new tissues, including allocation to +storage pools from which new growth will be displayed in subsequent time +steps. + +The total maintenance respiration demand (:math:`CF_{mr}`, gC +m\ :sup:`-2` s\ :sup:`-1`) is calculated as a function of +tissue mass and nitrogen concentration, and temperature (section 13.7). +The carbon supply to support this demand is composed of fluxes allocated +from carbon assimilated in the current timestep +(:math:`CF_{GPP,mr}`, gC m\ :sup:`-2` s\ :sup:`-1`) +and from a storage pool that is drawn down when total demand exceeds +photosynthesis ( :math:`CF_{xs,mr}`, gC m\ :sup:`-2` +s\ :sup:`-1`): .. math:: :label: 19.1 @@ -30,7 +52,24 @@ The total maintenance respiration demand (:math:`CF_{mr}`, gC m\ :sup:`-2` s\ :s CF_{xs,mr} =\_ \left\{\begin{array}{l} {0\qquad \qquad \qquad {\rm for\; }CF_{mr} \le CF_{GPP} } \\ {CF_{mr} -CF_{GPP} \qquad {\rm for\; }CF_{mr} >CF_{GPP} } \end{array}\right. -The storage pool that supplies carbon for maintenance respiration in excess of current :math:`CF_{GPP}` ( :math:`CS_{xs}`, gC m\ :sup:`-2`) is permitted to run a deficit (negative state), and the magnitude of this deficit determines an allocation demand which gradually replenishes :math:`CS_{xs}`. The logic for allowing a negative state for this pool is to eliminate the need to know in advance what the total maintenance respiration demand will be for a particular combination of climate and plant type. Using the deficit approach, the allocation to alleviate the deficit increases as the deficit increases, until the supply of carbon into the pool balances the demand for carbon leaving the pool in a quasi-steady state, with variability driven by the seasonal cycle, climate variation, disturbance, and internal dynamics of the plant-litter-soil system. In cases where the combination of climate and plant type are not suitable to sustained growth, the deficit in this pool increases until the available carbon is being allocated mostly to alleviate the deficit, and new growth approaches zero. The allocation flux to :math:`CS_{xs}` (:math:`CF_{GPP,xs}`, gC m\ :sup:`-2` s\ :sup:`-1`) is given as +The storage pool that supplies carbon for maintenance respiration in +excess of current :math:`CF_{GPP}` ( :math:`CS_{xs}`, gC +m\ :sup:`-2`) is permitted to run a deficit (negative state), and +the magnitude of this deficit determines an allocation demand which +gradually replenishes :math:`CS_{xs}`. The logic for allowing a +negative state for this pool is to eliminate the need to know in advance +what the total maintenance respiration demand will be for a particular +combination of climate and plant type. Using the deficit approach, the +allocation to alleviate the deficit increases as the deficit increases, +until the supply of carbon into the pool balances the demand for carbon +leaving the pool in a quasi-steady state, with variability driven by the +seasonal cycle, climate variation, disturbance, and internal dynamics of +the plant-litter-soil system. In cases where the combination of climate +and plant type are not suitable to sustained growth, the deficit in this +pool increases until the available carbon is being allocated mostly to +alleviate the deficit, and new growth approaches zero. The allocation +flux to :math:`CS_{xs}` (:math:`CF_{GPP,xs}`, gC +m\ :sup:`-2` s\ :sup:`-1`) is given as .. math:: :label: 19.4 @@ -42,37 +81,56 @@ The storage pool that supplies carbon for maintenance respiration in excess of c CF_{GPP,xs} =\left\{\begin{array}{l} {CF_{GPP,xs,pot} \qquad \qquad \qquad {\rm for\; }CF_{GPP,xs,pot} \le CF_{GPP} -CF_{GPP,mr} } \\ {\max (CF_{GPP} -CF_{GPP,mr} ,0)\qquad {\rm for\; }CF_{GPP,xs,pot} >CF_{GPP} -CF_{GPP,mr} } \end{array}\right. -where :math:`\tau_{xs}` is the time constant (currently set to 30 days) controlling the rate of replenishment of :math:`CS_{xs}`. +where :math:`\tau_{xs}` is the time constant (currently +set to 30 days) controlling the rate of replenishment of :math:`CS_{xs}`. -Note that these two top-priority carbon allocation fluxes (:math:`CF_{GPP,mr}` and :math:`CF_{GPP,xs}`) are not stoichiometrically associated with any nitrogen fluxes. +Note that these two top-priority carbon allocation fluxes +(:math:`CF_{GPP,mr}` and :math:`CF_{GPP,xs}`) are not +stoichiometrically associated with any nitrogen fluxes. Carbon and Nitrogen Stoichiometry of New Growth ---------------------------------------------------- -After accounting for the carbon cost of maintenance respiration, the remaining carbon flux from photosynthesis which can be allocated to new growth (:math:`CF_{avail}`, gC m\ :sup:`-2` s\ :sup:`-1`) is +After accounting for the carbon cost of maintenance respiration, the +remaining carbon flux from photosynthesis which can be allocated to new +growth (:math:`CF_{avail}`, gC m\ :sup:`-2` s\ :sup:`-1`) is .. math:: :label: 19.6 CF_{avail\_ alloc} =CF_{GPP} -CF_{GPP,mr} -CF_{GPP,xs} . -Potential allocation to new growth is calculated for all of the plant carbon and nitrogen state variables based on specified C:N ratios for each tissue type and allometric parameters that relate allocation between various tissue types. The allometric parameters are defined as follows: +Potential allocation to new growth is calculated for all of the plant +carbon and nitrogen state variables based on specified C:N ratios for +each tissue type and allometric parameters that relate allocation +between various tissue types. The allometric parameters are defined as +follows: .. math:: :label: 19.7 \begin{array}{l} {a_{1} ={\rm \; ratio\; of\; new\; fine\; root\; :\; new\; leaf\; carbon\; allocation}} \\ {a_{2} ={\rm \; ratio\; of\; new\; coarse\; root\; :\; new\; stem\; carbon\; allocation}} \\ {a_{3} ={\rm \; ratio\; of\; new\; stem\; :\; new\; leaf\; carbon\; allocation}} \\ {a_{4} ={\rm \; ratio\; new\; live\; wood\; :\; new\; total\; wood\; allocation}} \\ {g_{1} ={\rm ratio\; of\; growth\; respiration\; carbon\; :\; new\; growth\; carbon.\; }} \end{array} -Parameters :math:`a_{1}`, :math:`a_{2}`, and :math:`a_{4}` are defined as constants for a given PFT (Table 13.1), while :math:`g_{l }` = 0.3 (unitless) is prescribed as a constant for all PFTs, based on construction costs for a range of woody and non-woody tissues (Larcher, 1995). +Parameters :math:`a_{1}`, :math:`a_{2}`, and :math:`a_{4}` are defined as constants for a given PFT (Table +13.1), while :math:`g_{l }` = 0.3 (unitless) is prescribed as a +constant for all PFTs, based on construction costs for a range of woody +and non-woody tissues (Larcher, 1995). -The model includes a dynamic allocation scheme for woody vegetation (parameter :math:`a_{3}` = -1, :numref:`Table Allocation and CN ratio parameters`), in which case the ratio for carbon allocation between new stem and new leaf increases with increasing net primary production (NPP), as +The model includes a dynamic allocation scheme for woody vegetation +(parameter :math:`a_{3}` = -1, :numref:`Table Allocation and CN ratio parameters`), in which case the +ratio for carbon allocation between new stem and new leaf increases with +increasing net primary production (NPP), as .. math:: :label: 19.8 a_{3} =\frac{2.7}{1+e^{-0.004NPP_{ann} -300} } -0.4 -where :math:`NPP_{ann}` is the annual sum of NPP from the previous year. This mechanism has the effect of increasing woody allocation in favorable growth environments (Allen et al., 2005; Vanninen and Makela, 2005) and during the phase of stand growth prior to canopy closure (Axelsson and Axelsson, 1986). +where :math:`NPP_{ann}` is the annual sum of NPP from the previous +year. This mechanism has the effect of increasing woody allocation in +favorable growth environments (Allen et al., 2005; Vanninen and Makela, +2005) and during the phase of stand growth prior to canopy closure +(Axelsson and Axelsson, 1986). .. _Table Allocation and CN ratio parameters: @@ -136,17 +194,24 @@ where :math:`NPP_{ann}` is the annual sum of NPP from the previous year. This me +----------------------------------+-----------------------+-----------------------+-----------------------+-----------------------+---------------------------+-------------------------+-------------------------+-------------------------+ | Switchgrass I | 2 | 0 | 0 | 1 | 25 | 42 | 50 | 500 | +----------------------------------+-----------------------+-----------------------+-----------------------+-----------------------+---------------------------+-------------------------+-------------------------+-------------------------+ - -Carbon to nitrogen ratios are defined for different tissue types as follows: + +Carbon to nitrogen ratios are defined for different tissue types as +follows: .. math:: :label: 19.9 \begin{array}{l} {CN_{leaf} =\_ {\rm \; C:N\; for\; leaf}} \\ {CN_{fr} =\_ {\rm \; C:N\; for\; fine\; root}} \\ {CN_{lw} =\_ {\rm \; C:N\; for\; live\; wood\; (in\; stem\; and\; coarse\; root)}} \\ {CN_{dw} =\_ {\rm \; C:N\; for\; dead\; wood\; (in\; stem\; and\; coarse\; root)}} \end{array} -where all C:N parameters are defined as constants for a given PFT (:numref:`Table Allocation and CN ratio parameters`). +where all C:N parameters are defined as constants for a given PFT +(:numref:`Table Allocation and CN ratio parameters`). -Given values for the parameters in and, total carbon and nitrogen allocation to new growth ( :math:`CF_{alloc}`, gC m\ :sup:`-2` s\ :sup:`-1`, and :math:`NF_{alloc}`, gN m\ :sup:`-2` s\ :sup:`-1`, respectively) can be expressed as functions of new leaf carbon allocation (:math:`CF_{GPP,leaf}`, gC m\ :sup:`-2` s\ :sup:`-1`): +Given values for the parameters in and , total carbon and nitrogen +allocation to new growth ( :math:`CF_{alloc}`, gC +m\ :sup:`-2` s\ :sup:`-1`, and :math:`NF_{alloc}`, gN +m\ :sup:`-2` s\ :sup:`-1`, respectively) can be expressed as +functions of new leaf carbon allocation (:math:`CF_{GPP,leaf}`, gC +m\ :sup:`-2` s\ :sup:`-1`): .. math:: :label: 19.10 @@ -165,7 +230,11 @@ where N_{allom} =\left\{\begin{array}{l} {\frac{1}{CN_{leaf} } +\frac{a_{1} }{CN_{fr} } +\frac{a_{3} a_{4} \left(1+a_{2} \right)}{CN_{lw} } +} \\ {\qquad \frac{a_{3} \left(1-a_{4} \right)\left(1+a_{2} \right)}{CN_{dw} } \qquad {\rm for\; woody\; PFT}} \\ {\frac{1}{CN_{leaf} } +\frac{a_{1} }{CN_{fr} } \qquad \qquad \qquad {\rm for\; non-woody\; PFT.}} \end{array}\right. -Since the C:N stoichiometry for new growth allocation is defined, from Eq., as :math:`C_{allom}`/ :math:`N_{allom}`, the total carbon available for new growth allocation (:math:`CF_{avail\_alloc}`) can be used to calculate the total plant nitrogen demand for new growth ( :math:`NF_{plant\_demand}`, gN m\ :sup:`-2` s\ :sup:`-1`) as: +Since the C:N stoichiometry for new growth allocation is defined, from +Eq. , as :math:`C_{allom}`/ :math:`N_{allom}`, the total carbon available for new growth allocation +(:math:`CF_{avail\_alloc}`) can be used to calculate the total +plant nitrogen demand for new growth ( :math:`NF_{plant\_demand}`, +gN m\ :sup:`-2` s\ :sup:`-1`) as: .. math:: :label: 19.13 @@ -175,7 +244,16 @@ Since the C:N stoichiometry for new growth allocation is defined, from Eq., as : Carbon Allocation to New Growth ----------------------------------------- -There are two carbon pools associated with each plant tissue – one which represents the currently displayed tissue, and another which represents carbon stored for display in a subsequent growth period. The nitrogen pools follow this same organization. The model keeps track of stored carbon according to which tissue type it will eventually be displayed as, and the separation between display in the current timestep and storage for later display depends on the parameter :math:`f_{cur}` (values 0 to 1). Given :math:`CF_{alloc,leaf}` and :math:`f_{cur}`, the allocation fluxes of carbon to display and storage pools (where storage is indicated with *\_stor*) for the various tissue types are given as: +There are two carbon pools associated with each plant tissue – one which +represents the currently displayed tissue, and another which represents +carbon stored for display in a subsequent growth period. The nitrogen +pools follow this same organization. The model keeps track of stored +carbon according to which tissue type it will eventually be displayed +as, and the separation between display in the current timestep and +storage for later display depends on the parameter :math:`f_{cur}` +(values 0 to 1). Given :math:`CF_{alloc,leaf}` and :math:`f_{cur}`, the allocation fluxes of carbon to display and +storage pools (where storage is indicated with *\_stor*) for the various +tissue types are given as: .. math:: :label: 19.14 @@ -237,10 +315,12 @@ There are two carbon pools associated with each plant tissue – one which repre CF_{alloc,deadcroot\_ stor} \_ =CF_{alloc,leaf\_ tot} a_{2} a_{3} \left(1-a_{4} \right)\left(1-f_{cur} \right). + + Nitrogen allocation ----------------------------------------- -The total flux of nitrogen to be allocated is given by the FUN model (Chapter :numref:`rst_FUN`). This gives a total N to be allocated within a given timestep, :math:`N_{supply}`. The total N allocated for a given tissue :math:`i` is the minimum between the supply and the demand: +The total flux of nitrogen to be allocated is given by the FUN model (Chapter :numref:`rst_FUN`). This gives a total N to be allocated within a given timestep, :math:`N_{supply}`. The total N allocated for a given tissue :math:`i` is the minimum between the supply and the demand: .. math:: :label: 19.26 @@ -309,14 +389,14 @@ The demand for each tissue, calculated for the tissue to remain on stoichiometry NF_{demand,deadcroot\_ stor} \_ =\frac{CF_{alloc,leaf} a_{2} a_{3} \left(1-a_{4} \right)}{CN_{dw} } \left(1-f_{cur} \right). -After each pool's demand is calculated, the total plant N demand is then the sum of each individual pool :math:`i` corresponding to each tissue: +After each pool's demand is calculated, the total plant N demand is then the sum of each individual pool :math: `i` corresponding to each tissue: .. math:: :label: 19.39 NF_{demand,tot} = \sum _{i=tissues} NF_{demand,i} -and the total supply for each tissue :math:`i` is the product of the fractional demand and the total available N, calculated as the term :math:`N_{uptake}` equal to the sum of the eight N uptake streams described in the FUN model (Chapter :numref:`rst_FUN`). +and the total supply for each tissue :math: `i` is the product of the fractional demand and the total available N, calculated as the term :math: `N_{uptake}` equal to the sum of the eight N uptake streams described in the FUN model (Chapter :numref:`rst_FUN`). .. math:: :label: 19.40 diff --git a/doc/source/tech_note/CN_Pools/CLM50_Tech_Note_CN_Pools.rst b/doc/source/tech_note/CN_Pools/CLM50_Tech_Note_CN_Pools.rst index ebff41577a..77bd7af415 100644 --- a/doc/source/tech_note/CN_Pools/CLM50_Tech_Note_CN_Pools.rst +++ b/doc/source/tech_note/CN_Pools/CLM50_Tech_Note_CN_Pools.rst @@ -6,9 +6,32 @@ CN Pools Introduction ----------------- -CLM includes a prognostic treatment of the terrestrial carbon and nitrogen cycles including natural vegetation, crops, and soil biogeochemistry. The model is fully prognostic with respect to all carbon and nitrogen state variables in the vegetation, litter, and soil organic matter. The seasonal timing of new vegetation growth and litterfall is also prognostic, responding to soil and air temperature, soil water availability, daylength, and crop management practices in varying degrees depending on a specified phenology type or management for each PFT (Chapter :numref:`rst_Vegetation Phenology and Turnover`). The prognostic LAI, SAI, tissue stoichiometry, and vegetation heights are utilized by the biophysical model that couples carbon, water, and energy cycles. +CLM includes a prognostic treatment of the terrestrial carbon and +nitrogen cycles including natural vegetation, crops, and soil biogeochemistry. The model is +fully prognostic with respect to all carbon and nitrogen state variables +in the vegetation, litter, and soil organic matter. The seasonal timing +of new vegetation growth and litterfall is also prognostic, responding +to soil and air temperature, soil water availability, daylength, and +crop management practices in +varying degrees depending on a specified phenology type or management for each PFT +(Chapter +:numref:`rst_Vegetation Phenology and Turnover`). The +prognostic LAI, SAI, +tissue stoichiometry, and vegetation heights are +utilized by the biophysical model that couples carbon, water, and +energy cycles. -Separate state variables for C and N are tracked for leaf, live stem, dead stem, live coarse root, dead coarse root, fine root, and grain pools (:numref:`Figure Vegetation fluxes and pools`). Each of these pools has two corresponding storage pools representing, respectively, short-term and long-term storage of non-structural carbohydrates and labile nitrogen. There are two additional carbon pools, one for the storage of growth respiration reserves, and another used to meet excess demand for maintenance respiration during periods with low photosynthesis. One additional nitrogen pool tracks retranslocated nitrogen, mobilized from leaf tissue prior to abscission and litterfall. Altogether there are 23 state variables for vegetation carbon, and 22 for vegetation nitrogen. +Separate state variables for C and N are tracked for leaf, live stem, +dead stem, live coarse root, dead coarse root, fine root, and grain pools +(:numref:`Figure Vegetation fluxes and pools`). Each of these pools has two corresponding +storage pools representing, respectively, short-term and long-term +storage of non-structural carbohydrates and labile nitrogen. There are +two additional carbon pools, one for the storage of growth respiration +reserves, and another used to meet excess demand for maintenance +respiration during periods with low photosynthesis. One additional +nitrogen pool tracks retranslocated nitrogen, mobilized from leaf tissue +prior to abscission and litterfall. Altogether there are 23 state +variables for vegetation carbon, and 22 for vegetation nitrogen. .. _Figure Vegetation fluxes and pools: @@ -18,16 +41,33 @@ Separate state variables for C and N are tracked for leaf, live stem, dead stem, Vegetation fluxes and pools for carbon cycle in CLM5. -In addition to the vegetation pools, CLM includes a series of decomposing carbon and nitrogen pools as vegetation successively breaks down to CWD, and/or litter, and subsequently to soil organic matter. Discussion of the decomposition model, alternate specifications of decomposition rates, and methods to rapidly equilibrate the decomposition model, is in Chapter :numref:`rst_Decomposition`. +In addition to the vegetation pools, CLM includes a series of +decomposing carbon and nitrogen pools as vegetation successively +breaks down to CWD, and/or litter, and subsequently to soil organic +matter. Discussion of the decomposition model, alternate +specifications of decomposition rates, and methods to rapidly +equilibrate the decomposition model, is in Chapter +:numref:`rst_Decomposition`. Tissue Stoichiometry ----------------------- -As of CLM5, vegetation tissues have a flexible stoichiometry, as described in :ref:`Ghimire et al. (2016) `. Each tissue has a target C\:N ratio, with the target leaf C\:N varying by plant functional type (see :numref:`Table Plant functional type (PFT) target CN parameters`), and nitrogen is allocated at each timestep in order to allow the plant to best match the target stoichiometry. Nitrogen downregulation of productivity acts by increasing the C\:N ratio of leaves when insufficient nitrogen is available to meet stoichiometric demands of leaf growth, thereby reducing the N available for photosynthesis and reducing the :math:`V_{\text{c,max25}}` and :math:`J_{\text{max25}}` terms, as described in Chapter :numref:`rst_Photosynthetic Capacity`. Details of the flexible tissue stoichiometry are described in Chapter :numref:`rst_CN Allocation`. +As of CLM5, vegetation tissues have a flexible stoichiometry, as +described in :ref:`Ghimire et al. (2016) `. Each +tissue has a target C\:N ratio, with the target leaf C\:N varying by plant functional type +(see :numref:`Table Plant functional type (PFT) target CN parameters`), and nitrogen is allocated at each +timestep in order to allow the plant to best match the target +stoichiometry. Nitrogen downregulation of productivity acts by +increasing the C\:N ratio of leaves when insufficient nitrogen is +available to meet stoichiometric demands of leaf growth, thereby +reducing the N available for photosynthesis and reducing the :math:`V_{\text{c,max25}}` and +:math:`J_{\text{max25}}` terms, as described in Chapter +:numref:`rst_Photosynthetic Capacity`. Details of the flexible tissue +stoichiometry are described in Chapter :numref:`rst_CN Allocation`. .. _Table Plant functional type (PFT) target CN parameters: -.. table:: Plant functional type (PFT) target C:N parameters. +.. table:: Plant functional type (PFT) target C:N parameters. +----------------------------------+-------------------+ | PFT | target leaf C:N | diff --git a/doc/source/tech_note/Crop_Irrigation/CLM50_Tech_Note_Crop_Irrigation.rst b/doc/source/tech_note/Crop_Irrigation/CLM50_Tech_Note_Crop_Irrigation.rst index ecffe65660..a03142e92e 100755 --- a/doc/source/tech_note/Crop_Irrigation/CLM50_Tech_Note_Crop_Irrigation.rst +++ b/doc/source/tech_note/Crop_Irrigation/CLM50_Tech_Note_Crop_Irrigation.rst @@ -8,9 +8,12 @@ Crops and Irrigation Summary of CLM5.0 updates relative to the CLM4.5 ------------------------------------------------ -We describe here the complete crop and irrigation parameterizations that appear in CLM5.0. Corresponding information for CLM4.5 appeared in the CLM4.5 Technical Note (:ref:`Oleson et al. 2013 `). +We describe here the complete crop and irrigation parameterizations that +appear in CLM5.0. Corresponding information for CLM4.5 appeared in the +CLM4.5 Technical Note (:ref:`Oleson et al. 2013 `). -CLM5.0 includes the following new updates to the CROP option, where CROP refers to the interactive crop management model and is included as an option with the BGC configuration: +CLM5.0 includes the following new updates to the CROP option, where CROP +refers to the interactive crop management model and is included as an option with the BGC configuration: - New crop functional types @@ -32,14 +35,19 @@ CLM5.0 includes the following new updates to the CROP option, where CROP refers - C for annual crop seeding comes from the grain C pool -- Initial seed C for planting is increased from 1 to 3 g C/m^2 +- Initial seed C for planting is increased from 1 to 3 g C/m^2 + +These updates appear in detail in the sections below. Many also appear in +:ref:`Levis et al. (2016) `. -These updates appear in detail in the sections below. Many also appear in :ref:`Levis et al. (2016) `. Available new features since the CLM5 release ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Addition of bioenergy crops + + + .. _The crop model: The crop model: cash and bioenergy crops @@ -48,22 +56,101 @@ The crop model: cash and bioenergy crops Introduction ^^^^^^^^^^^^ -Groups developing Earth System Models generally account for the human footprint on the landscape in simulations of historical and future climates. Traditionally we have represented this footprint with natural vegetation types and particularly grasses because they resemble many common crops. Most modeling efforts have not incorporated more explicit representations of land management such as crop type, planting, harvesting, tillage, fertilization, and irrigation, because global scale datasets of these factors have lagged behind vegetation mapping. As this begins to change, we increasingly find models that will simulate the biogeophysical and biogeochemical effects not only of natural but also human-managed land cover. - -AgroIBIS is a state-of-the-art land surface model with options to simulate dynamic vegetation (:ref:`Kucharik et al. 2000 `) and interactive crop management (:ref:`Kucharik and Brye 2003 `). The interactive crop management parameterizations from AgroIBIS (March 2003 version) were coupled as a proof-of-concept to the Community Land Model version 3 [CLM3.0, :ref:`Oleson et al. (2004) ` ] (not published), then coupled to the CLM3.5 (:ref:`Levis et al. 2009 `) and later released to the community with CLM4CN (:ref:`Levis et al. 2012 `), and CLM4.5BGC. Additional updates after the release of CLM4.5 were available by request (:ref:`Levis et al. 2016 `), and those are now incorporated into CLM5. - -With interactive crop management and, therefore, a more accurate representation of agricultural landscapes, we hope to improve the CLM's simulated biogeophysics and biogeochemistry. These advances may improve fully coupled simulations with the Community Earth System Model (CESM), while helping human societies answer questions about changing food, energy, and water resources in response to climate, environmental, land use, and land management change (e.g., :ref:`Kucharik and Brye 2003 `; :ref:`Lobell et al. 2006 `). As implemented here, the crop model uses the same physiology as the natural vegetation, though uses different crop-specific parameter values, phenology, and allocation, as well as fertilizer and irrigation management. +Groups developing Earth System Models generally account for the human +footprint on the landscape in simulations of historical and future +climates. Traditionally we have represented this footprint with natural +vegetation types and particularly grasses because they resemble many +common crops. Most modeling efforts have not incorporated more explicit +representations of land management such as crop type, planting, +harvesting, tillage, fertilization, and irrigation, because global scale +datasets of these factors have lagged behind vegetation mapping. As this +begins to change, we increasingly find models that will simulate the +biogeophysical and biogeochemical effects not only of natural but also +human-managed land cover. + +AgroIBIS is a state-of-the-art land surface model with options to +simulate dynamic vegetation (:ref:`Kucharik et al. 2000 `) and interactive +crop management (:ref:`Kucharik and Brye 2003 `). The interactive crop +management parameterizations from AgroIBIS (March 2003 version) were +coupled as a proof-of-concept to the Community Land Model version 3 +[CLM3.0, :ref:`Oleson et al. (2004) ` ] (not published), then coupled to the +CLM3.5 (:ref:`Levis et al. 2009 `) and later released to the community with +CLM4CN (:ref:`Levis et al. 2012 `), and CLM4.5BGC. Additional updates after the +release of CLM4.5 were available by request (:ref:`Levis et al. 2016 `), +and those are now incorporated into CLM5. + +With interactive crop management and, therefore, a more accurate +representation of agricultural landscapes, we hope to improve the CLM’s +simulated biogeophysics and biogeochemistry. These advances may improve +fully coupled simulations with the Community Earth System Model (CESM), +while helping human societies answer questions about changing food, +energy, and water resources in response to climate, environmental, land +use, and land management change (e.g., :ref:`Kucharik and Brye 2003 `; :ref:`Lobell et al. 2006 `). +As implemented here, the crop model uses the same physiology as the +natural vegetation, though uses different crop-specific parameter values, +phenology, and allocation, as well as fertilizer and irrigation management. .. _Crop plant functional types: Crop plant functional types ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -To allow crops to coexist with natural vegetation in a grid cell, the vegetated land unit is separated into a naturally vegetated land unit and a managed crop land unit. Unlike the plant functional types (pfts) in the naturally vegetated land unit, the managed crop pfts in the managed crop land unit do not share soil columns and thus permit for differences in the land management between crops. Each crop type has a rainfed and an irrigated pft that are on independent soil columns. Crop grid cell coverage is assigned from satellite data (similar to all natural pfts), and the managed crop type proportions within the crop area is based on the dataset created by :ref:`Portmann et al. (2010)` for present day. New in CLM5, crop area is extrapolated through time using the dataset provided by Land Use Model Intercomparison Project (LUMIP), which is part of CMIP6 Land use timeseries (:ref:`Lawrence et al. 2016 `). For more details about how crop distributions are determined, see Chapter :numref:`rst_Transient Landcover Change`. - -CLM5 includes ten actively managed crop types (temperate soybean, tropical soybean, temperate corn, tropical corn, spring wheat, cotton, rice, sugarcane, miscanthus, and switchgrass) that are chosen based on the availability of corresponding algorithms in AgroIBIS and as developed by :ref:`Badger and Dirmeyer (2015)` and described by :ref:`Levis et al. (2016)`, or from available observations as described by :ref:`Cheng et al. (2019)`. The representations of sugarcane, rice, cotton, tropical corn, and tropical soy are new in CLM5. Miscanthus and switchgrass are added after the CLM5 release. Sugarcane and tropical corn are both C4 plants and are therefore represented using the temperate corn functional form. Tropical soybean uses the temperate soybean functional form, while rice and cotton use the wheat functional form. In tropical regions, parameter values were developed for the Amazon Basin, and planting date window is shifted by six months relative to the Northern Hemisphere. Plantation areas of bioenergy crops are projected to expand throughout the 21st century as a major energy source to replace fossil fuels and mitigate climate change. Miscanthus and switchgrass are perennial bioenergy crops and have quite different physiological traits and land management practices than annual crops, such as longer growing seasons, higher productivity, and lower demands for nutrients and water. About 70% of biofuel aboveground biomass (leaf & livestem) is removed at harvest. Parameter values were developed by using observation data collected at the University of Illinois Energy Farm located in Central Midwestern United States (:ref:`Cheng et al., 2019`). - -In addition, CLM's default list of plant functional types (pfts) includes an irrigated and unirrigated unmanaged C3 crop (:numref:`Table Crop plant functional types`) treated as a second C3 grass. The unmanaged C3 crop is only used when the crop model is not active and has grid cell coverage assigned from satellite data, and the unmanaged C3 irrigated crop type is currently not used since irrigation requires the crop model to be active. The default list of pfts also includes twenty-one inactive crop pfts that do not yet have associated parameters required for active management. Each of the inactive crop types is simulated using the parameters of the spatially closest associated crop type that is most similar to the functional type (e.g., C3 or C4), which is required to maintain similar phenological parameters based on temperature thresholds. Information detailing which parameters are used for each crop type is included in :numref:`Table Crop plant functional types`. It should be noted that pft-level history output merges all crop types into the actively managed crop type, so analysis of crop-specific output will require use of the land surface dataset to remap the yields of each actively and inactively managed crop type. Otherwise, the actively managed crop type will include yields for that crop type and all inactively managed crop types that are using the same parameter set. +To allow crops to coexist with natural vegetation in a grid cell, the +vegetated land unit is separated into a naturally vegetated land unit and +a managed crop land unit. Unlike the plant functional types (pfts) in the +naturally vegetated land unit, the managed crop pfts in the managed crop +land unit do not share soil columns and thus permit for differences in the +land management between crops. Each crop type has a rainfed and an irrigated +pft that are on independent soil columns. Crop grid cell coverage is assigned from +satellite data (similar to all natural pfts), and the managed crop type +proportions within the crop area is based on the dataset created by +:ref:`Portmann et al. (2010)` for present day. New in CLM5, crop area is +extrapolated through time using the dataset provided by Land Use Model +Intercomparison Project (LUMIP), which is part of CMIP6 Land use timeseries +(:ref:`Lawrence et al. 2016 `). For more details about how +crop distributions are determined, see Chapter :numref:`rst_Transient Landcover Change`. + +CLM5 includes ten actively managed crop types +(temperate soybean, tropical soybean, temperate corn, tropical +corn, spring wheat, cotton, rice, sugarcane, miscanthus, and switchgrass) that are chosen +based on the availability of corresponding algorithms in AgroIBIS and as +developed by :ref:`Badger and Dirmeyer (2015)` and +described by :ref:`Levis et al. (2016)`, or from available observations +as described by :ref:`Cheng et al. (2019)`. +The representations of sugarcane, rice, cotton, tropical corn, and tropical soy are new in CLM5. +Miscanthus and switchgrass are added after the CLM5 release. +Sugarcane and tropical corn are both C4 plants and are therefore represented +using the temperate corn functional form. Tropical soybean uses the temperate +soybean functional form, while rice and cotton use the wheat functional form. +In tropical regions, parameter values were developed for the Amazon Basin, and planting +date window is shifted by six months relative to the Northern Hemisphere. +Plantation areas of bioenergy crops are projected to expand throughout the 21st century as a major energy source to +replace fossil fuels and mitigate climate change. Miscanthus and switchgrass are perennial bioenergy crops and +have quite different physiological traits and land management practices than annual crops, +such as longer growing seasons, higher productivity, and lower demands for nutrients and water. +About 70% of biofuel aboveground biomass (leaf & livestem) is removed at harvest. Parameter values were developed by using +observation data collected at the University of Illinois Energy Farm +located in Central Midwestern United States (:ref:`Cheng et al., 2019`). + + +In addition, CLM’s default list of plant functional types (pfts) includes an +irrigated and unirrigated unmanaged C3 crop (:numref:`Table Crop plant functional types`) treated as a second C3 grass. +The unmanaged C3 crop is only used when the crop model is not active and +has grid cell coverage assigned from satellite data, and +the unmanaged C3 irrigated crop type is currently not used +since irrigation requires the crop model to be active. +The default list of pfts also includes twenty-one inactive crop pfts +that do not yet have associated parameters required for active management. +Each of the inactive crop types is simulated using the parameters of the +spatially closest associated crop type that is most similar to the functional type (e.g., C3 or C4), +which is required to maintain similar phenological parameters based on temperature thresholds. +Information detailing which parameters are used for each crop type is +included in :numref:`Table Crop plant functional types`. It should be noted that pft-level history output merges +all crop types into the actively managed crop type, so analysis +of crop-specific output will require use of the land surface dataset to +remap the yields of each actively and inactively managed crop type. Otherwise, the +actively managed crop type will include yields for that crop type and all inactively +managed crop types that are using the same parameter set. .. _Table Crop plant functional types: @@ -72,184 +159,291 @@ In addition, CLM's default list of plant functional types (pfts) includes an irr === =========================== ================ =========================== IVT Plant function types (PFTs) Management Class Crop Parameters Used === =========================== ================ =========================== - 15 c3 unmanaged rainfed crop none not applicable - 16 c3 unmanaged irrigated crop none not applicable - 17 rainfed temperate corn active rainfed temperate corn - 18 irrigated temperate corn active irrigated temperate corn - 19 rainfed spring wheat active rainfed spring wheat - 20 irrigated spring wheat active irrigated spring wheat - 21 rainfed winter wheat inactive rainfed spring wheat - 22 irrigated winter wheat inactive irrigated spring wheat - 23 rainfed temperate soybean active rainfed temperate soybean + 15 c3 unmanaged rainfed crop none not applicable + 16 c3 unmanaged irrigated crop none not applicable + 17 rainfed temperate corn active rainfed temperate corn + 18 irrigated temperate corn active irrigated temperate corn + 19 rainfed spring wheat active rainfed spring wheat + 20 irrigated spring wheat active irrigated spring wheat + 21 rainfed winter wheat inactive rainfed spring wheat + 22 irrigated winter wheat inactive irrigated spring wheat + 23 rainfed temperate soybean active rainfed temperate soybean 24 irrigated temperate soybean active irrigated temperate soybean - 25 rainfed barley inactive rainfed spring wheat - 26 irrigated barley inactive irrigated spring wheat - 27 rainfed winter barley inactive rainfed spring wheat - 28 irrigated winter barley inactive irrigated spring wheat - 29 rainfed rye inactive rainfed spring wheat - 30 irrigated rye inactive irrigated spring wheat - 31 rainfed winter rye inactive rainfed spring wheat - 32 irrigated winter rye inactive irrigated spring wheat - 33 rainfed cassava inactive rainfed rice - 34 irrigated cassava inactive irrigated rice - 35 rainfed citrus inactive rainfed spring wheat - 36 irrigated citrus inactive irrigated spring wheat - 37 rainfed cocoa inactive rainfed rice - 38 irrigated cocoa inactive irrigated rice - 39 rainfed coffee inactive rainfed rice - 40 irrigated coffee inactive irrigated rice - 41 rainfed cotton active rainfed cotton - 42 irrigated cotton active irrigated cotton - 43 rainfed datepalm inactive rainfed cotton - 44 irrigated datepalm inactive irrigated cotton - 45 rainfed foddergrass inactive rainfed spring wheat - 46 irrigated foddergrass inactive irrigated spring wheat - 47 rainfed grapes inactive rainfed spring wheat - 48 irrigated grapes inactive irrigated spring wheat - 49 rainfed groundnuts inactive rainfed rice - 50 irrigated groundnuts inactive irrigated rice - 51 rainfed millet inactive rainfed tropical corn - 52 irrigated millet inactive irrigated tropical corn - 53 rainfed oilpalm inactive rainfed rice - 54 irrigated oilpalm inactive irrigated rice - 55 rainfed potatoes inactive rainfed spring wheat - 56 irrigated potatoes inactive irrigated spring wheat - 57 rainfed pulses inactive rainfed spring wheat - 58 irrigated pulses inactive irrigated spring wheat - 59 rainfed rapeseed inactive rainfed spring wheat - 60 irrigated rapeseed inactive irrigated spring wheat - 61 rainfed rice active rainfed rice - 62 irrigated rice active irrigated rice - 63 rainfed sorghum inactive rainfed tropical corn - 64 irrigated sorghum inactive irrigated tropical corn - 65 rainfed sugarbeet inactive rainfed spring wheat - 66 irrigated sugarbeet inactive irrigated spring wheat - 67 rainfed sugarcane active rainfed sugarcane - 68 irrigated sugarcane active irrigated sugarcane - 69 rainfed sunflower inactive rainfed spring wheat - 70 irrigated sunflower inactive irrigated spring wheat - 71 rainfed miscanthus active rainfed miscanthus - 72 irrigated miscanthus active irrigated miscanthus - 73 rainfed switchgrass active rainfed switchgrass - 74 irrigated switchgrass active irrigated switchgrass - 75 rainfed tropical corn active rainfed tropical corn - 76 irrigated tropical corn active irrigated tropical corn - 77 rainfed tropical soybean active rainfed tropical soybean - 78 irrigated tropical soybean active irrigated tropical soybean + 25 rainfed barley inactive rainfed spring wheat + 26 irrigated barley inactive irrigated spring wheat + 27 rainfed winter barley inactive rainfed spring wheat + 28 irrigated winter barley inactive irrigated spring wheat + 29 rainfed rye inactive rainfed spring wheat + 30 irrigated rye inactive irrigated spring wheat + 31 rainfed winter rye inactive rainfed spring wheat + 32 irrigated winter rye inactive irrigated spring wheat + 33 rainfed cassava inactive rainfed rice + 34 irrigated cassava inactive irrigated rice + 35 rainfed citrus inactive rainfed spring wheat + 36 irrigated citrus inactive irrigated spring wheat + 37 rainfed cocoa inactive rainfed rice + 38 irrigated cocoa inactive irrigated rice + 39 rainfed coffee inactive rainfed rice + 40 irrigated coffee inactive irrigated rice + 41 rainfed cotton active rainfed cotton + 42 irrigated cotton active irrigated cotton + 43 rainfed datepalm inactive rainfed cotton + 44 irrigated datepalm inactive irrigated cotton + 45 rainfed foddergrass inactive rainfed spring wheat + 46 irrigated foddergrass inactive irrigated spring wheat + 47 rainfed grapes inactive rainfed spring wheat + 48 irrigated grapes inactive irrigated spring wheat + 49 rainfed groundnuts inactive rainfed rice + 50 irrigated groundnuts inactive irrigated rice + 51 rainfed millet inactive rainfed tropical corn + 52 irrigated millet inactive irrigated tropical corn + 53 rainfed oilpalm inactive rainfed rice + 54 irrigated oilpalm inactive irrigated rice + 55 rainfed potatoes inactive rainfed spring wheat + 56 irrigated potatoes inactive irrigated spring wheat + 57 rainfed pulses inactive rainfed spring wheat + 58 irrigated pulses inactive irrigated spring wheat + 59 rainfed rapeseed inactive rainfed spring wheat + 60 irrigated rapeseed inactive irrigated spring wheat + 61 rainfed rice active rainfed rice + 62 irrigated rice active irrigated rice + 63 rainfed sorghum inactive rainfed tropical corn + 64 irrigated sorghum inactive irrigated tropical corn + 65 rainfed sugarbeet inactive rainfed spring wheat + 66 irrigated sugarbeet inactive irrigated spring wheat + 67 rainfed sugarcane active rainfed sugarcane + 68 irrigated sugarcane active irrigated sugarcane + 69 rainfed sunflower inactive rainfed spring wheat + 70 irrigated sunflower inactive irrigated spring wheat + 71 rainfed miscanthus active rainfed miscanthus + 72 irrigated miscanthus active irrigated miscanthus + 73 rainfed switchgrass active rainfed switchgrass + 74 irrigated switchgrass active irrigated switchgrass + 75 rainfed tropical corn active rainfed tropical corn + 76 irrigated tropical corn active irrigated tropical corn + 77 rainfed tropical soybean active rainfed tropical soybean + 78 irrigated tropical soybean active irrigated tropical soybean === =========================== ================ =========================== + + .. _Phenology: Phenology ^^^^^^^^^ -CLM5-BGC includes evergreen, seasonally deciduous (responding to changes in day length), and stress deciduous (responding to changes in temperature and/or soil moisture) phenology algorithms (Chapter :numref:`rst_Vegetation Phenology and Turnover`). CLM5-BGC-crop uses the AgroIBIS crop phenology algorithm, consisting of three distinct phases. +CLM5-BGC includes evergreen, seasonally deciduous (responding to changes +in day length), and stress deciduous (responding to changes in +temperature and/or soil moisture) phenology algorithms (Chapter :numref:`rst_Vegetation Phenology and Turnover`). +CLM5-BGC-crop uses the AgroIBIS crop phenology algorithm, +consisting of three distinct phases. -Phase 1 starts at planting and ends with leaf emergence, phase 2 continues from leaf emergence to the beginning of grain fill, and phase 3 starts from the beginning of grain fill and ends with physiological maturity and harvest. +Phase 1 starts at planting and ends with leaf emergence, phase 2 +continues from leaf emergence to the beginning of grain fill, and phase +3 starts from the beginning of grain fill and ends with physiological +maturity and harvest. .. _Planting: Planting '''''''' -All crops must meet the following requirements between the minimum planting date and the maximum planting date (for the northern hemisphere) in :numref:`Table Crop phenology parameters`: +All crops must meet the following requirements between the minimum planting date and the maximum +planting date (for the northern hemisphere) in :numref:`Table Crop phenology parameters`: .. math:: :label: 25.1 - \begin{array}{c} - {T_{10d} >T_{p} } \\ - {T_{10d}^{\min } >T_{p}^{\min } } \\ - {GDD_{8} \ge GDD_{\min } } + \begin{array}{c} + {T_{10d} >T_{p} } \\ + {T_{10d}^{\min } >T_{p}^{\min } } \\ + {GDD_{8} \ge GDD_{\min } } \end{array} -where :math:`{T}_{10d}` is the 10-day running mean of :math:`{T}_{2m}`, (the simulated 2-m air temperature during each model time step) and :math:`T_{10d}^{\min}` is the 10-day running mean of :math:`T_{2m}^{\min }` (the daily minimum of :math:`{T}_{2m}`). :math:`{T}_{p}` and :math:`T_{p}^{\min }` are crop-specific coldest planting temperatures (:numref:`Table Crop phenology parameters`), :math:`{GDD}_{8}` is the 20-year running mean growing degree-days (units are °C day) tracked from April through September (NH) above 8°C with maximum daily increments of 30 degree-days (see equation :eq:`25.3`), and :math:`{GDD}_{min }`\ is the minimum growing degree day requirement (:numref:`Table Crop phenology parameters`). :math:`{GDD}_{8}` does not change as quickly as :math:`{T}_{10d}` and :math:`T_{10d}^{\min }`, so it determines whether it is warm enough for the crop to be planted in a grid cell, while the 2-m air temperature variables determine the day when the crop may be planted if the :math:`{GDD}_{8}` threshold is met. If the requirements in equation :eq:`25.1` are not met by the maximum planting date, crops are still planted on the maximum planting date as long as :math:`{GDD}_{8} > 0`. In the southern hemisphere (SH) the NH requirements apply 6 months later. - -At planting, each crop seed pool is assigned 3 gC m\ :sup:`-2` from its grain product pool. The seed carbon is transferred to the leaves upon leaf emergence. An equivalent amount of seed leaf N is assigned given the pft's C to N ratio for leaves (:math:`{CN}_{leaf}` in :numref:`Table Crop allocation parameters`; this differs from AgroIBIS, which uses a seed leaf area index instead of seed C). The model updates the average growing degree-days necessary for the crop to reach vegetative and physiological maturity, :math:`{GDD}_{mat}`, according to the following AgroIBIS rules: +where :math:`{T}_{10d}` is the 10-day running mean of :math:`{T}_{2m}`, (the simulated 2-m air +temperature during each model time step) and :math:`T_{10d}^{\min}` is +the 10-day running mean of :math:`T_{2m}^{\min }` (the daily minimum of +:math:`{T}_{2m}`). :math:`{T}_{p}` and :math:`T_{p}^{\min }` are crop-specific coldest planting temperatures +(:numref:`Table Crop phenology parameters`), :math:`{GDD}_{8}` is the 20-year running mean growing +degree-days (units are degree-days or :sup:`o` days) tracked +from April through September (NH) above 8\ :sup:`o` C with +maximum daily increments of 30\ :sup:`o` days (see equation :eq:`25.3`), and +:math:`{GDD}_{min }`\ is the minimum growing degree day requirement +(:numref:`Table Crop phenology parameters`). :math:`{GDD}_{8}` does not change as quickly as :math:`{T}_{10d}` and :math:`T_{10d}^{\min }`, so +it determines whether it is warm enough for the crop to be planted in a grid cell, while the +2-m air temperature variables determine the day when the crop may be planted if the :math:`{GDD}_{8}` threshold is met. +If the requirements in equation :eq:`25.1` are not met by the maximum planting date, +crops are still planted on the maximum planting date as long as :math:`{GDD}_{8} > 0`. In +the southern hemisphere (SH) the NH requirements apply 6 months later. + +At planting, each crop seed pool is assigned 3 gC m\ :sup:`-2` from its +grain product pool. The seed carbon is transferred to the leaves upon leaf emergence. An +equivalent amount of seed leaf N is assigned given the pft’s C to N +ratio for leaves (:math:`{CN}_{leaf}` in :numref:`Table Crop allocation parameters`; this differs from AgroIBIS, +which uses a seed leaf area index instead of seed C). The model updates the average growing degree-days necessary +for the crop to reach vegetative and physiological maturity, +:math:`{GDD}_{mat}`, according to the following AgroIBIS rules: .. math:: :label: 25.2 - \begin{array}{lll} - GDD_{{\rm mat}}^{{\rm corn,sugarcane}} =0.85 GDD_{{\rm 8}} & {\rm \; \; \; and\; \; \; }& 950 `, :ref:`Crawford et al. 1982 `, :ref:`Simpson et al. 1983 `, :ref:`Ta and Weiland 1992 `, :ref:`Barbottin et al. 2005 `, :ref:`Gallais et al. 2006 `, :ref:`Gallais et al. 2007 `). Nitrogen allocation for crops follows that of natural vegetation, is supplied in CLM by the soil mineral nitrogen pool, and depends on C:N ratios for leaves, stems, roots, and organs. Nitrogen demand during organ development is fulfilled through retranslocation from leaves, stems, and roots. Nitrogen retranslocation is initiated at the beginning of the grain fill stage for all crops except soybean, for which retranslocation is after LAI decline. Nitrogen stored in the leaf and stem is moved into a storage retranslocation pool for all crops, and for wheat and rice, nitrogen in roots is also released into the retranslocation storage pool. The quantity of nitrogen mobilized depends on the C:N ratio of the plant tissue, and is calculated as +Nitrogen retranslocation in crops occurs when nitrogen that was used for +tissue growth of leaves, stems, and fine roots during the early growth +season is remobilized and used for grain development (:ref:`Pollmer et al. 1979 +`, :ref:`Crawford et al. 1982 `, :ref:`Simpson et al. 1983 +`, :ref:`Ta and Weiland 1992 `, :ref:`Barbottin et al. 2005 `, +:ref:`Gallais et al. 2006 `, :ref:`Gallais et al. 2007 `). Nitrogen allocation +for crops follows that of natural vegetation, is supplied in CLM by the +soil mineral nitrogen pool, and depends on C:N ratios for leaves, stems, +roots, and organs. Nitrogen demand during organ development is fulfilled +through retranslocation from leaves, stems, and roots. Nitrogen +retranslocation is initiated at the beginning of the grain fill stage +for all crops except soybean, for which retranslocation is after LAI decline. +Nitrogen stored in the leaf and stem is moved into a storage +retranslocation pool for all crops, and for wheat and rice, nitrogen in roots is also +released into the retranslocation storage pool. The quantity of nitrogen +mobilized depends on the C:N ratio of the plant tissue, and is +calculated as .. math:: :label: 25.6 @@ -310,31 +532,53 @@ Nitrogen retranslocation in crops occurs when nitrogen that was used for tissue frootn\_ to\_ retransn=N_{froot} -\frac{C_{froot} }{CN_{froot}^{f} } -where :math:`{C}_{leaf}`, :math:`{C}_{stem}`, and :math:`{C}_{froot}` is the carbon in the plant leaf, stem, and fine root, respectively, :math:`{N}_{leaf}`, :math:`{N}_{stem}`, and :math:`{N}_{froot}` is the nitrogen in the plant leaf, stem, and fine root, respectively, and :math:`CN^f_{leaf}`, :math:`CN^f_{stem}`, and :math:`CN^f_{froot}` is the post-grain fill C:N ratio of the leaf, stem, and fine root respectively (:numref:`Table Crop allocation parameters`). Since C:N measurements are often taken from mature crops, pre-grain development C:N ratios for leaves, stems, and roots in the model are optimized to allow maximum nitrogen accumulation for later use during organ development, and post-grain fill C:N ratios are assigned the same as crop residue. After nitrogen is moved into the retranslocated pool, the nitrogen in this pool is used to meet plant nitrogen demand by assigning the available nitrogen from the retranslocated pool equal to the plant nitrogen demand for each organ (:math:`{CN_{[organ]}^{f} }` in :numref:`Table Crop allocation parameters`). Once the retranslocation pool is depleted, soil mineral nitrogen pool is used to fulfill plant nitrogen demands. +where :math:`{C}_{leaf}`, :math:`{C}_{stem}`, and :math:`{C}_{froot}` is the carbon in the plant leaf, stem, and fine +root, respectively, :math:`{N}_{leaf}`, :math:`{N}_{stem}`, and :math:`{N}_{froot}` +is the nitrogen in the plant leaf, stem, and fine root, respectively, and :math:`CN^f_{leaf}`, +:math:`CN^f_{stem}`, and :math:`CN^f_{froot}` is the post-grain fill C:N +ratio of the leaf, stem, and fine root respectively (:numref:`Table Crop allocation parameters`). Since +C:N measurements are often taken from mature crops, pre-grain development C:N +ratios for leaves, stems, and roots in the model are optimized to allow maximum +nitrogen accumulation for later use during organ development, and post-grain +fill C:N ratios are assigned the same as crop residue. After +nitrogen is moved into the retranslocated pool, +the nitrogen in this pool is used to meet plant +nitrogen demand by assigning the available nitrogen from the +retranslocated pool equal to the plant nitrogen demand for each organ (:math:`{CN_{[organ]}^{f} }` in :numref:`Table Crop allocation parameters`). Once the +retranslocation pool is depleted, soil mineral nitrogen pool is used to +fulfill plant nitrogen demands. .. _Harvest to food and seed: Harvest ''''''' -Variables track the flow of grain C and N to food and of all other plant pools, including live stem C and N, to litter, and to biofuel feedstock. A fraction (determined by the :math:`biofuel\_harvfrac`, defined in :numref:`Table Plant functional type (PFT) parameters for harvested fraction of leaf/livestem for bioenergy production`) of leaf/livestem C and N from bioenergy crops is removed at harvest for biofuels (Equations :eq:`25.9`, :eq:`25.10`, :eq:`25.12`, and :eq:`25.13`), with the remaining portions going to the litter pools (Equations :eq:`20.14)`, :eq:`25.11`, and :eq:`25.14`). Putting live stem C and N into the litter and biofuel pools is in contrast to the approach for unmanaged PFTs which puts live stem C and N into dead stem pools first. Biofuel crop leaf C and N pools are routed to the litter and biofuel pools, in contrast to that of unmanaged PFTs and non-biofuel crops, which put leaf C and N into litter pools only. Root C and N pools are routed to the litter pools in the same manner as natural vegetation. - +Variables track the flow of grain C and N to food and of all other plant pools, including live stem C and N, to litter, and to biofuel feedstock. +A fraction (determined by the :math:`biofuel\_harvfrac`, defined in +:numref:`Table Plant functional type (PFT) parameters for harvested fraction of leaf/livestem for bioenergy production`) of leaf/livestem C and N from bioenergy crops is removed at harvest for biofuels +(Equations :eq:`25.9`, :eq:`25.10`, :eq:`25.12`, and :eq:`25.13`), +with the remaining portions going to the litter pools (Equations :eq:`20.14)`, :eq:`25.11`, and :eq:`25.14`). +Putting live stem C and N into the litter and biofuel pools is in contrast to the approach for unmanaged PFTs which +puts live stem C and N into dead stem pools first. +Biofuel crop leaf C and N pools are routed to the litter and biofuel pools, in contrast to that of unmanaged PFTs and non-biofuel crops, which put leaf C and N into litter pools only. +Root C and N pools are routed to the litter pools in the same manner as natural vegetation. + .. math:: :label: 25.9 - CF_{leaf,biofuel} = \left({CS_{leaf} \mathord{\left/ {\vphantom {CS_{leaf} \Delta t}} \right.} \Delta t} + CF_{leaf,biofuel} = \left({CS_{leaf} \mathord{\left/ {\vphantom {CS_{leaf} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} \right) * biofuel\_harvfrac - + .. math:: :label: 25.10 - CF_{livestem,biofuel} = \left({CS_{livestem} \mathord{\left/ {\vphantom {CS_{leaf} \Delta t}} \right.} \Delta t} - \right) * biofuel\_harvfrac - + CF_{livestem,biofuel} = \left({CS_{livestem} \mathord{\left/ {\vphantom {CS_{leaf} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} + \right) * biofuel\_harvfrac + .. math:: :label: 25.11 - CF_{livestem,litter} = \left({CS_{livestem} \mathord{\left/ {\vphantom {CS_{livestem} \Delta t}} \right.} \Delta t} + CF_{livestem,litter} = \left({CS_{livestem} \mathord{\left/ {\vphantom {CS_{livestem} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} \right) * \left( 1-biofuel\_harvfrac \right) +CF_{alloc,livestem} with corresponding nitrogen fluxes: @@ -342,22 +586,23 @@ with corresponding nitrogen fluxes: .. math:: :label: 25.12 - NF_{leaf,biofuel} = \left({NS_{leaf} \mathord{\left/ {\vphantom {NS_{leaf} \Delta t}} \right.} \Delta t} + NF_{leaf,biofuel} = \left({NS_{leaf} \mathord{\left/ {\vphantom {NS_{leaf} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} \right) * biofuel\_harvfrac - + .. math:: :label: 25.13 - NF_{livestem,biofuel} = \left({NS_{livestem} \mathord{\left/ {\vphantom {NS_{livestem} \Delta t}} \right.} \Delta t} + NF_{livestem,biofuel} = \left({NS_{livestem} \mathord{\left/ {\vphantom {NS_{livestem} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} \right) * biofuel\_harvfrac - + .. math:: :label: 25.14 - NF_{livestem,litter} = \left({NS_{livestem} \mathord{\left/ {\vphantom {NS_{livestem} \Delta t}} \right.} \Delta t} + NF_{livestem,litter} = \left({NS_{livestem} \mathord{\left/ {\vphantom {NS_{livestem} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} \right) * \left( 1-biofuel\_harvfrac \right) -where CF is the carbon flux, CS is stored carbon, NF is the nitrogen flux, NS is stored nitrogen, and :math:`biofuel\_harvfrac` is the harvested fraction of leaf/livestem for biofuel feedstocks. +where CF is the carbon flux, CS is stored carbon, NF is the nitrogen flux, +NS is stored nitrogen, and :math:`biofuel\_harvfrac` is the harvested fraction of leaf/livestem for biofuel feedstocks. .. _Table Plant functional type (PFT) parameters for harvested fraction of leaf/livestem for bioenergy production: @@ -415,40 +660,54 @@ where CF is the carbon flux, CS is stored carbon, NF is the nitrogen flux, NS is | Switchgrass | 0.70 | +----------------------------------+----------------------------+ -Whereas food C and N was formerly transferred to the litter pool, CLM5 routes food C and N to a grain product pool where the C and N decay to the atmosphere over one year, similar in structure to the wood product pools. The biofuel C and N is also routed to the grain product pool and decays to the atmosphere over one year. Additionally, CLM5 accounts for the C and N required for crop seeding by removing the seed C and N from the grain product pool during harvest. The crop seed pool is then used to seed crops in the subsequent year. Calcuating the crop yields (Equation :eq:`25.15`) requires that you sum the GRAINC_TO_FOOD variable for each year, and must account for the proportion of C in the dry crop weight. Here, we assume that grain C is 45% of the total dry weight. Additionally, harvest is not typically 100% efficient, so analysis needs to assume that harvest efficiency is less. We assume a harvest efficiency of 85%. +Whereas food C and N was formerly transferred to the litter pool, CLM5 routes food C and N +to a grain product pool where the C and N decay to the atmosphere over one year, +similar in structure to the wood product pools. +The biofuel C and N is also routed to the grain product pool and decays to the atmosphere over one year. +Additionally, CLM5 accounts for the C and N required for crop seeding by removing the seed C and N from the grain +product pool during harvest. The crop seed pool is then used to seed crops in the subsequent year. +Calcuating the crop yields (Equation :eq:`25.15`) requires that you sum the GRAINC_TO_FOOD variable +for each year, and must account for the proportion of C in the dry crop weight. +Here, we assume that grain C is 45% of the total dry weight. Additionally, harvest is not typically 100% efficient, so +analysis needs to assume that harvest efficiency is less. We assume a harvest +efficiency of 85%. .. math:: :label: 25.15 Grain\ yield(g.m^{-2})=\frac{\sum(GRAINC\_ TO\_ FOOD)*0.85}{0.45} + .. _Table Crop allocation parameters: .. table:: Crop allocation parameters for the active crop plant functional types (pfts) in CLM5BGCCROP. Numbers in the first row correspond to the list of pfts in :numref:`Table Crop plant functional types`. =========================================== ============== ============ ================== ====== ====== ========= ============= ================ ================ ================ - \ temperate corn spring wheat temperate soybean cotton rice sugarcane tropical corn tropical soybean miscanthus switchgrass + \ temperate corn spring wheat temperate soybean cotton rice sugarcane tropical corn tropical soybean miscanthus switchgrass =========================================== ============== ============ ================== ====== ====== ========= ============= ================ ================ ================ - IVT 17, 18 19, 20 23, 24 41, 42 61, 62 67, 68 75, 76 77, 78 71, 72 73, 74 - :math:`a_{leaf}^{i}` 0.6 0.9 0.85 0.85 0.75 0.6 0.6 0.85 0.9 0.7 - :math:`{L}_{max}` (m :sup:`2` m :sup:`-2`) 5 7 6 6 7 5 5 6 10 6.5 - :math:`a_{froot}^{i}` 0.1 0.05 0.2 0.2 0.1 0.1 0.1 0.2 0.11 0.14 - :math:`a_{froot}^{f}` 0.05 0 0.2 0.2 0 0.05 0.05 0.2 0.09 0.09 - :math:`a_{leaf}^{f}` 0 0 0 0 0 0 0 0 0 0 - :math:`a_{livestem}^{f}` 0 0.05 0.3 0.3 0.05 0 0 0.3 0 0 - :math:`d_{L}` 1.05 1.05 1.05 1.05 1.05 1.05 1.05 1.05 1.05 1.05 - :math:`d_{alloc}^{stem}` 2 1 5 5 1 2 2 5 2 2 - :math:`d_{alloc}^{leaf}` 5 3 2 2 3 5 5 2 5 5 - :math:`{CN}_{leaf}` 25 20 20 20 20 25 25 20 25 25 - :math:`{CN}_{stem}` 50 50 50 50 50 50 50 50 50 50 - :math:`{CN}_{froot}` 42 42 42 42 42 42 42 42 42 42 - :math:`CN^f_{leaf}` 65 65 65 65 65 65 65 65 65 65 - :math:`CN^f_{stem}` 120 100 130 130 100 120 120 130 120 120 - :math:`CN^f_{froot}` 0 40 0 0 40 0 0 0 0 0 - :math:`{CN}_{grain}` 50 50 50 50 50 50 50 50 50 50 + IVT 17, 18 19, 20 23, 24 41, 42 61, 62 67, 68 75, 76 77, 78 71, 72 73, 74 + :math:`a_{leaf}^{i}` 0.6 0.9 0.85 0.85 0.75 0.6 0.6 0.85 0.9 0.7 + :math:`{L}_{max}` (m :sup:`2` m :sup:`-2`) 5 7 6 6 7 5 5 6 10 6.5 + :math:`a_{froot}^{i}` 0.1 0.05 0.2 0.2 0.1 0.1 0.1 0.2 0.11 0.14 + :math:`a_{froot}^{f}` 0.05 0 0.2 0.2 0 0.05 0.05 0.2 0.09 0.09 + :math:`a_{leaf}^{f}` 0 0 0 0 0 0 0 0 0 0 + :math:`a_{livestem}^{f}` 0 0.05 0.3 0.3 0.05 0 0 0.3 0 0 + :math:`d_{L}` 1.05 1.05 1.05 1.05 1.05 1.05 1.05 1.05 1.05 1.05 + :math:`d_{alloc}^{stem}` 2 1 5 5 1 2 2 5 2 2 + :math:`d_{alloc}^{leaf}` 5 3 2 2 3 5 5 2 5 5 + :math:`{CN}_{leaf}` 25 20 20 20 20 25 25 20 25 25 + :math:`{CN}_{stem}` 50 50 50 50 50 50 50 50 50 50 + :math:`{CN}_{froot}` 42 42 42 42 42 42 42 42 42 42 + :math:`CN^f_{leaf}` 65 65 65 65 65 65 65 65 65 65 + :math:`CN^f_{stem}` 120 100 130 130 100 120 120 130 120 120 + :math:`CN^f_{froot}` 0 40 0 0 40 0 0 0 0 0 + :math:`{CN}_{grain}` 50 50 50 50 50 50 50 50 50 50 =========================================== ============== ============ ================== ====== ====== ========= ============= ================ ================ ================ -Notes: Crop growth phases and corresponding variables are described throughout the text. :math:`{CN}_{leaf}`, :math:`{CN}_{stem}`, and :math:`{CN}_{froot}` are the target C:N ratios used during the leaf emergence phase (phase 2). +Notes: Crop growth phases and corresponding variables are described throughout +the text. :math:`{CN}_{leaf}`, :math:`{CN}_{stem}`, and :math:`{CN}_{froot}` are +the target C:N ratios used during the leaf emergence phase (phase 2). + .. _Other Features: @@ -459,116 +718,211 @@ Other Features Physical Crop Characteristics ''''''''''''''''''''''''''''' -Leaf area index (*L*) is calculated as a function of specific leaf area (SLA, :numref:`Table Crop phenology parameters`) and leaf C. Stem area index (*S*) is equal to 0.1\ *L* for temperate and tropical corn, sugarcane, switchgrass, and miscanthus and 0.2\ *L* for other crops, as in AgroIBIS. All live C and N pools go to 0 after crop harvest, but the *S* is kept at 0.25 to simulate a post-harvest "stubble" on the ground. +Leaf area index (*L*) is calculated as a function of specific leaf area +(SLA, :numref:`Table Crop phenology parameters`) and leaf C. +Stem area index (*S*) is equal to 0.1\ *L* for temperate and tropical corn, sugarcane, switchgrass, and miscanthus and 0.2\ *L* for +other crops, as in AgroIBIS. All live +C and N pools go to 0 after crop harvest, but the *S* is kept at 0.25 to +simulate a post-harvest “stubble” on the ground. + +Crop heights at the top and bottom of the canopy, :math:`{z}_{top}` +and :math:`{z}_{bot}` (m), come from the AgroIBIS formulation: -Crop heights at the top and bottom of the canopy, :math:`{z}_{top}` and :math:`{z}_{bot}` (m), come from the AgroIBIS formulation: .. math:: :label: 25.16 - \begin{array}{l} - {z_{top} =z_{top}^{\max } \left(\frac{L}{L_{\max } -1} \right)^{2} \ge 0.05{\rm \; where\; }\frac{L}{L_{\max } -1} \le 1} \\ - {z_{bot} =0.02{\rm m}} + \begin{array}{l} + {z_{top} =z_{top}^{\max } \left(\frac{L}{L_{\max } -1} \right)^{2} \ge 0.05{\rm \; where\; }\frac{L}{L_{\max } -1} \le 1} \\ + {z_{bot} =0.02{\rm m}} \end{array} -where :math:`z_{top}^{\max }` is the maximum top-of-canopy height of the crop (:numref:`Table Crop phenology parameters`) and :math:`L_{\max }` is the maximum leaf area index (:numref:`Table Crop allocation parameters`). +where :math:`z_{top}^{\max }` is the maximum top-of-canopy height of the crop (:numref:`Table Crop phenology parameters`) +and :math:`L_{\max }` is the maximum leaf area index (:numref:`Table Crop allocation parameters`). .. _Interactive fertilization: Interactive Fertilization ''''''''''''''''''''''''' -CLM simulates fertilization by adding nitrogen directly to the soil mineral nitrogen pool to meet crop nitrogen demands using both industrial fertilizer and manure application. CLM's separate crop land unit ensures that natural vegetation will not access the fertilizer applied to crops. Fertilizer in CLM5BGCCROP is prescribed by crop functional types and varies spatially for each year based on the LUMIP land use and land cover change time series (LUH2 for historical and SSPs for future) (:ref:`Lawrence et al. 2016 `). One of two fields is used to prescribe industrial fertilizer based on the type of simulation. For non-transient simulations, annual fertilizer application in g N/m\ :sup:`2`/yr is specified on the land surface data set by the field CONST_FERTNITRO_CFT. In transient simulations, annual fertilizer application is specified on the land use time series file by the field FERTNITRO_CFT, which is also in g N/m\ :sup:`2`/yr. The values for both of these fields come from the LUMIP time series for each year. In addition to the industrial fertilizer, background manure fertilizer is specified on the parameter file by the field 'manunitro'. For perennial bioenergy crops, little fertilizer (56kg/ha/yr) is applied to switchgrass, no fertilizer is applied to Miscanthus. Note these rates are only based on local land management practices at the University of Illinois Energy Farm located in Central Midwestern United States :ref:`(Cheng et al., 2019)` rather than the LUMIP timeseries. For the current CLM5BGCCROP, manure N is applied at a rate of 0.002 kg N/m\ :sup:`2`/yr. Because previous versions of CLM (e.g., CLM4) had rapid denitrification rates, fertilizer is applied slowly to minimize N loss (primarily through denitrification) and maximize plant uptake. The current implementation of CLM5 inherits this legacy, although denitrification rates are slower in the current version of the model (:ref:`Koven et al. 2013 `). As such, fertilizer application begins during the leaf emergence phase of crop development (phase 2) and continues for 20 days, which helps reduce large losses of nitrogen from leaching and denitrification during the early stage of crop development. The 20-day period is chosen as an optimization to limit fertilizer application to the emergence stage. A fertilizer counter in seconds, *f*, is set as soon as the leaf emergence phase for crops initiates: +CLM simulates fertilization by adding nitrogen directly to the soil mineral nitrogen pool to meet +crop nitrogen demands using both industrial fertilizer and manure application. CLM’s separate crop land unit ensures that +natural vegetation will not access the fertilizer applied to crops. +Fertilizer in CLM5BGCCROP is prescribed by crop functional types and varies spatially +for each year based on the LUMIP land use and land cover change +time series (LUH2 for historical and SSPs for future) (:ref:`Lawrence et al. 2016 `). +One of two fields is used to prescribe industrial fertilizer based on the type of simulation. +For non-transient simulations, annual fertilizer application in g N/m\ :sup:`2`/yr +is specified on the land surface data set by the field CONST_FERTNITRO_CFT. +In transient simulations, annual fertilizer application is specified on the land use time series +file by the field FERTNITRO_CFT, which is also in g N/m\ :sup:`2`/yr. +The values for both of these fields come from the LUMIP time series for each year. +In addition to the industrial fertilizer, background manure fertilizer is specified +on the parameter file by the field 'manunitro'. For perennial bioenergy crops, +little fertilizer (56kg/ha/yr) is applied to switchgrass, no fertilizer is applied to Miscanthus. +Note these rates are only based on local land management practices at the University of Illinois Energy Farm +located in Central Midwestern United States :ref:`(Cheng et al., 2019)` rather than the LUMIP timeseries. For the current CLM5BGCCROP, +manure N is applied at a rate of 0.002 kg N/m\ :sup:`2`/yr. Because previous versions +of CLM (e.g., CLM4) had rapid denitrification rates, fertilizer is applied slowly +to minimize N loss (primarily through denitrification) and maximize plant uptake. +The current implementation of CLM5 inherits this legacy, although denitrification rates +are slower in the current version of the model (:ref:`Koven et al. 2013 `). As such, +fertilizer application begins during the leaf emergence phase of crop +development (phase 2) and continues for 20 days, which helps reduce large losses +of nitrogen from leaching and denitrification during the early stage of +crop development. The 20-day period is chosen as an optimization to +limit fertilizer application to the emergence stage. A fertilizer +counter in seconds, *f*, is set as soon as the leaf emergence phase for crops +initiates: .. math:: :label: 25.17 - f = n \times 86400 + f = n \times 86400 + +where *n* is set to 20 fertilizer application days and 86400 is the number of seconds per day. When the crop enters +phase 2 (leaf emergence) of its growth +cycle, fertilizer application begins by initializing fertilizer amount +to the total fertilizer at each column within the grid cell divided by the initialized *f*. +Fertilizer is applied and *f* is decremented each time step until a zero balance on +the counter is reached. -where *n* is set to 20 fertilizer application days and 86400 is the number of seconds per day. When the crop enters phase 2 (leaf emergence) of its growth cycle, fertilizer application begins by initializing fertilizer amount to the total fertilizer at each column within the grid cell divided by the initialized *f*. Fertilizer is applied and *f* is decremented each time step until a zero balance on the counter is reached. .. _Biological nitrogen fixation for soybeans: Biological nitrogen fixation for soybeans ''''''''''''''''''''''''''''''''''''''''' -Biological N fixation for soybeans is calculated by the fixation and uptake of nitrogen module (Chapter :numref:`rst_FUN`) and is the same as N fixation in natural vegetation. Unlike natural vegetation, where a fraction of each pft are N fixers, all soybeans are treated as N fixers. +Biological N fixation for soybeans is calculated by the fixation and uptake of +nitrogen module (Chapter :numref:`rst_FUN`) and is the same as N fixation in natural vegetation. Unlike natural +vegetation, where a fraction of each pft are N fixers, all soybeans +are treated as N fixers. .. _Latitude vary base tempereature for growing degree days: Latitudinal variation in base growth tempereature ''''''''''''''''''''''''''''''''''''''''''''''''' -For most crops, :math:`GDD_{T_{{\rm 2m}} }` (growing degree days since planting) is the same in all locations. However, the for both rainfed and irrigated spring wheat and sugarcane, the calculation of :math:`GDD_{T_{{\rm 2m}} }` allows for latitudinal variation: +For most crops, :math:`GDD_{T_{{\rm 2m}} }` (growing degree days since planting) +is the same in all locations. However, +the for both rainfed and irrigated spring wheat and sugarcane, the calculation of +:math:`GDD_{T_{{\rm 2m}} }` allows for latitudinal variation: .. math:: :label: 25.18 latitudinal\ variation\ in\ base\ T = \left\{ - \begin{array}{lr} + \begin{array}{lr} baset +12 - 0.4 \times latitude &\qquad 0 \le latitude \le 30 \\ - baset +12 + 0.4 \times latitude &\qquad -30 \le latitude \le 0 + baset +12 + 0.4 \times latitude &\qquad -30 \le latitude \le 0 \end{array} \right\} -where :math:`baset` is the *base temperature for GDD* (7\ :sup:`th` row) in :numref:`Table Crop phenology parameters`. Such latitudinal variation in base growth temperature could increase the base temperature, slow down :math:`GDD_{T_{{\rm 2m}} }` accumulation, and extend the growing season for regions within 30°S to 30°N for spring wheat and sugarcane. +where :math:`baset` is the *base temperature for GDD* (7\ :sup:`th` row) in :numref:`Table Crop phenology parameters`. +Such latitudinal variation in base growth temperature could increase the base temperature, slow down :math:`GDD_{T_{{\rm 2m}} }` +accumulation, and extend the growing season for regions within 30ºS to 30ºN for spring wheat +and sugarcane. .. _Separate reproductive pool: Separate reproductive pool '''''''''''''''''''''''''' -One notable difference between natural vegetation and crops is the presence of reproductive carbon and nitrogen pools. Accounting for the reproductive pools helps determine whether crops are performing reasonably through yield calculations. The reproductive pool is maintained similarly to the leaf, stem, and fine root pools, but allocation of carbon and nitrogen does not begin until the grain fill stage of crop development. Equation :eq:`25.5` describes the carbon and nitrogen allocation coefficients to the reproductive pool. In CLM5BGCCROP, as allocation declines in stem, leaf, and root pools (see section :numref:`Grain fill to harvest`) during the grain fill stage of growth, increasing amounts of carbon and nitrogen are available for grain development. +One notable difference between natural vegetation and crops is the +presence of reproductive carbon and nitrogen pools. Accounting +for the reproductive pools helps determine whether crops are performing +reasonably through yield calculations. +The reproductive pool is maintained similarly to the leaf, stem, +and fine root pools, but allocation of carbon and nitrogen does not +begin until the grain fill stage of crop development. Equation :eq:`25.5` describes the +carbon and nitrogen allocation coefficients to the reproductive pool. +In CLM5BGCCROP, as allocation declines in stem, leaf, and root pools (see section :numref:`Grain fill to harvest`) +during the grain fill stage of growth, increasing amounts of carbon and +nitrogen are available for grain development. + .. _The irrigation model: The irrigation model -------------------- -The CLM includes the option to irrigate cropland areas that are equipped for irrigation. The application of irrigation responds dynamically to the soil moisture conditions simulated by the CLM. This irrigation algorithm is based loosely on the implementation of :ref:`Ozdogan et al. (2010) `. +The CLM includes the option to irrigate cropland areas that are equipped +for irrigation. The application of irrigation responds dynamically to +the soil moisture conditions simulated by the CLM. This irrigation +algorithm is based loosely on the implementation of +:ref:`Ozdogan et al. (2010) `. -When irrigation is enabled, the crop areas of each grid cell are divided into irrigated and rainfed fractions according to a dataset of areas equipped for irrigation (:ref:`Portmann et al. 2010 `). Irrigated and rainfed crops are placed on separate soil columns, so that irrigation is only applied to the soil beneath irrigated crops. +When irrigation is enabled, the crop areas of each grid cell are divided +into irrigated and rainfed fractions according to a dataset of areas +equipped for irrigation (:ref:`Portmann et al. 2010 `). +Irrigated and rainfed crops are placed on separate soil columns, so that +irrigation is only applied to the soil beneath irrigated crops. -In irrigated croplands, a check is made once per day to determine whether irrigation is required on that day. This check is made in the first time step after 6 AM local time. Irrigation is required if crop leaf area :math:`>` 0, and the available soil water is below a specified threshold. +In irrigated croplands, a check is made once per day to determine +whether irrigation is required on that day. This check is made in the +first time step after 6 AM local time. Irrigation is required if crop +leaf area :math:`>` 0, and the available soil water is below a specified +threshold. -The soil moisture deficit :math:`D_{irrig}` is +The soil moisture deficit :math:`D_{irrig}` is .. math:: :label: 25.61 D_{irrig} = \left\{ - \begin{array}{lr} + \begin{array}{lr} w_{thresh} - w_{avail} &\qquad w_{thresh} > w_{avail} \\ - 0 &\qquad w_{thresh} \le w_{avail} + 0 &\qquad w_{thresh} \le w_{avail} \end{array} \right\} -where :math:`w_{thresh}` is the irrigation moisture threshold (mm) and :math:`w_{avail}` is the available moisture (mm). The moisture threshold is +where :math:`w_{thresh}` is the irrigation moisture threshold (mm) and +:math:`w_{avail}` is the available moisture (mm). The moisture threshold +is .. math:: :label: 25.62 w_{thresh} = f_{thresh} \left(w_{target} - w_{wilt}\right) + w_{wilt} -where :math:`w_{target}` is the irrigation target soil moisture (mm) +where :math:`w_{target}` is the irrigation target soil moisture (mm) .. math:: :label: 25.63 w_{target} = \sum_{j=1}^{N_{irr}} \theta_{target} \Delta z_{j} \ , -:math:`w_{wilt}` is the wilting point soil moisture (mm) +:math:`w_{wilt}` is the wilting point soil moisture (mm) .. math:: :label: 25.64 w_{wilt} = \sum_{j=1}^{N_{irr}} \theta_{wilt} \Delta z_{j} \ , -and :math:`f_{thresh}` is a tuning parameter. The available moisture in -the soil is +and :math:`f_{thresh}` is a tuning parameter. The available moisture in +the soil is .. math:: :label: 25.65 w_{avail} = \sum_{j=1}^{N_{irr}} \theta_{j} \Delta z_{j} \ , -:math:`N_{irr}` is the index of the soil layer corresponding to a specified depth :math:`z_{irrig}` (:numref:`Table Irrigation parameters`) and :math:`\Delta z_{j}` is the thickness of the soil layer in layer :math:`j` (section :numref:`Vertical Discretization`). :math:`\theta_{j}` is the volumetric soil moisture in layer :math:`j` (section :numref:`Soil Water`). :math:`\theta_{target}` and :math:`\theta_{wilt}` are the target and wilting point volumetric soil moisture values, respectively, and are determined by inverting :eq:`7.94` using soil matric potential parameters :math:`\Psi_{target}` and :math:`\Psi_{wilt}` (:numref:`Table Irrigation parameters`). After the soil moisture deficit :math:`D_{irrig}` is calculated, irrigation in an amount equal to :math:`\frac{D_{irrig}}{T_{irrig}}` (mm/s) is applied uniformly over the irrigation period :math:`T_{irrig}` (s). Irrigation water is applied directly to the ground surface, bypassing canopy interception (i.e., added to :math:`{q}_{grnd,liq}`: section :numref:`Canopy Water`). - -To conserve mass, irrigation is removed from river water storage (Chapter :numref:`rst_River Transport Model (RTM)`). When river water storage is inadequate to meet irrigation demand, there are two options: 1) the additional water can be removed from the ocean model, or 2) the irrigation demand can be reduced such that river water storage is maintained above a specified threshold. +:math:`N_{irr}` is the index of the soil layer corresponding to a specified +depth :math:`z_{irrig}` (:numref:`Table Irrigation parameters`) and +:math:`\Delta z_{j}` is the thickness of the soil layer in layer :math:`j` (section +:numref:`Vertical Discretization`). :math:`\theta_{j}` is the +volumetric soil moisture in layer :math:`j` (section :numref:`Soil Water`). +:math:`\theta_{target}` and +:math:`\theta_{wilt}` are the target and wilting point volumetric +soil moisture values, respectively, and are determined by inverting +:eq:`7.94` using soil matric +potential parameters :math:`\Psi_{target}` and :math:`\Psi_{wilt}` +(:numref:`Table Irrigation parameters`). After the soil moisture deficit +:math:`D_{irrig}` is calculated, irrigation in an amount equal to +:math:`\frac{D_{irrig}}{T_{irrig}}` (mm/s) is applied uniformly over +the irrigation period :math:`T_{irrig}` (s). Irrigation water is applied +directly to the ground surface, bypassing canopy interception (i.e., +added to :math:`{q}_{grnd,liq}`: section :numref:`Canopy Water`). + +To conserve mass, irrigation is removed from river water storage (Chapter :numref:`rst_River Transport Model (RTM)`). +When river water storage is inadequate to meet irrigation demand, +there are two options: 1) the additional water can be removed from the +ocean model, or 2) the irrigation demand can be reduced such that +river water storage is maintained above a specified threshold. .. _Table Irrigation parameters: @@ -587,4 +941,8 @@ To conserve mass, irrigation is removed from river water storage (Chapter :numre +--------------------------------------+-------------+ .. add a reference to surface data in chapter2 - To accomplish this we downloaded data of percent irrigated and percent rainfed corn, soybean, and temperate cereals (wheat, barley, and rye) (:ref:`Portmann et al. 2010 `), available online from *ftp://ftp.rz.uni-frankfurt.de/pub/uni-frankfurt/physische\_geographie/hydrologie/public/data/MIRCA2000/harvested\_area\_grids.* + To accomplish this we downloaded + data of percent irrigated and percent rainfed corn, soybean, and + temperate cereals (wheat, barley, and rye) (:ref:`Portmann et al. 2010 `), + available online from + *ftp://ftp.rz.uni-frankfurt.de/pub/uni-frankfurt/physische\_geographie/hydrologie/public/data/MIRCA2000/harvested\_area\_grids.* diff --git a/doc/source/tech_note/DGVM/CLM50_Tech_Note_DGVM.rst b/doc/source/tech_note/DGVM/CLM50_Tech_Note_DGVM.rst index 4874ca9943..c62591b70c 100644 --- a/doc/source/tech_note/DGVM/CLM50_Tech_Note_DGVM.rst +++ b/doc/source/tech_note/DGVM/CLM50_Tech_Note_DGVM.rst @@ -10,6 +10,7 @@ What has changed - Introduction of FATES: The Functionally Assembled Terrestrial Ecosystem Simulator (FATES) is the actively developed DGVM for the CLM5. + FATES ^^^^^^^^^^^^^^^^^^^^ @@ -21,7 +22,19 @@ Fisher, R. A., Muszala, S., Verteinstein, M., Lawrence, P., Xu, C., McDowell, N. The Ecosystem Demography ('ED'), concept within FATES is derived from the work of :ref:`Moorcroft et al. (2001)` and is a cohort model of vegetation competition and co-existence, allowing a representation of the biosphere which accounts for the division of the land surface into successional stages, and for competition for light between height structured cohorts of representative trees of various plant functional types. -The implementation of the Ecosystem Demography concept within FATES links the surface flux and canopy physiology concepts in CLM with numerous additional developments necessary to accommodate the new model. These include a version of the SPITFIRE (Spread and InTensity of Fire) model of :ref:`Thonicke et al. (2010)`, and an adoption of the concept of `Perfect Plasticity Approximation` approach of :ref:`Purves et al. 2008`, :ref:`Lichstein et al. 2011` and :ref:`Weng et al. 2014`, in accounting for the spatial arrangement of crowns. Novel algorithms accounting for the fragmentation of coarse woody debris into chemical litter streams, for the physiological optimization of canopy thickness, for the accumulation of seeds in the seed bank, for multi-layer multi-PFT radiation transfer, for drought-deciduous and cold-deciduous phenology, for carbon storage allocation, and for tree mortality under carbon stress, are also included. +The implementation of the Ecosystem Demography concept within FATES links the surface flux and canopy physiology concepts in CLM +with numerous additional developments necessary to accommodate the new model. These include a version of the SPITFIRE +(Spread and InTensity of Fire) model of :ref:`Thonicke et al. (2010)`, and an adoption of the concept of +`Perfect Plasticity Approximation` approach of +:ref:`Purves et al. 2008`, :ref:`Lichstein et al. 2011` and :ref:`Weng et al. 2014`, in accounting +for the spatial arrangement of crowns. Novel algorithms accounting for +the fragmentation of coarse woody debris into chemical litter streams, +for the physiological optimization of canopy thickness, for the +accumulation of seeds in the seed bank, for multi-layer multi-PFT +radiation transfer, for drought-deciduous and cold-deciduous phenology, +for carbon storage allocation, and for tree mortality under carbon +stress, are also included. + Further reading ^^^^^^^^^^^^^^^^^^^^ diff --git a/doc/source/tech_note/Decomposition/CLM50_Tech_Note_Decomposition.rst b/doc/source/tech_note/Decomposition/CLM50_Tech_Note_Decomposition.rst index 7bfd1bebdb..0d2ad98687 100644 --- a/doc/source/tech_note/Decomposition/CLM50_Tech_Note_Decomposition.rst +++ b/doc/source/tech_note/Decomposition/CLM50_Tech_Note_Decomposition.rst @@ -3,7 +3,20 @@ Decomposition ================= -Decomposition of fresh litter material into progressively more recalcitrant forms of soil organic matter is represented in CLM is defined as a cascade of :math:`{k}_{tras}` transformations between :math:`{m}_{pool}` decomposing coarse woody debris (CWD), litter, and soil organic matter (SOM) pools, each defined at :math:`{n}_{lev}` vertical levels. CLM allows the user to define, at compile time, between 2 contrasting hypotheses of decomposition as embodied by two separate decomposition submodels: the CLM-CN pool structure used in CLM4.0, or a second pool structure, characterized by slower decomposition rates, based on the fCentury model (Parton et al 1988). In addition, the user can choose, at compile time, whether to allow :math:`{n}_{lev}` to equal 1, as in CLM4.0, or to equal the number of soil levels used for the soil hydrological and thermal calculations (see Section :numref:`Soil Layers` for soil layering). +Decomposition of fresh litter material into progressively more +recalcitrant forms of soil organic matter is represented in CLM is +defined as a cascade of :math:`{k}_{tras}` transformations between +:math:`{m}_{pool}` decomposing coarse woody debris (CWD), litter, +and soil organic matter (SOM) pools, each defined at +:math:`{n}_{lev}` vertical levels. CLM allows the user to define, at +compile time, between 2 contrasting hypotheses of decomposition as +embodied by two separate decomposition submodels: the CLM-CN pool +structure used in CLM4.0, or a second pool structure, characterized by +slower decomposition rates, based on the fCentury model (Parton et al. +1988). In addition, the user can choose, at compile time, whether to +allow :math:`{n}_{lev}` to equal 1, as in CLM4.0, or to equal the +number of soil levels used for the soil hydrological and thermal +calculations (see Section :numref:`Soil Layers` for soil layering). .. _Figure Schematic of decomposition model in CLM: @@ -11,40 +24,80 @@ Decomposition of fresh litter material into progressively more recalcitrant form Schematic of decomposition model in CLM. -Model is structured to allow different representations of the soil C and N decomposition cascade, as well as a vertically-explicit treatment of soil biogeochemistry. +Model is structured to allow different representations of the soil C and +N decomposition cascade, as well as a vertically-explicit treatment of +soil biogeochemistry. -For the single-level model structure, the fundamental equation for carbon balance of the decomposing pools is: +For the single-level model structure, the fundamental equation for +carbon balance of the decomposing pools is: .. math:: - :label: 21.1) + :label: 21.1) \frac{\partial C_{i} }{\partial t} =R_{i} +\sum _{j\ne i}\left(i-r_{j} \right)T_{ji} k_{j} C_{j} -k_{i} C_{i} -where :math:`{C}_{i}` is the carbon content of pool *i*, :math:`{R}_{i}` are the carbon inputs from plant tissues directly to pool *i* (only non-zero for CWD and litter pools), :math:`{k}_{i}` is the decay constant of pool *i*; :math:`{T}_{ji}` is the fraction of carbon directed from pool *j* to pool *i* with fraction :math:`{r}_{j}` lost as a respiration flux along the way. +where :math:`{C}_{i}` is the carbon content of pool *i*, +:math:`{R}_{i}` are the carbon inputs from plant tissues directly to +pool *i* (only non-zero for CWD and litter pools), :math:`{k}_{i}` +is the decay constant of pool *i*; :math:`{T}_{ji}` is the fraction +of carbon directed from pool *j* to pool *i* with fraction +:math:`{r}_{j}` lost as a respiration flux along the way. -Adding the vertical dimension to the decomposing pools changes the balance equation to the following: +Adding the vertical dimension to the decomposing pools changes the +balance equation to the following: .. math:: - :label: 21.2) + :label: 21.2) \begin{array}{l} {\frac{\partial C_{i} (z)}{\partial t} =R_{i} (z)+\sum _{i\ne j}\left(1-r_{j} \right)T_{ji} k_{j} (z)C_{j} (z) -k_{i} (z)C_{i} (z)} \\ {+\frac{\partial }{\partial z} \left(D(z)\frac{\partial C_{i} }{\partial z} \right)+\frac{\partial }{\partial z} \left(A(z)C_{i} \right)} \end{array} -where :math:`{C}_{i}`\ (z) is now defined at each model level, and in volumetric (gC m\ :sup:`-3`) rather than areal (gC m\ :sup:`-2`) units, along with :math:`{R}_{i}`\ (z) and :math:`{k}_{j}`\ (z). In addition, vertical transport is handled by the last two terms, for diffusive and advective transport. In the base model, advective transport is set to zero, leaving only a diffusive flux with diffusivity *D(z)* defined for all decomposing carbon and nitrogen pools. Further discussion of the vertical distribution of carbon inputs :math:`{R}_{i}`\ (z), vertical turnover times :math:`{k}_{j}`\ (z), and vertical transport *D(z)* is below Discussion of the vertical model and analysis of both decomposition structures is in :ref:`Koven et al. (2013) `. +where :math:`{C}_{i}`\ (z) is now defined at each model level, and +in volumetric (gC m\ :sup:`-3`) rather than areal (gC m\ :sup:`-2`) units, along with :math:`{R}_{i}`\ (z) and +:math:`{k}_{j}`\ (z). In addition, vertical transport is handled by +the last two terms, for diffusive and advective transport. In the base +model, advective transport is set to zero, leaving only a diffusive flux +with diffusivity *D(z)* defined for all decomposing carbon and nitrogen +pools. Further discussion of the vertical distribution of carbon inputs +:math:`{R}_{i}`\ (z), vertical turnover times +:math:`{k}_{j}`\ (z), and vertical transport *D(z)* is below. +Discussion of the vertical model and analysis of both decomposition +structures is in :ref:`Koven et al. (2013) `. .. _Figure Pool structure: .. figure:: soil_C_pools_CN_century.png - Pool structure, transitions, respired fractions (numbers at + Pool structure, transitions, respired fractions (numbers at end of arrows), and turnover times (numbers in boxes) for the 2 alternate soil decomposition models included in CLM. CLM-CN Pool Structure, Rate Constants and Parameters --------------------------------------------------------- -The CLM-CN structure in CLM45 uses three state variables for fresh litter and four state variables for soil organic matter (SOM). The masses of carbon and nitrogen in the live microbial community are not modeled explicitly, but the activity of these organisms is represented by decomposition fluxes transferring mass between the litter and SOM pools, and heterotrophic respiration losses associated with these transformations. The litter and SOM pools in CLM-CN are arranged as a converging cascade (Figure 15.2), derived directly from the implementation in Biome-BGC v4.1.2 (Thornton et al. 2002; Thornton and Rosenbloom, 2005). - -Model parameters are estimated based on a synthesis of microcosm decomposition studies using radio-labeled substrates (Degens and Sparling, 1996; Ladd et al. 1992; Martin et al. 1980; Mary et al. 1993 Saggar et al. 1994; Sørensen, 1981; van Veen et al. 1984). Multiple exponential models are fitted to data from the microcosm studies to estimate exponential decay rates and respiration fractions (Thornton, 1998). The microcosm experiments used for parameterization were all conducted at constant temperature and under moist conditions with relatively high mineral nitrogen concentrations, and so the resulting rate constants are assumed not limited by the availability of water or mineral nitrogen. :numref:`Table Decomposition rate constants` lists the base decomposition rates for each litter and SOM pool, as well as a base rate for physical fragmentation for the coarse woody debris pool (CWD). +The CLM-CN structure in CLM45 uses three state variables for fresh +litter and four state variables for soil organic matter (SOM). The +masses of carbon and nitrogen in the live microbial community are not +modeled explicitly, but the activity of these organisms is represented +by decomposition fluxes transferring mass between the litter and SOM +pools, and heterotrophic respiration losses associated with these +transformations. The litter and SOM pools in CLM-CN are arranged as a +converging cascade (Figure 15.2), derived directly from the +implementation in Biome-BGC v4.1.2 (Thornton et al. 2002; Thornton and +Rosenbloom, 2005). + +Model parameters are estimated based on a synthesis of microcosm +decomposition studies using radio-labeled substrates (Degens and +Sparling, 1996; Ladd et al. 1992; Martin et al. 1980; Mary et al. 1993; +Saggar et al. 1994; Sørensen, 1981; van Veen et al. 1984). Multiple +exponential models are fitted to data from the microcosm studies to +estimate exponential decay rates and respiration fractions (Thornton, +1998). The microcosm experiments used for parameterization were all +conducted at constant temperature and under moist conditions with +relatively high mineral nitrogen concentrations, and so the resulting +rate constants are assumed not limited by the availability of water or +mineral nitrogen. :numref:`Table Decomposition rate constants` lists the base decomposition rates for each +litter and SOM pool, as well as a base rate for physical fragmentation +for the coarse woody debris pool (CWD). .. _Table Decomposition rate constants: @@ -72,21 +125,37 @@ Model parameters are estimated based on a synthesis of microcosm decomposition s | :math:`{k}_{CWD}` | 0.001 | 0.00004 | - | 1 | +--------------------------+------------------------------------------------+-----------------------------------------------+---------------+-----------------------------------------+ -The first column of :numref:`Table Decomposition rate constants` gives the rates as used for the Biome-BGC model, which uses a discrete-time model with a daily timestep. The second column of :numref:`Table Decomposition rate constants` shows the rates transformed for a one-hour discrete timestep typical of CLM-CN. The transformation is based on the conversion of the initial discrete-time value (:math:`{k}_{disc1}` first to a continuous time value (:math:`{k}_{cont}`), then to the new discrete-time value with a different timestep (:math:`{k}_{disc2}`), following Olson (1963): +The first column of :numref:`Table Decomposition rate constants` gives the rates as used for the Biome-BGC +model, which uses a discrete-time model with a daily timestep. The +second column of :numref:`Table Decomposition rate constants` shows the rates transformed for a one-hour +discrete timestep typical of CLM-CN. The transformation is based on the +conversion of the initial discrete-time value (:math:`{k}_{disc1}`) +first to a continuous time value (:math:`{k}_{cont}`), then to the +new discrete-time value with a different timestep +(:math:`{k}_{disc2}`) , following Olson (1963): .. math:: - :label: ZEqnNum608251 + :label: ZEqnNum608251 k_{cont} =-\log \left(1-k_{disc1} \right) .. math:: - :label: ZEqnNum772630 + :label: ZEqnNum772630 k_{disc2} =1-\exp \left(-k_{cont} \frac{\Delta t_{2} }{\Delta t_{1} } \right) -where :math:`\Delta`\ :math:`{t}_{1}` (s) and :math:`\Delta`\ t\ :sub:`2` (s) are the time steps of the initial and new discrete-time models, respectively. +where :math:`\Delta`\ :math:`{t}_{1}` (s) and +:math:`\Delta`\ t\ :sub:`2` (s) are the time steps of the +initial and new discrete-time models, respectively. -Respiration fractions are parameterized for decomposition fluxes out of each litter and SOM pool. The respiration fraction (*rf*, unitless) is the fraction of the decomposition carbon flux leaving one of the litter or SOM pools that is released as CO\ :sub:`2` due to heterotrophic respiration. Respiration fractions and exponential decay rates are estimated simultaneously from the results of microcosm decomposition experiments (Thornton, 1998). The same values are used in CLM-CN and Biome-BGC (:numref:`Table Respiration fractions for litter and SOM pools`). +Respiration fractions are parameterized for decomposition fluxes out of +each litter and SOM pool. The respiration fraction (*rf*, unitless) is +the fraction of the decomposition carbon flux leaving one of the litter +or SOM pools that is released as CO\ :sub:`2` due to heterotrophic +respiration. Respiration fractions and exponential decay rates are +estimated simultaneously from the results of microcosm decomposition +experiments (Thornton, 1998). The same values are used in CLM-CN and +Biome-BGC (:numref:`Table Respiration fractions for litter and SOM pools`). .. _Table Respiration fractions for litter and SOM pools: @@ -106,16 +175,23 @@ Respiration fractions are parameterized for decomposition fluxes out of each lit | :math:`{rf}_{SOM2}` | 0.46 | +---------------------------+-----------------------+ | :math:`{rf}_{SOM3}` | 0.55 | - +---------------------------+-----------------------+ + +---------------------------+-----------------------+ | :math:`{rf}_{SOM4}` | :math:`{1.0}^{a}` | +---------------------------+-----------------------+ -:sup:`a`:math:`{}^{a}` The respiration fraction for pool SOM4 is 1.0 by definition: since there is no pool downstream of SOM4, the entire carbon flux leaving this pool is assumed to be respired as CO\ :sub:`2`. +:sup:`a`:math:`{}^{a}` The respiration fraction for pool SOM4 is 1.0 by +definition: since there is no pool downstream of SOM4, the entire carbon +flux leaving this pool is assumed to be respired as CO\ :sub:`2`. Century-based Pool Structure, Rate Constants and Parameters ---------------------------------------------------------------- -The Century-based decomposition cascade is, like CLM-CN, a first-order decay model; the two structures differ in the number of pools, the connections between those pools, the turnover times of the pools, and the respired fraction during each transition (Figure 15.2). The turnover times are different for the Century-based pool structure, following those described in Parton et al. (1988) (:numref:`Table Turnover times`). +The Century-based decomposition cascade is, like CLM-CN, a first-order +decay model; the two structures differ in the number of pools, the +connections between those pools, the turnover times of the pools, and +the respired fraction during each transition (Figure 15.2). The turnover +times are different for the Century-based pool structure, following +those described in Parton et al. (1988) (:numref:`Table Turnover times`). .. _Table Turnover times: @@ -164,392 +240,591 @@ Likewise, values for the respiration fraction of Century-based structure are in Environmental modifiers on decomposition rate -------------------------------------------------- -These base rates are modified on each timestep by functions of the current soil environment. For the single-level model, there are two rate modifiers, temperature (:math:`{r}_{tsoil}`, unitless) and moisture (:math:`{r}_{water}`, unitless), both of which are calculated using the average environmental conditions of the top five model levels (top 29 cm of soil column). For the vertically-resolved model, two additional environmental modifiers are calculated beyond the temperature and moisture limitations: an oxygen scalar (:math:`{r}_{oxygen}`, unitless), and a depth scalar (:math:`{r}_{depth}`, unitless). +These base rates are modified on each timestep by functions of the +current soil environment. For the single-level model, there are two rate +modifiers, temperature (:math:`{r}_{tsoil}`, unitless) and moisture +(:math:`{r}_{water}`, unitless), both of which are calculated using +the average environmental conditions of the top five model levels (top +29 cm of soil column). For the vertically-resolved model, two additional +environmental modifiers are calculated beyond the temperature and +moisture limitations: an oxygen scalar (:math:`{r}_{oxygen}`, +unitless), and a depth scalar (:math:`{r}_{depth}`, unitless). -The Temperature scalar :math:`{r}_{tsoil}` is calculated in CLM using a :math:`{Q}_{10}` approach, with :math:`{Q}_{10} = 1.5`. +The Temperature scalar :math:`{r}_{tsoil}` is calculated in CLM +using a :math:`{Q}_{10}` approach, with :math:`{Q}_{10} = 1.5`. .. math:: - :label: 21.5) + :label: 21.5) r_{tsoil} =Q_{10} ^{\left(\frac{T_{soil,\, j} -T_{ref} }{10} \right)} -where *j* is the soil layer index, :math:`{T}_{soil,j}` (K) is the temperature of soil level *j*. The reference temperature :math:`{T}_{ref}` = 25C. +where *j* is the soil layer index, :math:`{T}_{soil,j}` (K) is the +temperature of soil level *j*. The reference temperature :math:`{T}_{ref}` = 25C. -The rate scalar for soil water potential (:math:`{r}_{water}`, unitless) is calculated using a relationship from Andrén and Paustian (1987) and supported by additional data in Orchard and Cook (1983): +The rate scalar for soil water potential (:math:`{r}_{water}`, +unitless) is calculated using a relationship from Andrén and Paustian +(1987) and supported by additional data in Orchard and Cook (1983): .. math:: - :label: 21.6) + :label: 21.6) - r_{water} =\sum _{j=1}^{5}\left\{\begin{array}{l} {0\qquad {\rm for\; }\Psi _{j} <\Psi _{\min } } \\ {\frac{\log \left({\Psi _{\min } \mathord{\left/ {\vphantom {\Psi _{\min } \Psi _{j} }} \right.} \Psi _{j} } \right)}{\log \left({\Psi _{\min } \mathord{\left/ {\vphantom {\Psi _{\min } \Psi _{\max } }} \right.} \Psi _{\max } } \right)} w_{soil,\, j} \qquad {\rm for\; }\Psi _{\min } \le \Psi _{j} \le \Psi _{\max } } \\ {1\qquad {\rm for\; }\Psi _{j} >\Psi _{\max } \qquad \qquad } \end{array}\right\} + r_{water} =\sum _{j=1}^{5}\left\{\begin{array}{l} {0\qquad {\rm for\; }\Psi _{j} <\Psi _{\min } } \\ {\frac{\log \left({\Psi _{\min } \mathord{\left/ {\vphantom {\Psi _{\min } \Psi _{j} }} \right. \kern-\nulldelimiterspace} \Psi _{j} } \right)}{\log \left({\Psi _{\min } \mathord{\left/ {\vphantom {\Psi _{\min } \Psi _{\max } }} \right. \kern-\nulldelimiterspace} \Psi _{\max } } \right)} w_{soil,\, j} \qquad {\rm for\; }\Psi _{\min } \le \Psi _{j} \le \Psi _{\max } } \\ {1\qquad {\rm for\; }\Psi _{j} >\Psi _{\max } \qquad \qquad } \end{array}\right\} -where :math:`{\Psi}_{j}` is the soil water potential in layer *j*, :math:`{\Psi}_{min}` is a lower limit for soil water potential control on decomposition rate (in CLM5, this was changed from a default value of -10 MPa used in CLM4.5 and earlier to a default value of -2.5 MPa). :math:`{\Psi}_{max,j}` (MPa) is the soil moisture at which decomposition proceeds at a moisture-unlimited rate. The default value of :math:`{\Psi}_{max,j}` for CLM5 is updated from a saturated value used in CLM4.5 and earlier, to a value nominally at field capacity, with a value of -0.002 MPa For frozen soils, the bulk of the rapid dropoff in decomposition with decreasing temperature is due to the moisture limitation, since matric potential is limited by temperature in the supercooled water formulation of Niu and Yang (2006), +where :math:`{\Psi}_{j}` is the soil water potential in +layer *j*, :math:`{\Psi}_{min}` is a lower limit for soil +water potential control on decomposition rate (in CLM5, this was +changed from a default value of -10 MPa used in CLM4.5 and earlier to a +default value of -2.5 MPa). :math:`{\Psi}_{max,j}` (MPa) is the soil +moisture at which decomposition proceeds at a moisture-unlimited +rate. The default value of :math:`{\Psi}_{max,j}` for CLM5 is updated +from a saturated value used in CLM4.5 and earlier, to a value +nominally at field capacity, with a value of -0.002 MPa + +For frozen soils, the bulk of the rapid dropoff in decomposition with +decreasing temperature is due to the moisture limitation, since matric +potential is limited by temperature in the supercooled water formulation +of Niu and Yang (2006), .. math:: - :label: 21.8) + :label: 21.8) \psi \left(T\right)=-\frac{L_{f} \left(T-T_{f} \right)}{10^{3} T} -An additional frozen decomposition limitation can be specified using a ‘frozen Q\ :sub:`10`' following :ref:`Koven et al. (2011) `, however the default value of this is the same as the unfrozen Q\ :sub:`10` value, and therefore the basic hypothesis is that frozen respiration is limited by liquid water availability, and can be modeled following the same approach as thawed but dry soils. - -An additional rate scalar, :math:`{r}_{oxygen}` is enabled when the CH\ :sub:`4` submodel is used (set equal to 1 for the single layer model or when the CH\ :sub:`4` submodel is disabled). This limits decomposition when there is insufficient molecular oxygen to satisfy stoichiometric demand (1 mol O\ :sub:`2` consumed per mol CO\ :sub:`2` produced) from heterotrophic decomposers, and supply from diffusion through soil layers (unsaturated and saturated) or aerenchyma (Chapter 19). A minimum value of :math:`{r}_{oxygen}` is set at 0.2, with the assumption that oxygen within organic tissues can supply the necessary stoichiometric demand at this rate. This value lies between estimates of 0.025–0.1 (Frolking et al. 2001), and 0.35 (Wania et al. 2009); the large range of these estimates poses a large unresolved uncertainty. - -Lastly, a possible explicit depth dependence, :math:`{r}_{depth}`, (set equal to 1 for the single layer model) can be applied to soil C decomposition rates to account for processes other than temperature, moisture, and anoxia that can limit decomposition. This depth dependence of decomposition was shown by Jenkinson and Coleman (2008) to be an important term in fitting total C and 14C profiles, and implies that unresolved processes, such as priming effects, microscale anoxia, soil mineral surface and/or aggregate stabilization may be important in controlling the fate of carbon at depth :ref:`Koven et al. (2013) `. CLM includes these unresolved depth controls via an exponential decrease in the soil turnover time with depth: - -.. math:: - :label: 21.9) +An additional frozen decomposition limitation can be specified using a +‘frozen Q\ :sub:`10`' following :ref:`Koven et al. (2011) `, however the +default value of this is the same as the unfrozen Q\ :sub:`10` +value, and therefore the basic hypothesis is that frozen respiration is +limited by liquid water availability, and can be modeled following the +same approach as thawed but dry soils. + +An additional rate scalar, :math:`{r}_{oxygen}` is enabled when the +CH\ :sub:`4` submodel is used (set equal to 1 for the single layer +model or when the CH\ :sub:`4` submodel is disabled). This limits +decomposition when there is insufficient molecular oxygen to satisfy +stoichiometric demand (1 mol O\ :sub:`2` consumed per mol +CO\ :sub:`2` produced) from heterotrophic decomposers, and supply +from diffusion through soil layers (unsaturated and saturated) or +aerenchyma (Chapter 19). A minimum value of :math:`{r}_{oxygen}` is +set at 0.2, with the assumption that oxygen within organic tissues can +supply the necessary stoichiometric demand at this rate. This value lies +between estimates of 0.025–0.1 (Frolking et al. 2001), and 0.35 (Wania +et al. 2009); the large range of these estimates poses a large +unresolved uncertainty. + +Lastly, a possible explicit depth dependence, :math:`{r}_{depth}`, +(set equal to 1 for the single layer model) can be applied to soil C +decomposition rates to account for processes other than temperature, +moisture, and anoxia that can limit decomposition. This depth dependence +of decomposition was shown by Jenkinson and Coleman (2008) to be an +important term in fitting total C and 14C profiles, and implies that +unresolved processes, such as priming effects, microscale anoxia, soil +mineral surface and/or aggregate stabilization may be important in +controlling the fate of carbon at depth :ref:`Koven et al. (2013) `. CLM +includes these unresolved depth controls via an exponential decrease in +the soil turnover time with depth: + +.. math:: + :label: 21.9) r_{depth} =\exp \left(-\frac{z}{z_{\tau } } \right) -where :math:`{z}_{\tau}` is the e-folding depth for decomposition. For CLM4.5, the default value of this was 0.5m. For CLM5, this has been changed to a default value of 10m, which effectively means that intrinsic decomposition rates may proceed as quickly at depth as at the surface. +where :math:`{z}_{\tau}` is the e-folding depth for decomposition. For +CLM4.5, the default value of this was 0.5m. For CLM5, this has been +changed to a default value of 10m, which effectively means that +intrinsic decomposition rates may proceed as quickly at depth as at the surface. The combined decomposition rate scalar (:math:`{r}_{total}`,unitless) is: .. math:: - :label: 21.10) + :label: 21.10) r_{total} =r_{tsoil} r_{water} r_{oxygen} r_{depth} . N-limitation of Decomposition Fluxes ----------------------------------------- -Decomposition rates can also be limited by the availability of mineral nitrogen, but calculation of this limitation depends on first estimating the potential rates of decomposition, assuming an unlimited mineral nitrogen supply. The general case is described here first, referring to a generic decomposition flux from an "upstream" pool (*u*) to a "downstream" pool (*d*), with an intervening loss due to respiration The potential carbon flux out of the upstream pool (:math:`{CF}_{pot,u}`, gC m\ :sup:`-2` s\ :sup:`-1`) is: +Decomposition rates can also be limited by the availability of mineral +nitrogen, but calculation of this limitation depends on first estimating +the potential rates of decomposition, assuming an unlimited mineral +nitrogen supply. The general case is described here first, referring to +a generic decomposition flux from an “upstream” pool (*u*) to a +“downstream” pool (*d*), with an intervening loss due to respiration. +The potential carbon flux out of the upstream pool +(:math:`{CF}_{pot,u}`, gC m\ :sup:`-2` s\ :sup:`-1`) is: .. math:: - :label: 21.11) + :label: 21.11) CF_{pot,\, u} =CS_{u} k_{u} -where :math:`{CS}_{u}` (gC m\ :sup:`-2`) is the initial mass in the upstream pool and :math:`{k}_{u}` is the decay rate constant (s\ :sup:`-1`) for the upstream pool, adjusted for temperature and moisture conditions. Depending on the C:N ratios of the upstream and downstream pools and the amount of carbon lost in the transformation due to respiration (the respiration fraction), the execution of this potential carbon flux can generate either a source or a sink of new mineral nitrogen (:math:`{NF}_{pot\_min,u}`\ :math:`{}_{\rightarrow}`\ :math:`{}_{d}`, gN m\ :sup:`-2` s\ :sup:`-1`). The governing equation (Thornton and Rosenbloom, 2005) is: +where :math:`{CS}_{u}` (gC m\ :sup:`-2`) is the initial mass +in the upstream pool and :math:`{k}_{u}` is the decay rate constant +(s:sup:`-1`) for the upstream pool, adjusted for temperature and +moisture conditions. Depending on the C:N ratios of the upstream and +downstream pools and the amount of carbon lost in the transformation due +to respiration (the respiration fraction), the execution of this +potential carbon flux can generate either a source or a sink of new +mineral nitrogen +(:math:`{NF}_{pot\_min,u}`\ :math:`{}_{\rightarrow}`\ :math:`{}_{d}`, gN m\ :sup:`-2` s\ :sup:`-1`). The governing equation +(Thornton and Rosenbloom, 2005) is: .. math:: - :label: 21.12) + :label: 21.12) NF_{pot\_ min,\, u\to d} =\frac{CF_{pot,\, u} \left(1-rf_{u} -\frac{CN_{d} }{CN_{u} } \right)}{CN_{d} } -where :math:`{rf}_{u}` is the respiration fraction for fluxes leaving the upstream pool, :math:`{CN}_{u}` and :math:`{CN}_{d}` are the C:N ratios for upstream and downstream pools, respectively Negative values of :math:`{NF}_{pot\_min,u}`\ :math:`{}_{\rightarrow}`\ :math:`{}_{d}` indicate that the decomposition flux results in a source of new mineral nitrogen, while positive values indicate that the potential decomposition flux results in a sink (demand) for mineral nitrogen. +where :math:`{rf}_{u}` is the respiration fraction for fluxes +leaving the upstream pool, :math:`{CN}_{u}` and :math:`{CN}_{d}` +are the C:N ratios for upstream and downstream pools, respectively. +Negative values of +:math:`{NF}_{pot\_min,u}`\ :math:`{}_{\rightarrow}`\ :math:`{}_{d}` +indicate that the decomposition flux results in a source of new mineral +nitrogen, while positive values indicate that the potential +decomposition flux results in a sink (demand) for mineral nitrogen. -Following from the general case, potential carbon fluxes leaving individual pools in the decomposition cascade, for the example of the CLM-CN pool structure, are given as: +Following from the general case, potential carbon fluxes leaving +individual pools in the decomposition cascade, for the example of the +CLM-CN pool structure, are given as: .. math:: - :label: 21.13) + :label: 21.13) - CF_{pot,\, Lit1} ={CS_{Lit1} k_{Lit1} r_{total} \mathord{\left/ {\vphantom {CS_{Lit1} k_{Lit1} r_{total} \Delta t}} \right.} \Delta t} + CF_{pot,\, Lit1} ={CS_{Lit1} k_{Lit1} r_{total} \mathord{\left/ {\vphantom {CS_{Lit1} k_{Lit1} r_{total} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 21.14) + :label: 21.14) - CF_{pot,\, Lit2} ={CS_{Lit2} k_{Lit2} r_{total} \mathord{\left/ {\vphantom {CS_{Lit2} k_{Lit2} r_{total} \Delta t}} \right.} \Delta t} + CF_{pot,\, Lit2} ={CS_{Lit2} k_{Lit2} r_{total} \mathord{\left/ {\vphantom {CS_{Lit2} k_{Lit2} r_{total} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 21.15) + :label: 21.15) - CF_{pot,\, Lit3} ={CS_{Lit3} k_{Lit3} r_{total} \mathord{\left/ {\vphantom {CS_{Lit3} k_{Lit3} r_{total} \Delta t}} \right.} \Delta t} + CF_{pot,\, Lit3} ={CS_{Lit3} k_{Lit3} r_{total} \mathord{\left/ {\vphantom {CS_{Lit3} k_{Lit3} r_{total} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 21.16) + :label: 21.16) - CF_{pot,\, SOM1} ={CS_{SOM1} k_{SOM1} r_{total} \mathord{\left/ {\vphantom {CS_{SOM1} k_{SOM1} r_{total} \Delta t}} \right.} \Delta t} + CF_{pot,\, SOM1} ={CS_{SOM1} k_{SOM1} r_{total} \mathord{\left/ {\vphantom {CS_{SOM1} k_{SOM1} r_{total} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 21.17) + :label: 21.17) - CF_{pot,\, SOM2} ={CS_{SOM2} k_{SOM2} r_{total} \mathord{\left/ {\vphantom {CS_{SOM2} k_{SOM2} r_{total} \Delta t}} \right.} \Delta t} + CF_{pot,\, SOM2} ={CS_{SOM2} k_{SOM2} r_{total} \mathord{\left/ {\vphantom {CS_{SOM2} k_{SOM2} r_{total} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 21.18) + :label: 21.18) - CF_{pot,\, SOM3} ={CS_{SOM3} k_{SOM3} r_{total} \mathord{\left/ {\vphantom {CS_{SOM3} k_{SOM3} r_{total} \Delta t}} \right.} \Delta t} + CF_{pot,\, SOM3} ={CS_{SOM3} k_{SOM3} r_{total} \mathord{\left/ {\vphantom {CS_{SOM3} k_{SOM3} r_{total} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 21.19) + :label: 21.19) - CF_{pot,\, SOM4} ={CS_{SOM4} k_{SOM4} r_{total} \mathord{\left/ {\vphantom {CS_{SOM4} k_{SOM4} r_{total} \Delta t}} \right.} \Delta t} + CF_{pot,\, SOM4} ={CS_{SOM4} k_{SOM4} r_{total} \mathord{\left/ {\vphantom {CS_{SOM4} k_{SOM4} r_{total} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} -where the factor (1/:math:`\Delta`\ *t*) is included because the rate constant is calculated for the entire timestep (Eqs. and ), but the convention is to express all fluxes on a per-second basis. Potential mineral nitrogen fluxes associated with these decomposition steps are, again for the example of the CLM-CN pool structure (the CENTURY structure will be similar but without the different terminal step): +where the factor (1/:math:`\Delta`\ *t*) is included because the rate +constant is calculated for the entire timestep (Eqs. and ), but the +convention is to express all fluxes on a per-second basis. Potential +mineral nitrogen fluxes associated with these decomposition steps are, +again for the example of the CLM-CN pool structure (the CENTURY +structure will be similar but without the different terminal step): .. math:: - :label: ZEqnNum934998 + :label: ZEqnNum934998 - NF_{pot\_ min,\, Lit1\to SOM1} ={CF_{pot,\, Lit1} \left(1-rf_{Lit1} -\frac{CN_{SOM1} }{CN_{Lit1} } \right)\mathord{\left/ {\vphantom {CF_{pot,\, Lit1} \left(1-rf_{Lit1} -\frac{CN_{SOM1} }{CN_{Lit1} } \right) CN_{SOM1} }} \right.} CN_{SOM1} } + NF_{pot\_ min,\, Lit1\to SOM1} ={CF_{pot,\, Lit1} \left(1-rf_{Lit1} -\frac{CN_{SOM1} }{CN_{Lit1} } \right)\mathord{\left/ {\vphantom {CF_{pot,\, Lit1} \left(1-rf_{Lit1} -\frac{CN_{SOM1} }{CN_{Lit1} } \right) CN_{SOM1} }} \right. \kern-\nulldelimiterspace} CN_{SOM1} } .. math:: - :label: 21.21) + :label: 21.21) - NF_{pot\_ min,\, Lit2\to SOM2} ={CF_{pot,\, Lit2} \left(1-rf_{Lit2} -\frac{CN_{SOM2} }{CN_{Lit2} } \right)\mathord{\left/ {\vphantom {CF_{pot,\, Lit2} \left(1-rf_{Lit2} -\frac{CN_{SOM2} }{CN_{Lit2} } \right) CN_{SOM2} }} \right.} CN_{SOM2} } + NF_{pot\_ min,\, Lit2\to SOM2} ={CF_{pot,\, Lit2} \left(1-rf_{Lit2} -\frac{CN_{SOM2} }{CN_{Lit2} } \right)\mathord{\left/ {\vphantom {CF_{pot,\, Lit2} \left(1-rf_{Lit2} -\frac{CN_{SOM2} }{CN_{Lit2} } \right) CN_{SOM2} }} \right. \kern-\nulldelimiterspace} CN_{SOM2} } .. math:: - :label: 21.22) + :label: 21.22) - NF_{pot\_ min,\, Lit3\to SOM3} ={CF_{pot,\, Lit3} \left(1-rf_{Lit3} -\frac{CN_{SOM3} }{CN_{Lit3} } \right)\mathord{\left/ {\vphantom {CF_{pot,\, Lit3} \left(1-rf_{Lit3} -\frac{CN_{SOM3} }{CN_{Lit3} } \right) CN_{SOM3} }} \right.} CN_{SOM3} } + NF_{pot\_ min,\, Lit3\to SOM3} ={CF_{pot,\, Lit3} \left(1-rf_{Lit3} -\frac{CN_{SOM3} }{CN_{Lit3} } \right)\mathord{\left/ {\vphantom {CF_{pot,\, Lit3} \left(1-rf_{Lit3} -\frac{CN_{SOM3} }{CN_{Lit3} } \right) CN_{SOM3} }} \right. \kern-\nulldelimiterspace} CN_{SOM3} } .. math:: - :label: 21.23) + :label: 21.23) - NF_{pot\_ min,\, SOM1\to SOM2} ={CF_{pot,\, SOM1} \left(1-rf_{SOM1} -\frac{CN_{SOM2} }{CN_{SOM1} } \right)\mathord{\left/ {\vphantom {CF_{pot,\, SOM1} \left(1-rf_{SOM1} -\frac{CN_{SOM2} }{CN_{SOM1} } \right) CN_{SOM2} }} \right.} CN_{SOM2} } + NF_{pot\_ min,\, SOM1\to SOM2} ={CF_{pot,\, SOM1} \left(1-rf_{SOM1} -\frac{CN_{SOM2} }{CN_{SOM1} } \right)\mathord{\left/ {\vphantom {CF_{pot,\, SOM1} \left(1-rf_{SOM1} -\frac{CN_{SOM2} }{CN_{SOM1} } \right) CN_{SOM2} }} \right. \kern-\nulldelimiterspace} CN_{SOM2} } .. math:: - :label: 21.24) + :label: 21.24) - NF_{pot\_ min,\, SOM2\to SOM3} ={CF_{pot,\, SOM2} \left(1-rf_{SOM2} -\frac{CN_{SOM3} }{CN_{SOM2} } \right)\mathord{\left/ {\vphantom {CF_{pot,\, SOM2} \left(1-rf_{SOM2} -\frac{CN_{SOM3} }{CN_{SOM2} } \right) CN_{SOM3} }} \right.} CN_{SOM3} } + NF_{pot\_ min,\, SOM2\to SOM3} ={CF_{pot,\, SOM2} \left(1-rf_{SOM2} -\frac{CN_{SOM3} }{CN_{SOM2} } \right)\mathord{\left/ {\vphantom {CF_{pot,\, SOM2} \left(1-rf_{SOM2} -\frac{CN_{SOM3} }{CN_{SOM2} } \right) CN_{SOM3} }} \right. \kern-\nulldelimiterspace} CN_{SOM3} } .. math:: - :label: 21.25) + :label: 21.25) - NF_{pot\_ min,\, SOM3\to SOM4} ={CF_{pot,\, SOM3} \left(1-rf_{SOM3} -\frac{CN_{SOM4} }{CN_{SOM3} } \right)\mathord{\left/ {\vphantom {CF_{pot,\, SOM3} \left(1-rf_{SOM3} -\frac{CN_{SOM4} }{CN_{SOM3} } \right) CN_{SOM4} }} \right.} CN_{SOM4} } + NF_{pot\_ min,\, SOM3\to SOM4} ={CF_{pot,\, SOM3} \left(1-rf_{SOM3} -\frac{CN_{SOM4} }{CN_{SOM3} } \right)\mathord{\left/ {\vphantom {CF_{pot,\, SOM3} \left(1-rf_{SOM3} -\frac{CN_{SOM4} }{CN_{SOM3} } \right) CN_{SOM4} }} \right. \kern-\nulldelimiterspace} CN_{SOM4} } .. math:: - :label: ZEqnNum473594 + :label: ZEqnNum473594 - NF_{pot\_ min,\, SOM4} =-{CF_{pot,\, SOM4} \mathord{\left/ {\vphantom {CF_{pot,\, SOM4} CN_{SOM4} }} \right.} CN_{SOM4} } + NF_{pot\_ min,\, SOM4} =-{CF_{pot,\, SOM4} \mathord{\left/ {\vphantom {CF_{pot,\, SOM4} CN_{SOM4} }} \right. \kern-\nulldelimiterspace} CN_{SOM4} } -where the special form of Eq. arises because there is no SOM pool downstream of SOM4 in the converging cascade: all carbon fluxes leaving that pool are assumed to be in the form of respired CO\ :sub:`2`, and all nitrogen fluxes leaving that pool are assumed to be sources of new mineral nitrogen. +where the special form of Eq. arises because there is no SOM pool +downstream of SOM4 in the converging cascade: all carbon fluxes leaving +that pool are assumed to be in the form of respired CO\ :sub:`2`, +and all nitrogen fluxes leaving that pool are assumed to be sources of +new mineral nitrogen. -Steps in the decomposition cascade that result in release of new mineral nitrogen (mineralization fluxes) are allowed to proceed at their potential rates, without modification for nitrogen availability. Steps that result in an uptake of mineral nitrogen (immobilization fluxes) are subject to rate limitation, depending on the availability of mineral nitrogen, the total immobilization demand, and the total demand for soil mineral nitrogen to support new plant growth. The potential mineral nitrogen fluxes from Eqs. - are evaluated, summing all the positive fluxes to generate the total potential nitrogen immobilization flux (:math:`{NF}_{immob\_demand}`, gN m\ :sup:`-2` s\ :sup:`-1`), and summing absolute values of all the negative fluxes to generate the total nitrogen mineralization flux (:math:`{NF}_{gross\_nmin}`, gN m\ :sup:`-2` s\ :sup:`-1`). Since :math:`{NF}_{griss\_nmin}` is a source of new mineral nitrogen to the soil mineral nitrogen pool it is not limited by the availability of soil mineral nitrogen, and is therefore an actual as opposed to a potential flux. +Steps in the decomposition cascade that result in release of new mineral +nitrogen (mineralization fluxes) are allowed to proceed at their +potential rates, without modification for nitrogen availability. Steps +that result in an uptake of mineral nitrogen (immobilization fluxes) are +subject to rate limitation, depending on the availability of mineral +nitrogen, the total immobilization demand, and the total demand for soil +mineral nitrogen to support new plant growth. The potential mineral +nitrogen fluxes from Eqs. - are evaluated, summing all the positive +fluxes to generate the total potential nitrogen immobilization flux +(:math:`{NF}_{immob\_demand}`, gN m\ :sup:`-2` s\ :sup:`-1`), and summing absolute values of all the negative +fluxes to generate the total nitrogen mineralization flux +(:math:`{NF}_{gross\_nmin}`, gN m\ :sup:`-2` s\ :sup:`-1`). Since :math:`{NF}_{griss\_nmin}` is a source of +new mineral nitrogen to the soil mineral nitrogen pool it is not limited +by the availability of soil mineral nitrogen, and is therefore an actual +as opposed to a potential flux. N Competition between plant uptake and soil immobilization fluxes ---------------------------------------------------------------------- -Once :math:`{NF}_{immob\_demand }` and :math:`{NF}_{nit\_demand }` for each layer *j* are known, the competition between plant and microbial nitrogen demand can be resolved. Mineral nitrogen in the soil pool (:math:`{NS}_{sminn}`, gN m\ :sup:`-2`) at the beginning of the timestep is considered the available supply. +Once :math:`{NF}_{immob\_demand }` and :math:`{NF}_{nit\_demand }` for each layer *j* are known, the competition between plant and microbial nitrogen demand can be resolved. Mineral nitrogen in +the soil pool (:math:`{NS}_{sminn}`, gN m\ :sup:`-2`) at the +beginning of the timestep is considered the available supply. -Here, the :math:`{NF}_{plant\_demand}` is the theoretical maximum demand for nitrogen by plants to meet the entire carbon uptake given an N cost of zero (and therefore represents the upper bound on N requirements). N uptake costs that are :math:`>` 0 imply that the plant will take up less N that it demands, ultimately. However, given the heuristic nature of the N competition algorithm, this discrepancy is not explicitly resolved here. +Here, the :math:`{NF}_{plant\_demand}` is the theoretical maximum demand for nitrogen by plants to meet the entire carbon uptake given an N cost of zero (and therefore represents the upper bound on N requirements). N uptake costs that are +:math:`>` 0 imply that the plant will take up less N that it demands, ultimately. However, given the heuristic nature of the N competition algorithm, this discrepancy is not explicitly resolved here. The hypothetical plant nitrogen demand from the soil mineral pool is distributed between layers in proportion to the profile of available mineral N: .. math:: :label: 21.291 + + NF_{plant\_ demand,j} = NF_{plant\_ demand} NS_{sminn\_ j} / \sum _{j=1}^{nj}NS_{sminn,j} - NF_{plant\_ demand,j} = NF_{plant\_ demand} NS_{sminn\_ j} / \sum _{j=1}^{nj}NS_{sminn,j} - -Plants first compete for ammonia (NH4). For each soil layer (*j*), we calculate the total NH4 demand as: +Plants first compete for ammonia (NH4). For each soil layer (*j*), we calculate the total NH4 demand as: .. math:: :label: 21.292 - NF_{total\_ demand_nh4,j} = NF_{immob\_ demand,j} + NF_{immob\_ demand,j} + NF_{nit\_ demand,j} + NF_{total\_ demand_nh4,j} = NF_{immob\_ demand,j} + NF_{immob\_ demand,j} + NF_{nit\_ demand,j} -where If :math:`{NF}_{total\_demand,j}`\ :math:`\Delta`\ *t* :math:`<` :math:`{NS}_{sminn,j}`, then the available pool is large enough to meet both the maximum plant and microbial demand, then immobilization proceeds at the maximum rate. +where +If :math:`{NF}_{total\_demand,j}`\ :math:`\Delta`\ *t* :math:`<` +:math:`{NS}_{sminn,j}`, then the available pool is large enough to +meet both the maximum plant and microbial demand, then immobilization proceeds at the maximum rate. .. math:: - :label: 21.29) + :label: 21.29) f_{immob\_demand,j} = 1.0 -where :math:`{f}_{immob\_demand,j}` is the fraction of potential immobilization demand that can be met given current supply of mineral nitrogen in this layer. We also set the actual nitrification flux to be the same as the potential flux (:math:`NF_{nit}` = :math:`NF_{nit\_ demand}`). +where :math:`{f}_{immob\_demand,j}` is the fraction of potential immobilization demand that can be met given current supply of mineral nitrogen in this layer. We also set the actual nitrification flux to be the same as the potential flux (:math:`NF_{nit}` = :math:`NF_{nit\_ demand}`). -If :math:`{NF}_{total\_demand,j}`\ :math:`\Delta`\ *t :math:`\mathrm{\ge}` :math:`{NS}_{sminn,j}`, then there is not enough mineral nitrogen to meet the combined demands for plant growth and heterotrophic immobilization, immobilization is reduced proportional to the discrepancy, by :math:`f_{immob\_ demand,j}`, where +If :math:`{NF}_{total\_demand,j}`\ :math:`\Delta`\ *t* +:math:`\mathrm{\ge}` :math:`{NS}_{sminn,j}`, then there is not enough +mineral nitrogen to meet the combined demands for plant growth and +heterotrophic immobilization, immobilization is reduced proportional to the discrepancy, by :math:`f_{immob\_ demand,j}`, where .. math:: - :label: 21.30) + :label: 21.30) f_{immob\_ demand,j} = \frac{NS_{sminn,j} }{\Delta t\, NF_{total\_ demand,j} } -The N available to the FUN model for plant uptake (:math:`{NF}_ {plant\_ avail\_ sminn}` (gN m\ :sup:`-2`), which determines both the cost of N uptake, and the absolute limit on the N which is available for acquisition, is calculated as the total mineralized pool minus the actual immobilized flux: +The N available to the FUN model for plant uptake (:math:`{NF}_ {plant\_ avail\_ sminn}` (gN m\ :sup:`-2`), which determines both the cost of N uptake, and the absolute limit on the N which is available for acquisition, is calculated as the total mineralized pool minus the actual immobilized flux: .. math:: - :label: 21.311) + :label: 21.311) NF_{plant\_ avail\_ sminn,j} = NS_{sminn,j} - f_{immob\_demand} NF_{immob\_ demand,j} -This treatment of competition for nitrogen as a limiting resource is referred to a demand-based competition, where the fraction of the available resource that eventually flows to a particular process depends on the demand from that process in comparison to the total demand from all processes. Processes expressing a greater demand acquire a larger vfraction of the available resource. + +This treatment of competition for nitrogen as a limiting resource is +referred to a demand-based competition, where the fraction of the +available resource that eventually flows to a particular process depends +on the demand from that process in comparison to the total demand from +all processes. Processes expressing a greater demand acquire a larger +vfraction of the available resource. + Final Decomposition Fluxes ------------------------------- -With :math:`{f}_{immob\_demand}` known, final decomposition fluxes can be calculated. Actual carbon fluxes leaving the individual litter and SOM pools, again for the example of the CLM-CN pool structure (the CENTURY structure will be similar but, again without the different terminal step), are calculated as: +With :math:`{f}_{immob\_demand}` known, final decomposition fluxes +can be calculated. Actual carbon fluxes leaving the individual litter +and SOM pools, again for the example of the CLM-CN pool structure (the +CENTURY structure will be similar but, again without the different +terminal step), are calculated as: .. math:: - :label: 21.32) + :label: 21.32) CF_{Lit1} =\left\{\begin{array}{l} {CF_{pot,\, Lit1} f_{immob\_ demand} \qquad {\rm for\; }NF_{pot\_ min,\, Lit1\to SOM1} >0} \\ {CF_{pot,\, Lit1} \qquad {\rm for\; }NF_{pot\_ min,\, Lit1\to SOM1} \le 0} \end{array}\right\} .. math:: - :label: 21.33) + :label: 21.33) CF_{Lit2} =\left\{\begin{array}{l} {CF_{pot,\, Lit2} f_{immob\_ demand} \qquad {\rm for\; }NF_{pot\_ min,\, Lit2\to SOM2} >0} \\ {CF_{pot,\, Lit2} \qquad {\rm for\; }NF_{pot\_ min,\, Lit2\to SOM2} \le 0} \end{array}\right\} .. math:: - :label: 21.34) + :label: 21.34) CF_{Lit3} =\left\{\begin{array}{l} {CF_{pot,\, Lit3} f_{immob\_ demand} \qquad {\rm for\; }NF_{pot\_ min,\, Lit3\to SOM3} >0} \\ {CF_{pot,\, Lit3} \qquad {\rm for\; }NF_{pot\_ min,\, Lit3\to SOM3} \le 0} \end{array}\right\} .. math:: - :label: 21.35) + :label: 21.35) CF_{SOM1} =\left\{\begin{array}{l} {CF_{pot,\, SOM1} f_{immob\_ demand} \qquad {\rm for\; }NF_{pot\_ min,\, SOM1\to SOM2} >0} \\ {CF_{pot,\, SOM1} \qquad {\rm for\; }NF_{pot\_ min,\, SOM1\to SOM2} \le 0} \end{array}\right\} .. math:: - :label: 21.36) + :label: 21.36) CF_{SOM2} =\left\{\begin{array}{l} {CF_{pot,\, SOM2} f_{immob\_ demand} \qquad {\rm for\; }NF_{pot\_ min,\, SOM2\to SOM3} >0} \\ {CF_{pot,\, SOM2} \qquad {\rm for\; }NF_{pot\_ min,\, SOM2\to SOM3} \le 0} \end{array}\right\} .. math:: - :label: 21.37) + :label: 21.37) CF_{SOM3} =\left\{\begin{array}{l} {CF_{pot,\, SOM3} f_{immob\_ demand} \qquad {\rm for\; }NF_{pot\_ min,\, SOM3\to SOM4} >0} \\ {CF_{pot,\, SOM3} \qquad {\rm for\; }NF_{pot\_ min,\, SOM3\to SOM4} \le 0} \end{array}\right\} .. math:: - :label: 21.38) + :label: 21.38) CF_{SOM4} =CF_{pot,\, SOM4} -Heterotrophic respiration fluxes (losses of carbon as CO\ :sub:`2` to the atmosphere) are: +Heterotrophic respiration fluxes (losses of carbon as +CO\ :sub:`2` to the atmosphere) are: .. math:: - :label: 21.39) + :label: 21.39) CF_{Lit1,\, HR} =CF_{Lit1} rf_{Lit1} .. math:: - :label: 21.40) + :label: 21.40) CF_{Lit2,\, HR} =CF_{Lit2} rf_{Lit2} .. math:: - :label: 21.41) + :label: 21.41) CF_{Lit3,\, HR} =CF_{Lit3} rf_{Lit3} .. math:: - :label: 21.42) + :label: 21.42) CF_{SOM1,\, HR} =CF_{SOM1} rf_{SOM1} .. math:: - :label: 21.43) + :label: 21.43) CF_{SOM2,\, HR} =CF_{SOM2} rf_{SOM2} .. math:: - :label: 21.44) + :label: 21.44) CF_{SOM3,\, HR} =CF_{SOM3} rf_{SOM3} .. math:: - :label: 21.45) + :label: 21.45) CF_{SOM4,\, HR} =CF_{SOM4} rf_{SOM4} -Transfers of carbon from upstream to downstream pools in the decomposition cascade are given as: +Transfers of carbon from upstream to downstream pools in the +decomposition cascade are given as: .. math:: - :label: 21.46) + :label: 21.46) CF_{Lit1,\, SOM1} =CF_{Lit1} \left(1-rf_{Lit1} \right) .. math:: - :label: 21.47) + :label: 21.47) CF_{Lit2,\, SOM2} =CF_{Lit2} \left(1-rf_{Lit2} \right) .. math:: - :label: 21.48) + :label: 21.48) CF_{Lit3,\, SOM3} =CF_{Lit3} \left(1-rf_{Lit3} \right) .. math:: - :label: 21.49) + :label: 21.49) CF_{SOM1,\, SOM2} =CF_{SOM1} \left(1-rf_{SOM1} \right) .. math:: - :label: 21.50) + :label: 21.50) CF_{SOM2,\, SOM3} =CF_{SOM2} \left(1-rf_{SOM2} \right) .. math:: - :label: 21.51) + :label: 21.51) CF_{SOM3,\, SOM4} =CF_{SOM3} \left(1-rf_{SOM3} \right) -In accounting for the fluxes of nitrogen between pools in the decomposition cascade and associated fluxes to or from the soil mineral nitrogen pool, the model first calculates a flux of nitrogen from an upstream pool to a downstream pool, then calculates a flux either from the soil mineral nitrogen pool to the downstream pool (immobilization or from the downstream pool to the soil mineral nitrogen pool (mineralization). Transfers of nitrogen from upstream to downstream pools in the decomposition cascade are given as: +In accounting for the fluxes of nitrogen between pools in the +decomposition cascade and associated fluxes to or from the soil mineral +nitrogen pool, the model first calculates a flux of nitrogen from an +upstream pool to a downstream pool, then calculates a flux either from +the soil mineral nitrogen pool to the downstream pool (immobilization) +or from the downstream pool to the soil mineral nitrogen pool +(mineralization). Transfers of nitrogen from upstream to downstream +pools in the decomposition cascade are given as: .. math:: - :label: 21.52) + :label: 21.52) - NF_{Lit1,\, SOM1} ={CF_{Lit1} \mathord{\left/ {\vphantom {CF_{Lit1} CN_{Lit1} }} \right.} CN_{Lit1} } + NF_{Lit1,\, SOM1} ={CF_{Lit1} \mathord{\left/ {\vphantom {CF_{Lit1} CN_{Lit1} }} \right. \kern-\nulldelimiterspace} CN_{Lit1} } .. math:: - :label: 21.53) + :label: 21.53) - NF_{Lit2,\, SOM2} ={CF_{Lit2} \mathord{\left/ {\vphantom {CF_{Lit2} CN_{Lit2} }} \right.} CN_{Lit2} } + NF_{Lit2,\, SOM2} ={CF_{Lit2} \mathord{\left/ {\vphantom {CF_{Lit2} CN_{Lit2} }} \right. \kern-\nulldelimiterspace} CN_{Lit2} } .. math:: - :label: 21.54) + :label: 21.54) - NF_{Lit3,\, SOM3} ={CF_{Lit3} \mathord{\left/ {\vphantom {CF_{Lit3} CN_{Lit3} }} \right.} CN_{Lit3} } + NF_{Lit3,\, SOM3} ={CF_{Lit3} \mathord{\left/ {\vphantom {CF_{Lit3} CN_{Lit3} }} \right. \kern-\nulldelimiterspace} CN_{Lit3} } .. math:: - :label: 21.55) + :label: 21.55) - NF_{SOM1,\, SOM2} ={CF_{SOM1} \mathord{\left/ {\vphantom {CF_{SOM1} CN_{SOM1} }} \right.} CN_{SOM1} } + NF_{SOM1,\, SOM2} ={CF_{SOM1} \mathord{\left/ {\vphantom {CF_{SOM1} CN_{SOM1} }} \right. \kern-\nulldelimiterspace} CN_{SOM1} } .. math:: - :label: 21.56) + :label: 21.56) - NF_{SOM2,\, SOM3} ={CF_{SOM2} \mathord{\left/ {\vphantom {CF_{SOM2} CN_{SOM2} }} \right.} CN_{SOM2} } + NF_{SOM2,\, SOM3} ={CF_{SOM2} \mathord{\left/ {\vphantom {CF_{SOM2} CN_{SOM2} }} \right. \kern-\nulldelimiterspace} CN_{SOM2} } .. math:: - :label: 21.57) + :label: 21.57) - NF_{SOM3,\, SOM4} ={CF_{SOM3} \mathord{\left/ {\vphantom {CF_{SOM3} CN_{SOM3} }} \right.} CN_{SOM3} } + NF_{SOM3,\, SOM4} ={CF_{SOM3} \mathord{\left/ {\vphantom {CF_{SOM3} CN_{SOM3} }} \right. \kern-\nulldelimiterspace} CN_{SOM3} } -Corresponding fluxes to or from the soil mineral nitrogen pool depend on whether the decomposition step is an immobilization flux or a mineralization flux: +Corresponding fluxes to or from the soil mineral nitrogen pool depend on +whether the decomposition step is an immobilization flux or a +mineralization flux: .. math:: - :label: 21.58) + :label: 21.58) NF_{sminn,\, Lit1\to SOM1} =\left\{\begin{array}{l} {NF_{pot\_ min,\, Lit1\to SOM1} f_{immob\_ demand} \qquad {\rm for\; }NF_{pot\_ min,\, Lit1\to SOM1} >0} \\ {NF_{pot\_ min,\, Lit1\to SOM1} \qquad {\rm for\; }NF_{pot\_ min,\, Lit1\to SOM1} \le 0} \end{array}\right\} .. math:: - :label: 21.59) + :label: 21.59) NF_{sminn,\, Lit2\to SOM2} =\left\{\begin{array}{l} {NF_{pot\_ min,\, Lit2\to SOM2} f_{immob\_ demand} \qquad {\rm for\; }NF_{pot\_ min,\, Lit2\to SOM2} >0} \\ {NF_{pot\_ min,\, Lit2\to SOM2} \qquad {\rm for\; }NF_{pot\_ min,\, Lit2\to SOM2} \le 0} \end{array}\right\} .. math:: - :label: 21.60) + :label: 21.60) NF_{sminn,\, Lit3\to SOM3} =\left\{\begin{array}{l} {NF_{pot\_ min,\, Lit3\to SOM3} f_{immob\_ demand} \qquad {\rm for\; }NF_{pot\_ min,\, Lit3\to SOM3} >0} \\ {NF_{pot\_ min,\, Lit3\to SOM3} \qquad {\rm for\; }NF_{pot\_ min,\, Lit3\to SOM3} \le 0} \end{array}\right\} .. math:: - :label: 21.61) + :label: 21.61) NF_{sminn,SOM1\to SOM2} =\left\{\begin{array}{l} {NF_{pot\_ min,\, SOM1\to SOM2} f_{immob\_ demand} \qquad {\rm for\; }NF_{pot\_ min,\, SOM1\to SOM2} >0} \\ {NF_{pot\_ min,\, SOM1\to SOM2} \qquad {\rm for\; }NF_{pot\_ min,\, SOM1\to SOM2} \le 0} \end{array}\right\} .. math:: - :label: 21.62) + :label: 21.62) NF_{sminn,SOM2\to SOM3} =\left\{\begin{array}{l} {NF_{pot\_ min,\, SOM2\to SOM3} f_{immob\_ demand} \qquad {\rm for\; }NF_{pot\_ min,\, SOM2\to SOM3} >0} \\ {NF_{pot\_ min,\, SOM2\to SOM3} \qquad {\rm for\; }NF_{pot\_ min,\, SOM2\to SOM3} \le 0} \end{array}\right\} .. math:: - :label: 21.63) + :label: 21.63) NF_{sminn,SOM3\to SOM4} =\left\{\begin{array}{l} {NF_{pot\_ min,\, SOM3\to SOM4} f_{immob\_ demand} \qquad {\rm for\; }NF_{pot\_ min,\, SOM3\to SOM4} >0} \\ {NF_{pot\_ min,\, SOM3\to SOM4} \qquad {\rm for\; }NF_{pot\_ min,\, SOM3\to SOM4} \le 0} \end{array}\right\} .. math:: - :label: 21.64) + :label: 21.64) NF_{sminn,\, SOM4} =NF_{pot\_ min,\, SOM4} Vertical Distribution and Transport of Decomposing C and N pools --------------------------------------------------------------------- -Additional terms are needed to calculate the vertically-resolved soil C and N budget: the initial vertical distribution of C and N from PFTs delivered to the litter and CWD pools, and the vertical transport of C and N pools. - -For initial vertical inputs, CLM uses separate profiles for aboveground (leaf, stem) and belowground (root) inputs. Aboveground inputs are given a single exponential with default e-folding depth = 0.1m. Belowground inputs are distributed according to rooting profiles with default values based on the Jackson et al. (1996) exponential parameterization. - -Vertical mixing is accomplished by an advection-diffusion equation. The goal of this is to consider slow, soild- and adsorbed-phase transport due to bioturbation, cryoturbation, and erosion. Faster aqueous-phase transport is not included in CLM, but has been developed as part of the CLM-BeTR suite of parameterizations (Tang and Riley 2013). The default value of the advection term is 0 cm/yr, such that transport is purely diffusive. Diffusive transport differs in rate between permafrost soils (where cryoturbation is the dominant transport term) and non-permafrost soils (where bioturbation dominates). For permafrost soils, a parameterization based on that of :ref:`Koven et al. (2009) ` is used: the diffusivity parameter is constant through the active layer, and decreases linearly from the base of the active layer to zero at a set depth (default 3m); the default permafrost diffusivity is 5 cm\ :sup:`2`/yr. For non-permafrost soils, the default diffusivity is 1 cm\ :sup:`2`/yr. +Additional terms are needed to calculate the vertically-resolved soil C +and N budget: the initial vertical distribution of C and N from PFTs +delivered to the litter and CWD pools, and the vertical transport of C +and N pools. + +For initial vertical inputs, CLM uses separate profiles for aboveground +(leaf, stem) and belowground (root) inputs. Aboveground inputs are given +a single exponential with default e-folding depth = 0.1m. Belowground +inputs are distributed according to rooting profiles with default values +based on the Jackson et al. (1996) exponential parameterization. + +Vertical mixing is accomplished by an advection-diffusion equation. The +goal of this is to consider slow, soild- and adsorbed-phase transport +due to bioturbation, cryoturbation, and erosion. Faster aqueous-phase +transport is not included in CLM, but has been developed as part of the +CLM-BeTR suite of parameterizations (Tang and Riley 2013). The default +value of the advection term is 0 cm/yr, such that transport is purely +diffusive. Diffusive transport differs in rate between permafrost soils +(where cryoturbation is the dominant transport term) and non-permafrost +soils (where bioturbation dominates). For permafrost soils, a +parameterization based on that of :ref:`Koven et al. (2009) ` is used: the +diffusivity parameter is constant through the active layer, and +decreases linearly from the base of the active layer to zero at a set +depth (default 3m); the default permafrost diffusivity is 5 +cm\ :sup:`2`/yr. For non-permafrost soils, the default diffusivity +is 1 cm\ :sup:`2`/yr. Model Equilibration and its Acceleration ----------------------------------------- -For transient experiments, it is usually assumed that the carbon cycle is starting from a point of relatively close equilibrium, i.e. that productivity is balanced by ecosystem carbon losses through respiratory and disturbance pathways. In order to satisfy this assumption, the model is generally run until the productivity and loss terms find a stable long-term equilibrium; at this point the model is considered 'spun up'. - -Because of the coupling between the slowest SOM pools and productivity through N downregulation of photosynthesis, equilibration of the model for initialization purposes will take an extremely long time in the standard mode. This is particularly true for the CENTURY-based decomposition cascade, which includes a passive pool. In order to rapidly equilibrate the model, a modified version of the "accelerated decomposition" :ref:`(Thornton and Rosenbloon, 2005) ` is used. The fundamental idea of this approach is to allow fluxes between the various pools (both turnover-defined and vertically-defined fluxes) adjust rapidly, while keeping the pool sizes themselves small so that they can fill quickly To do this, the base decomposition rate :math:`{k}_{i}` for each pool *i* is accelerated by a term :math:`{a}_{i}` such that the slow pools are collapsed onto an approximately annual timescale :ref:`Koven et al. (2013) `. Accelerating the pools beyond this timescale distorts the seasonal and/or diurnal cycles of decomposition and N mineralization, thus leading to a substantially different ecosystem productivity than the full model. For the vertical model, the vertical transport terms are also accelerated by the same term :math:`{a}_{i}`, as is the radioactive decay when :math:`{}^{14}`\ C is enabled, following the same principle of keeping fluxes between pools (or fluxes lost to decay close to the full model while keeping the pools sizes small. When leaving the accelerated decomposition mode, the concentration of C and N in pools that had been accelerated are multiplied by the same term :math:`{a}_{i}`, to bring the model into approximate equilibrium Note that in CLM, the model can also transition into accelerated decomposition mode from the standard mode (by dividing the pools by :math:`{a}_{i}`), and that the transitions into and out of accelerated decomposition mode are handled automatically by CLM upon loading from restart files (which preserve information about the mode of the model when restart files were written). - -The base acceleration terms for the two decomposition cascades are shown in Tables 15.1 and 15.3. In addition to the base terms, CLM5 also includes a geographic term to the acceleration in order to apply larger values to high-latitude systems, where decomposition rates are particularly slow and thus equilibration can take significantly longer than in temperate or tropical climates. This geographic term takes the form of a logistic equation, where :math:`{a}_{i}` is equal to the product of the base acceleration term and :math:`{a}_{l}` below: - -.. math:: - :label: 21.65) +For transient experiments, it is usually assumed that the carbon cycle +is starting from a point of relatively close equilibrium, i.e. that +productivity is balanced by ecosystem carbon losses through +respiratory and disturbance pathways. In order to satisfy this +assumption, the model is generally run until the productivity and loss +terms find a stable long-term equilibrium; at this point the model is +considered 'spun up'. + +Because of the coupling between the slowest SOM pools and productivity +through N downregulation of photosynthesis, equilibration of the model +for initialization purposes will take an extremely long time in the +standard mode. This is particularly true for the CENTURY-based +decomposition cascade, which includes a passive pool. In order to +rapidly equilibrate the model, a modified version of the “accelerated +decomposition” :ref:`(Thornton and Rosenbloon, 2005) ` is used. The fundamental +idea of this approach is to allow fluxes between the various pools (both +turnover-defined and vertically-defined fluxes) adjust rapidly, while +keeping the pool sizes themselves small so that they can fill quickly. +To do this, the base decomposition rate :math:`{k}_{i}` for each +pool *i* is accelerated by a term :math:`{a}_{i}` such that the slow +pools are collapsed onto an approximately annual timescale :ref:`Koven et al. (2013) `. Accelerating the pools beyond this timescale distorts the +seasonal and/or diurnal cycles of decomposition and N mineralization, +thus leading to a substantially different ecosystem productivity than +the full model. For the vertical model, the vertical transport terms are +also accelerated by the same term :math:`{a}_{i}`, as is the +radioactive decay when :math:`{}^{14}`\ C is enabled, following the same +principle of keeping fluxes between pools (or fluxes lost to decay) +close to the full model while keeping the pools sizes small. When +leaving the accelerated decomposition mode, the concentration of C and N +in pools that had been accelerated are multiplied by the same term +:math:`{a}_{i}`, to bring the model into approximate equilibrium. +Note that in CLM, the model can also transition into accelerated +decomposition mode from the standard mode (by dividing the pools by +:math:`{a}_{i}`), and that the transitions into and out of +accelerated decomposition mode are handled automatically by CLM upon +loading from restart files (which preserve information about the mode of +the model when restart files were written). + +The base acceleration terms for the two decomposition cascades are shown in +Tables 15.1 and 15.3. In addition to the base terms, CLM5 also +includes a geographic term to the acceleration in order to apply +larger values to high-latitude systems, where decomposition rates are +particularly slow and thus equilibration can take significantly longer +than in temperate or tropical climates. This geographic term takes +the form of a logistic equation, where :math:`{a}_{i}` is equal to the +product of the base acceleration term and :math:`{a}_{l}` below: + +.. math:: + :label: 21.65) a_l = 1 + 50 / \left ( 1 + exp \left (-0.1 * (abs(latitude) - 60 ) \right ) \right ) + + + diff --git a/doc/source/tech_note/Dust/CLM50_Tech_Note_Dust.rst b/doc/source/tech_note/Dust/CLM50_Tech_Note_Dust.rst index f1dd139cb5..2b3064c921 100644 --- a/doc/source/tech_note/Dust/CLM50_Tech_Note_Dust.rst +++ b/doc/source/tech_note/Dust/CLM50_Tech_Note_Dust.rst @@ -3,121 +3,190 @@ Dust Model ============== -Atmospheric dust is mobilized from the land by wind in the CLM. The most important factors determining soil erodibility and dust emission include the wind friction speed, the vegetation cover, and the soil moisture The CLM dust mobilization scheme (:ref:`Mahowald et al. 2006` accounts for these factors based on the DEAD (Dust Entrainment and Deposition model of :ref:`Zender et al. (2003)`. Please refer to the :ref:`Zender et al. (2003)` article for additional information regarding the equations presented in this section. - -The total vertical mass flux of dust, :math:`F_{j}` (kg m\ :sup:`-2` s\ :sup:`-1`), from the ground into transport bin :math:`j` is given by +Atmospheric dust is mobilized from the land by wind in the CLM. The most +important factors determining soil erodibility and dust emission include +the wind friction speed, the vegetation cover, and the soil moisture. +The CLM dust mobilization scheme (:ref:`Mahowald et al. 2006`) +accounts for these factors based on the DEAD (Dust Entrainment and Deposition) +model of :ref:`Zender et al. (2003)`. Please refer to the +:ref:`Zender et al. (2003)` article for additional +information regarding the equations presented in this section. + +The total vertical mass flux of dust, :math:`F_{j}` +(kg m\ :sup:`-2` s\ :sup:`-1`), from the ground into transport bin +:math:`j` is given by .. math:: :label: 29.1 F_{j} =TSf_{m} \alpha Q_{s} \sum _{i=1}^{I}M_{i,j} -where :math:`T` is a global factor that compensates for the DEAD model's sensitivity to horizontal and temporal resolution and equals 5 x 10\ :sup:`-4` in the CLM instead of 7 x 10\ :sup:`-4` in :ref:`Zender et al. (2003)`. :math:`S` is the source erodibility factor set to 1 in the CLM and serves as a place holder at this time. +where :math:`T` is a global factor that compensates for the DEAD model’s +sensitivity to horizontal and temporal resolution and equals 5 x +10\ :sup:`-4` in the CLM instead of 7 x 10\ :sup:`-4` in +:ref:`Zender et al. (2003)`. :math:`S` is the source +erodibility factor set to 1 in the CLM and serves as a place holder +at this time. -The grid cell fraction of exposed bare soil suitable for dust mobilization :math:`f_{m}` is given by +The grid cell fraction of exposed bare soil suitable for dust +mobilization :math:`f_{m}` is given by .. math:: - :label: 29.2 + :label: 29.2 f_{m} =\left(1-f_{lake} \right)\left(1-f_{sno} \right)\left(1-f_{v} \right)\frac{w_{liq,1} }{w_{liq,1} +w_{ice,1} } -where :math:`f_{lake}` and :math:`f_{sno}` are the CLM grid cell fractions of lake (section :numref:`Surface Data`) and snow cover (section :numref:`Snow Covered Area Fraction`), all ranging from zero to one. Not mentioned by :ref:`Zender et al. (2003)`, :math:`w_{liq,\, 1}` and :math:`{}_{w_{ice,\, 1} }` are the CLM top soil layer liquid water and ice contents (mm) entered as a ratio expressing the decreasing ability of dust to mobilize from increasingly frozen soil. The grid cell fraction of vegetation cover,\ :math:`{}_{f_{v} }`, is defined as +where :math:`f_{lake}` and :math:`f_{sno}` +are the CLM grid cell fractions of lake (section +:numref:`Surface Data`) and snow cover (section +:numref:`Snow Covered Area Fraction`), all ranging from zero to one. Not mentioned +by :ref:`Zender et al. (2003)`, :math:`w_{liq,\, 1}` and +:math:`{}_{w_{ice,\, 1} }` are the CLM top soil layer liquid water and +ice contents (mm) entered as a ratio expressing the decreasing ability +of dust to mobilize from increasingly frozen soil. The grid cell +fraction of vegetation cover,\ :math:`{}_{f_{v} }`, is defined as .. math:: :label: 29.3 0\le f_{v} =\frac{L+S}{\left(L+S\right)_{t} } \le 1{\rm \; \; \; \; where\; }\left(L+S\right)_{t} =0.3{\rm \; m}^{2} {\rm m}^{-2} -where equation applies only for dust mobilization and is not related to the plant functional type fractions prescribed from the CLM input data or simulated by the CLM dynamic vegetation model (Chapter 22). :math:`L` and :math:`S` are the CLM leaf and stem area index values (m :sup:`2` m\ :sup:`-2`) averaged at the land unit level so as to include all the pfts and the bare ground present in a vegetated land unit. :math:`L` and :math:`S` may be prescribed from the CLM input data (section :numref:`Phenology and vegetation burial by snow`) or simulated by the CLM biogeochemistry model (Chapter :numref:`rst_Vegetation Phenology and Turnover`). +where equation applies only for dust mobilization and is not related to +the plant functional type fractions prescribed from the CLM input data +or simulated by the CLM dynamic vegetation model (Chapter 22). :math:`L` +and :math:`S` are the CLM leaf and stem area index values +(m :sup:`2` m\ :sup:`-2`) averaged at the land unit level so +as to include all the pfts and the bare ground present in a vegetated +land unit. :math:`L` and :math:`S` may be prescribed from the CLM +input data (section :numref:`Phenology and vegetation burial by snow`) +or simulated by the CLM biogeochemistry model (Chapter +:numref:`rst_Vegetation Phenology and Turnover`). -The sandblasting mass efficiency :math:`\alpha` (m :sup:`-1`) is calculated as +The sandblasting mass efficiency :math:`\alpha` (m :sup:`-1`) is +calculated as .. math:: - :label: 29.4 + :label: 29.4 \alpha =100e^{\left(13.4M_{clay} -6.0\right)\ln 10} {\rm \; \; }\left\{\begin{array}{l} {M_{clay} =\% clay\times 0.01{\rm \; \; \; 0}\le \% clay\le 20} \\ {M_{clay} =20\times 0.01{\rm \; \; \; \; \; \; \; \; 20<\% }clay\le 100} \end{array}\right. -where :math:`M_{clay}` is the mass fraction of clay particles in the soil and %clay is determined from the surface dataset (section :numref:`Surface Data`). :math:`M_{clay} =0` corresponds to sand and :math:`M_{clay} =0.2` to sandy loam. +where :math:`M_{clay}` is the mass fraction of clay +particles in the soil and %clay is determined from the surface dataset +(section :numref:`Surface Data`). :math:`M_{clay} =0` corresponds to sand and +:math:`M_{clay} =0.2` to sandy loam. -:math:`Q_{s}` is the total horizontally saltating mass flux (kg m\ :sup:`-1` s\ :sup:`-1`) of "large" particles (:numref:`Table Dust Mass fraction`), also referred to as the vertically integrated streamwise mass flux +:math:`Q_{s}` is the total horizontally saltating mass flux (kg +m\ :sup:`-1` s\ :sup:`-1`) of “large” particles (:numref:`Table Dust Mass fraction`), +also referred to as the vertically integrated streamwise mass flux .. math:: :label: 29.5 Q_{s} = \left\{ - \begin{array}{lr} - \frac{c_{s} \rho _{atm} u_{*s}^{3} }{g} \left(1-\frac{u_{*t} }{u_{*s} } \right)\left(1+\frac{u_{*t} }{u_{*s} } \right)^{2} {\rm \; } & \qquad {\rm for\; }u_{*t} w_{t} } \end{array}\right. where .. math:: - :label: 29.8 + :label: 29.8 w_{t} =a\left(0.17M_{clay} +0.14M_{clay}^{2} \right){\rm \; \; \; \; \; \; 0}\le M_{clay} =\% clay\times 0.01\le 1 and .. math:: - :label: 29.9 + :label: 29.9 w=\frac{\theta _{1} \rho _{liq} }{\rho _{d,1} } -where :math:`a=M_{clay}^{-1}` for tuning purposes, :math:`\theta _{1}` is the volumetric soil moisture in the top soil layer (m :math:`{}^{3 }`\ m\ :sup:`-3`) (section :numref:`Soil Water`), :math:`\rho _{liq}` is the density of liquid water (kg m\ :sup:`-3`) (:numref:`Table Physical constants`), and :math:`\rho _{d,\, 1}` is the bulk density of soil in the top soil layer (kg m\ :sup:`-3`) defined as in section :numref:`Soil and Snow Thermal Properties` rather than as in :ref:`Zender et al. (2003)`. :math:`Re_{*t}^{f}` from equation is the threshold friction Reynolds factor +where :math:`a=M_{clay}^{-1}` for tuning purposes, +:math:`\theta _{1}` is the volumetric soil moisture in the top soil +layer (m :math:`{}^{3 }`\ m\ :sup:`-3`) (section :numref:`Soil Water`), +:math:`\rho _{liq}` is the density of liquid water (kg +m\ :sup:`-3`) (:numref:`Table Physical constants`), and :math:`\rho _{d,\, 1}` +is the bulk density of soil in the top soil layer (kg m\ :sup:`-3`) +defined as in section :numref:`Soil and Snow Thermal Properties` +rather than as in :ref:`Zender et al. (2003)`. +:math:`Re_{*t}^{f}` from equation is the threshold friction Reynolds +factor .. math:: - :label: 29.10 + :label: 29.10 Re_{*t}^{f} =\left\{\begin{array}{l} {\frac{0.1291^{2} }{-1+1.928Re_{*t} } {\rm \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; for\; 0.03}\le Re_{*t} \le 10} \\ {0.12^{2} \left(1-0.0858e^{-0.0617(Re_{*t} -10)} \right)^{2} {\rm \; for\; }Re_{*t} >10} \end{array}\right. -and :math:`Re_{*t}` is the threshold friction Reynolds number approximation for optimally sized particles +and :math:`Re_{*t}` is the threshold friction Reynolds number +approximation for optimally sized particles .. math:: - :label: 29.11 + :label: 29.11 Re_{*t} =0.38+1331\left(100D_{osp} \right)^{1.56} -In :eq:`29.5`, :math:`u_{*s}` is defined as the wind friction speed (m s\ :sup:`-1`) accounting for the Owen effect (:ref:`Owen 1964`) +In :eq:`29.5` , :math:`u_{*s}` is defined as the wind friction speed +(m s\ :sup:`-1`) accounting for the Owen effect (:ref:`Owen 1964`) .. math:: - :label: 29.12 + :label: 29.12 - u_{*s} = \left\{ - \begin{array}{lr} - u_{*} & \quad {\rm \; for \;} U_{10} ` but here for 10 m above the ground, and :math:`U_{10,\, t}` is the threshold wind speed at 10 m (m s\ :sup:`-1`) +where :math:`u_{*}` is the CLM wind friction speed (m s\ :sup:`-1`), +also known as friction velocity (section :numref:`Monin-Obukhov Similarity Theory`), +:math:`U_{10}` \ is the 10-m wind speed (m s\ :sup:`-1`) +calculated as the wind speed at the top of the canopy in section 4.3 of +:ref:`Bonan (1996)` but here for 10 m above the ground, and +:math:`U_{10,\, t}` is the threshold wind speed at 10 m (m +s\ :sup:`-1`) .. math:: :label: 29.13 U_{10,t} =u_{*t} \frac{U_{10} }{u_{*} } -In equation we sum :math:`M_{i,\, j}` over :math:`I=3` source modes :math:`i` where :math:`M_{i,\, j}` is the mass fraction of each source mode :math:`i` carried in each of *:math:`J=4`* transport bins :math:`j` +In equation we sum :math:`M_{i,\, j}` over :math:`I=3` source modes +:math:`i` where :math:`M_{i,\, j}` is the mass fraction of each source +mode :math:`i` carried in each of *:math:`J=4`* transport bins :math:`j` .. math:: :label: 29.14 M_{i,j} =\frac{m_{i} }{2} \left[{\rm erf}\left(\frac{\ln {\textstyle\frac{D_{j,\max } }{\tilde{D}_{v,i} }} }{\sqrt{2} \ln \sigma _{g,i} } \right)-{\rm erf}\left(\frac{\ln {\textstyle\frac{D_{j,\min } }{\tilde{D}_{v,i} }} }{\sqrt{2} \ln \sigma _{g,i} } \right)\right] -where :math:`m_{i}`, :math:`\tilde{D}_{v,\, i}`, and :math:`\sigma _{g,\, i}` are the mass fraction, mass median diameter, and geometric standard deviation assigned to each particle source mode :math:`i` (:numref:`Table Dust Mass fraction`), while :math:`D_{j,\, \min }` and :math:`D_{j,\, \max }` are the minimum and maximum diameters (m) in each transport bin :math:`j` (:numref:`Table Dust Minimum and maximum particle diameters`). +where :math:`m_{i}` , :math:`\tilde{D}_{v,\, i}` , and +:math:`\sigma _{g,\, i}` are the mass fraction, mass median diameter, +and geometric standard deviation assigned to each particle source mode +:math:`i` (:numref:`Table Dust Mass fraction`), while :math:`D_{j,\, \min }` and +:math:`D_{j,\, \max }` are the minimum and maximum diameters (m) in +each transport bin :math:`j` (:numref:`Table Dust Minimum and maximum particle diameters`). .. _Table Dust Mass fraction: diff --git a/doc/source/tech_note/Ecosystem/CLM50_Tech_Note_Ecosystem.rst b/doc/source/tech_note/Ecosystem/CLM50_Tech_Note_Ecosystem.rst index 33c035f282..50b918e6a2 100644 --- a/doc/source/tech_note/Ecosystem/CLM50_Tech_Note_Ecosystem.rst +++ b/doc/source/tech_note/Ecosystem/CLM50_Tech_Note_Ecosystem.rst @@ -5,7 +5,7 @@ Surface Characterization, Vertical Discretization, and Model Input Requirements .. _Surface Characterization: -Surface Characterization +Surface Characterization ----------------------------- .. _Surface Heterogeneity and Data Structure: @@ -13,35 +13,118 @@ Surface Characterization Surface Heterogeneity and Data Structure ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Spatial land surface heterogeneity in CLM is represented as a nested subgrid hierarchy in which grid cells are composed of multiple land units, snow/soil columns, and PFTs (:numref:`Figure CLM subgrid hierarchy`). Each grid cell can have a different number of land units, each land unit can have a different number of columns, and each column can have multiple PFTs. The first subgrid level, the land unit, is intended to capture the broadest spatial patterns of subgrid heterogeneity. The current land units are glacier, lake, urban, vegetated, and crop (when the crop model option is turned on). The land unit level can be used to further delineate these patterns. For example, the urban land unit is divided into density classes representing the tall building district, high density, and medium density urban areas. - -The second subgrid level, the column, is intended to capture potential variability in the soil and snow state variables within a single land unit. For example, the vegetated land unit could contain several columns with independently evolving vertical profiles of soil water and temperature. Similarly, the managed vegetation land unit can be divided into two columns, irrigated and non-irrigated. The default snow/soil column is represented by 25 layers for ground (with up to 20 of these layers classified as soil layers and the remaining layers classified as bedrock layers) and up to 10 layers for snow, depending on snow depth. The central characteristic of the column subgrid level is that this is where the state variables for water and energy in the soil and snow are defined, as well as the fluxes of these components within the soil and snow. Regardless of the number and type of PFTs occupying space on the column, the column physics operates with a single set of upper boundary fluxes, as well as a single set of transpiration fluxes from multiple soil levels. These boundary fluxes are weighted averages over all PFTs. Currently, for lake and vegetated land units, a single column is assigned to each land unit. The crop land unit is split into irrigated and unirrigated columns with a single crop occupying each column. The urban land units have five columns (roof, sunlit walls and shaded walls, and pervious and impervious canyon floor) (Oleson et al. 2010b). The glacier land unit is separated into up to 10 elevation classes. +Spatial land surface heterogeneity in CLM is represented as a nested +subgrid hierarchy in which grid cells are composed of multiple land +units, snow/soil columns, and PFTs (:numref:`Figure CLM subgrid hierarchy`). +Each grid cell can have +a different number of land units, each land unit can have a different +number of columns, and each column can have multiple PFTs. The first +subgrid level, the land unit, is intended to capture the broadest +spatial patterns of subgrid heterogeneity. The current land units are +glacier, lake, urban, vegetated, and crop (when the crop model option is +turned on). The land unit level can be used to further delineate these +patterns. For example, the urban land unit is divided into density +classes representing the tall building district, high density, and +medium density urban areas. + +The second subgrid level, the column, is intended to capture potential +variability in the soil and snow state variables within a single land +unit. For example, the vegetated land unit could contain several columns +with independently evolving vertical profiles of soil water and +temperature. Similarly, the managed vegetation land unit can be divided +into two columns, irrigated and non-irrigated. The default snow/soil +column is represented by 25 layers for ground (with up to 20 of these +layers classified as soil layers and the remaining layers classified as +bedrock layers) and up to 10 layers for snow, depending on snow +depth. The central characteristic of the column subgrid level is that +this is where the state variables for water and energy in the soil and +snow are defined, as well as the fluxes of these components within the +soil and snow. Regardless of the number and type of PFTs occupying space +on the column, the column physics operates with a single set of upper +boundary fluxes, as well as a single set of transpiration fluxes from +multiple soil levels. These boundary fluxes are weighted averages over +all PFTs. Currently, for lake and vegetated land units, a single column +is assigned to each land unit. The crop land unit is split into +irrigated and unirrigated columns with a single crop occupying each +column. The urban land units have five columns (roof, sunlit walls and +shaded walls, and pervious and impervious canyon floor) (Oleson et +al. 2010b). The glacier land unit is separated into up to 10 elevation +classes. .. _Figure CLM subgrid hierarchy: .. Figure:: image1.png - Configuration of the CLM subgrid hierarchy. Box in upper right shows hypothetical subgrid distribution for a single grid cell. Note that the Crop land unit is only used when the model is run with the crop model active. Abbreviations: TBD – Tall Building District; HD – High Density; MD – Medium Density, G – Glacier, L – Lake, U – Urban, C – Crop, V – Vegetated, PFT – Plant Functional Type, Irr – Irrigated, UIrr – Unirrigated. Red arrows indicate allowed land unit transitions. Purple arrows indicate allowed patch-level transitions. - -The third subgrid level is referred to as the patch level. Patches can be PFTs or bare ground on the vegetated land unit and crop functional types (CFTs) on the crop land unit. The patch level is intended to capture the biogeophysical and biogeochemical differences between broad categories of plants in terms of their functional characteristics. On the vegetated land unit, up to 16 possible PFTs that differ in physiology and structure may coexist on a single column. All fluxes to and from the surface are defined at the PFT level, as are the vegetation state variables (e.g. vegetation temperature and canopy water storage). On the crop land unit, typically, different crop types can be represented on each crop land unit column (see Chapter :numref:`rst_Crops and Irrigation` for details). - -In addition to state and flux variable data structures for conserved components at each subgrid level (e.g., energy, water, carbon), each subgrid level also has a physical state data structure for handling quantities that are not involved in conservation checks (diagnostic variables). For example, the urban canopy air temperature and humidity are defined through physical state variables at the land unit level, the number of snow layers and the soil roughness lengths are defined as physical state variables at the column level, and the leaf area index and the fraction of canopy that is wet are defined as physical state variables at the PFT level. - -The standard configuration of the model subgrid hierarchy is illustrated in :numref:`Figure CLM subgrid hierarchy`. Here, only four PFTs are shown associated with the single column beneath the vegetated land unit but up to sixteen are possible. The crop land unit is present only when the crop model is active. - -Note that the biogeophysical processes related to soil and snow require PFT level properties to be aggregated to the column level. For example, the net heat flux into the ground is required as a boundary condition for the solution of snow/soil temperatures (Chapter :numref:`rst_Soil and Snow Temperatures`). This column level property must be determined by aggregating the net heat flux from all PFTs sharing the column. This is generally accomplished in the model by computing a weighted sum of the desired quantity over all PFTs whose weighting depends on the PFT area relative to all PFTs, unless otherwise noted in the text. + Configuration of the CLM subgrid hierarchy. Box in upper right shows hypothetical subgrid distribution for a single grid cell. Note that the Crop land unit is only used when the model is run with the crop model active. Abbreviations: TBD – Tall Building District; HD – High Density; MD – Medium Density, G – Glacier, L – Lake, U – Urban, C – Crop, V – Vegetated, PFT – Plant Functional Type, Irr – Irrigated, UIrr – Unirrigated. Red arrows indicate allowed land unit transitions. Purple arrows indicate allowed patch-level transitions. + +The third subgrid level is referred to as the patch level. Patches can be PFTs or bare ground on the vegetated land unit +and crop functional types (CFTs) on the crop land unit. +The patch level is intended to capture the +biogeophysical and biogeochemical differences between broad categories +of plants in terms of their functional characteristics. On the vegetated +land unit, up to 16 possible PFTs that differ in physiology and +structure may coexist on a single column. All fluxes to and from the +surface are defined at the PFT level, as are the vegetation state +variables (e.g. vegetation temperature and canopy water storage). On the +crop land unit, typically, different crop types can be represented on each +crop land unit column (see Chapter :numref:`rst_Crops and Irrigation` for details). + +In addition to state and flux variable data structures for conserved +components at each subgrid level (e.g., energy, water, carbon), each +subgrid level also has a physical state data structure for handling +quantities that are not involved in conservation checks (diagnostic +variables). For example, the urban canopy air temperature and humidity +are defined through physical state variables at the land unit level, the +number of snow layers and the soil roughness lengths are defined as +physical state variables at the column level, and the leaf area index +and the fraction of canopy that is wet are defined as physical state +variables at the PFT level. + +The standard configuration of the model subgrid hierarchy is illustrated +in :numref:`Figure CLM subgrid hierarchy`. Here, only four PFTs are shown +associated with the single +column beneath the vegetated land unit but up to sixteen are possible. +The crop land unit is present only when the crop model is active. + +Note that the biogeophysical processes related to soil and snow require +PFT level properties to be aggregated to the column level. For example, +the net heat flux into the ground is required as a boundary condition +for the solution of snow/soil temperatures (Chapter :numref:`rst_Soil and Snow Temperatures`). This column +level property must be determined by aggregating the net heat flux from +all PFTs sharing the column. This is generally accomplished in the model +by computing a weighted sum of the desired quantity over all PFTs whose +weighting depends on the PFT area relative to all PFTs, unless otherwise +noted in the text. .. _Vegetation Composition: Vegetation Composition ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Vegetated surfaces are comprised of up to 15 possible plant functional types (PFTs) plus bare ground (:numref:`Table Plant functional types`). An additional PFT is added if the irrigation model is active and six additional PFTs are added if the crop model is active (Chapter :numref:`rst_Crops and Irrigation`). In :numref:`Table Plant functional types`, IVT = 0,14 refers to the index of PCT_NAT_VEG on the surface dataset while IVT = 15,18 refers to the index of PCT_CFT on the surface dataset. These plant types differ in leaf and stem optical properties that determine reflection, transmittance, and absorption of solar radiation (:numref:`Table Plant functional type optical properties`), root distribution parameters that control the uptake of water from the soil (:numref:`Table Plant functional type root distribution parameters`), aerodynamic parameters that determine resistance to heat, moisture, and momentum transfer (:numref:`Table Plant functional type aerodynamic parameters`), and photosynthetic parameters that determine stomatal resistance, photosynthesis, and transpiration (:numref:`Table Plant functional type (PFT) stomatal conductance parameters`, :numref:`Table Temperature dependence parameters for C3 photosynthesis`). The composition and abundance of PFTs within a grid cell can either be prescribed as time-invariant fields (e.g., using the present day dataset described in section 21.3.3) or can evolve with time if the model is run in transient landcover mode (Chapter :numref:`rst_Transient Landcover Change`). +Vegetated surfaces are comprised of up to 15 possible plant functional +types (PFTs) plus bare ground (:numref:`Table Plant functional types`). An +additional PFT is added if +the irrigation model is active and six additional PFTs are added if the +crop model is active (Chapter :numref:`rst_Crops and Irrigation`). +In :numref:`Table Plant functional types`, IVT = 0,14 refers to the index of PCT_NAT_VEG +on the surface dataset while IVT = 15,18 refers to the index of PCT_CFT on the surface dataset. These +plant types differ in leaf and stem optical properties that determine reflection, +transmittance, and absorption of solar radiation (:numref:`Table Plant functional type optical properties`), root +distribution parameters that control the uptake of water from the soil +(:numref:`Table Plant functional type root distribution parameters`), aerodynamic parameters that determine resistance to heat, +moisture, and momentum transfer (:numref:`Table Plant functional type aerodynamic parameters`), and photosynthetic +parameters that determine stomatal resistance, photosynthesis, and +transpiration (:numref:`Table Plant functional type (PFT) stomatal conductance parameters`, +:numref:`Table Temperature dependence parameters for C3 photosynthesis`). The composition and abundance of PFTs +within a grid cell can either be prescribed as time-invariant fields +(e.g., using the present day dataset described in section 21.3.3) or can +evolve with time if the model is run in transient landcover mode +(Chapter :numref:`rst_Transient Landcover Change`). .. _Table Plant functional types: .. table:: Plant functional types - + +-----+--------------------------------------------------------------+-------------------+ | IVT | Plant functional type | Acronym | +=====+==============================================================+===================+ @@ -92,12 +175,22 @@ Vegetated surfaces are comprised of up to 15 possible plant functional types (PF Vegetation Structure ^^^^^^^^^^^^^^^^^^^^^^^^^^ -Vegetation structure is defined by leaf and stem area indices (:math:`L,\, S`) and canopy top and bottom heights (:math:`z_{top}`,\ :math:`z_{bot}` ). Separate leaf and stem area indices and canopy heights are prescribed or calculated for each PFT. Daily leaf and stem area indices are obtained from griddeddatasets of monthly values (section :numref:`Surface Data`). Canopy top and bottom heights for trees are from ICESat (:ref:`Simard et al. (2011) `). Canopy top and bottom heights for short vegetation are obtained from gridded datasets but are invariant in space and time and were obtained from PFT-specific values (:ref:`Bonan et al. (2002a) `) (:numref:`Table Plant functional type canopy top and bottom heights`). When the biogeochemistry model is active, vegetation state (LAI, SAI, canopy top and bottom heights) are calculated prognostically (see Chapter :numref:`rst_Vegetation Phenology and Turnover`). +Vegetation structure is defined by leaf and stem area indices +(:math:`L,\, S`) and canopy top and bottom heights (:math:`z_{top}`,\ :math:`z_{bot}` ). +Separate leaf and +stem area indices and canopy heights are prescribed or calculated for each PFT. Daily leaf +and stem area indices are obtained from griddeddatasets of monthly values (section +:numref:`Surface Data`). Canopy top and bottom heights for trees are from ICESat (:ref:`Simard et al. (2011) `). +Canopy top and bottom heights for short vegetation are obtained from gridded datasets but are invariant in space +and time and were obtained from PFT-specific values (:ref:`Bonan et al. (2002a) `) (:numref:`Table Plant functional type canopy top and bottom heights`). +When the biogeochemistry model is active, +vegetation state (LAI, SAI, canopy top and bottom heights) are calculated prognostically +(see Chapter :numref:`rst_Vegetation Phenology and Turnover`). .. _Table Plant functional type canopy top and bottom heights: .. table:: Plant functional type canopy top and bottom heights - + +--------------------------------------------------------------+-------------------+-------------------+ | Plant functional type | :math:`z_{top}` | :math:`z_{bot}` | +==============================================================+===================+===================+ @@ -127,22 +220,36 @@ Vegetation structure is defined by leaf and stem area indices (:math:`L,\, S`) a Phenology and vegetation burial by snow ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -When the biogeochemistry model is inactive, leaf and stem area indices (m\ :sup:`2` leaf area m\ :sup:`-2` ground area) are updated daily by linearly interpolating between monthly values. Monthly PFT leaf area index values are developed from the 1-km MODIS-derived monthly grid cell average leaf area index of :ref:`Myneni et al. (2002) `, as described in :ref:`Lawrence and Chase (2007) `. Stem area ndex is calculated from the monthly PFT leaf area index using the methods of :ref:`Zeng et al. (2002) `. The leaf and stem area indices are adjusted for vertical burying by snow (:ref:`Wang and Zeng 2009 `) as +When the biogeochemistry model is inactive, leaf and stem area indices +(m\ :sup:`2` leaf area m\ :sup:`-2` ground area) are updated +daily by linearly interpolating between monthly values. Monthly PFT leaf +area index values are developed from the 1-km MODIS-derived monthly grid +cell average leaf area index of :ref:`Myneni et al. (2002) `, +as described in :ref:`Lawrence and Chase (2007) `. Stem area +ndex is calculated from the monthly PFT leaf area index using the methods of +:ref:`Zeng et al. (2002) `. The leaf and stem area indices are +adjusted for vertical burying by snow (:ref:`Wang and Zeng 2009 `) +as .. math:: - :label: 2.1 + :label: 2.1 A=A^{*} ( 1-f_{veg}^{sno} ) -where :math:`A^{*}` is the leaf or stem area before adjustment for snow, :math:`A` is the remaining exposed leaf or stem area, :math:`f_{veg}^{sno}` is the vertical fraction of vegetation covered by snow +where :math:`A^{\*}` is the leaf or stem area before adjustment for +snow, :math:`A` is the remaining exposed leaf or stem area, +:math:`f_{veg}^{sno}` is the vertical fraction of vegetation covered by snow .. math:: :label: 2.2 - {f_{veg}^{sno} = \frac{z_{sno} -z_{bot} }{z_{top} -z_{bot} } \qquad {\rm for\; tree\; and\; shrub}} \\ - {f_{veg}^{sno} = \frac{\min \left(z_{sno} ,\, z_{c} \right)}{z_{c} } \qquad {\rm for\; grass\; and\; crop}} + {f_{veg}^{sno} = \frac{z_{sno} -z_{bot} }{z_{top} -z_{bot} } \qquad {\rm for\; tree\; and\; shrub}} \\ + {f_{veg}^{sno} = \frac{\min \left(z_{sno} ,\, z_{c} \right)}{z_{c} } \qquad {\rm for\; grass\; and\; crop}} -where :math:`z_{sno} -z_{bot} \ge 0,{\rm \; }0\le f_{veg}^{sno} \le 1`, :math:`z_{sno}` is the depth of snow (m) (Chapter :numref:`rst_Snow Hydrology`), and :math:`z_{c} = 0.2` is the snow depth when short vegetation is assumed to be completely buried by snow (m). For numerical reasons, exposed leaf and stem area are set to zero if less than 0.05. If the sum of exposed leaf and stem area is zero, then the surface is treated as snow-covered ground. +where :math:`z_{sno} -z_{bot} \ge 0,{\rm \; }0\le f_{veg}^{sno} \le 1`, :math:`z_{sno}` is the depth of snow (m) +(Chapter :numref:`rst_Snow Hydrology`), and :math:`z_{c} = 0.2` is the snow depth when short vegetation is assumed to +be completely buried by snow (m). For numerical reasons, exposed leaf and stem area are set to zero if less than +0.05. If the sum of exposed leaf and stem area is zero, then the surface is treated as snow-covered ground. .. _Vertical Discretization: @@ -150,16 +257,27 @@ Vertical Discretization ---------------------------- .. (this was taken from Initialization; is it still needed? - Vegetated and glacier land units have fifteen vertical layers, while lakes have ten. For soil points, temperature calculations are done over all layers, :math:`N_{levgrnd} =15`, while hydrology calculations are done over the top ten layers, :math:`N_{levsoi} =10`, the bottom five layers being specified as bedrock. + Vegetated and glacier land units have fifteen vertical layers, while + lakes have ten. For soil points, temperature calculations are done over + all layers, :math:`N_{levgrnd} =15`, while hydrology calculations are + done over the top ten layers, :math:`N_{levsoi} =10`, the bottom five + layers being specified as bedrock. .. _Soil Layers: Soil Layers ^^^^^^^^^^^^^^^^^^^^^^^^^^ -The soil column can be discretized into an arbitrary number of layers. The default vertical discretization (:numref:`Table Soil layer structure`) uses :math:`N_{levgrnd} = 25` layers, of which :math:`N_{levsoi} = 20` are hydrologically and biogeochemically active. The deepest 5 layers are only included in the thermodynamical calculations (:ref:`Lawrence et al. 2008 `) described in Chapter :numref:`rst_Soil and Snow Temperatures`. +The soil column can be discretized into an arbitrary number of layers. The default +vertical discretization (:numref:`Table Soil layer structure`) uses +:math:`N_{levgrnd} = 25` layers, of which :math:`N_{levsoi} = 20` are hydrologically and +biogeochemically active. The deepest 5 layers are only included in the thermodynamical +calculations (:ref:`Lawrence et al. 2008 `) described in Chapter +:numref:`rst_Soil and Snow Temperatures`. -The layer structure of the soil is described by the node depth, :math:`z_{i}` (m), the thickness of each layer, :math:`\Delta z_{i}` (m), and the depths at the layer interfaces :math:`z_{h,\, i}` (m). +The layer structure of the soil is described by the node depth, :math:`z_{i}` +(m), the thickness of each layer, :math:`\Delta z_{i}` (m), and the depths +at the layer interfaces :math:`z_{h,\, i}` (m). .. _Table Soil layer structure: @@ -219,14 +337,21 @@ The layer structure of the soil is described by the node depth, :math:`z_{i}` (m | 25 | 41.998 | 15.115 | 49.556 | +---------------+------------------+------------------------+------------------------+ -Layer node depth (:math:`z_{i}` ), thickness (:math:`\Delta z_{i}` ), and depth at layer interface (:math:`z_{h,\, i}` ) for default soil column. All in meters. +Layer node depth (:math:`z_{i}` ), thickness (:math:`\Delta z_{i}` ), and depth at +layer interface (:math:`z_{h,\, i}` ) for default soil column. All in meters. .. _Depth to Bedrock: Depth to Bedrock ^^^^^^^^^^^^^^^^^^^^^^^^^^ -The hydrologically and biogeochemically active portion of the soil column can be restricted to a thickness less than that of the maximum soil depth. By providing a depth-to-bedrock dataset, which may vary spatially, the number of layers used in the hydrologic and biogeochemical calculations, :math:`N_{bedrock}`, may be specified, subject to the constraint :math:`N_{bedrock} \le N_{levsoi}`. The default depth-to-bedrock values are from :ref:`Pelletier et al. [2016]`. +The hydrologically and biogeochemically active portion of the soil column can be +restricted to a thickness less than that of the maximum soil depth. By providing +a depth-to-bedrock dataset, which may vary spatially, the number of layers used +in the hydrologic and biogeochemical calculations, :math:`N_{bedrock}`, may be +specified, subject to the constraint :math:`N_{bedrock} \le N_{levsoi}`. +The default depth-to-bedrock values are from +:ref:`Pelletier et al. [2016]`. .. _Model Input Requirements: @@ -238,7 +363,20 @@ Model Input Requirements Atmospheric Coupling ^^^^^^^^^^^^^^^^^^^^^^^^^^ -The current state of the atmosphere (:numref:`Table Atmospheric input to land model`) at a given time step is used to force the land model. This atmospheric state is provided by an atmospheric model in coupled mode or from an observed dataset in land-only mode (Chapter :numref:`rst_Land-Only Mode`). The land model then initiates a full set of calculations for surface energy, constituent, momentum, and radiative fluxes. The land model calculations are implemented in two steps. The land model proceeds with the calculation of surface energy, constituent, momentum, and radiative fluxes using the snow and soil hydrologic states from the previous time step. The land model then updates the soil and snow hydrology calculations based on these fluxes. These fields are passed to the atmosphere (:numref:`Table Land model output to atmospheric model`). The albedos sent to the atmosphere are for the solar zenith angle at the next time step but with surface conditions from the current time step. +The current state of the atmosphere (:numref:`Table Atmospheric input to land model`) +at a given time step is +used to force the land model. This atmospheric state is provided by an +atmospheric model in coupled mode or from an observed dataset in land-only +mode (Chapter :numref:`rst_Land-Only Mode`). The land model then initiates a full set of +calculations for surface energy, constituent, momentum, and radiative +fluxes. The land model calculations are implemented in two steps. The +land model proceeds with the calculation of surface energy, constituent, +momentum, and radiative fluxes using the snow and soil hydrologic states +from the previous time step. The land model then updates the soil and +snow hydrology calculations based on these fluxes. These fields are +passed to the atmosphere (:numref:`Table Land model output to atmospheric model`). The albedos sent to the atmosphere +are for the solar zenith angle at the next time step but with surface +conditions from the current time step. .. _Table Atmospheric input to land model: @@ -286,19 +424,85 @@ The current state of the atmosphere (:numref:`Table Atmospheric input to land mo | :sup:`5`\ Lightning frequency | :math:`I_{l}` | flash km\ :sup:`-2` hr\ :sup:`-1` | +------------------------------------------------------+------------------------------------------------+-------------------------------------------------+ -:sup:`1`\ The atmospheric reference height received from the atmospheric model :math:`z'_{atm}` is assumed to be the height above the surface as defined by the roughness length :math:`z_{0}` plus displacement height :math:`d`. Thus, the reference height used for flux computations (Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`) is :math:`z_{atm} =z'_{atm} +z_{0} +d`. The reference heights for temperature, wind, and specific humidity (:math:`z_{atm,\, h}`, :math:`z_{atm,\, {\it m}}`, :math:`z_{atm,\, w}` ) are required. These are set equal to\ :math:`z_{atm}`. - -:sup:`2`\ CAM provides convective and large-scale liquid and solid precipitation, which are added to yield total liquid precipitation :math:`q_{rain}` and solid precipitation :math:`q_{sno}`. However, in CLM5, the atmosphere's partitioning into liquid and solid precipitation is ignored. Instead, CLM repartitions total precipitation using a linear ramp. For most landunits, this ramp generates all snow below :math:`0 ^{\circ} C`, all rain above :math:`2 ^{\circ} C`, and a mix of rain and snow for intermediate temperatures. For glaciers, the end points of the ramp are :math:`-2 ^{\circ} C` and :math:`0 ^{\circ} C`, respectively. Changes to the phase of precipitation are accompanied by a sensible heat flux (positive or negative) to conserve energy. - -:sup:`3`\ There are 14 aerosol deposition rates required depending on species and affinity for bonding with water; 8 of these are dust deposition rates (dry and wet rates for 4 dust size bins, :math:`D_{dst,\, dry1},\, D_{dst,\, dry2},\, D_{dst,\, dry3},\, D_{dst,\, dry4}`, :math:`D_{dst,\, \, wet1},D_{dst,\, wet2},\, D_{dst,wet3},\, D_{dst,\, wet4}` ), 3 are black carbon deposition rates (dry and wet hydrophilic and dry hydrophobic rates, :math:`D_{bc,\, dryhphil},\, D_{bc,\, wethphil},\, D_{bc,\, dryhphob}` ), and 3 are organic carbon deposition rates (dry and wet hydrophilic and dry hydrophobic rates, :math:`D_{oc,\, dryhphil},\, D_{oc,\, wethphil},\, D_{oc,\, dryhphob}` ). These fluxes are computed interactively by the atmospheric model (when prognostic aerosol representation is active) or are prescribed from a time-varying (annual cycle or transient), globally-gridded deposition file defined in the namelist (see the CLM4.5 User's Guide). Aerosol deposition rates were calculated in a transient 1850-2009 CAM simulation (at a resolution of 1.9x2.5x26L) with interactive chemistry (troposphere and stratosphere) driven by CCSM3 20\ :sup:`th` century sea-surface temperatures and emissions (:ref:`Lamarque et al. 2010`) for short-lived gases and aerosols; observed concentrations were specified for methane, N\ :sub:`2`\ O, the ozone-depleting substances (CFCs),and CO\ :sub:`2`. The fluxes are used by the snow-related parameterizations (Chapters :numref:`rst_Surface Albedos` and :numref:`rst_Snow Hydrology`). - -:sup:`4`\ The nitrogen deposition rate is required by the biogeochemistry model when active and represents the total deposition of mineral nitrogen onto the land surface, combining deposition of NO\ :sub:`y` and NH\ :sub:`x`. The rate is supplied either as a time-invariant spatially-varying annual mean rate or time-varying for a transient simulation. Nitrogen deposition rates were calculated from the same CAM chemistry simulation that generated the aerosol deposition rates. - -:sup:`5`\ Climatological 3-hourly lightning frequency at :math:`\sim`\ 1.8° resolution is provided, which was calculated via bilinear interpolation from 1995-2011 NASA LIS/OTD grid product v2.2 (http://ghrc.msfc.nasa.gov) 2-hourly, 2.5° lightning frequency data. In future versions of the model, lightning data may be obtained directly from the atmosphere model. - -Density of air (:math:`\rho _{atm}` ) (kg m\ :sup:`-3`) is also required but is calculated directly from :math:`\rho _{atm} =\frac{P_{atm} -0.378e_{atm} }{R_{da} T_{atm} }` where :math:`P_{atm}` is atmospheric pressure (Pa), :math:`e_{atm}` is atmospheric vapor pressure (Pa), :math:`R_{da}` is the gas constant for dry air (J kg\ :sup:`-1` K\ :sup:`-1`) (:numref:`Table Physical constants`), and :math:`T_{atm}` is the atmospheric temperature (K). The atmospheric vapor pressure :math:`e_{atm}` is derived from atmospheric specific humidity :math:`q_{atm}` (kg kg\ :sup:`-1`) as :math:`e_{atm} =\frac{q_{atm} P_{atm} }{0.622+0.378q_{atm} }`. - -The O\ :sub:`2` partial pressure (Pa) is required but is calculated from molar ratio and the atmospheric pressure :math:`P_{atm}` as :math:`o_{i} =0.209P_{atm}`. +:sup:`1`\ The atmospheric reference height received from the +atmospheric model :math:`z'_{atm}` is assumed to be the height above +the surface as defined by the roughness length :math:`z_{0}` plus +displacement height :math:`d`. Thus, the reference height used for flux +computations (Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`) +is :math:`z_{atm} =z'_{atm} +z_{0} +d`. The +reference heights for temperature, wind, and specific humidity +(:math:`z_{atm,\, h}` , :math:`z_{atm,\, {\it m}}` , +:math:`z_{atm,\, w}` ) are required. These are set equal +to\ :math:`z_{atm}` . + +:sup:`2`\ CAM provides convective and large-scale liquid +and solid precipitation, which are added to yield total liquid +precipitation :math:`q_{rain}` and solid precipitation +:math:`q_{sno}` . +However, in CLM5, the atmosphere's partitioning into liquid and solid +precipitation is ignored. Instead, CLM repartitions total precipitation +using a linear ramp. For most landunits, this ramp generates all snow +below :math:`0 ^{\circ} C`, all rain above :math:`2 ^{\circ} C`, +and a mix of rain and snow for intermediate temperatures. For glaciers, +the end points of the ramp are :math:`-2 ^{\circ} C` and :math:`0 +^{\circ} C`, respectively. Changes to the phase of precipitation are +accompanied by a sensible heat flux (positive or negative) to conserve +energy. + +:sup:`3`\ There are 14 aerosol deposition rates required depending +on species and affinity for bonding with water; 8 of these are dust +deposition rates (dry and wet rates for 4 dust size bins, +:math:`D_{dst,\, dry1} ,\, D_{dst,\, dry2} ,\, D_{dst,\, dry3} ,\, D_{dst,\, dry4}` , +:math:`D_{dst,\, \, wet1} ,D_{dst,\, wet2} ,\, D_{dst,wet3} ,\, D_{dst,\, wet4}` ), +3 are black carbon deposition rates (dry and wet hydrophilic and dry +hydrophobic rates, +:math:`D_{bc,\, dryhphil} ,\, D_{bc,\, wethphil} ,\, D_{bc,\, dryhphob}` ), +and 3 are organic carbon deposition rates (dry and wet hydrophilic and +dry hydrophobic rates, +:math:`D_{oc,\, dryhphil} ,\, D_{oc,\, wethphil} ,\, D_{oc,\, dryhphob}` ). +These fluxes are computed interactively by the atmospheric model (when +prognostic aerosol representation is active) or are prescribed from a +time-varying (annual cycle or transient), globally-gridded deposition +file defined in the namelist (see the CLM4.5 User’s Guide). Aerosol +deposition rates were calculated in a transient 1850-2009 CAM simulation +(at a resolution of 1.9x2.5x26L) with interactive chemistry (troposphere +and stratosphere) driven by CCSM3 20\ :sup:`th` century +sea-surface temperatures and emissions (:ref:`Lamarque et al. 2010`) for +short-lived gases and aerosols; observed concentrations were specified +for methane, N\ :sub:`2`\ O, the ozone-depleting substances (CFCs) +,and CO\ :sub:`2`. The fluxes are used by the snow-related +parameterizations (Chapters :numref:`rst_Surface Albedos` and :numref:`rst_Snow Hydrology`). + +:sup:`4`\ The nitrogen deposition rate is required by the +biogeochemistry model when active and represents the total deposition of +mineral nitrogen onto the land surface, combining deposition of +NO\ :sub:`y` and NH\ :sub:`x`. The rate is supplied either +as a time-invariant spatially-varying annual mean rate or time-varying +for a transient simulation. Nitrogen deposition rates were calculated +from the same CAM chemistry simulation that generated the aerosol +deposition rates. + +:sup:`5`\ Climatological 3-hourly lightning frequency at +:math:`\sim`\ 1.8\ :sup:`o` resolution is provided, which was +calculated via bilinear interpolation from 1995-2011 NASA LIS/OTD grid +product v2.2 (http://ghrc.msfc.nasa.gov) 2-hourly, 2.5\ :sup:`o` +lightning frequency data. In future versions of the model, lightning +data may be obtained directly from the atmosphere model. + +Density of air (:math:`\rho _{atm}` ) (kg m\ :sup:`-3`) is also +required but is calculated directly from +:math:`\rho _{atm} =\frac{P_{atm} -0.378e_{atm} }{R_{da} T_{atm} }` +where :math:`P_{atm}` is atmospheric pressure (Pa), :math:`e_{atm}` is +atmospheric vapor pressure (Pa), :math:`R_{da}` is the gas constant for +dry air (J kg\ :sup:`-1` K\ :sup:`-1`) (:numref:`Table Physical constants`), and +:math:`T_{atm}` is the atmospheric temperature (K). The atmospheric +vapor pressure :math:`e_{atm}` is derived from atmospheric specific +humidity :math:`q_{atm}` (kg kg\ :sup:`-1`) as +:math:`e_{atm} =\frac{q_{atm} P_{atm} }{0.622+0.378q_{atm} }` . + +The O\ :sub:`2` partial pressure (Pa) is required but is +calculated from molar ratio and the atmospheric pressure +:math:`P_{atm}` as :math:`o_{i} =0.209P_{atm}` . .. _Table Land model output to atmospheric model: @@ -348,27 +552,91 @@ The O\ :sub:`2` partial pressure (Pa) is required but is calculated from molar r | Net ecosystem exchange | NEE | kgCO\ :sub:`2` m\ :sup:`-2` s\ :sup:`-1` | +---------------------------------------+------------------------------------------------+--------------------------------------------------------------+ -:sup:`1`\ :math:`\lambda _{vap}` is the latent heat of vaporization (J kg\ :sup:`-1`) (:numref:`Table Physical constants`) and :math:`\lambda` is either the latent heat of vaporization :math:`\lambda _{vap}` or latent heat of sublimation :math:`\lambda _{sub}` (J kg\ :sup:`-1`) (:numref:`Table Physical constants`) depending on the liquid water and ice content of the top snow/soil layer (section 5.4). +:sup:`1`\ :math:`\lambda _{vap}` is the latent heat of +vaporization (J kg\ :sup:`-1`) (:numref:`Table Physical constants`) and :math:`\lambda` is +either the latent heat of vaporization :math:`\lambda _{vap}` or latent +heat of sublimation :math:`\lambda _{sub}` (J kg\ :sup:`-1`) +(:numref:`Table Physical constants`) depending on the liquid water and ice content of the top +snow/soil layer (section 5.4). -:sup:`2`\ There are :math:`j=1,\ldots,4` dust transport bins. +:sup:`2`\ There are :math:`j=1,\ldots ,4` dust transport bins. .. _Initialization: Initialization ^^^^^^^^^^^^^^^^^^^^ -Initialization of the land model (i.e., providing the model with initial temperature and moisture states) depends on the type of run (startup or restart) (see the CLM4.5 User's Guide). A startup run starts the model from either initial conditions that are set internally in the Fortran code (referred to as arbitrary initial conditions) or from an initial conditions dataset that enables the model to start from a spun up state (i.e., where the land is in equilibrium with the simulated climate). In restart runs, the model is continued from a previous simulation and initialized from a restart file that ensures that the output is bit-for-bit the same as if the previous simulation had not stopped. The fields that are required from the restart or initial conditions files can be obtained by examining the code. Arbitrary initial conditions are specified as follows. - -Soil points are initialized with surface ground temperature :math:`T_{g}` and soil layer temperature :math:`T_{i}`, for :math:`i=1,\ldots,N_{levgrnd}`, of 274 K, vegetation temperature :math:`T_{v}` of 283 K, no snow or canopy water (:math:`W_{sno} =0`, :math:`W_{can} =0`), and volumetric soil water content :math:`\theta _{i} =0.15` mm\ :sup:`3` mm\ :sup:`-3` for layers :math:`i=1,\ldots,N_{levsoi}` and :math:`\theta _{i} =0.0` mm\ :sup:`3` mm\ :sup:`-3` for layers :math:`i=N_{levsoi} +1,\ldots,N_{levgrnd}`. placeLake temperatures (:math:`T_{g}` and :math:`T_{i}` ) are initialized at 277 K and :math:`W_{sno} =0`. - -Glacier temperatures (:math:`T_{g} =T_{snl+1}` and :math:`T_{i}` for :math:`i=snl+1,\ldots,N_{levgrnd}` where :math:`snl` is the negative of the number of snow layers, i.e., :math:`snl` ranges from –5 to 0) are initialized to 250 K with a snow water equivalent :math:`W_{sno} =1000` mm, snow depth :math:`z_{sno} =\frac{W_{sno} }{\rho _{sno} }` (m) where :math:`\rho _{sno} =250` kg m\ :sup:`-3` is an initial estimate for the bulk density of snow, and :math:`\theta _{i}` \ =1.0 for :math:`i=1,\ldots,N_{levgrnd}`. The snow layer structure (e.g., number of snow layers :math:`snl` and layer thickness) is initialized based on the snow depth (section 6.1). The snow liquid water and ice contents (kg m\ :sup:`-2`) are initialized as :math:`w_{liq,\, i} =0` and :math:`w_{ice,\, i} =\Delta z_{i} \rho _{sno}`, respectively, where :math:`i=snl+1,\ldots,0` are the snow layers, and :math:`\Delta z_{i}` is the thickness of snow layer :math:`i` (m). The soil liquid water and ice contents are initialized as :math:`w_{liq,\, i} =0` and :math:`w_{ice,\, i} =\Delta z_{i} \rho _{ice} \theta _{i}` for :math:`T_{i} \le T_{f}`, and :math:`w_{liq,\, i} =\Delta z_{i} \rho _{liq} \theta _{i}` and :math:`w_{ice,\, i} =0` for :math:`T_{i} >T_{f}`, where :math:`\rho _{ice}` and :math:`\rho _{liq}` are the densities of ice and liquid water (kg m\ :sup:`-3`) (:numref:`Table Physical constants`), and :math:`T_{f}` is the freezing temperature of water (K) (:numref:`Table Physical constants`). All vegetated and glacier land units are initialized with water stored in the unconfined aquifer and unsaturated soil :math:`W_{a} =4000` mm and water table depth :math:`z_{\nabla }` at five meters below the soil column. +Initialization of the land model (i.e., providing the model with initial +temperature and moisture states) depends on the type of run (startup or +restart) (see the CLM4.5 User’s Guide). A startup run starts the model +from either initial conditions that are set internally in the Fortran +code (referred to as arbitrary initial conditions) or from an initial +conditions dataset that enables the model to start from a spun up state +(i.e., where the land is in equilibrium with the simulated climate). In +restart runs, the model is continued from a previous simulation and +initialized from a restart file that ensures that the output is +bit-for-bit the same as if the previous simulation had not stopped. The +fields that are required from the restart or initial conditions files +can be obtained by examining the code. Arbitrary initial conditions are +specified as follows. + +Soil points are initialized with +surface ground temperature :math:`T_{g}` and soil layer temperature +:math:`T_{i}` , for :math:`i=1,\ldots ,N_{levgrnd}` , of 274 K, +vegetation temperature :math:`T_{v}` of 283 K, no snow or canopy water +(:math:`W_{sno} =0`, :math:`W_{can} =0`), and volumetric soil water +content :math:`\theta _{i} =0.15` mm\ :sup:`3` mm\ :sup:`-3` +for layers :math:`i=1,\ldots ,N_{levsoi}` and :math:`\theta _{i} =0.0` +mm\ :sup:`3` mm\ :sup:`-3` for layers +:math:`i=N_{levsoi} +1,\ldots ,N_{levgrnd}` . placeLake temperatures +(:math:`T_{g}` and :math:`T_{i}` ) are initialized at 277 K and +:math:`W_{sno} =0`. + +Glacier temperatures (:math:`T_{g} =T_{snl+1}` and :math:`T_{i}` for +:math:`i=snl+1,\ldots ,N_{levgrnd}` where :math:`snl` is the negative +of the number of snow layers, i.e., :math:`snl` ranges from –5 to 0) are +initialized to 250 K with a snow water equivalent :math:`W_{sno} =1000` +mm, snow depth :math:`z_{sno} =\frac{W_{sno} }{\rho _{sno} }` (m) where +:math:`\rho _{sno} =250` kg m\ :sup:`-3` is an initial estimate +for the bulk density of snow, and :math:`\theta _{i}` \ =1.0 for +:math:`i=1,\ldots ,N_{levgrnd}` . The snow layer structure (e.g., number +of snow layers :math:`snl` and layer thickness) is initialized based on +the snow depth (section 6.1). The snow liquid water and ice contents (kg +m\ :sup:`-2`) are initialized as :math:`w_{liq,\, i} =0` and +:math:`w_{ice,\, i} =\Delta z_{i} \rho _{sno}` , respectively, where +:math:`i=snl+1,\ldots ,0` are the snow layers, and :math:`\Delta z_{i}` +is the thickness of snow layer :math:`i` (m). The soil liquid water and +ice contents are initialized as :math:`w_{liq,\, i} =0` and +:math:`w_{ice,\, i} =\Delta z_{i} \rho _{ice} \theta _{i}` for +:math:`T_{i} \le T_{f}` , and +:math:`w_{liq,\, i} =\Delta z_{i} \rho _{liq} \theta _{i}` and +:math:`w_{ice,\, i} =0` for :math:`T_{i} >T_{f}` , where +:math:`\rho _{ice}` and :math:`\rho _{liq}` are the densities of ice +and liquid water (kg m\ :sup:`-3`) (:numref:`Table Physical constants`), and :math:`T_{f}` +is the freezing temperature of water (K) (:numref:`Table Physical constants`). All vegetated and +glacier land units are initialized with water stored in the unconfined +aquifer and unsaturated soil :math:`W_{a} =4000` mm and water table +depth :math:`z_{\nabla }` at five meters below the soil column. .. _Surface Data: Surface Data ^^^^^^^^^^^^^^^^^^ -Required surface data for each land grid cell are listed in :numref:`Table Surface data required for CLM and their base spatial resolution` and include the glacier, lake, and urban fractions of the grid cell (vegetated and crop occupy the remainder), the fractional cover of each plant functional type (PFT), monthly leaf and stem area index and canopy top and bottom heights for each PFT, soil color, soil texture, soil organic matter density, maximum fractional saturated area, slope, elevation, biogenic volatile organic compounds (BVOCs) emissions factors, population density, gross domestic production, peat area fraction, and peak month of agricultural burning. Optional surface data include crop irrigation and managed crops. All fields are aggregated to the model's grid from high-resolution input datasets ( :numref:`Table Surface data required for CLM and their base spatial resolution`) that are obtained from a variety of sources described below. +Required surface data for each land grid cell are listed in +:numref:`Table Surface data required for CLM and their base spatial resolution` +and include the glacier, lake, and urban fractions of the grid cell +(vegetated and crop occupy the remainder), the fractional cover of each +plant functional type (PFT), monthly leaf and stem area index and canopy +top and bottom heights for each PFT, soil color, soil texture, soil +organic matter density, maximum fractional saturated area, slope, +elevation, biogenic volatile organic compounds (BVOCs) emissions +factors, population density, gross domestic production, peat area +fraction, and peak month of agricultural burning. Optional surface data +include crop irrigation and managed crops. All fields are aggregated to +the model’s grid from high-resolution input datasets ( +:numref:`Table Surface data required for CLM and their base spatial resolution`) that +are obtained from a variety of sources described below. .. _Table Surface data required for CLM and their base spatial resolution: @@ -377,77 +645,228 @@ Required surface data for each land grid cell are listed in :numref:`Table Surfa +--------------------------------------------+---------------------------+ | Surface Field | Resolution | +============================================+===========================+ - | Percent glacier | 0.05° | + | Percent glacier | 0.05\ :sup:`o` | +--------------------------------------------+---------------------------+ - | Percent lake and lake depth | 0.05° | + | Percent lake and lake depth | 0.05\ :sup:`o` | +--------------------------------------------+---------------------------+ - | Percent urban | 0.05° | + | Percent urban | 0.05\ :sup:`o` | +--------------------------------------------+---------------------------+ - | Percent plant functional types (PFTs) | 0.05° | + | Percent plant functional types (PFTs) | 0.05\ :sup:`o` | +--------------------------------------------+---------------------------+ - | Monthly leaf and stem area index | 0.5° | + | Monthly leaf and stem area index | 0.5\ :sup:`o` | +--------------------------------------------+---------------------------+ - | Canopy height (top, bottom) | 0.5° | + | Canopy height (top, bottom) | 0.5\ :sup:`o` | +--------------------------------------------+---------------------------+ - | Soil color | 0.5° | + | Soil color | 0.5\ :sup:`o` | +--------------------------------------------+---------------------------+ - | Percent sand, percent clay | 0.083° | + | Percent sand, percent clay | 0.083\ :sup:`o` | +--------------------------------------------+---------------------------+ - | Soil organic matter density | 0.083° | + | Soil organic matter density | 0.083\ :sup:`o` | +--------------------------------------------+---------------------------+ - | Maximum fractional saturated area | 0.125° | + | Maximum fractional saturated area | 0.125\ :sup:`o` | +--------------------------------------------+---------------------------+ | Elevation | 1km | +--------------------------------------------+---------------------------+ | Slope | 1km | +--------------------------------------------+---------------------------+ - | Biogenic Volatile Organic Compounds | 0.5° | + | Biogenic Volatile Organic Compounds | 0.5\ :sup:`o` | +--------------------------------------------+---------------------------+ - | Crop Irrigation | 0.083° | + | Crop Irrigation | 0.083\ :sup:`o` | +--------------------------------------------+---------------------------+ - | Managed crops | 0.5° | + | Managed crops | 0.5\ :sup:`o` | +--------------------------------------------+---------------------------+ - | Population density | 0.5° | + | Population density | 0.5\ :sup:`o` | +--------------------------------------------+---------------------------+ - | Gross domestic production | 0.5° | + | Gross domestic production | 0.5\ :sup:`o` | +--------------------------------------------+---------------------------+ - | Peat area fraction | 0.5° | + | Peat area fraction | 0.5\ :sup:`o` | +--------------------------------------------+---------------------------+ - | Peak month of agricultural waste burning | 0.5° | + | Peak month of agricultural waste burning | 0.5\ :sup:`o` | +--------------------------------------------+---------------------------+ -At the base spatial resolution of 0.05°, the percentage of each PFT is defined with respect to the vegetated portion of the grid cell and the sum of the PFTs is 100%. The percent lake, glacier, and urban at their base resolution are specified with respect to the entire grid cell. The surface dataset creation routines re-adjust the PFT percentages to ensure that the sum of all land cover types in the grid cell sum to 100%. A minimum threshold of 0.1% of the grid cell by area is required for urban areas. - -The percentage glacier mask was derived from vector data of global glacier and ice sheet spatial coverage. Vector data for glaciers (ice caps, icefields and mountain glaciers) were taken from the first globally complete glacier inventory, the Randolph Glacier Inventory version 1.0 (RGIv1.0: :ref:`Arendt et al. 2012 `). Vector data for the Greenland Ice Sheet were provided by Frank Paul and Tobias Bolch (University of Zurich: :ref:`Rastner et al. 2012 `). Antarctic Ice Sheet data were provided by Andrew Bliss (University of Alaska) and were extracted from the Scientific Committee on Antarctic Research (SCAR) Antarctic Digital Database version 5.0. Floating ice is only provided for the Antarctic and does not include the small area of Arctic ice shelves. High spatial resolution vector data were then processed to determine the area of glacier, ice sheet and floating ice within 30-second grid cells globally. The 30-second glacier, ice sheet and Antarctic ice shelf masks were subsequently draped over equivalent-resolution GLOBE topography (Global Land One-km Base Elevation Project, Hastings et al. 1999) to extract approximate ice-covered elevations of ice-covered regions. Grid cells flagged as land-ice in the mask but ocean in GLOBE (typically, around ice sheets at high latitudes) were designated land-ice with an elevation of 0 meters. Finally, the high-resolution mask/topography datasets were aggregated and processed into three 3-minute datasets: 3-minute fractional areal land ice coverage (including both glaciers and ice sheets); 3-minute distributions of areal glacier fractional coverage by elevation and areal ice sheet fractional coverage by elevation. Ice fractions were binned at 100 meter intervals, with bin edges defined from 0 to 6000 meters (plus one top bin encompassing all remaining high-elevation ice, primarily in the Himalaya). These distributions by elevation are used to divide each glacier land unit into columns based on elevation class. - -When running with the CISM ice sheet model, CISM dictates glacier areas and elevations in its domain, overriding the values specified by CLM's datasets. In typical CLM5 configurations, this means that CISM dictates glacier areas and elevations over Greenland. - -Percent lake and lake depth are area-averaged from the 90-second resolution data of :ref:`Kourzeneva (2009, 2010) ` to the 0.05° resolution using the MODIS land-mask. Percent urban is derived from LandScan 2004, a population density dataset derived from census data, nighttime lights satellite observations, road proximity and slope (:ref:`Dobson et al. 2000 `) as described by :ref:`Jackson et al. (2010) ` at 1km resolution and aggregated to 0.05°. A number of urban radiative, thermal, and morphological fields are also required and are obtained from :ref:`Jackson et al. (2010) `. Their description can be found in Table 3 of the Community Land Model Urban (CLMU) technical note (:ref:`Oleson et al. 2010b `). - -Percent PFTs are derived from MODIS satellite data as described in :ref:`Lawrence and Chase (2007) ` (section 21.3.3). Prescribed PFT leaf area index is derived from the MODIS satellite data of :ref:`Myneni et al. (2002) ` using the de-aggregation methods described in :ref:`Lawrence and Chase (2007) ` (section 2.2.3). Prescribed PFT stem area index is derived from PFT leaf area index phenology combined with the methods of :ref:`Zeng et al. (2002) `. Prescribed canopy top and bottom heights are from :ref:`Bonan (1996) ` as described in :ref:`Bonan et al. (2002b) `. If the biogeochemistry model is active, it supplies the leaf and stem area index and canopy top and bottom heights dynamically, and the prescribed values are ignored. - -Soil color determines dry and saturated soil albedo (section :numref:`Ground Albedos`). Soil colors are from :ref:`Lawrence and Chase (2007) `. - -The soil texture and organic matter content determine soil thermal and hydrologic properties (sections 6.3 and 7.4.1). The International Geosphere-Biosphere Programme (IGBP) soil dataset (Global Soil Data Task 2000) of 4931 soil mapping units and their sand and clay content for each soil layer were used to create a mineral soil texture dataset :ref:`(Bonan et al. 2002b) `. Soil organic matter data is merged from two sources. The majority of the globe is from ISRIC-WISE (:ref:`Batjes, 2006 `). The high latitudes come from the 0.25° version of the Northern Circumpolar Soil Carbon Database (:ref:`Hugelius et al. 2012 `). Both datasets report carbon down to 1m depth. Carbon is partitioned across the top seven CLM4 layers (:math:`\sim`\ 1m depth) as in :ref:`Lawrence and Slater (2008) `. - -The maximum fractional saturated area (:math:`f_{\max }` ) is used in determining surface runoff and infiltration (section 7.3). Maximum fractional saturated area at 0.125° resolution is calculated from 1-km compound topographic indices (CTIs) based on the USGS HYDRO1K dataset (:ref:`Verdin and Greenlee 1996 `) following the algorithm in :ref:`Niu et al. (2005) `. :math:`f_{\max }` is the ratio between the number of 1-km pixels with CTIs equal to or larger than the mean CTI and the total number of pixels in a 0.125° grid cell. See section 7.3.1 and :ref:`Li et al. (2013b) ` for further details. Slope and elevation are also obtained from the USGS HYDRO1K 1-km dataset (:ref:`Verdin and Greenlee 1996 `). Slope is used in the surface water parameterization (section :numref:`Surface Water Storage`), and elevation is used to calculate the grid cell standard deviation of topography for the snow cover fraction parameterization (section :numref:`Snow Covered Area Fraction`). - -Biogenic Volatile Organic Compounds emissions factors are from the Model of Emissions of Gases and Aerosols from Nature version 2.1 (MEGAN2.1; :ref:`Guenther et al. 2012 `). - -The default list of PFTs includes an unmanaged crop treated as a second C3 grass (:numref:`Table Plant functional types`). The unmanaged crop has grid cell fractional cover assigned from MODIS satellite data (:ref:`Lawrence and Chase (2007) `). A managed crop option uses grid cell fractional cover from the present-day crop dataset of :ref:`Ramankutty and Foley (1998) ` (CLM4CNcrop). Managed crops are assigned in the proportions given by :ref:`Ramankutty and Foley (1998) ` without exceeding the area previously assigned to the unmanaged crop. The unmanaged crop continues to occupy any of its original area that remains and continues to be handled just by the CN part of CLM4CNcrop. The managed crop types (corn, soybean, and temperate cereals) were chosen based on the availability of corresponding algorithms in AgroIBIS (:ref:`Kucharik et al. 2000 `; :ref:`Kucharik and Brye 2003 `). Temperate cereals include wheat, barley, and rye here. All temperate cereals are treated as summer crops (like spring wheat, for example) at this time. Winter cereals (such as winter wheat) may be introduced in a future version of the model. - -To allow crops to coexist with natural vegetation in a grid cell and be treated by separate models (i.e., CLM4.5BGCcrop versus the Dynamic Vegetation version (CLM4.5BGCDV)), we separate the vegetated land unit into a naturally vegetated land unit and a human managed land unit. PFTs in the naturally vegetated land unit share one soil column and compete for water (default CLM setting). PFTs in the human managed land unit do not share soil columns and thus permit for differences in land management between crops. - -CLM includes the option to irrigate cropland areas that are equipped for irrigation. The application of irrigation responds dynamically to climate (see Chapter :numref:`rst_Crops and Irrigation`). In CLM, irrigation is implemented for the C3 generic crop only. When irrigation is enabled, the cropland area of each grid cell is divided into an irrigated and unirrigated fraction according to a dataset of areas equipped for irrigation (:ref:`Siebert et al. (2005) `). The area of irrigated cropland in each grid cell is given by the smaller of the grid cell's total cropland area, according to the default CLM4 dataset, and the grid cell's area equipped for irrigation. The remainder of the grid cell's cropland area (if any) is then assigned to unirrigated cropland. Irrigated and unirrigated crops are placed on separate soil columns, so that irrigation is only applied to the soil beneath irrigated crops. - -Several input datasets are required for the fire model (:ref:`Li et al. 2013a `) including population density, gross domestic production, peat area fraction, and peak month of agricultural waste burning. Population density at 0.5° resolution for 1850-2100 combines 5-min resolution decadal population density data for 1850–1980 from the Database of the Global Environment version 3.1 (HYDEv3.1) with 0.5° resolution population density data for 1990, 1995, 2000, and 2005 from the Gridded Population of the World version 3 dataset (GPWv3) (CIESIN, 2005). Gross Domestic Production (GDP) per capita in 2000 at 0.5° is from :ref:`Van Vuuren et al. (2006) `, which is the base-year GDP data for IPCC-SRES and derived from country-level World Bank's World Development Indicators (WDI) measured in constant 1995 US$ (:ref:`World Bank, 2004 `) and the UN Statistics Database (:ref:`UNSTAT, 2005 `). The peatland area fraction at 0.5° resolution is derived from three vector datasets: peatland data in Indonesia and Malaysian Borneo (:ref:`Olson et al. 2001 `); peatland data in Canada (:ref:`Tarnocai et al. 2011 `); and bog, fen and mire data in boreal regions (north of 45°N) outside Canada provided by the Global Lakes and Wetlands Database (GLWD) (:ref:`Lehner and Döll, 2004 `). The climatological peak month for agricultural waste burning is from :ref:`van der Werf et al. (2010) `. +At the base spatial resolution of 0.05\ :sup:`o`, the percentage of +each PFT is defined with respect to the vegetated portion of the grid +cell and the sum of the PFTs is 100%. The percent lake, +glacier, and urban at their base resolution are specified with respect +to the entire grid cell. The surface dataset creation routines re-adjust +the PFT percentages to ensure that the sum of all land cover types in +the grid cell sum to 100%. A minimum threshold of 0.1% of the grid cell +by area is required for urban areas. + +The percentage glacier mask was derived from vector data of global +glacier and ice sheet spatial coverage. Vector data for glaciers (ice +caps, icefields and mountain glaciers) were taken from the first +globally complete glacier inventory, the Randolph Glacier Inventory +version 1.0 (RGIv1.0: :ref:`Arendt et al. 2012 `). +Vector data for the Greenland Ice Sheet were provided by Frank Paul and +Tobias Bolch (University of Zurich: :ref:`Rastner et al. 2012 +`). Antarctic Ice Sheet data were provided by Andrew +Bliss (University of Alaska) and were extracted from the Scientific +Committee on Antarctic Research (SCAR) Antarctic Digital Database +version 5.0. Floating ice is only provided for the Antarctic and does +not include the small area of Arctic ice shelves. High spatial +resolution vector data were then processed to determine the area of +glacier, ice sheet and floating ice within 30-second grid cells +globally. The 30-second glacier, ice sheet and Antarctic ice shelf masks +were subsequently draped over equivalent-resolution GLOBE topography +(Global Land One-km Base Elevation Project, Hastings et al. 1999) to +extract approximate ice-covered elevations of ice-covered regions. Grid +cells flagged as land-ice in the mask but ocean in GLOBE (typically, +around ice sheets at high latitudes) were designated land-ice with an +elevation of 0 meters. Finally, the high-resolution mask/topography +datasets were aggregated and processed into three 3-minute datasets: +3-minute fractional areal land ice coverage (including both glaciers and +ice sheets); 3-minute distributions of areal glacier fractional coverage +by elevation and areal ice sheet fractional coverage by elevation. Ice +fractions were binned at 100 meter intervals, with bin edges defined +from 0 to 6000 meters (plus one top bin encompassing all remaining +high-elevation ice, primarily in the Himalaya). These distributions by +elevation are used to divide each glacier land unit into columns based +on elevation class. + +When running with the CISM ice sheet model, CISM dictates glacier areas +and elevations in its domain, overriding the values specified by CLM's +datasets. In typical CLM5 configurations, this means that CISM dictates +glacier areas and elevations over Greenland. + +Percent lake and lake depth are area-averaged from the 90-second +resolution data of :ref:`Kourzeneva (2009, 2010) ` to the 0.05\ :sup:`o` +resolution using the MODIS land-mask. Percent urban is derived from +LandScan 2004, a population density dataset derived from census data, +nighttime lights satellite observations, road proximity and slope +(:ref:`Dobson et al. 2000 `) as described by +:ref:`Jackson et al. (2010) ` at 1km +resolution and aggregated to 0.05\ :sup:`o`. A number of urban +radiative, thermal, and morphological fields are also required and are +obtained from :ref:`Jackson et al. (2010) `. Their description can be found in +Table 3 of the Community Land Model Urban (CLMU) technical note (:ref:`Oleson +et al. 2010b `). + +Percent PFTs are derived from MODIS satellite data as described in +:ref:`Lawrence and Chase (2007) ` (section 21.3.3). +Prescribed PFT leaf area index is derived from the MODIS satellite data of +:ref:`Myneni et al. (2002) ` using the de-aggregation methods +described in :ref:`Lawrence and Chase (2007) ` +(section 2.2.3). Prescribed PFT stem area index is derived from PFT leaf +area index phenology combined with the methods of :ref:`Zeng et al. (2002) `. +Prescribed canopy top and bottom heights are from :ref:`Bonan (1996) ` as +described in :ref:`Bonan et al. (2002b) `. If the biogeochemistry model is +active, it supplies the leaf and stem area index and canopy top and +bottom heights dynamically, and the prescribed values are ignored. + +Soil color determines dry and saturated soil albedo (section :numref:`Ground Albedos`). +Soil colors are from :ref:`Lawrence and Chase (2007) `. + +The soil texture and organic matter content determine soil thermal and +hydrologic properties (sections 6.3 and 7.4.1). The International +Geosphere-Biosphere Programme (IGBP) soil dataset (Global Soil Data Task +2000) of 4931 soil mapping units and their sand and clay content for +each soil layer were used to create a mineral soil texture dataset +:ref:`(Bonan et al. 2002b) `. Soil organic matter data is merged from two +sources. The majority of the globe is from ISRIC-WISE (:ref:`Batjes, 2006 `). +The high latitudes come from the 0.25\ :sup:`o` version of the +Northern Circumpolar Soil Carbon Database (:ref:`Hugelius et al. 2012 `). Both +datasets report carbon down to 1m depth. Carbon is partitioned across +the top seven CLM4 layers (:math:`\sim`\ 1m depth) as in +:ref:`Lawrence and Slater (2008) `. + +The maximum fractional saturated area (:math:`f_{\max }` ) is used in +determining surface runoff and infiltration (section 7.3). Maximum +fractional saturated area at 0.125\ :sup:`o` resolution is +calculated from 1-km compound topographic indices (CTIs) based on the +USGS HYDRO1K dataset (:ref:`Verdin and Greenlee 1996 `) +following the algorithm in :ref:`Niu et al. (2005) `. +:math:`f_{\max }` is the ratio between the number +of 1-km pixels with CTIs equal to or larger than the mean CTI and the +total number of pixels in a 0.125\ :sup:`o` grid cell. See +section 7.3.1 and :ref:`Li et al. (2013b) ` for further details. Slope and +elevation are also obtained from the USGS HYDRO1K 1-km dataset +(:ref:`Verdin and Greenlee 1996 `). Slope is used in the +surface water parameterization (section :numref:`Surface Water Storage`), and +elevation is used to calculate the grid cell standard deviation of +topography for the snow cover fraction parameterization (section :numref:`Snow Covered Area Fraction`). + +Biogenic Volatile Organic Compounds emissions factors are from the Model +of Emissions of Gases and Aerosols from Nature version 2.1 (MEGAN2.1; +:ref:`Guenther et al. 2012 `). + +The default list of PFTs includes an unmanaged crop treated as a second +C3 grass (:numref:`Table Plant functional types`). The unmanaged crop has grid cell fractional cover +assigned from MODIS satellite data (:ref:`Lawrence and Chase (2007) `). A managed +crop option uses grid cell fractional cover from the present-day crop +dataset of :ref:`Ramankutty and Foley (1998) ` +(CLM4CNcrop). Managed crops are assigned in the proportions given by +:ref:`Ramankutty and Foley (1998) ` without +exceeding the area previously assigned to the unmanaged crop. The +unmanaged crop continues to occupy any of its original area that remains +and continues to be handled just by the CN part of CLM4CNcrop. The +managed crop types (corn, soybean, and temperate cereals) were chosen +based on the availability of corresponding algorithms in AgroIBIS +(:ref:`Kucharik et al. 2000 `; +:ref:`Kucharik and Brye 2003 `). Temperate cereals +include wheat, barley, and rye here. All temperate cereals are treated +as summer crops (like spring wheat, for example) at this time. Winter +cereals (such as winter wheat) may be introduced in a future version of +the model. + +To allow crops to coexist with natural vegetation in a grid cell and be +treated by separate models (i.e., CLM4.5BGCcrop versus the Dynamic +Vegetation version (CLM4.5BGCDV)), we separate the vegetated land unit +into a naturally vegetated land unit and a human managed land unit. PFTs +in the naturally vegetated land unit share one soil column and compete +for water (default CLM setting). PFTs in the human managed land unit do +not share soil columns and thus permit for differences in land +management between crops. + +CLM includes the option to irrigate cropland areas that are equipped for +irrigation. The application of irrigation responds dynamically to climate +(see Chapter :numref:`rst_Crops and Irrigation`). In CLM, irrigation is +implemented for the C3 generic crop only. When irrigation is enabled, the +cropland area of each grid cell is divided into an irrigated and unirrigated +fraction according to a dataset of areas equipped for irrigation +(:ref:`Siebert et al. (2005) `). The area of irrigated +cropland in each grid cell is given by the +smaller of the grid cell’s total cropland area, according to the default +CLM4 dataset, and the grid cell’s area equipped for irrigation. The +remainder of the grid cell’s cropland area (if any) is then assigned to +unirrigated cropland. Irrigated and unirrigated crops are placed on +separate soil columns, so that irrigation is only applied to the soil +beneath irrigated crops. + +Several input datasets are required for the fire model (:ref:`Li et al. 2013a `) +including population density, gross domestic production, peat area +fraction, and peak month of agricultural waste burning. Population +density at 0.5\ :sup:`o` resolution for 1850-2100 combines 5-min +resolution decadal population density data for 1850–1980 from the +Database of the Global Environment version 3.1 (HYDEv3.1) with +0.5\ :sup:`o` resolution population density data for 1990, 1995, +2000, and 2005 from the Gridded Population of the World version 3 +dataset (GPWv3) (CIESIN, 2005). Gross Domestic Production (GDP) per +capita in 2000 at 0.5\ :sup:`o` is from :ref:`Van Vuuren et al. (2006) `, +which is the base-year GDP data for IPCC-SRES and derived from +country-level World Bank’s World Development Indicators (WDI) measured +in constant 1995 US$ (:ref:`World Bank, 2004 `) and the UN Statistics Database +(:ref:`UNSTAT, 2005 `). The peatland area fraction at 0.5\ :sup:`o` +resolution is derived from three vector datasets: peatland data in +Indonesia and Malaysian Borneo (:ref:`Olson et al. 2001 `); peatland data in +Canada (:ref:`Tarnocai et al. 2011 `); and bog, fen and mire data in boreal +regions (north of 45\ :sup:`o`\ N) outside Canada provided by the +Global Lakes and Wetlands Database (GLWD) (:ref:`Lehner and Döll, 2004 `). The +climatological peak month for agricultural waste burning is from :ref:`van der +Werf et al. (2010) `. .. _Adjustable Parameters and Physical Constants: Adjustable Parameters and Physical Constants ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Values of certain adjustable parameters inherent in the biogeophysical or biogeochemical parameterizations have either been obtained from the literature or calibrated based on comparisons with observations. These are described in the text. Physical constants, generally shared by all of the components in the coupled modeling system, are presented in :numref:`Table Physical constants`. +Values of certain adjustable parameters inherent in the biogeophysical +or biogeochemical parameterizations have either been obtained from the +literature or calibrated based on comparisons with observations. These +are described in the text. Physical constants, generally shared by all +of the components in the coupled modeling system, are presented in +:numref:`Table Physical constants`. + .. _Table Physical constants: @@ -456,16 +875,16 @@ Values of certain adjustable parameters inherent in the biogeophysical or biogeo :widths: 40, 20, 20, 20 "Pi", :math:`\pi`, 3.14159265358979323846, "\-" - "Acceleration of gravity", :math:`g`, 9.80616, m s\ :sup:`-2` + "Acceleration of gravity", :math:`g`, 9.80616, m s\ :sup:`-2` "Standard pressure", :math:`P_{std}`, 101325, "Pa" "Stefan-Boltzmann constant", :math:`\sigma`, 5.67 :math:`\times 10^{-8}`, W m :sup:`-2` K :math:`{}^{-4}` "Boltzmann constant", :math:`\kappa`, 1.38065 :math:`\times 10^{-23}`, J K :sup:`-1` molecule :sup:`-1` - "Avogadro's number", :math:`N_{A}`, 6.02214 :math:`\times 10^{26}`, molecule kmol\ :sup:`-1` + "Avogadro’s number", :math:`N_{A}`, 6.02214 :math:`\times 10^{26}`, molecule kmol\ :sup:`-1` "Universal gas constant", :math:`R_{gas}`, :math:`N_{A} \kappa`, J K :sup:`-1` kmol :sup:`-1` "Molecular weight of dry air", :math:`MW_{da}`, 28.966, kg kmol :sup:`-1` - "Dry air gas constant", :math:`R_{da}`, :math:`{R_{gas} \mathord{\left/ {\vphantom {R_{gas} MW_{da} }} \right.} MW_{da} }`, J K :sup:`-1` kg :sup:`-1` + "Dry air gas constant", :math:`R_{da}`, :math:`{R_{gas} \mathord{\left/ {\vphantom {R_{gas} MW_{da} }} \right. \kern-\nulldelimiterspace} MW_{da} }`, J K :sup:`-1` kg :sup:`-1` "Molecular weight of water vapor", :math:`MW_{wv}`, 18.016, kg kmol :sup:`-1` - "Water vapor gas constant", :math:`R_{wv}`, :math:`{R_{gas} \mathord{\left/ {\vphantom {R_{gas} MW_{wv} }} \right.} MW_{wv} }`, J K :sup:`-1` kg :sup:`-1` + "Water vapor gas constant", :math:`R_{wv}`, :math:`{R_{gas} \mathord{\left/ {\vphantom {R_{gas} MW_{wv} }} \right. \kern-\nulldelimiterspace} MW_{wv} }`, J K :sup:`-1` kg :sup:`-1` "Von Karman constant", :math:`k`, 0.4, "\-" "Freezing temperature of fresh water", :math:`T_{f}`, 273.15, K "Density of liquid water", :math:`\rho _{liq}`, 1000, kg m :sup:`-3` diff --git a/doc/source/tech_note/External_Nitrogen_Cycle/CLM50_Tech_Note_External_Nitrogen_Cycle.rst b/doc/source/tech_note/External_Nitrogen_Cycle/CLM50_Tech_Note_External_Nitrogen_Cycle.rst index f594778562..ca7a4a9d2c 100644 --- a/doc/source/tech_note/External_Nitrogen_Cycle/CLM50_Tech_Note_External_Nitrogen_Cycle.rst +++ b/doc/source/tech_note/External_Nitrogen_Cycle/CLM50_Tech_Note_External_Nitrogen_Cycle.rst @@ -21,120 +21,279 @@ CLM5.0 includes the following changes to terrestrial nitrogen inputs: Overview ----------------------------------------------------- -In addition to the relatively rapid cycling of nitrogen within the plant – litter – soil organic matter system, CLM also represents several processes which couple the internal nitrogen cycle to external sources and sinks. Inputs of new mineral nitrogen are from atmospheric deposition and biological nitrogen fixation. Losses of mineral nitrogen are due to nitrification, denitrification, leaching, and losses in fire. While the short-term dynamics of nitrogen limitation depend on the behavior of the internal nitrogen cycle, establishment of total ecosystem nitrogen stocks depends on the balance between sources and sinks in the external nitrogen cycle (:ref:`Thomas et al. 2015 `). - -As with CLM4.5, CLM5.0 represents inorganic N transformations based on the Century N-gas model; this includes separate NH\ :sub:`4`\ :sup:`+` and NO\ :sub:`3`\ :sup:`-` pools, as well as environmentally controlled nitrification and denitrification rates that is described below. +In addition to the relatively rapid cycling of nitrogen within the plant +– litter – soil organic matter system, CLM also represents several +processes which couple the internal nitrogen cycle to external sources +and sinks. Inputs of new mineral nitrogen are from atmospheric +deposition and biological nitrogen fixation. Losses of mineral nitrogen +are due to nitrification, denitrification, leaching, and losses in fire. +While the short-term dynamics of nitrogen limitation depend on the +behavior of the internal nitrogen cycle, establishment of total +ecosystem nitrogen stocks depends on the balance between sources and +sinks in the external nitrogen cycle (:ref:`Thomas et al. 2015 `). + +As with CLM4.5, CLM5.0 represents inorganic N transformations based on the Century N-gas model; this +includes separate NH\ :sub:`4`\ :sup:`+` and +NO\ :sub:`3`\ :sup:`-` pools, as well as +environmentally controlled nitrification and denitrification rates that is described below. Atmospheric Nitrogen Deposition ------------------------------------ -CLM uses a single variable to represent the total deposition of mineral nitrogen onto the land surface, combining wet and dry deposition of NO\ :sub:`y` and NH\ :sub:`x` as a single flux (:math:`{NF}_{ndep\_sminn}`, gN m\ :sup:`-2` s\ :sup:`-1`). This flux is intended to represent total reactive nitrogen deposited to the land surface which originates from the following natural and anthropogenic sources (Galloway et al. 2004): formation of NO\ :sub:`x` during lightning, NO\ :math:`{}_{x }`\ and NH\ :sub:`3` emission from wildfire, NO\ :sub:`x` emission from natural soils, NH\ :sub:`3` emission from natural soils, vegetation, and wild animals, NO\ :sub:`x` and NH\ :sub:`3` emission during fossil fuel combustion (both thermal and fuel NO\ :sub:`x` production), NO\ :sub:`x` and NH\ :sub:`3` emission from other industrial processes, NO\ :sub:`x` and NH\ :sub:`3` emission from fire associated with deforestation, NO\ :sub:`x` and NH\ :sub:`3` emission from agricultural burning, NO\ :sub:`x` emission from agricultural soils, NH\ :sub:`3` emission from agricultural crops, NH\ :sub:`3` emission from agricultural animal waste, and NH\ :sub:`3` emission from human waste and waste water. The deposition flux is provided as a spatially and (potentially) temporally varying dataset (see section :numref:`Atmospheric Coupling` for a description of the default input dataset). - -The nitrogen deposition flux is assumed to enter the NH\ :sub:`4`\ :sup:`+` pool, and is vertically distributed throughout the soil profile. Although N deposition inputs include both oxidized and reduced forms, CLM5 only reads in total N deposition. This approach is held over from CLM4.0, which only represented a single mineral nitrogen pool, however, real pathways for wet and dry nitrogen deposition can be more complex than currently represented in the CLM5.0, including release from melting snowpack and direct foliar uptake of deposited NO\ :sub:`y` (:ref:`Tye et al. 2005 `; :ref:`Vallano and Sparks, 2007 `). +CLM uses a single variable to represent the total deposition of mineral +nitrogen onto the land surface, combining wet and dry deposition of +NO\ :sub:`y` and NH\ :sub:`x` as a single flux +(:math:`{NF}_{ndep\_sminn}`, gN m\ :sup:`-2` s\ :sup:`-1`). This flux +is intended to represent total reactive +nitrogen deposited to the land surface which originates from the +following natural and anthropogenic sources (Galloway et al. 2004): +formation of NO\ :sub:`x` during lightning, +NO\ :math:`{}_{x }`\ and NH\ :sub:`3` emission from wildfire, +NO\ :sub:`x` emission from natural soils, NH\ :sub:`3` +emission from natural soils, vegetation, and wild animals, +NO\ :sub:`x` and NH\ :sub:`3` emission during fossil fuel +combustion (both thermal and fuel NO\ :sub:`x` production), +NO\ :sub:`x` and NH\ :sub:`3` emission from other industrial +processes, NO\ :sub:`x` and NH\ :sub:`3` emission from fire +associated with deforestation, NO\ :sub:`x` and NH\ :sub:`3` +emission from agricultural burning, NO\ :sub:`x` emission from +agricultural soils, NH\ :sub:`3` emission from agricultural crops, +NH\ :sub:`3` emission from agricultural animal waste, and +NH\ :sub:`3` emission from human waste and waste water. The +deposition flux is provided as a spatially and (potentially) temporally +varying dataset (see section :numref:`Atmospheric Coupling` for a description of the default +input dataset). + +The nitrogen deposition flux is assumed to enter the NH\ :sub:`4`\ :sup:`+` pool, +and is vertically distributed throughout the soil profile. Although N deposition +inputs include both oxidized and reduced forms, CLM5 only reads in total +N deposition. This approach is held over from CLM4.0, which only represented a +single mineral nitrogen pool, however, real pathways for wet and dry +nitrogen deposition can be more complex than currently represented in +the CLM5.0, including release from melting snowpack and direct foliar +uptake of deposited NO\ :sub:`y` (:ref:`Tye et al. 2005 `; +:ref:`Vallano and Sparks, 2007 `). + +In offline (uncoupled) CLM5.0 simulations monthly +estimates of N deposition are provided, as opposed to decadal files +supplied with previous versions of the model. In coupled simulations, +N depositions fluxes are passed to the land model at the frequency of +the time step (every half hour) through the coupler. -In offline (uncoupled) CLM5.0 simulations monthly estimates of N deposition are provided, as opposed to decadal files supplied with previous versions of the model. In coupled simulations, N depositions fluxes are passed to the land model at the frequency of the time step (every half hour) through the coupler. Biological Nitrogen Fixation --------------------------------- -The fixation of new reactive nitrogen from atmospheric N\ :sub:`2` by soil microorganisms is an important component of both preindustrial and modern-day nitrogen budgets, but a mechanistic understanding of global-scale controls on biological nitrogen fixation (BNF) is still only poorly developed (:ref:`Cleveland et al. 1999 `; :ref:`Galloway et al. 2004 `). CLM5.0 uses the FUN model (chapter :numref:`rst_FUN`) to calculate the carbon cost and nitrogen acquired through symbotic nitrogen fixation. This nitrogen is immediately available to plants. - -:ref:`Cleveland et al. (1999) ` suggested an empirical relationships that predicts BNF as a function of either evapotranspiration rate or net primary productivity for natural vegetation. CLM5.0 adopts the evapotranspiration approach to calculate asymbiotic, or free-living, N fixation. This function has been modified from the :ref:`Cleveland et al. (1999) ` estimates to provide lower estimate of free-living nitrogen fixation in CLM5.0 (:math:`{CF}_{ann\_ET}`, mm yr\ :sup:`-1`). This moves away from the NPP approach used in CLM4.0 and 4.5 and avoids unrealistically increasing freeliving rates of N fixation under global change scenarios (:ref:`Wieder et al. 2015 ` The expression used is: +The fixation of new reactive nitrogen from atmospheric N\ :sub:`2` +by soil microorganisms is an important component of both preindustrial +and modern-day nitrogen budgets, but a mechanistic understanding of +global-scale controls on biological nitrogen fixation (BNF) is still +only poorly developed (:ref:`Cleveland et al. 1999 `; +:ref:`Galloway et al. 2004 `). CLM5.0 uses the FUN +model (chapter :numref:`rst_FUN`) to +calculate the carbon cost and nitrogen acquired through symbotic +nitrogen fixation. This nitrogen is immediately available to plants. + +:ref:`Cleveland et al. (1999) ` suggested +an empirical relationships that predicts BNF as a function of +either evapotranspiration rate or net primary productivity for +natural vegetation. CLM5.0 adopts the evapotranspiration approach +to calculate asymbiotic, or free-living, N fixation. This function +has been modified from the :ref:`Cleveland et al. (1999) +` estimates to provide lower estimate of +free-living nitrogen fixation in CLM5.0 +(:math:`{CF}_{ann\_ET}`, mm yr\ :sup:`-1`). +This moves away from the NPP approach used in CLM4.0 and 4.5 and +avoids unrealistically increasing freeliving rates of N fixation +under global change scenarios (:ref:`Wieder et al. 2015 +` The expression used is: .. math:: - :label: 22.1) + :label: 22.1) - NF_{nfix,sminn} ={0.0006\left(0.0117+CF_{ann\_ ET}\right)\mathord{\left/ {\vphantom {0.0006\left(0.0117+ CF_{ann\_ ET}\right) \left(86400\cdot 365\right)}} \right.} \left(86400\cdot 365\right)} + NF_{nfix,sminn} ={0.0006\left(0.0117+CF_{ann\_ ET}\right)\mathord{\left/ {\vphantom {0.0006\left(0.0117+ CF_{ann\_ ET}\right) \left(86400\cdot 365\right)}} \right. \kern-\nulldelimiterspace} \left(86400\cdot 365\right)} Where :math:`{NF}_{nfix,sminn}` (gN m\ :sup:`-2` s\ :sup:`-1`) is the rate of free-living nitrogen fixation in :numref:`Figure Biological nitrogen fixation`. + .. _Figure Biological nitrogen fixation: .. figure:: image1.png Free-living nitrogen fixation as a function of annual evapotranspiration. Results here show annual N inputs from free-living N fixations, but the model actually calculates inputs on a per second basis. -As with Atmospheric N deposition, free-living N inputs are added directly to the NH\ :sub:`4`\ :sup:`+` pool. +As with Atmospheric N deposition, free-living N inputs are added directly to the +NH\ :sub:`4`\ :sup:`+` pool. Nitrification and Denitrification Losses of Nitrogen --------------------------------------------------------- -Nitrification is an autotrophic process that converts less mobile ammonium ions into nitrate, that can more easily be lost from soil systems by leaching or denitrification. The process catalyzed by ammonia oxidizing archaea and bacteria that convert ammonium (NH\ :sub:`4`\ :sup:`+`) into nitrite, which is subsequently oxidized into nitrate (NO\ :sub:`3`\ :sup:`-`). Conditions favoring nitrification include high NH\ :sub:`4`\ :sup:`+` concentrations, well aerated soils, a neutral pH and warmer temperatures. - -Under aerobic conditions in the soil oxygen is the preferred electron acceptor supporting the metabolism of heterotrophs, but anaerobic conditions favor the activity of soil heterotrophs which use nitrate as an electron acceptor (e.g. *Pseudomonas* and *Clostridium*) supporting respiration. This process, known as denitrification, results in the transformation of nitrate to gaseous N\ :sub:`2`, with smaller associated production of NO\ :sub:`x` and N\ :sub:`2`\ O. It is typically assumed that nitrogen fixation and denitrification were approximately balanced in the preindustrial biosphere ( :ref:`Galloway et al. 2004 `). It is likely that denitrification can occur within anaerobic microsites within an otherwise aerobic soil environment, leading to large global denitrification fluxes even when fluxes per unit area are rather low (:ref:`Galloway et al. 2004 `). - -CLM includes a detailed representation of nitrification and denitrification based on the Century N model (:ref:`Parton et al. 1996 `, :ref:`2001 `; :ref:`del Grosso et al. 2000 `). In this approach, nitrification of NH\ :sub:`4`\ :sup:`+` to NO\ :sub:`3`\ :sup:`-` is a function of temperature, moisture, and pH: +Nitrification is an autotrophic process that converts less mobile ammonium +ions into nitrate, that can more easily be lost from soil systems by leaching +or denitrification. The process catalyzed by ammonia oxidizing archaea and +bacteria that convert ammonium (NH\ :sub:`4`\ :sup:`+`) into nitrite, which +is subsequently oxidized into nitrate (NO\ :sub:`3`\ :sup:`-`). Conditions +favoring nitrification include high NH\ :sub:`4`\ :sup:`+` concentrations, +well aerated soils, a neutral pH and warmer temperatures. + +Under aerobic conditions in the soil oxygen is the preferred electron +acceptor supporting the metabolism of heterotrophs, but anaerobic +conditions favor the activity of soil heterotrophs which use nitrate as +an electron acceptor (e.g. *Pseudomonas* and *Clostridium*) supporting +respiration. This process, known as denitrification, results in the +transformation of nitrate to gaseous N\ :sub:`2`, with smaller +associated production of NO\ :sub:`x` and N\ :sub:`2`\ O. It +is typically assumed that nitrogen fixation and denitrification +were approximately balanced in the preindustrial biosphere ( +:ref:`Galloway et al. 2004 `). It is likely +that denitrification can occur within anaerobic +microsites within an otherwise aerobic soil environment, leading to +large global denitrification fluxes even when fluxes per unit area are +rather low (:ref:`Galloway et al. 2004 `). + +CLM includes a detailed representation of nitrification and +denitrification based on the Century N model (:ref:`Parton +et al. 1996 `, :ref:`2001 `; +:ref:`del Grosso et al. 2000 `). In this +approach, nitrification of NH\ :sub:`4`\ :sup:`+` to NO\ :sub:`3`\ :sup:`-` +is a function of temperature, moisture, and pH: .. math:: - :label: 22.2) + :label: 22.2) f_{nitr,p} =\left[NH_{4} \right]k_{nitr} f\left(T\right)f\left(H_{2} O\right)f\left(pH\right) -where :math:`{f}_{nitr,p}` is the potential nitrification rate (prior to competition for NH\ :sub:`4`\ :sup:`+` by plant uptake and N immobilization), :math:`{k}_{nitr}` is the maximum nitrification rate (10 % day\ :math:`\mathrm{-}`\ 1, (:ref:`Parton et al. 2001 `), and *f(T)* and *f(H\)*\ :sub:`2`\ O) are rate modifiers for temperature and moisture content. CLM uses the same rate modifiers as are used in the decomposition routine. *f(pH)* is a rate modifier for pH; however, because CLM does not calculate pH, instead a fixed pH value of 6.5 is used in the pH function of :ref:`Parton et al. (1996) `. - -The potential denitrification rate is co-limited by NO\ :sup:`-3` concentration and C consumption rates, and occurs only in the anoxic fraction of soils: +where :math:`{f}_{nitr,p}` is the potential nitrification rate +(prior to competition for NH\ :sub:`4`\ :sup:`+` by plant +uptake and N immobilization), :math:`{k}_{nitr}` is the maximum +nitrification rate (10 % day\ :math:`\mathrm{-}`\ 1, +(:ref:`Parton et al. 2001 `), and *f(T)* and +*f(H\)*\ :sub:`2`\ O) are rate modifiers for temperature and +moisture content. CLM uses the same rate modifiers as +are used in the decomposition routine. *f(pH)* is a rate +modifier for pH; however, because CLM does not calculate pH, +instead a fixed pH value of 6.5 is used in the pH function of +:ref:`Parton et al. (1996) `. + +The potential denitrification rate is co-limited by +NO\ :sup:`-3` concentration and C consumption rates, and occurs only in the anoxic fraction of soils: .. math:: - :label: 22.3) + :label: 22.3) f_{denitr,p} =\min \left(f(decomp),f\left(\left[NO_{3} ^{-} \right]\right)\right)frac_{anox} -where :math:`{f}_{denitr,p}` is the potential denitrification rate and *f(decomp)* and *f([NO*\ :sub:`3`\ :sup:`-` *])* are the carbon- and nitrate- limited denitrification rate functions, respectively, (:ref:`del Grosso et al. 2000 `). Because the modified CLM includes explicit treatment of soil biogeochemical vertical profiles, including diffusion of the trace gases O\ :sub:`2` and CH\ :sub:`4` (:ref:`Riley et al. 2011a `), the calculation of anoxic fraction :math:`{frac}_{anox}` uses this information following the anoxic microsite formulation of :ref:`Arah and Vinten (1995) `. +where :math:`{f}_{denitr,p}` is the potential denitrification rate +and *f(decomp)* and *f([NO*\ :sub:`3`\ :sup:`-` *])* +are the carbon- and nitrate- limited denitrification rate functions, +respectively, (:ref:`del Grosso et al. 2000 `). +Because the modified CLM includes explicit treatment of soil +biogeochemical vertical profiles, including diffusion of the trace +gases O\ :sub:`2` and CH\ :sub:`4` (:ref:`Riley et al. 2011a +`), the calculation of anoxic fraction :math:`{frac}_{anox}` +uses this information following the anoxic microsite formulation +of :ref:`Arah and Vinten (1995) `. .. math:: - :label: 22.4) + :label: 22.4) frac_{anox} =\exp \left(-aR_{\psi }^{-\alpha } V^{-\beta } C^{\gamma } \left[\theta +\chi \varepsilon \right]^{\delta } \right) -where *a*, :math:`\alpha`, :math:`\beta`, :math:`\gamma`, and :math:`\delta` are constants (equal to 1.5x10\ :sup:`-10`, 1.26, 0.6, 0.6, and 0.85, respectively), :math:`{R}_{\psi}` is the radius of a typical pore space at moisture content :math:`\psi`, *V* is the O\ :sub:`2` consumption rate, *C* is the O\ :sub:`2` concentration, :math:`\theta` is the water-filled pore space, :math:`\chi` is the ratio of diffusivity of oxygen in water to that in air, and :math:`\epsilon` is the air-filled pore space (:ref:`Arah and Vinten (1995) `). These parameters are all calculated separately at each layer to define a profile of anoxic porespace fraction in the soil. - -The nitrification/denitrification models used here also predict fluxes of N\ :sub:`2`\ O via a "hole-in-the-pipe" approach (:ref:`Firestone and Davidson, 1989 `). A constant fraction (6 * 10\ :math:`{}^{-4}`, :ref:`Li et al. 2000 `) of the nitrification flux is assumed to be N\ :sub:`2`\ O, while the fraction of denitrification going to N\ :sub:`2`\ O, \ :math:`{P}_{N2:N2O}`, is variable, following the Century (:ref:`del Grosso et al. 2000 `) approach: +where *a*, :math:`\alpha`, :math:`\beta`, :math:`\gamma`, and :math:`\delta` are constants (equal to +1.5x10\ :sup:`-10`, 1.26, 0.6, 0.6, and 0.85, respectively), :math:`{R}_{\psi}` is the +radius of a typical pore space at moisture content :math:`\psi`, *V* +is the O\ :sub:`2` consumption rate, *C* is the O\ :sub:`2` +concentration, :math:`\theta` is the water-filled pore space, +:math:`\chi` is the ratio of diffusivity of oxygen in water to that in +air, and :math:`\epsilon` is the air-filled pore space (:ref:`Arah and +Vinten (1995) `). These parameters are all calculated +separately at each +layer to define a profile of anoxic porespace fraction in the soil. + +The nitrification/denitrification models used here also predict fluxes +of N\ :sub:`2`\ O via a “hole-in-the-pipe” approach (:ref:`Firestone and +Davidson, 1989 `). A constant fraction +(6 \* 10\ :math:`{}^{-4}`, :ref:`Li et al. 2000 `) of the +nitrification flux is assumed to be N\ :sub:`2`\ O, while the fraction +of denitrification going to N\ :sub:`2`\ O, \ :math:`{P}_{N2:N2O}`, is variable, following +the Century (:ref:`del Grosso et al. 2000 `) approach: .. math:: - :label: 22.5) + :label: 22.5) P_{N_{2} :N_{2} O} =\max \left(0.16k_{1} ,k_{1} \exp \left(-0.8P_{NO_{3} :CO_{2} } \right)\right)f_{WFPS} -where :math:`{P}_{NO3:CO2}` is the ratio of CO\ :sub:`2` production in a given soil layer to the NO\ :sub:`3`\ :sup:`-` concentration, :math:`{k}_{1}` is a function of :math:`{d}_{g}`, the gas diffusivity through the soil matrix: +where :math:`{P}_{NO3:CO2}` is the ratio of CO\ :sub:`2` +production in a given soil layer to the +NO\ :sub:`3`\ :sup:`-`` concentration, :math:`{k}_{1}` is +a function of :math:`{d}_{g}`, the gas diffusivity through the soil +matrix: .. math:: - :label: 22.6) + :label: 22.6) k_{1} =\max \left(1.7,38.4-350*d_{g} \right) and :math:`{f}_{WFPS}` is a function of the water filled pore space *WFPS:* .. math:: - :label: 22.16) + :label: 22.16) f_{WFPS} =\max \left(0.1,0.015\times WFPS-0.32\right) Leaching Losses of Nitrogen -------------------------------- -Soil mineral nitrogen remaining after plant uptake, immobilization, and denitrification is subject to loss as a dissolved component of hydrologic outflow from the soil column (leaching). This leaching loss (:math:`{NF}_{leached}`, gN m\ :sup:`-2` s\ :sup:`-1`) depends on the concentration of dissolved mineral (inorganic) nitrogen in soil water solution (*DIN*, gN kgH\ :sub:`2`\ O), and the rate of hydrologic discharge from the soil column to streamflow (:math:`{Q}_{dis}`, kgH\ :sub:`2`\ O m\ :sup:`-2` s\ :sup:`-1`, section :numref:`Lateral Sub-surface Runoff`), as +Soil mineral nitrogen remaining after plant uptake, immobilization, and +denitrification is subject to loss as a dissolved component of +hydrologic outflow from the soil column (leaching). This leaching loss +(:math:`{NF}_{leached}`, gN m\ :sup:`-2` s\ :sup:`-1`) +depends on the concentration of dissolved mineral (inorganic) nitrogen +in soil water solution (*DIN*, gN kgH\ :sub:`2`\ O), and the rate +of hydrologic discharge from the soil column to streamflow +(:math:`{Q}_{dis}`, kgH\ :sub:`2`\ O m\ :sup:`-2` +s\ :sup:`-1`, section :numref:`Lateral Sub-surface Runoff`), as .. math:: - :label: 22.17) + :label: 22.17) NF_{leached} =DIN\cdot Q_{dis} . -*DIN* is calculated assuming that a constant fraction (*sf*, proportion) of the remaining soil mineral N pool is in soluble form, and that this entire fraction is dissolved in the total soil water. For the Century- based formulation in CLM5.0, the leaching acts only on the NO\ :sub:`3`\ :sup:`-` pool (which is assumed to be 100% soluble), while the NH\ :sub:`4`\ :sup:`+` pool is assumed to be 100% adsorbed onto mineral surfaces and unaffected by leaching. *DIN* is then given as +*DIN* is calculated assuming that a constant fraction (*sf*, proportion) +of the remaining soil mineral N pool is in soluble form, and that this +entire fraction is dissolved in the total soil water. For the Century- +based formulation in CLM5.0, the leaching acts only on the +NO\ :sub:`3`\ :sup:`-`` pool (which is assumed to be 100% +soluble), while the NH\ :sub:`4`\ :sup:`+` pool is assumed +to be 100% adsorbed onto mineral surfaces and unaffected by leaching. +*DIN* is then given as .. math:: - :label: 22.18) + :label: 22.18) DIN=\frac{NS_{sminn} sf}{WS_{tot\_ soil} } -where :math:`{WS}_{tot\_soil}` (kgH\ :sub:`2`\ O m\ :sup:`-2`) is the total mass of soil water content integrated over the column. The total mineral nitrogen leaching flux is limited on each time step to not exceed the soluble fraction of :math:`{NS}_{sminn}` +where :math:`{WS}_{tot\_soil}` (kgH:sub:`2`\ O m\ :sup:`-2`) is the total mass of soil water content integrated +over the column. The total mineral nitrogen leaching flux is limited on +each time step to not exceed the soluble fraction of :math:`{NS}_{sminn}` .. math:: - :label: 22.19) + :label: 22.19) NF_{leached} =\min \left(NF_{leached} ,\frac{NS_{sminn} sf}{\Delta t} \right). Losses of Nitrogen Due to Fire ----------------------------------- -The final pathway for nitrogen loss is through combustion, also known as pyrodenitrification. Detailed equations are provided, together with the effects of fire on the carbon budget, in Chapter :numref:`rst_Fire`. It is assumed in CLM-CN that losses of N due to fire are restricted to vegetation and litter pools (including coarse woody debris). Loss rates of N are determined by the fraction of biomass lost to combustion, assuming that most of the nitrogen in the burned biomass is lost to the atmosphere (:ref:`Schlesinger, 1997 `; :ref:`Smith et al. 2005 `). It is assumed that soil organic matter pools of carbon and nitrogen are not directly affected by fire (:ref:`Neff et al. 2005 `). +The final pathway for nitrogen loss is through combustion, also known as +pyrodenitrification. Detailed equations are provided, together with the +effects of fire on the carbon budget, in Chapter :numref:`rst_Fire`). It is assumed in +CLM-CN that losses of N due to fire are restricted to vegetation and +litter pools (including coarse woody debris). Loss rates of N are +determined by the fraction of biomass lost to combustion, assuming that +most of the nitrogen in the burned biomass is lost to the atmosphere +(:ref:`Schlesinger, 1997 `; :ref:`Smith et al. 2005 +`). It is assumed that soil organic +matter pools of carbon and nitrogen are not directly affected by fire +(:ref:`Neff et al. 2005 `). diff --git a/doc/source/tech_note/FUN/CLM50_Tech_Note_FUN.rst b/doc/source/tech_note/FUN/CLM50_Tech_Note_FUN.rst index 428f114a5d..658653da48 100644 --- a/doc/source/tech_note/FUN/CLM50_Tech_Note_FUN.rst +++ b/doc/source/tech_note/FUN/CLM50_Tech_Note_FUN.rst @@ -6,6 +6,7 @@ Fixation and Uptake of Nitrogen (FUN) Introduction ----------------- + The Fixation and Uptake of Nitrogen model is based on work by :ref:`Fisher et al. (2010)`, :ref:`Brzostek et al. (2014)`, and :ref:`Shi et al. (2016)`. The concept of FUN is that in most cases, Nitrogen uptake requires the expenditure of energy in the form of carbon, and further, that there are numerous potential sources of Nitrogen in the environment which a plant may exchange for carbon. The ratio of carbon expended to Nitrogen acquired is referred to here as the cost, or exchange rate, of N acquisition (:math:`E_{nacq}`, gC/gN)). There are eight pathways for N uptake: 1. Fixation by symbiotic bacteria in root nodules (for N fixing plants) (:math:`_{fix}`) @@ -17,41 +18,48 @@ The Fixation and Uptake of Nitrogen model is based on work by :ref:`Fisher et al 7. Nonmycorrhizal uptake of NH4 (:math:`_{nonmyc,no3}`) 8. Nonmycorrhizal uptake of NO3 (:math:`_{nonmyc,nh4}`) -The notation suffix for each pathway is given in parentheses here. At each timestep, each of these pathways is associated with a cost term (:math:`N_{cost,x}`), a payment in carbon (:math:`C_{nuptake,x}`), and an influx of Nitrogen (:math:`N_{uptake,x}`) where :math:`x` is one of the eight uptake streams listed above. + +The notation suffix for each pathway is given in parentheses here. At each timestep, each of these pathways is associated with a cost term (:math:`N_{cost,x}`), a payment in carbon (:math:`C_{nuptake,x}`), and an influx of Nitrogen (:math:`N_{uptake,x}`) where :math:`x` is one of the eight uptake streams listed above. + For each PFT, we define a fraction of the total C acquisition that can be used for N fixation (:math:`f_{fixers}`), which is broadly equivalent to the fraction of a given PFT that is capable of fixing Nitrogen, and thus represents an upper limit on the amount to which fixation can be increased in low n conditions. For each PFT, the cost calculation is conducted twice. Once where fixation is possible and once where it is not. (:math:`f_{fixers}`) -For all of the active uptake pathways, whose cost depends on varying concentrations of N through the soil profile, the costs and fluxes are also determined by soil layer :math:`j`. -Boundary conditions of FUN +For all of the active uptake pathways, whose cost depends on varying concentrations of N through the soil profile, the costs and fluxes are also determined by soil layer :math:`j`. + + + +Boundary conditions of FUN -------------------------------------------------------- Available Carbon ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The carbon available for FUN, :math:`C_{avail}` (gC m\ :sup:`-2`) is the total canopy photosynthetic uptake (GPP), minus the maintenance respiration fluxes (:math:`m_r`) and multiplied by the time step in seconds (:math:`\delta t`). Thus, the remainder of this chapter considers fluxes per timestep, and integrates these fluxes as they are calculated. +The carbon available for FUN, :math:`C_{avail}` (gC m\ :sup:`-2`) is the total canopy photosynthetic uptake (GPP), minus the maintenance respiration fluxes (:math:`m_r`) and multiplied by the time step in seconds (:math:`\delta t`). Thus, the remainder of this chapter considers fluxes per timestep, and integrates these fluxes as they are calculated. .. math:: C_{avail} = (GPP - m_r) \delta t -Growth respiration is thus only calculated on the part of the carbon uptake that remains after expenditure of C by the FUN module. +Growth respiration is thus only calculated on the part of the carbon uptake that remains after expenditure of C by the FUN module. Available Soil Nitrogen ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Cost of Nitrogen Fixation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The cost of fixation is derived from :ref:`Houlton et al. (2008)`. +The cost of fixation is derived from :ref:`Houlton et al. (2008)`. .. math:: N_{cost,fix} = -s_{fix}/(1.25 e^{a_{fix} + b_{fix} . t_{soil} (1 - 0.5 t_{soil}/ c_{fix}) }) + +Herein, :math:`a_{fix}`, :math:`b_{fix}` and :math:`c_{fix}` are all parameters of the temperature response function of fixation reported by Houlton et al. (2008) (:math:`exp[a+bT_s(1-0.5T_s/c)`). t_{soil} is the soil temperature in C. The values of these parameters are fitted to empirical data as a=-3.62 :math:`\pm` 0.52, b=0.27:math:`\pm` 0.04 and c=25.15 :math:`\pm` 0.66. 1.25 converts from the temperature response function to a 0-1 limitation factor (as specifically employed by Houlton et al.). This function is a 'rate' of uptake for a given temperature. Here we assimilated the rate of fixation into the cost term by assuming that the rate is analagous to a conductance for N, and inverting the term to produce a cost/resistance analagoue. We then multiply this temperature term by the minimum cost at optimal temperature (:math:`s_{fix}`) to give a temperature limited cost in terms of C to N ratios. + -Herein, :math:`a_{fix}`, :math:`b_{fix}` and :math:`c_{fix}` are all parameters of the temperature response function of fixation reported by Houlton et al. (2008) (:math:`exp[a+bT_s(1-0.5T_s/c)`). t_{soil} is the soil temperature in C. The values of these parameters are fitted to empirical data as a=-3.62 :math:`\pm` 0.52, b=0.27:math:`\pm` 0.04 and c=25.15 :math:`\pm` 0.66. 1.25 converts from the temperature response function to a 0-1 limitation factor (as specifically employed by Houlton et al.). This function is a 'rate' of uptake for a given temperature. Here we assimilated the rate of fixation into the cost term by assuming that the rate is analagous to a conductance for N, and inverting the term to produce a cost/resistance analagoue. We then multiply this temperature term by the minimum cost at optimal temperature (:math:`s_{fix}`) to give a temperature limited cost in terms of C to N ratios. Cost of Active Uptake ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The cost of N uptake from soil, for each layer :math:`j`, is controlled by two uptake parameters that pertain respectively to the relationship between soil N content and N uptake, and root C density and N uptake. +The cost of N uptake from soil, for each layer :math:`j`, is controlled by two uptake parameters that pertain respectively to the relationship between soil N content and N uptake, and root C density and N uptake. For non-mycorrhizal uptake: @@ -67,11 +75,12 @@ and for active uptake: where :math:`k_{n,active}` varies according to whether we are considering ecto or arbuscular mycorrhizal uptake. + .. math:: :label: 18.2 - k_{n,active} = - \left\{\begin{array}{lr} + k_{n,active} = + \left\{\begin{array}{lr} k_{n,Eactive}& e = 1\\ k_{n,Aactive}& e = 0 \end{array}\right\} @@ -84,79 +93,83 @@ The total cost of N uptake is calculated based on the assumption that carbon is .. math:: - N_{conductance,f}= \sum{(1/N_{cost,x})} + N_{conductance,f}= \sum{(1/N_{cost,x})} + -From this, we then calculate the fraction of the carbon allocated to each pathway as +From this, we then calculate the fraction of the carbon allocated to each pathway as .. math:: C_{frac,x} = \frac{1/N_{cost,x}}{N_{conductance}} -These fractions are used later, to calculate the carbon expended on different uptake pathways. Next, the N acquired from each uptake stream per unit C spent (:math:`N_{exch,x}`, gN/gC) is determined as + +These fractions are used later, to calculate the carbon expended on different uptake pathways. Next, the N acquired from each uptake stream per unit C spent (:math:`N_{exch,x}`, gN/gC) is determined as .. math:: N_{exch,x} = \frac{C_{frac,x}}{N_{cost,x}} -We then determine the total amount of N uptake per unit C spent (:math:`N_{exch,tot}`, gN/gC) as the sum of all the uptake streams. +We then determine the total amount of N uptake per unit C spent (:math:`N_{exch,tot}`, gN/gC) as the sum of all the uptake streams. .. math:: N_{exch,tot} = \sum{N_{exch,x}} -and thus the subsequent overall N cost is +and thus the subsequent overall N cost is .. math:: N_{cost,tot} = 1/{N_{exch,tot}} - Retranslocation is determined via a different set of mechanisms, once the :math:`N_{cost,tot}` is known. + Retranslocation is determined via a different set of mechanisms, once the :math:`N_{cost,tot}` is known. Nitrogen Retranslocation -------------------------------------------------------- -The retranslocation uses an iterative algorithm to remove Nitrogen from each piece of falling litter. There are two pathways for this, 'free' uptake which removes the labile N pool, and 'paid-for' uptake which uses C to extract N from increasingly more recalcitrant pools. +The retranslocation uses an iterative algorithm to remove Nitrogen from each piece of falling litter. There are two pathways for this, 'free' uptake which removes the labile N pool, and 'paid-for' uptake which uses C to extract N from increasingly more recalcitrant pools. -At each timestep, the pool of carbon in falling leaves (:math:`C_{fallingleaf}`, g m\ :sup:`-2`) is generated from the quantity of litterfall on that day (see Phenology chapter for details). The amount of N in the litter pool (:math:`N_{fallingleaf}`, g m\ :sup:`-2`) is calculated as the total leaf N multiplied by the fraction of the leaf pool passed to litter that timestep. +At each timestep, the pool of carbon in falling leaves (:math:`C_{fallingleaf}`, g m\ :sup:`-2`) is generated from the quantity of litterfall on that day (see Phenology chapter for details). The amount of N in the litter pool (:math:`N_{fallingleaf}`, g m\ :sup:`-2`) is calculated as the total leaf N multiplied by the fraction of the leaf pool passed to litter that timestep. .. math:: N_{fallingleaf} = N_{leaf}.C_{fallingleaf}/C_{leaf} -The carbon available at the beginning of the iterative retranslocation calculation is equal to the :math:`C_{avail}` input into FUN. +The carbon available at the beginning of the iterative retranslocation calculation is equal to the :math:`C_{avail}` input into FUN. .. math:: C_{avail,retrans,0} = C_{avail} + Free Retranslocation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Some part of the leaf Nitrogen pool is removed without the need for an C expenditure. This 'free' N uptake amount, (:math:`N_{retrans,free}`, gN m\ :sup:`-2`) is calculated as +Some part of the leaf Nitrogen pool is removed without the need for an C expenditure. This 'free' N uptake amount, (:math:`N_{retrans,free}`, gN m\ :sup:`-2`) is calculated as .. math:: N_{retrans,free} = max(N_{fallingleaf} - (C_{fallingleaf}/CN_{litter,min} ),0.0) -where :math:`CN_{litter,min}` is the minimum C:N ratio of the falling litter (currently set to 1.5 x the target C:N ratio). +where :math:`CN_{litter,min}` is the minimum C:N ratio of the falling litter (currently set to 1.5 x the target C:N ratio). -The new :math:`N_{fallingleaf}` (gN m\ :sup:`-2`) is then determined as +The new :math:`N_{fallingleaf}` (gN m\ :sup:`-2`) is then determined as .. math:: N_{fallingleaf} = N_{fallingleaf} - N_{retrans,free} -and the new litter C:N ratio as +and the new litter C:N ratio as .. math:: CN_{fallingleaf}=C_{fallingleaf}/N_{fallingleaf} + Paid-for Retranslocation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The remaining calculations conduct an iterative calculation to determine the degree to which N retranslocation from leaves is paid for as C:N ratios and thus cost increase as N is extracted. The iteration continues until either +The remaining calculations conduct an iterative calculation to determine the degree to which N retranslocation from leaves is paid for as C:N ratios and thus cost increase as N is extracted. The iteration continues until either -1. The cost of retranslocation (:math:`cost_{retrans}` increases beyond the cost of acquiring N from alternative pathways (:math:`N_{cost,tot}`). -2. :math:`CN_{fallingleaf}` rises to a maximum level, after which no more extraction is possible (representing unavoidable N loss) or +1. The cost of retranslocation (:math:`cost_{retrans}` increases beyond the cost of acquiring N from alternative pathways (:math:`N_{cost,tot}`). +2. :math:`CN_{fallingleaf}` rises to a maximum level, after which no more extraction is possible (representing unavoidable N loss) or 3. There is no more carbon left to pay for extraction. -First we calculate the cost of extraction (:math:`cost_{retrans}`, gC/gN) for the current leaf C:N ratio as +First we calculate the cost of extraction (:math:`cost_{retrans}`, gC/gN) for the current leaf C:N ratio as .. math:: @@ -167,10 +180,10 @@ where :math:`k_{retrans}` is a parameter controlling the overall cost of resorp Next, we calculate the amount of C needed to be spent to increase the falling leaf C:N ratio by 1.0 in this iteration :math:`i` (:math:`C_{retrans_spent,i}`, gC m\ :sup:`-2`) as: .. math:: - C_{retrans,spent,i} = cost_{retrans}.(N_{fallingleaf} - C_{fallingleaf}/ + C_{retrans,spent,i} = cost_{retrans}.(N_{fallingleaf} - C_{fallingleaf}/ (CN_{fallingleaf} + 1.0)) -(wherein the retranslocation cost is assumed to not change over the increment of 1.0 in C:N ratio). Next, we calculate whether this is larger than the remaining C available to spend. +(wherein the retranslocation cost is assumed to not change over the increment of 1.0 in C:N ratio). Next, we calculate whether this is larger than the remaining C available to spend. .. math:: @@ -182,11 +195,11 @@ The amount of N retranslocated from the leaf in this iteration (:math:`N_{retran N_{retrans,paid,i} = min(N_{fallingleaf},C_{retrans,spent,i} / cost_{retrans}) -The next step calculates the growth C which is accounted for by this amount of N extraction in this iteration (:math:`C_{retrans,accounted,i}`). This is calculated using the current plant C:N ratio, and also for the additional C which will need to be spent on growth respiration to build this amount of new tissue. +The next step calculates the growth C which is accounted for by this amount of N extraction in this iteration (:math:`C_{retrans,accounted,i}`). This is calculated using the current plant C:N ratio, and also for the additional C which will need to be spent on growth respiration to build this amount of new tissue. .. math:: - C_{retrans,accounted,i} = N_{retrans,paid,i} . CN_{plant} . (1.0 + gr_{frac}) + C_{retrans,accounted,i} = N_{retrans,paid,i} . CN_{plant} . (1.0 + gr_{frac}) Then the falling leaf N is updated: @@ -200,9 +213,10 @@ and the :math:`CN_{fallingleaf}` and cost_{retrans} are updated. The amount of a C_{avail,retrans,i+1} = C_{avail,retrans,i} - C_{retrans,spent,i} - C_{retrans,accounted,i} + Outputs of Retranslocation algorithm. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The final output of the retranslocation calculation are the retranslocated N (:math:`N_{retrans}`, gN m\ :sup:`-2`), C spent on retranslocation (:math:`C_{retrans_paid}`, gC m\ :sup:`-2`), and C accounted for by retranslocation (:math:`C_{retrans_accounted}`, gC m\ :sup:`-2`). +The final output of the retranslocation calculation are the retranslocated N (:math:`N_{retrans}`, gN m\ :sup:`-2`), C spent on retranslocation (:math:`C_{retrans_paid}`, gC m\ :sup:`-2`), and C accounted for by retranslocation (:math:`C_{retrans_accounted}`, gC m\ :sup:`-2`). For paid-for uptake, we accumulate the total carbon spent on retranslocation (:math:`C_{spent_retrans}`), @@ -222,11 +236,12 @@ where N acquired by paid-for retranslocation is N_{retrans,paid} = \sum{N_{retrans,paid,i}} -The total carbon accounted for by retranslocation is the sum of the C accounted for by paid-for N uptake (:math:`N_{retrans_paid}`) and by free N uptake (:math:`N_{retrans_free}`). +The total carbon accounted for by retranslocation is the sum of the C accounted for by paid-for N uptake (:math:`N_{retrans_paid}`) and by free N uptake (:math:`N_{retrans_free}`). .. math:: C_{retrans,accounted} = \sum{C_{retrans,accounted,i}}+N_{retrans,free}.CN_{plant} . (1.0 + gr_{frac}) + The total available carbon in FUN to spend on fixation and active uptake (:math:`C_{tospend}`, gC m\ :sup:`-2`) is calculated as the carbon available minus that account for by retranslocation: @@ -234,95 +249,103 @@ The total available carbon in FUN to spend on fixation and active uptake (:math: C_{tospend} = C_{avail} - C_{retrans,accounted} + Carbon expenditure on fixation and active uptake. -------------------------------------------------------- -At each model timestep, the overall cost of N uptake is calculated (see below) in terms of C:N ratios. The available carbon (:math:`C_{avail}`, g m\ :sup:`-2` s\ :sup:`-1`) is then allocated to two alternative outcomes, payment for N uptake, or conservation for growth. For each carbon conserved for growth, a corresponding quantity of N must be made available. In the case where the plant target C:N ratio is fixed, the partitioning between carbon for growth (:math:`C_{growth}`) and carbon for N uptake (:math:`C_{nuptake}`) is calculated by solving a system of simultaneous equations. First, the carbon available must equal the carbon spent on N uptake plus that saved for growth. +At each model timestep, the overall cost of N uptake is calculated (see below) in terms of C:N ratios. The available carbon (:math:`C_{avail}`, g m\ :sup:`-2` s\ :sup:`-1`) is then allocated to two alternative outcomes, payment for N uptake, or conservation for growth. For each carbon conserved for growth, a corresponding quantity of N must be made available. In the case where the plant target C:N ratio is fixed, the partitioning between carbon for growth (:math:`C_{growth}`) and carbon for N uptake (:math:`C_{nuptake}`) is calculated by solving a system of simultaneous equations. First, the carbon available must equal the carbon spent on N uptake plus that saved for growth. .. math:: - C_{growth}+C_{nuptake}=C_{avail} - + C_{growth}+C_{nuptake}=C_{avail} + Second, the nitrogen acquired from expenditure of N (left hand side of term below) must equal the N that is required to match the growth carbon (right hand side of term below). .. math:: - + C_{nuptake}/N_{cost} =C_{growth}/CN_{target} The solution to these two equated terms can be used to estimate the ideal :math:`C_{nuptake}` as follows, - .. math:: + .. math:: C_{nuptake} =C_{tospend}/ ( (1.0+f_{gr}*(CN_{target} / N_{cost}) + 1) . -and the other C and N fluxes can be determined following the logic above. +and the other C and N fluxes can be determined following the logic above. Modifications to allow variation in C:N ratios -------------------------------------------------------- -The original FUN model as developed by :ref:`Fisher et al. (2010)` and :ref:`Brzostek et al. (2014)` assumes a fixed plant tissue C:N ratio. This means that in the case where N is especially limiting, all excess carbon will be utilized in an attempt to take up more Nitrogen. It has been repeatedly observed, however, that in these circumstances in real life, plants have some flexibility in the C:N stoichiometry of their tissues, and therefore, this assumption may not be realistic. However, the degree to which the C:N ratio varies with N availability is poorly documented, and existing global nitrogen models use a variety of heuristic methods by which to incorporate changing C:N ratios (Zaehle and Friend 2010; Ghimire et al. 2016). This algorithm exists as a placeholder to allow variable C:N ratios to occur, and to allow exploration of how much the parameters controlling their flexibility has on model outcomes. Incorporation of emerging understanding of the controls on tissue stoichiometry should ultimately replace this scheme. +The original FUN model as developed by :ref:`Fisher et al. (2010)` and :ref:`Brzostek et al. (2014)` assumes a fixed plant tissue C:N ratio. This means that in the case where N is especially limiting, all excess carbon will be utilized in an attempt to take up more Nitrogen. It has been repeatedly observed, however, that in these circumstances in real life, plants have some flexibility in the C:N stoichiometry of their tissues, and therefore, this assumption may not be realistic. However, the degree to which the C:N ratio varies with N availability is poorly documented, and existing global nitrogen models use a variety of heuristic methods by which to incorporate changing C:N ratios (Zaehle and Friend 2010; Ghimire et al. 2016). This algorithm exists as a placeholder to allow variable C:N ratios to occur, and to allow exploration of how much the parameters controlling their flexibility has on model outcomes. Incorporation of emerging understanding of the controls on tissue stoichiometry should ultimately replace this scheme. Thus, in CLM5, we introduce the capacity for tissue C:N ratios to be prognostic, rather than static. Overall N and C availability (:math:`N_{uptake}` and :math:`C_{growth}`) and hence tissue C:N ratios, are both determined by FUN. Allocation to individual tissues is discussed in the allocation chapter -Here we introduce an algorithm which adjusts the C expenditure on uptake to allow varying tissue C:N ratios. Increasing C spent on uptake will directly reduce the C:N ratio, and reducing C spent on uptake (retaining more for tissue growth) will increase it. C spent on uptake is impacted by both the N cost in the environment, and the existing tissue C:N ratio of the plant. The output of this algorithm is :math:`\gamma_{FUN}`, the fraction of the ideal :math:`C_{nuptake}` calculated from the FUN equation above +Here we introduce an algorithm which adjusts the C expenditure on uptake to allow varying tissue C:N ratios. Increasing C spent on uptake will directly reduce the C:N ratio, and reducing C spent on uptake (retaining more for tissue growth) will increase it. C spent on uptake is impacted by both the N cost in the environment, and the existing tissue C:N ratio of the plant. The output of this algorithm is :math:`\gamma_{FUN}`, the fraction of the ideal :math:`C_{nuptake}` calculated from +the FUN equation above - .. math:: + .. math:: C_{nuptake} = C_{nuptake}.\gamma_{FUN} + Response of C expenditure to Nitrogen uptake cost ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The environmental cost of Nitrogen (:math:`N_{cost,tot}`) is used to determine :math:`\gamma_{FUN}`. - - .. math:: +The environmental cost of Nitrogen (:math:`N_{cost,tot}`) is used to determine :math:`\gamma_{FUN}`. + + .. math:: \gamma_{FUN} = max(0.0,1.0 - (N_{cost,tot}-a_{cnflex})/b_{cnflex}) -where :math:`a_{cnflex}` and :math:`b_{cnflex}` are parameters fitted to give flexible C:N ranges over the operating range of N costs of the model. Calibration of these parameters should be subject to future testing in idealized experimental settings; they are here intended as a placeholder to allow some flexible stoichiometry, in the absence of adequate understanding of this process. Here :math:`a_{cnflex}` operates as the :math:`N_{cost,tot}` above which there is a modification in the C expenditure (to allow higher C:N ratios), and :math:`b_{cnflex}` is the scalar which determines how much the C expenditure is modified for a given discrepancy between :math:`a_{cnflex}` and the actual cost of uptake. +where :math:`a_{cnflex}` and :math:`b_{cnflex}` are parameters fitted to give flexible C:N ranges over the operating range of N costs of the model. Calibration of these parameters should be subject to future testing in idealized experimental settings; they are here intended as a placeholder to allow some flexible stoichiometry, in the absence of adequate understanding of this process. Here :math:`a_{cnflex}` operates as the :math:`N_{cost,tot}` above which there is a modification in the C expenditure (to allow higher C:N ratios), and :math:`b_{cnflex}` is the scalar which determines how much the C expenditure is modified for a given discrepancy between :math:`a_{cnflex}` and the actual cost of uptake. + Response of C expenditure to plant C:N ratios ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ We first calculate a :math:`\delta_{CN}`, which is the difference between the target C:N (:math:`target_{CN}`) a model parameter, and the existing C:N ratio (:math:`CN_{plant}`) - .. math:: - + .. math:: + CN_{plant} = \frac{C_{leaf} + C_{leaf,storage}}{N_{leaf} + N_{leaf,storage})} and - .. math:: + .. math:: \delta_{CN} = CN_{plant} - target_{CN} -We then increase :math:`\gamma_{FUN}` to account for situations where (even if N is expensive) plant C:N ratios have increased too far from the target. Where :math:`\delta_{CN}` is negative, we reduce C spent on N uptake and retain more C for growth +We then increase :math:`\gamma_{FUN}` to account for situations where (even if N is expensive) plant C:N ratios have increased too far from the target. Where :math:`\delta_{CN}` is negative, we reduce C spent on N uptake and retain more C for growth + .. math:: - \gamma_{FUN} = - \left\{\begin{array}{lr} + \gamma_{FUN} = + \left\{\begin{array}{lr} \gamma_{FUN}+ 0.5.(delta_{CN}/c_{flexcn})& delta_{CN} > 0\\ \gamma_{FUN}+(1-\gamma_{FUN}).min(1,\delta_{CN}/c_{flexcn}) & delta_{CN} < 0 \end{array}\right\} We then restrict the degree to which C expenditure can be reduced (to prevent unrealistically high C:N ratios) as - .. math:: - \gamma_{FUN} = max(min(1.0,\gamma_{FUN}),0.5) - + .. math:: + \gamma_{FUN} = max(min(1.0,\gamma_{FUN}),0.5) + + Calculation of N uptake streams from active uptake and fixation ---------------------------------------------------------------- - -Once the final :math:`C_{nuptake}` is known, the fluxes of C to the individual pools can be derived as + +Once the final :math:`C_{nuptake}` is known, the fluxes of C to the individual pools can be derived as .. math:: C_{nuptake,x} = C_{frac,x}.C_{nuptake} + .. math:: N_{uptake,x} = \frac{C_{nuptake}}{N_{cost}} - + + Following this, we determine whether the extraction estimates exceed the pool size for each source of N. Where :math:`N_{active,no3} + N_{nonmyc,no3} > N_{avail,no3}`, we calculate the unmet uptake, :math:`N_{unmet,no3}` .. math:: N_{unmet,no3} = N_{active,no3} + N_{nonmyc,no3} - N_{avail,no3} - -then modify both fluxes to account + +then modify both fluxes to account .. math:: @@ -331,14 +354,14 @@ then modify both fluxes to account .. math:: N_{nonmyc,no3} = N_{nonmyc,no3} + N_{unmet,no3}.\frac{N_{nonmyc,no3}}{N_{active,no3}+N_{nonmyc,no3}} - + and similarly, for NH4, where :math:`N_{active,nh4} + N_{nonmyc,nh4} > N_{avail,nh4}`, we calculate the unmet uptake, :math:`N_{unmet,no3}` .. math:: N_{unmet,nh4} = N_{active,nh4} + N_{nonmyc,nh4} - N_{avail,nh4} - -then modify both fluxes to account + +then modify both fluxes to account .. math:: @@ -348,7 +371,8 @@ then modify both fluxes to account N_{nonmyc,nh4} = N_{nonmyc,nh4} + N_{unmet,nh4}.\frac{N_{nonmyc,nh4}}{N_{active,nh4}+N_{nonmyc,nh4}} -and then update the C spent to account for hte new lower N acquisition in that layer/pool. + +and then update the C spent to account for hte new lower N acquisition in that layer/pool. .. math:: @@ -356,10 +380,14 @@ and then update the C spent to account for hte new lower N acquisition in that l C_{active,no3} = N_{active,no3}.N_{cost,active,no3}\\ C_{nonmyc,no3} = N_{nonmyc,no3}.N_{cost,nonmyc,no3}\\ C_{nonmyc,no3} = N_{nonmyc,no3}.N_{cost,nonmyc,no3}\\ + -Following this, we determine how much carbon is accounted for for each soil layer. +Following this, we determine how much carbon is accounted for for each soil layer. .. math:: C_{accounted,x,j} = C_{spent,j,x} - (N_{acquired,j,x}.CN_{plant}.(1.0+ gr_{frac})) + + + diff --git a/doc/source/tech_note/Fire/CLM50_Tech_Note_Fire.rst b/doc/source/tech_note/Fire/CLM50_Tech_Note_Fire.rst index 84dd2bcaaf..912bc7e378 100644 --- a/doc/source/tech_note/Fire/CLM50_Tech_Note_Fire.rst +++ b/doc/source/tech_note/Fire/CLM50_Tech_Note_Fire.rst @@ -3,21 +3,34 @@ Fire ======== -The fire parameterization in CLM contains four components: non-peat fires outside cropland and tropical closed forests, agricultural fires in cropland, deforestation fires in the tropical closed forests, and peat fires (see :ref:`Li et al. 2012a `, :ref:`Li et al. 2012b `, :ref:`Li et al. 2013 `, :ref:`Li and Lawrence 2017 ` for details). In this fire parameterization, burned area is affected by climate and weather conditions, vegetation composition and structure, and human activities. After burned area is calculated, we estimate the fire impact, including biomass and peat burning, fire-induced vegetation mortality, adjustment of the carbon and nitrogen (C/N) pools, and fire emissions. +The fire parameterization in CLM contains four components: non-peat +fires outside cropland and tropical closed forests, agricultural fires +in cropland, deforestation fires in the tropical closed forests, and +peat fires (see :ref:`Li et al. 2012a `, +:ref:`Li et al. 2012b `, :ref:`Li et al. 2013 `, +:ref:`Li and Lawrence 2017 ` for details). +In this fire parameterization, burned area is affected by climate and +weather conditions, vegetation composition and structure, and human +activities. After burned area is calculated, we estimate the fire impact, +including biomass and peat burning, fire-induced vegetation mortality, +adjustment of the carbon and nitrogen (C/N) pools, and fire emissions. .. _Non-peat fires outside cropland and tropical closed forest: Non-peat fires outside cropland and tropical closed forest --------------------------------------------------------------- -Burned area in a grid cell, \ :math:`A_{b}` (km\ :sup:`2` s :sup:`-1`), is determined by +Burned area in a grid cell, \ :math:`A_{b}` (km\ :sup:`2` s :sup:`-1`), +is determined by .. math:: :label: 23.1 A_{b} =N_{f} a -where :math:`N_{f}` (count s\ :sup:`-1`) is fire counts in the grid cell; :math:`a` (km\ :sup:`2`) is average fire spread area of a fire. +where :math:`N_{f}` (count s\ :sup:`-1`) is fire +counts in the grid cell; :math:`a` (km\ :sup:`2`) is average fire +spread area of a fire. .. _Fire counts: @@ -31,7 +44,12 @@ Fire counts :math:`N_{f}` is taken as N_{f} = N_{i} f_{b} f_{m} f_{se,o} -where :math:`N_{i}` ( count s\ :sup:`-1`) is the number of ignition sources due to natural causes and human activities; :math:`f_{b}` and :math:`f_{m}` (fractions) represent the availability and combustibility of fuel, respectively; :math:`f_{se,o}` is the fraction of anthropogenic and natural fires unsuppressed by humans and related to the socioeconomic conditions. +where :math:`N_{i}` ( count s\ :sup:`-1`) is the +number of ignition sources due to natural causes and human activities; +:math:`f_{b}` and :math:`f_{m}` (fractions) represent the availability +and combustibility of fuel, respectively; :math:`f_{se,o}` is the +fraction of anthropogenic and natural fires unsuppressed by humans and +related to the socioeconomic conditions. :math:`N_{i}` (count s\ :sup:`-1`) is given as @@ -40,90 +58,128 @@ where :math:`N_{i}` ( count s\ :sup:`-1`) is the number of ignition sources due N_{i} = \left(I_{n} +I_{a} \right) A_{g} -where :math:`I_{n}` (count km\ :sup:`-2` s\ :sup:`-1`) and :math:`I_{a}` (count km\ :sup:`-2` s\ :sup:`-1`) are the number of natural and anthropogenic ignitions per km\ :sup:`2`, respectively; :math:`A_{g}` is the area of the grid cell (km\ :sup:`2`). :math:`I_{n}` is estimated by +where :math:`I_{n}` (count km\ :sup:`-2` s\ :sup:`-1`) and :math:`I_{a}` +(count km\ :sup:`-2` s\ :sup:`-1`) are the number of natural and anthropogenic +ignitions per km\ :sup:`2`, respectively; :math:`A_{g}` is the area of the +grid cell (km\ :sup:`2`). :math:`I_{n}` is estimated by .. math:: :label: 23.4 I_{n} = \gamma \psi I_{l} -where :math:`\gamma` \ =0.22 is ignition efficiency of cloud-to-ground lightning; :math:`\psi =\frac{1}{5.16+2.16\cos [3min(60,\lambda )]}` is the cloud-to-ground lightning fraction and depends on the latitude :math:`\lambda` (degrees); :math:`I_{l}` (flash km\ :sup:`-2` s\ :sup:`-1`) is the total lightning flashes. :math:`I_{a}` is modeled as a monotonic increasing function of population density: +where :math:`\gamma` \ =0.22 is ignition efficiency of cloud-to-ground +lightning; :math:`\psi =\frac{1}{5.16+2.16\cos [3min(60,\lambda )]}` is the +cloud-to-ground lightning fraction and depends on the latitude +:math:`\lambda` (degrees) ; :math:`I_{l}` (flash km\ :sup:`-2` s\ :sup:`-1`) is +the total lightning flashes. :math:`I_{a}` is modeled as a monotonic +increasing function of population density: .. math:: :label: 23.5 I_{a} =\frac{\alpha D_{P} k(D_{P} )}{n} -where :math:`\alpha =0.01` (count person\ :sup:`-1` mon\ :sup:`-1`) is the number of potential ignition sources by a person per month; :math:`D_{P}` (person km\ :sup:`-2`) is the population density; :math:`k(D_{P} )=6.8D_{P} ^{-0.6}` represents anthropogenic ignition potential as a function of human population density :math:`D_{P}`; *n* is the seconds in a month. +where :math:`\alpha =0.01` (count person\ :sup:`-1` mon\ :sup:`-1`) is the number of potential ignition sources by a +person per month; :math:`D_{P}` (person km\ :sup:`-2`) is the population density; :math:`k(D_{P} )=6.8D_{P} ^{-0.6}` represents anthropogenic ignition +potential as a function of human population density :math:`D_{P}` ; *n* +is the seconds in a month. Fuel availability :math:`f_{b}` is given as .. math:: :label: 23.6 - f_{b} =\left\{\begin{array}{c} + f_{b} =\left\{\begin{array}{c} {0} \\ {\frac{B_{ag} -B_{low} }{B_{up} -B_{low} } } \\ {1} \end{array} - \begin{array}{cc} {} & {} \end{array}\begin{array}{c} {B_{ag} B_{up} } + \begin{array}{cc} {} & {} \end{array}\begin{array}{c} {B_{ag} B_{up} } \end{array}\right\} \ , -where :math:`B_{ag}` (g C m\ :sup:`-2`) is the biomass of combined leaf, stem, litter, and woody debris pools; :math:`B_{low}` = 105 g C m :sup:`-2` is the lower fuel threshold below which fire does not occur; :math:`B_{up}` = 1050 g C m\ :sup:`-2` is the upper fuel threshold above which fire occurrence is not limited by fuel availability. +where :math:`B_{ag}` (g C m\ :sup:`-2`) is the biomass of combined leaf, +stem, litter, and woody debris pools; :math:`B_{low}` = 105 g C m :sup:`-2` +is the lower fuel threshold below which fire does not occur; :math:`B_{up}` += 1050 g C m\ :sup:`-2` is the upper fuel threshold above which fire +occurrence is not limited by fuel availability. Fuel combustibility :math:`f_{m}` is estimated by .. math:: - :label: 23.7 + :label: 23.7 - f_{m} = {f_{RH} f_{\beta}}, \qquad T_{17cm} > T_{f} - -where :math:`f_{RH}` and :math:`f_{\beta }` represent the dependence of fuel combustibility on relative humidity :math:`RH` (%) and root-zone soil moisture limitation :math:`\beta` (fraction); :math:`T_{17cm}` is the temperature of the top 17 cm of soil (K) and :math:`T_{f}` is the freezing temperature. :math:`f_{RH}` is a weighted average of real time :math:`RH` (:math:`RH_{0}`) and 30-day running mean :math:`RH` (:math:`RH_{30d}`): + f_{m} = {f_{RH} f_{\beta}}, &\qquad T_{17cm} > T_{f} + +where :math:`f_{RH}` and :math:`f_{\beta }` represent the dependence of +fuel combustibility on relative humidity :math:`RH` (%) and root-zone +soil moisture limitation :math:`\beta` (fraction); :math:`T_{17cm}` is +the temperature of the top 17 cm of soil (K) and :math:`T_{f}` is the +freezing temperature. :math:`f_{RH}` is a weighted average of real time +:math:`RH` (:math:`RH_{0}`) and 30-day running mean :math:`RH` +(:math:`RH_{30d}`): .. math:: :label: 23.8 - + f_{RH} = (1-w) l_{RH_{0}} + wl_{RH_{30d}} -where weight :math:`w=\max [0,\min (1,\frac{B_{ag}-2500}{2500})]`, :math:`l_{{RH}_{0}}=1-\max [0,\min (1,\frac{RH_{0}-30}{80-30})]`, and :math:`l_{{RH}_{30d}}=1-\max [0.75,\min (1,\frac{RH_{30d}}{90})]`. :math:`f_{\beta}` is given by +where weight :math:`w=\max [0,\min (1,\frac{B_{ag}-2500}{2500})]`, +:math:`l_{{RH}_{0}}=1-\max [0,\min (1,\frac{RH_{0}-30}{80-30})]`, and +:math:`l_{{RH}_{30d}}=1-\max [0.75,\min (1,\frac{RH_{30d}}{90})]`. +:math:`f_{\beta}` is given by .. math:: :label: 23.9 - f_{\beta } =\left\{\begin{array}{cccc} - {1} & {} & {} & {\beta\le \beta_{low} } \\ {\frac{\beta_{up} -\beta}{\beta_{up} -\beta_{low} } } & {} & {} & {\beta_{low} <\beta<\beta_{up} } \\ - {0} & {} & {} & {\beta\ge \beta_{up} } + f_{\beta } =\left\{\begin{array}{cccc} + {1} & {} & {} & {\beta\le \beta_{low} } \\ {\frac{\beta_{up} -\beta}{\beta_{up} -\beta_{low} } } & {} & {} & {\beta_{low} <\beta<\beta_{up} } \\ + {0} & {} & {} & {\beta\ge \beta_{up} } \end{array}\right\} \ , -where :math:`\beta _{low}` \ =0.85 and :math:`\beta _{up}` \ =0.98 are the lower and upper thresholds, respectively. +where :math:`\beta _{low}` \ =0.85 and :math:`\beta _{up}` \ =0.98 are the +lower and upper thresholds, respectively. -For scarcely populated regions (:math:`D_{p} \le 0.1` person km :sup:`-2`), we assume that anthropogenic suppression on fire occurrence is negligible, i.e., :math:`f_{se,o} =1.0`. In regions of :math:`D_{p} >0.1` person km\ :sup:`-2`, we parameterize the fraction of anthropogenic and natural fires unsuppressed by human activities as +For scarcely populated regions (:math:`D_{p} \le 0.1` person +km :sup:`-2`), we assume that anthropogenic suppression on fire +occurrence is negligible, i.e., :math:`f_{se,o} =1.0`. In regions of +:math:`D_{p} >0.1` person km\ :sup:`-2`, we parameterize the +fraction of anthropogenic and natural fires unsuppressed by human +activities as .. math:: :label: 23.10 f_{se,o} =f_{d} f_{e} -where :math:`{f}_{d}` and :math:`{f}_{e}` are the effects of the demographic and economic conditions on fire occurrence. The demographic influence on fire occurrence is +where :math:`{f}_{d}` and :math:`{f}_{e}` are the effects of the +demographic and economic conditions on fire occurrence. The demographic +influence on fire occurrence is .. math:: :label: 23.11 f_{d} =0.01 + 0.98 \exp (-0.025D_{P} ). -For shrub and grass PFTs, the economic influence on fire occurrence is parameterized as a function of Gross Domestic Product GDP (k 1995US$ capita\ :sup:`-1`): +For shrub and grass PFTs, the economic influence on fire occurrence is +parameterized as a function of Gross Domestic Product GDP (k 1995US$ +capita\ :sup:`-1`): .. math:: :label: 23.12 f_{e} =0.1+0.9\times \exp [-\pi (\frac{GDP}{8} )^{0.5} ] -which captures 73% of the observed MODIS fire counts with variable GDP in regions where shrub and grass PFTs are dominant (fractional coverage of shrub and grass PFTs :math:`>` 50%). In regions outside tropical closed forests and dominated by trees (fractional coverage of tree PFTs :math:`>` 50%), we use +which captures 73% of the observed MODIS fire counts with variable GDP +in regions where shrub and grass PFTs are dominant (fractional coverage +of shrub and grass PFTs :math:`>` 50%). In regions outside tropical +closed forests and dominated by trees (fractional coverage of tree PFTs +:math:`>` 50%), we use .. math:: :label: 23.13 - f_{e} =\left\{\begin{array}{c} + f_{e} =\left\{\begin{array}{c} {0.39} \\ {0.79} \\ {1} \end{array} - \begin{array}{cc} {} & {} \end{array}\begin{array}{c} {GDP > 20 } \\ - { 8 < GDP \le 20 } \\ { GDP \le 8 } + \begin{array}{cc} {} & {} \end{array}\begin{array}{c} {GDP > 20 } \\ + { 8 < GDP \le 20 } \\ { GDP \le 8 } \end{array}\right\} \ , to reproduce the relationship between MODIS fire counts and GDP. @@ -133,23 +189,35 @@ to reproduce the relationship between MODIS fire counts and GDP. Average spread area of a fire ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Fire fighting capacity depends on socioeconomic conditions and affects fire spread area. Due to a lack of observations, we consider the socioeconomic impact on the average burned area rather than separately on fire spread rate and fire duration: +Fire fighting capacity depends on socioeconomic conditions and affects +fire spread area. Due to a lack of observations, we consider the +socioeconomic impact on the average burned area rather than separately +on fire spread rate and fire duration: .. math:: :label: 23.14 a=a^{*} F_{se} -where :math:`a^{*}` is the average burned area of a fire without anthropogenic suppression and :math:`F_{se}` is the socioeconomic effect on fire spread area. +where :math:`a^{*}` is the average burned area of a fire without +anthropogenic suppression and :math:`F_{se}` is the socioeconomic +effect on fire spread area. -Average burned area of a fire without anthropogenic suppression is assumed elliptical in shape with the wind direction along the major axis and the point of ignition at one of the foci. According to the area formula for an ellipse, average burned area of a fire can be represented as: +Average burned area of a fire without anthropogenic suppression is +assumed elliptical in shape with the wind direction along the major axis +and the point of ignition at one of the foci. According to the area +formula for an ellipse, average burned area of a fire can be represented +as: .. math:: :label: 23.15 a^{*} =\pi \frac{l}{2} \frac{w}{2} \times 10^{-6} =\frac{\pi u_{p}^{2} \tau ^{2} }{4L_{B} } (1+\frac{1}{H_{B} } )^{2} \times 10^{-6} -where :math:`u_{p}` (m s\ :sup:`-1`) is the fire spread rate in the downwind direction; :math:`\tau` (s) is average fire duration; :math:`L_{B}` and :math:`H_{B}` are length-to-breadth ratio and head-to-back ratio of the ellipse; 10 :sup:`-6` converts m :sup:`2` to km :sup:`2`. +where :math:`u_{p}` (m s\ :sup:`-1`) is the fire spread rate in the +downwind direction; :math:`\tau` (s) is average fire duration; :math:`L_{B}` +and :math:`H_{B}` are length-to-breadth ratio and head-to-back ratio of +the ellipse; 10 :sup:`-6` converts m :sup:`2` to km :sup:`2`. According to :ref:`Arora and Boer (2005)`, @@ -158,7 +226,9 @@ According to :ref:`Arora and Boer (2005)`, L_{B} =1.0+10.0[1-\exp (-0.06W)] -where :math:`W`\ (m s\ :sup:`-1`) is the wind speed. According to the mathematical properties of the ellipse, the head-to-back ratio :math:`H_{B}` is +where :math:`W`\ (m s\ :sup:`-1`) is the wind speed. According to +the mathematical properties of the ellipse, the head-to-back ratio +:math:`H_{B}` is .. math:: :label: 23.17 @@ -172,30 +242,53 @@ The fire spread rate in the downwind direction is represented as u_{p} =u_{\max } C_{m} g(W) -(:ref:`Arora and Boer, 2005`), where :math:`u_{\max }` (m s\ :sup:`-1`) is the PFT-dependent average maximum fire spread rate in natural vegetation regions; :math:`C_{m} =\sqrt{f_{m}}` and :math:`g(W)` represent the dependence of :math:`u_{p}` on fuel wetness and wind speed :math:`W`, respectively. :math:`u_{\max }` is set to 0.33 m s :sup:`-1`\ for grass PFTs, 0.28 m s :sup:`-1` for shrub PFTs, 0.26 m s\ :sup:`-1` for needleleaf tree PFTs, and 0.25 m s\ :sup:`-1` for other tree PFTs. :math:`g(W)` is derived from the mathematical properties of the ellipse and equation :eq:`23.16` and :eq:`23.17`. +(:ref:`Arora and Boer, 2005`), where :math:`u_{\max }` +(m s\ :sup:`-1`) is the PFT-dependent average maximum fire spread +rate in natural vegetation regions; :math:`C_{m} =\sqrt{f_{m}}` and :math:`g(W)` +represent the dependence of :math:`u_{p}` on fuel wetness and wind +speed :math:`W`, respectively. :math:`u_{\max }` is set to 0.33 +m s :sup:`-1`\ for grass PFTs, 0.28 m s :sup:`-1` for shrub PFTs, 0.26 +m s\ :sup:`-1` for needleleaf tree PFTs, and 0.25 m s\ :sup:`-1` for +other tree PFTs. :math:`g(W)` is derived from the mathematical properties +of the ellipse and equation :eq:`23.16` and :eq:`23.17`. .. math:: :label: 23.19 g(W)=\frac{2L_{B} }{1+\frac{1}{H_{B} } } g(0). -Since g(\ *W*)=1.0, and \ :math:`L_{B}` and :math:`H_{B}` are at their maxima \ :math:`L_{B} ^{\max } =11.0` and \ :math:`H_{B} ^{\max } =482.0` when :math:`W\to \infty`, g(0) can be derived as +Since g(\ *W*)=1.0, and \ :math:`L_{B}` and :math:`H_{B}` are at their +maxima \ :math:`L_{B} ^{\max } =11.0` and \ :math:`H_{B} ^{\max } =482.0` +when :math:`W\to \infty` , g(0) can be derived as .. math:: :label: 23.20 g(0)=\frac{1+\frac{1}{H_{B} ^{\max } } }{2L_{B} ^{\max } } =0.05. -In the absence of globally gridded data on barriers to fire (e.g. rivers, lakes, roads, firebreaks) and human fire-fighting efforts, average fire duration is simply assumed equal to 1 which is the observed 2001–2004 mean persistence of most fires in the world (:ref:`Giglio et al. 2006 `). +In the absence of globally gridded data on barriers to fire (e.g. +rivers, lakes, roads, firebreaks) and human fire-fighting efforts, +average fire duration is simply assumed equal to 1 which is the observed +2001–2004 mean persistence of most fires in the world +(:ref:`Giglio et al. 2006 `). -As with the socioeconomic influence on fire occurrence, we assume that the socioeconomic influence on fire spreading is negligible in regions of :math:`D_{p} \le 0.1` person km\ :sup:`-2`, i.e., :math:`F_{se} = 1.0`. In regions of :math:`D_{p} >0.1` person km\ :sup:`-2`, we parameterize such socioeconomic influence as: +As with the socioeconomic influence on fire occurrence, we assume that +the socioeconomic influence on fire spreading is negligible in regions +of :math:`D_{p} \le 0.1` person km\ :sup:`-2`, i.e., +:math:`F_{se} = 1.0`. In regions of :math:`D_{p} >0.1` person +km\ :sup:`-2`, we parameterize such socioeconomic influence as: .. math:: :label: 23.21 F_{se} =F_{d} F_{e} -where :math:`{F}_{d}` and :math:`{F}_{e}` are effects of the demographic and economic conditions on the average spread area of a fire, and are identified by maximizing the explained variability of the GFED3 burned area fraction with both socioeconomic indices in grid cells with various dominant vegetation types. For shrub and grass PFTs, the demographic impact factor is +where :math:`{F}_{d}` and :math:`{F}_{e}` are +effects of the demographic and economic conditions on the average spread +area of a fire, and are identified by maximizing the explained +variability of the GFED3 burned area fraction with both socioeconomic +indices in grid cells with various dominant vegetation types. For shrub +and grass PFTs, the demographic impact factor is .. math:: :label: 23.22 @@ -209,7 +302,8 @@ and the economic impact factor is F_{e} =0.2+0.8\times \exp (-\pi \frac{GDP}{7} ). -For tree PFTs outside tropical closed forests, the demographic and economic impact factors are given as +For tree PFTs outside tropical closed forests, the demographic and +economic impact factors are given as .. math:: :label: 23.24 @@ -221,51 +315,79 @@ and .. math:: :label: 23.25 - F_{e} =\left\{\begin{array}{cc} - {0.62,} & {GDP>20} \\ {0.83,} & {820} \\ {0.83,} & {8` that shows the 2001-2009 average contribution of cropland fires is 4.7% of the total global burned area. +where :math:`a_{1}` (s\ :sup:`-1`) is a constant; :math:`f_{se}` represents +the socioeconomic effect on fires; :math:`f_{t}` determines the seasonality +of agricultural fires; :math:`f_{crop}` is the fractional coverage of +cropland. :math:`a_{1}` \ = 1.6x10\ :sup:`-4` \hr\ :sup:`-1`\ is estimated +using an inverse method, by matching 1997-2004 simulations to the analysis +of :ref:`van der Werf et al. (2010) ` that shows the +2001-2009 average contribution of cropland fires is 4.7% of the total +global burned area. The socioeconomic factor :math:`f_{se}` is given as follows: @@ -302,47 +431,112 @@ and f_{e} =0.01+0.99\times \exp (-\pi \frac{GDP}{10} ) -are the effects of population density and GDP on burned area, derived in a similar way to equation :eq:`23.32` and :eq:`23.33`. :math:`f_{t}` is set to 1 at the first time step during the climatological peak month for agricultural fires (:ref:`van der Werf et al. 2010 `); :math:`{f}_{t}` is set to 0 otherwise. Peak month in this dataset correlates with the month after harvesting or the month before planting. In CLM we use this dataset the same way whether the CROP option is active or not, without regard to the CROP option's simulated planting and harvesting dates. - -In the post-fire region, fire impact is parameterized similar to section :numref:`Fire impact` but with combustion completeness factors and tissue mortality factors for crop PFTs (:numref:`Table PFT-specific combustion completeness and fire mortality factors`). +are the effects of population density and GDP on burned area, derived +in a similar way to equation :eq:`23.32` and :eq:`23.33`. :math:`f_{t}` +is set to 1 at the first time step during the climatological peak month +for agricultural fires (:ref:`van der Werf et al. 2010 `); +:math:`{f}_{t}` is set to 0 otherwise. Peak +month in this dataset correlates with the month after harvesting or the +month before planting. In CLM we use this dataset the same way whether +the CROP option is active or not, without regard to the CROP option’s +simulated planting and harvesting dates. + +In the post-fire region, fire impact is parameterized similar to section +:numref:`Fire impact` but with combustion completeness factors and tissue +mortality factors for crop PFTs +(:numref:`Table PFT-specific combustion completeness and fire mortality factors`). .. _Deforestation fires: - + Deforestation fires ------------------------ -CLM focuses on deforestation fires in tropical closed forests. Tropical closed forests are defined as grid cells with tropical tree (BET and BDT tropical) coverage :math:`>` 60% according to the FAO classification. Deforestation fires are defined as fires caused by deforestation, including escaped deforestation fires, termed degradation fires. Deforestation and degradation fires are assumed to occur outside of cropland areas in these grid cells. Burned area is controlled by the deforestation rate and climate: +CLM focuses on deforestation fires in tropical closed forests. Tropical +closed forests are defined as grid cells with tropical tree (BET and BDT tropical) +coverage :math:`>` 60% according to the FAO classification. Deforestation fires +are defined as fires caused by deforestation, including escaped +deforestation fires, termed degradation fires. Deforestation and +degradation fires are assumed to occur outside of cropland areas in +these grid cells. Burned area is controlled by the deforestation rate +and climate: .. math:: :label: 23.34 A_{b} = b \ f_{lu} f_{cli,d} f_{b} A_{g} -where :math:`b` (s\ :sup:`-1`) is a global constant; :math:`f_{lu}` (fraction) represents the effect of decreasing fractional coverage of tree PFTs derived from land use data; :math:`f_{cli,d}` (fraction) represents the effect of climate conditions on the burned area. +where :math:`b` (s\ :sup:`-1`) is a global constant; +:math:`f_{lu}` (fraction) represents the effect of decreasing +fractional coverage of tree PFTs derived from land use data; +:math:`f_{cli,d}` (fraction) represents the effect of climate +conditions on the burned area. -Constants :math:`b` and :math:`{f}_{lu}` are calibrated based on observations and reanalysis datasets in the Amazon rainforest (tropical closed forests within 15.5 °S :math:`\text{-}` 10.5 °N, 30.5 ° W :math:`\text{-}` 91 ° W). :math:`b` = 0.033 d\ :sup:`-1` and :math:`f_{lu}` is defined as +Constants :math:`b` and :math:`{f}_{lu}` are calibrated +based on observations and reanalysis datasets in the Amazon rainforest +(tropical closed forests within 15.5 :sup:`o` S :math:`\text{-}` 10.5 +:sup:`o` N, 30.5 :sup:`o` W :math:`\text{-}` 91 :sup:`o` W). +:math:`b` = 0.033 d\ :sup:`-1` and :math:`f_{lu}` is defined as .. math:: :label: 23.35 f_{lu} = \max (0.0005,0.19D-0.001) -where :math:`D` (yr\ :sup:`-1`) is the annual loss of tree cover based on CLM land use and land cover change data. +where :math:`D` (yr\ :sup:`-1`) is the annual loss of tree cover +based on CLM land use and land cover change data. The effect of climate on deforestation fires is parameterized as: .. math:: :label: 23.36 - \begin{array}{ll} + \begin{array}{ll} f_{cli,d} \quad = & \quad \max \left[0,\min (1,\frac{b_{2} -P_{60d} }{b_{2} } )\right]^{0.5} \times \\ - & \quad \max \left[0,\min (1,\frac{b_{3} -P_{10d} }{b_{3} } )\right]^{0.5} \times \\ + & \quad \max \left[0,\min (1,\frac{b_{3} -P_{10d} }{b_{3} } )\right]^{0.5} \times \\ & \quad \max \left[0,\min (1,\frac{0.25-P}{0.25} )\right] \end{array} -where :math:`P` (mm d :sup:`-1`) is instantaneous precipitation, while :math:`P_{60d}` (mm d\ :sup:`-1`) and :math:`P_{10d}` (mm d :sup:`-1`) are 60-day and 10-day running means of precipitation, respectively; :math:`b_{2}` (mm d :sup:`-1`) and :math:`b_{3}` (mm d :sup:`-1`) are the grid-cell dependent thresholds of :math:`P_{60d}` and :math:`P_{10d}`; 0.25 mm d :sup:`-1` is the maximum precipitation rate for drizzle. :ref:`Le Page et al. (2010) ` analyzed the relationship between large-scale deforestation fire counts and precipitation during 2003 :math:`\text{-}`\ 2006 in southern Amazonia where tropical evergreen trees (BET Tropical) are dominant. Figure 2 in :ref:`Le Page et al. (2010) ` showed that fires generally occurred if both :math:`P_{60d}` and :math:`P_{10d}` were less than about 4.0 mm d :sup:`-1`, and fires occurred more frequently in a drier environment. Based on the 30-yr (1985 to 2004) precipitation data in :ref:`Qian et al. (2006) `. The climatological precipitation of dry months (P < 4.0 mm d :sup:`-1`) in a year over tropical deciduous tree (BDT Tropical) dominated regions is 46% of that over BET Tropical dominated regions, so we set the PFT-dependent thresholds of :math:`P_{60d}` and :math:`P_{10d}` as 4.0 mm d :sup:`-1` for BET Tropical and 1.8 mm d :sup:`-1` (= 4.0 mm d :sup:`-1` :math:`\times` 46%) for BDT Tropical, and :math:`b`\ :sub:`2` and :math:`b`\ :sub:`3` are the average of thresholds of BET Tropical and BDT Tropical weighted bytheir coverage. - -The post-fire area due to deforestation is not limited to land-type conversion regions. In the tree-reduced region, the maximum fire carbon emissions are assumed to be 80% of the total conversion flux. According to the fraction of conversion flux for tropical trees in the tree-reduced region (60%) assigned by CLM4-CN, to reach the maximum fire carbon emissions in a conversion region requires burning this region about twice when we set PFT-dependent combustion completeness factors to about 0.3 for stem [the mean of 0.2\ :math:`{-}`\ 0.4 used in :ref:`van der Werf et al. (2010) `. Therefore, when the burned area calculated from equation :eq:`23.36` is no more than twice the tree-reduced area, we assume no escaped fires outside the land-type conversion region, and the fire-related fraction of the total conversion flux is estimated as :math:`\frac{A_{b} /A_{g} }{2D}`. Otherwise, 80% of the total conversion flux is assumed to be fire carbon emissions, and the biomass combustion and vegetation mortality outside the tree-reduced regions with an area fraction of :math:`\frac{A_{b} }{A_{g} } -2D` are set as in section :numref:`Fire impact`. +where :math:`P` (mm d :sup:`-1`) is instantaneous precipitation, while +:math:`P_{60d}` (mm d\ :sup:`-1`) and :math:`P_{10d}` (mm d :sup:`-1`) +are 60-day and 10-day running means of precipitation, respectively; +:math:`b_{2}` (mm d :sup:`-1`) and :math:`b_{3}` (mm d :sup:`-1`) are +the grid-cell dependent thresholds of :math:`P_{60d}` and :math:`P_{10d}` ; +0.25 mm d :sup:`-1` is the maximum precipitation rate for drizzle. +:ref:`Le Page et al. (2010) ` analyzed the relationship +between large-scale deforestation fire counts and precipitation during 2003 +:math:`\text{-}`\ 2006 in southern Amazonia where tropical evergreen trees +(BET Tropical) are dominant. Figure 2 in +:ref:`Le Page et al. (2010) ` showed that fires generally +occurred if both :math:`P_{60d}` and :math:`P_{10d}` were less than about +4.0 mm d :sup:`-1`, and fires occurred more frequently in a drier environment. +Based on the 30-yr (1985 to 2004) precipitation data in +:ref:`Qian et al. (2006) `. The climatological precipitation +of dry months (P < 4.0 mm d :sup:`-1`) in a year over tropical deciduous +tree (BDT Tropical) dominated regions is 46% of that over BET Tropical +dominated regions, so we set the PFT-dependent thresholds of :math:`P_{60d}` +and :math:`P_{10d}` as 4.0 mm d :sup:`-1` for BET Tropical and 1.8 mm d +:sup:`-1` (= 4.0 mm d :sup:`-1` :math:`\times` 46%) for BDT Tropical, and +:math:`b`\ :sub:`2` and :math:`b`\ :sub:`3` are the average of thresholds +of BET Tropical and BDT Tropical weighted bytheir coverage. + +The post-fire area due to deforestation is not limited to land-type +conversion regions. In the tree-reduced region, the maximum fire carbon +emissions are assumed to be 80% of the total conversion flux. According +to the fraction of conversion flux for tropical trees in the +tree-reduced region (60%) assigned by CLM4-CN, to reach the maximum fire +carbon emissions in a conversion region requires burning this region +about twice when we set PFT-dependent combustion completeness factors to +about 0.3 for stem [the mean of 0.2\ :math:`{-}`\ 0.4 used in +:ref:`van der Werf et al. (2010) `. Therefore, when +the burned area calculated from equation :eq:`23.36` is +no more than twice the tree-reduced area, we assume no escaped fires +outside the land-type conversion region, and the fire-related fraction +of the total conversion flux is estimated as +:math:`\frac{A_{b} /A_{g} }{2D}` . Otherwise, 80% of the total +conversion flux is assumed to be fire carbon emissions, and the biomass +combustion and vegetation mortality outside the tree-reduced regions +with an area fraction of :math:`\frac{A_{b} }{A_{g} } -2D` are set as in +section :numref:`Fire impact`. .. _Peat fires: @@ -356,9 +550,20 @@ The burned area due to peat fires is given as :math:`{A}_{b}`: A_{b} = c \ f_{cli,p} f_{peat} (1 - f_{sat} ) A_{g} -where :math:`c` (s\ :sup:`-1`) is a constant; :math:`f_{cli,p}` represents the effect of climate on the burned area; :math:`f_{peat}` is the fractional coverage of peatland in the grid cell; and :math:`f_{sat}` is the fraction of the grid cell with a water table at the surface or higher. :math:`c` = 0.17 :math:`\times` 10 :sup:`-3` hr\ :sup:`-1` for tropical peat fires and :math:`c` = 0.9 :math:`\times` 10 :sup:`-5` hr :sup:`-1` for boreal peat fires are derived using an inverse method, by matching simulations to earlier studies: about 2.4 Mha peatland was burned over Indonesia in 1997 (:ref:`Page et al. 2002 `) and the average burned area of peat fires in Western Canada was 0.2 Mha yr :sup:`-1` for 1980-1999 (:ref:`Turetsky et al. 2004 `). +where :math:`c` (s\ :sup:`-1`) is a constant; :math:`f_{cli,p}` represents +the effect of climate on the burned area; :math:`f_{peat}` is the fractional +coverage of peatland in the grid cell; and :math:`f_{sat}` is the fraction +of the grid cell with a water table at the surface or higher. :math:`c` = 0.17 +:math:`\times` 10 :sup:`-3` hr\ :sup:`-1` for tropical peat fires and +:math:`c` = 0.9 :math:`\times` 10 :sup:`-5` hr :sup:`-1` for boreal peat fires +are derived using an inverse method, by matching simulations to earlier +studies: about 2.4 Mha peatland was burned over Indonesia in 1997 +(:ref:`Page et al. 2002 `) and the average burned area of peat +fires in Western Canada was 0.2 Mha yr :sup:`-1` for 1980-1999 +(:ref:`Turetsky et al. 2004 `). -For tropical peat fires, :math:`f_{cli,p}` is set as a function of long-term precipitation :math:`P_{60d}` : +For tropical peat fires, :math:`f_{cli,p}` is set as a function of +long-term precipitation :math:`P_{60d}` : .. math:: :label: 23.38 @@ -374,26 +579,48 @@ For boreal peat fires, :math:`f_{cli,p}` is set to where :math:`\theta _{17cm}` is the wetness of the top 17 cm of soil. -Peat fires lead to peat burning and the combustion and mortality of vegetation over peatlands. For tropical peat fires, based on :ref:`Page et al. (2002) `, about 6% of the peat carbon loss from stored carbon is caused by 33.9% of the peatland burned. Carbon emissions due to peat burning (g C m\ :sup:`-2` s\ :sup:`-1`) are therefore set as the product of 6%/33.9%, burned area fraction of peat fire (s\ :sup:`-1`), and soil organic carbon (g C m\ :sup:`-2`). For boreal peat fires, the carbon emissions due to peat burning are set as 2.2 kg C m\ :sup:`-2` \ peat fire area (:ref:`Turetsky et al. 2002 `). Biomass combustion and vegetation mortality in post-fire peatlands are set the same as section :numref:`Fire impact` for non-crop PFTs and as section :numref:`Agricultural fires` for crops PFTs. +Peat fires lead to peat burning and the combustion and mortality of +vegetation over peatlands. For tropical peat fires, based on +:ref:`Page et al. (2002) `, about 6% of the peat carbon loss +from stored carbon is caused by 33.9% of the peatland burned. Carbon emissions +due to peat burning (g C m\ :sup:`-2` s\ :sup:`-1`) are therefore set as the +product of 6%/33.9%, burned area fraction of peat fire (s\ :sup:`-1`), and +soil organic carbon (g C m\ :sup:`-2`). For boreal peat fires, the carbon +emissions due to peat burning are set as 2.2 kg C m\ :sup:`-2` \ peat fire +area (:ref:`Turetsky et al. 2002 `). Biomass combustion +and vegetation mortality in post-fire peatlands are set the same as section +:numref:`Fire impact` for non-crop PFTs and as section +:numref:`Agricultural fires` for crops PFTs. .. _Fire trace gas and aerosol emissions: Fire trace gas and aerosol emissions ------------------------------------- -CESM2 is the first Earth system model that can model the full coupling among fire, fire emissions, land, and atmosphere. CLM5, as the land component of CESM2, calculates the surface trace gas and aerosol emissions due to fire and fire emission heights, as the inputs of atmospheric chemistry model and aerosol model. +CESM2 is the first Earth system model that can model the full coupling +among fire, fire emissions, land, and atmosphere. CLM5, as the land +component of CESM2, calculates the surface trace gas and aerosol emissions +due to fire and fire emission heights, as the inputs of atmospheric +chemistry model and aerosol model. -Emissions for trace gas and aerosol species x and the j-th PFT, :math:`E_{x,j}` (g species s\ :sup:`-1`), are given by +Emissions for trace gas and aerosol species x and the j-th PFT, :math:`E_{x,j}` +(g species s\ :sup:`-1`), are given by .. math:: :label: 23.40 E_{x,j} = EF_{x,j}\frac{\phi _{j} }{[C]}. -Here, :math:`EF_{x,j}` (g species (g dm)\ :sup:`-1`) is PFT-dependent emission factor scaled from biome-level values (Li et al., in prep, also used for FireMIP fire emissions data) by Dr. Val Martin and Dr. Li. :math:`[C]` = 0.5 (g C (g dm)\ :sup:`-1`) is a conversion factor from dry matter to carbon. +Here, :math:`EF_{x,j}` (g species (g dm)\ :sup:`-1`) is PFT-dependent emission +factor scaled from biome-level values (Li et al., in prep, also used for FireMIP +fire emissions data) by Dr. Val Martin and Dr. Li. :math:`[C]` = 0.5 +(g C (g dm)\ :sup:`-1`) is a conversion factor from dry matter to carbon. -Emission height is PFT-dependent: 4.3 km for needleleaf tree PFTs, 3 km for other boreal and temperate tree PFTs, 2.5 km for tropical tree PFTs, 2 km for shrub PFTs, and 1 km for grass and crop PFTs. These values are compiled from earlier studies by Dr. Val Martin. +Emission height is PFT-dependent: 4.3 km for needleleaf tree PFTs, 3 km for other +boreal and temperate tree PFTs, 2.5 km for tropical tree PFTs, 2 km for shrub +PFTs, and 1 km for grass and crop PFTs. These values are compiled from earlier +studies by Dr. Val Martin. -.. _Table PFT-specific combustion completeness and fire mortality factors: +.. _Table PFT-specific combustion completeness and fire mortality factors: .. table:: PFT-specific combustion completeness and fire mortality factors. @@ -431,4 +658,13 @@ Emission height is PFT-dependent: 4.3 km for needleleaf tree PFTs, 3 km for othe | Crop | 0.80 | 0.80 | 0.00 | 0.80 | 0.80 | 0.20 | 0.20 | 0.20 | 0.80 | 0.60 | 0.20 | +----------------------------------+---------------------------+---------------------------+---------------------------+-------------------------+--------------------------+------------------------------+------------------------------+--------------------------+------------------------+------------------------------+---------------------------------+ -Leaves (:math:`CC_{leaf}` ), stems (:math:`CC_{stem}` ), roots (:math:`CC_{root}` ), and transfer and storage carbon (:math:`CC_{ts}` ); mortality factors for leaves (:math:`M_{leaf}` ), live stems (:math:`M_{livestem,1}` ), dead stems (:math:`M_{deadstem}` ), roots (:math:`M_{root}` ), and transfer and storage carbon (:math:`M_{ts}` ) related to the carbon transfers from these pools to litter pool; mortality factors for live stems (:math:`M_{livestem,2}` ) related to the carbon transfer from live stems to dead stems; whole-plant mortality factor (:math:`\xi _{j}` ). +Leaves (:math:`CC_{leaf}` ), stems (:math:`CC_{stem}` ), +roots (:math:`CC_{root}` ) , and transfer and storage carbon +(:math:`CC_{ts}` ); mortality factors for leaves +(:math:`M_{leaf}` ), live stems (:math:`M_{livestem,1}` ), +dead stems (:math:`M_{deadstem}` ), roots +(:math:`M_{root}` ), and transfer and storage carbon +(:math:`M_{ts}` ) related to the carbon transfers from these pools +to litter pool; mortality factors for live stems +(:math:`M_{livestem,2}` ) related to the carbon transfer from live +stems to dead stems; whole-plant mortality factor (:math:`\xi _{j}` ). diff --git a/doc/source/tech_note/Fluxes/CLM50_Tech_Note_Fluxes.rst b/doc/source/tech_note/Fluxes/CLM50_Tech_Note_Fluxes.rst index f70ca7c35a..047d4e6723 100644 --- a/doc/source/tech_note/Fluxes/CLM50_Tech_Note_Fluxes.rst +++ b/doc/source/tech_note/Fluxes/CLM50_Tech_Note_Fluxes.rst @@ -3,7 +3,17 @@ Momentum, Sensible Heat, and Latent Heat Fluxes ================================================== -The zonal :math:`\tau _{x}` and meridional :math:`\tau _{y}` momentum fluxes (kg m\ :sup:`-1` s\ :sup:`-2`), sensible heat flux :math:`H` (W m\ :sup:`-2`), and water vapor flux :math:`E` (kg m\ :sup:`-2` s\ :sup:`-1`) between the atmosphere at reference height :math:`z_{atm,\, x}` (m) [where :math:`x` is height for wind (momentum) (:math:`m`), temperature (sensible heat) (:math:`h`), and humidity (water vapor) (:math:`w`); with zonal and meridional winds :math:`u_{atm}` and :math:`v_{atm}` (m s\ :sup:`-1`), potential temperature :math:`\theta _{atm}` (K), and specific humidity :math:`q_{atm}` (kg kg\ :sup:`-1`)] and the surface [with :math:`u_{s}`, :math:`v_{s}`, :math:`\theta _{s}`, and :math:`q_{s}` ] are +The zonal :math:`\tau _{x}` and meridional :math:`\tau _{y}` momentum +fluxes (kg m\ :sup:`-1` s\ :sup:`-2`), sensible heat flux +:math:`H` (W m\ :sup:`-2`), and water vapor flux :math:`E` (kg m\ :sup:`-2` s\ :sup:`-1`) between the atmosphere at +reference height :math:`z_{atm,\, x}` (m) [where :math:`x` is height +for wind (momentum) (:math:`m`), temperature (sensible heat) +(:math:`h`), and humidity (water vapor) (:math:`w`); with zonal and +meridional winds :math:`u_{atm}` and :math:`v_{atm}` (m +s\ :sup:`-1`), potential temperature :math:`\theta _{atm}` (K), +and specific humidity :math:`q_{atm}` (kg kg\ :sup:`-1`)] and the +surface [with :math:`u_{s}` , :math:`v_{s}` , :math:`\theta _{s}` , and +:math:`q_{s}` ] are .. math:: :label: 5.1 @@ -25,7 +35,14 @@ The zonal :math:`\tau _{x}` and meridional :math:`\tau _{y}` momentum fluxes (kg E=-\rho _{atm} \frac{\left(q_{atm} -q_{s} \right)}{r_{aw} } . -These fluxes are derived in the next section from Monin-Obukhov similarity theory developed for the surface layer (i.e., the nearly constant flux layer above the surface sublayer). In this derivation, :math:`u_{s}` and :math:`v_{s}` are defined to equal zero at height :math:`z_{0m} +d` (the apparent sink for momentum) so that :math:`r_{am}` is the aerodynamic resistance (s m\ :sup:`-1`) for momentum between the atmosphere at height :math:`z_{atm,\, m}` and the surface at height :math:`z_{0m} +d`. Thus, the momentum fluxes become +These fluxes are derived in the next section from Monin-Obukhov +similarity theory developed for the surface layer (i.e., the nearly +constant flux layer above the surface sublayer). In this derivation, +:math:`u_{s}` and :math:`v_{s}` are defined to equal zero at height +:math:`z_{0m} +d` (the apparent sink for momentum) so that +:math:`r_{am}` is the aerodynamic resistance (s m\ :sup:`-1`) for +momentum between the atmosphere at height :math:`z_{atm,\, m}` and the +surface at height :math:`z_{0m} +d`. Thus, the momentum fluxes become .. math:: :label: 5.5 @@ -37,21 +54,40 @@ These fluxes are derived in the next section from Monin-Obukhov similarity theor \tau _{y} =-\rho _{atm} \frac{v_{atm} }{r_{am} } . -Likewise, :math:`\theta _{s}` and :math:`q_{s}` are defined at heights :math:`z_{0h} +d` and :math:`z_{0w} +d` (the apparent sinks for heat and water vapor, respectively :math:`r_{aw}` are the aerodynamic resistances (s m\ :sup:`-1`) to sensible heat and water vapor transfer between the atmosphere at heights :math:`z_{atm,\, h}` and :math:`z_{atm,\, w}` and the surface at heights :math:`z_{0h} +d` and :math:`z_{0w} +d`, respectively. The specific heat capacity of air :math:`C_{p}` (J kg\ :sup:`-1` K\ :sup:`-1`) is a constant (:numref:`Table Physical constants`). The atmospheric potential temperature used here is +Likewise, :math:`\theta _{s}` and :math:`q_{s}` are defined at +heights :math:`z_{0h} +d` and :math:`z_{0w} +d` (the apparent sinks for +heat and water vapor, respectively + +:math:`r_{aw}` are the aerodynamic resistances (s m\ :sup:`-1`) +to sensible heat and water vapor transfer between the atmosphere at +heights :math:`z_{atm,\, h}` and :math:`z_{atm,\, w}` and the surface +at heights :math:`z_{0h} +d` and :math:`z_{0w} +d`, respectively. The +specific heat capacity of air :math:`C_{p}` (J kg\ :sup:`-1` +K\ :sup:`-1`) is a constant (:numref:`Table Physical constants`). The atmospheric potential +temperature used here is .. math:: :label: 5.7 \theta _{atm} =T_{atm} +\Gamma _{d} z_{atm,\, h} -where :math:`T_{atm}` is the air temperature (K) at height :math:`z_{atm,\, h}` and :math:`\Gamma _{d} =0.0098` K m\ :sup:`-1` is the negative of the dry adiabatic lapse rate [this expression is first-order equivalent to :math:`\theta _{atm} =T_{atm} \left({P_{srf} \mathord{\left/ {\vphantom {P_{srf} P_{atm} }} \right.} P_{atm} } \right)^{{R_{da} \mathord{\left/ {\vphantom {R_{da} C_{p} }} \right.} C_{p} } }` (:ref:`Stull 1988 `), where :math:`P_{srf}` is the surface pressure (Pa), :math:`P_{atm}` is the atmospheric pressure (Pa), and :math:`R_{da}` is the gas constant for dry air (J kg\ :sup:`-1` K\ :sup:`-1`) (:numref:`Table Physical constants`)]. By definition, :math:`\theta _{s} =T_{s}`. The density of moist air (kg m\ :sup:`-3`) is +where :math:`T_{atm}` is the air temperature (K) at height +:math:`z_{atm,\, h}` and :math:`\Gamma _{d} =0.0098` K +m\ :sup:`-1` is the negative of the dry adiabatic lapse rate [this +expression is first-order equivalent to +:math:`\theta _{atm} =T_{atm} \left({P_{srf} \mathord{\left/ {\vphantom {P_{srf} P_{atm} }} \right. \kern-\nulldelimiterspace} P_{atm} } \right)^{{R_{da} \mathord{\left/ {\vphantom {R_{da} C_{p} }} \right. \kern-\nulldelimiterspace} C_{p} } }` +(:ref:`Stull 1988 `), where :math:`P_{srf}` is the surface pressure (Pa), +:math:`P_{atm}` is the atmospheric pressure (Pa), and :math:`R_{da}` +is the gas constant for dry air (J kg\ :sup:`-1` K\ :sup:`-1`) (:numref:`Table Physical constants`)]. By definition, +:math:`\theta _{s} =T_{s}` . The density of moist air (kg m\ :sup:`-3`) is .. math:: :label: 5.8 \rho _{atm} =\frac{P_{atm} -0.378e_{atm} }{R_{da} T_{atm} } -where the atmospheric vapor pressure :math:`e_{atm}` (Pa) is derived from the atmospheric specific humidity :math:`q_{atm}` +where the atmospheric vapor pressure :math:`e_{atm}` (Pa) is derived +from the atmospheric specific humidity :math:`q_{atm}` .. math:: :label: 5.9 @@ -63,7 +99,17 @@ where the atmospheric vapor pressure :math:`e_{atm}` (Pa) is derived from the at Monin-Obukhov Similarity Theory ----------------------------------- -The surface vertical kinematic fluxes of momentum :math:`\overline{u'w'}` and :math:`\overline{v'w'}` (m\ :sup:`2` s\ :sub:`-2`), sensible heat :math:`\overline{\theta 'w'}` (K m s :sup:`-1`), and latent heat :math:`\overline{q'w'}` (kg kg\ :sup:`-1` m s\ :sup:`-1`), where :math:`u'`, :math:`v'`, :math:`w'`, :math:`\theta '`, and :math:`q'` are zonal horizontal wind, meridional horizontal wind, vertical velocity, potential temperature, and specific humidity turbulent fluctuations about the mean, are defined from Monin-Obukhov similarity applied to the surface layer. This theory states that when scaled appropriately, the dimensionless mean horizontal wind speed, mean potential temperature, and mean specific humidity profile gradients depend on unique functions of :math:`\zeta =\frac{z-d}{L}` (:ref:`Zeng et al. 1998`) as +The surface vertical kinematic fluxes of momentum +:math:`\overline{u'w'}` and :math:`\overline{v'w'}` (m\ :sup:`2` s\ :sub:`-2`), sensible heat :math:`\overline{\theta 'w'}` +(K m s :sup:`-1`), and latent heat :math:`\overline{q'w'}` (kg kg\ :sup:`-1` m s\ :sup:`-1`), where :math:`u'`, :math:`v'`, +:math:`w'`, :math:`\theta '`, and :math:`q'` are zonal horizontal wind, +meridional horizontal wind, vertical velocity, potential temperature, +and specific humidity turbulent fluctuations about the mean, are defined +from Monin-Obukhov similarity applied to the surface layer. This theory +states that when scaled appropriately, the dimensionless mean horizontal +wind speed, mean potential temperature, and mean specific humidity +profile gradients depend on unique functions of +:math:`\zeta =\frac{z-d}{L}` (:ref:`Zeng et al. 1998`) as .. math:: :label: 5.10 @@ -80,7 +126,20 @@ The surface vertical kinematic fluxes of momentum :math:`\overline{u'w'}` and :m \frac{k\left(z-d\right)}{q_{*} } \frac{\partial q}{\partial z} =\phi _{w} \left(\zeta \right) -where :math:`z` is height in the surface layer (m), :math:`d` is the displacement height (m), :math:`L` is the Monin-Obukhov length scale (m) that accounts for buoyancy effects resulting from vertical density gradients (i.e., the atmospheric stability), k is the von Karman constant (:numref:`Table Physical constants`), and :math:`\left|{\it u}\right|` is the atmospheric wind speed (m s\ :sup:`-1`). :math:`\phi _{m}`, :math:`\phi _{h}`, and :math:`\phi _{w}` are universal (over any surface) similarity functions of :math:`\zeta` that relate the constant fluxes of momentum, sensible heat, and latent heat to the mean profile gradients of :math:`\left|{\it u}\right|`, :math:`\theta`, and :math:`q` in the surface layer. In neutral conditions, :math:`\phi _{m} =\phi _{h} =\phi _{w} =1`. The velocity (i.e., friction velocity) :math:`u_{*}` (m s\ :sup:`-1`), temperature :math:`\theta _{*}` (K), and moisture :math:`q_{*}` (kg kg\ :sup:`-1`) scales are +where :math:`z` is height in the surface layer (m), :math:`d` is the +displacement height (m), :math:`L` is the Monin-Obukhov length scale (m) +that accounts for buoyancy effects resulting from vertical density +gradients (i.e., the atmospheric stability), k is the von Karman +constant (:numref:`Table Physical constants`), and :math:`\left|{\it u}\right|` is the +atmospheric wind speed (m s\ :sup:`-1`). :math:`\phi _{m}` , +:math:`\phi _{h}` , and :math:`\phi _{w}` are universal (over any +surface) similarity functions of :math:`\zeta` that relate the constant +fluxes of momentum, sensible heat, and latent heat to the mean profile +gradients of :math:`\left|{\it u}\right|`, :math:`\theta` , and +:math:`q` in the surface layer. In neutral conditions, +:math:`\phi _{m} =\phi _{h} =\phi _{w} =1`. The velocity (i.e., friction +velocity) :math:`u_{\*}` (m s\ :sup:`-1`), temperature +:math:`\theta _{\*}` (K), and moisture :math:`q_{\*}` (kg kg\ :sup:`-1`) scales are .. math:: :label: 5.13 @@ -97,7 +156,11 @@ where :math:`z` is height in the surface layer (m), :math:`d` is the displacemen q_{*} u_{*} =-\overline{q'w'}=-\frac{E}{\rho _{atm} } -where :math:`\left|{\it \tau }\right|` is the shearing stress (kg m\ :sup:`-1` s\ :sup:`-2`), with zonal and meridional components :math:`\overline{u'w'}=-\frac{\tau _{x} }{\rho _{atm} }` and :math:`\overline{v'w'}=-\frac{\tau _{y} }{\rho _{atm} }`, respectively, :math:`H` is the sensible heat flux (W m\ :sup:`-2`) and :math:`E` is the water vapor flux (kg m\ :sup:`-2` s\ :sup:`-1`). +where :math:`\left|{\it \tau }\right|` is the shearing stress (kg m\ :sup:`-1` s\ :sup:`-2`), with zonal and meridional +components :math:`\overline{u'w'}=-\frac{\tau _{x} }{\rho _{atm} }` and +:math:`\overline{v'w'}=-\frac{\tau _{y} }{\rho _{atm} }` , respectively, +:math:`H` is the sensible heat flux (W m\ :sup:`-2`) and :math:`E` +is the water vapor flux (kg m\ :sup:`-2` s\ :sup:`-1`). The length scale :math:`L` is the Monin-Obukhov length defined as @@ -106,16 +169,32 @@ The length scale :math:`L` is the Monin-Obukhov length defined as L=-\frac{u_{*}^{3} }{k\left(\frac{g}{\overline{\theta _{v,\, atm} }} \right)\theta '_{v} w'} =\frac{u_{*}^{2} \overline{\theta _{v,\, atm} }}{kg\theta _{v*} } -where :math:`g` is the acceleration of gravity (m s\ :sup:`-2`) (:numref:`Table Physical constants`), and :math:`\overline{\theta _{v,\, atm} }=\overline{\theta _{atm} }\left(1+0.61q_{atm} \right)` is the reference virtual potential temperature. :math:`L>0` indicates stable conditions. :math:`L<0` indicates unstable conditions. :math:`L=\infty` for neutral conditions. The temperature scale :math:`\theta _{v*}` is defined as +where :math:`g` is the acceleration of gravity (m s\ :sup:`-2`) +(:numref:`Table Physical constants`), and +:math:`\overline{\theta _{v,\, atm} }=\overline{\theta _{atm} }\left(1+0.61q_{atm} \right)` +is the reference virtual potential temperature. :math:`L>0` indicates +stable conditions. :math:`L<0` indicates unstable conditions. +:math:`L=\infty` for neutral conditions. The temperature scale +:math:`\theta _{v*}` is defined as .. math:: :label: 5.17 \theta _{v*} u_{*} =\left[\theta _{*} \left(1+0.61q_{atm} \right)+0.61\overline{\theta _{atm} }q_{*} \right]u_{*} -where :math:`\overline{\theta _{atm} }` is the atmospheric potential temperature. +where :math:`\overline{\theta _{atm} }` is the atmospheric potential +temperature. -Following :ref:`Panofsky and Dutton (1984)`, the differential equations for :math:`\phi _{m} \left(\zeta \right)`, :math:`\phi _{h} \left(\zeta \right)`, and :math:`\phi _{w} \left(\zeta \right)` can be integrated formally without commitment to their exact forms. Integration between two arbitrary heights in the surface layer :math:`z_{2}` and :math:`z_{1}` (:math:`z_{2} >z_{1}` ) with horizontal winds :math:`\left|{\it u}\right|_{1}` and :math:`\left|{\it u}\right|_{2}`, potential temperatures :math:`\theta _{1}` and :math:`\theta _{2}`, and specific humidities :math:`q_{1}` and :math:`q_{2}` results in +Following :ref:`Panofsky and Dutton (1984)`, the differential equations for +:math:`\phi _{m} \left(\zeta \right)`, +:math:`\phi _{h} \left(\zeta \right)`, and +:math:`\phi _{w} \left(\zeta \right)` can be integrated formally without +commitment to their exact forms. Integration between two arbitrary +heights in the surface layer :math:`z_{2}` and :math:`z_{1}` +(:math:`z_{2} >z_{1}` ) with horizontal winds +:math:`\left|{\it u}\right|_{1}` and :math:`\left|{\it u}\right|_{2}` , +potential temperatures :math:`\theta _{1}` and :math:`\theta _{2}` , +and specific humidities :math:`q_{1}` and :math:`q_{2}` results in .. math:: :label: 5.18 @@ -132,24 +211,28 @@ Following :ref:`Panofsky and Dutton (1984)`, the differentia q_{2} -q_{1} =\frac{q_{*} }{k} \left[\ln \left(\frac{z_{2} -d}{z_{1} -d} \right)-\psi _{w} \left(\frac{z_{2} -d}{L} \right)+\psi _{w} \left(\frac{z_{1} -d}{L} \right)\right]. -The functions :math:`\psi _{m} \left(\zeta \right)`, :math:`\psi _{h} \left(\zeta \right)`, and :math:`\psi _{w} \left(\zeta \right)` are defined as +The functions :math:`\psi _{m} \left(\zeta \right)`, +:math:`\psi _{h} \left(\zeta \right)`, and +:math:`\psi _{w} \left(\zeta \right)` are defined as .. math:: :label: 5.21 - \psi _{m} \left(\zeta \right)=\int _{{z_{0m} \mathord{\left/ {\vphantom {z_{0m} L}} \right.} L} }^{\zeta }\frac{\left[1-\phi _{m} \left(x\right)\right]}{x} \, dx + \psi _{m} \left(\zeta \right)=\int _{{z_{0m} \mathord{\left/ {\vphantom {z_{0m} L}} \right. \kern-\nulldelimiterspace} L} }^{\zeta }\frac{\left[1-\phi _{m} \left(x\right)\right]}{x} \, dx .. math:: :label: 5.22 - \psi _{h} \left(\zeta \right)=\int _{{z_{0h} \mathord{\left/ {\vphantom {z_{0h} L}} \right.} L} }^{\zeta }\frac{\left[1-\phi _{h} \left(x\right)\right]}{x} \, dx + \psi _{h} \left(\zeta \right)=\int _{{z_{0h} \mathord{\left/ {\vphantom {z_{0h} L}} \right. \kern-\nulldelimiterspace} L} }^{\zeta }\frac{\left[1-\phi _{h} \left(x\right)\right]}{x} \, dx .. math:: :label: 5.23 - \psi _{w} \left(\zeta \right)=\int _{{z_{0w} \mathord{\left/ {\vphantom {z_{0w} L}} \right.} L} }^{\zeta }\frac{\left[1-\phi _{w} \left(x\right)\right]}{x} \, dx + \psi _{w} \left(\zeta \right)=\int _{{z_{0w} \mathord{\left/ {\vphantom {z_{0w} L}} \right. \kern-\nulldelimiterspace} L} }^{\zeta }\frac{\left[1-\phi _{w} \left(x\right)\right]}{x} \, dx -where :math:`z_{0m}`, :math:`z_{0h}`, and :math:`z_{0w}` are the roughness lengths (m) for momentum, sensible heat, and water vapor, respectively. +where :math:`z_{0m}` , :math:`z_{0h}` , and :math:`z_{0w}` are the +roughness lengths (m) for momentum, sensible heat, and water vapor, +respectively. Defining the surface values @@ -159,7 +242,7 @@ Defining the surface values .. math:: q_{1} =q_{s} {\rm \; at\; }z_{1} =z_{0w} +d, -and the atmospheric values at :math:`z_{2} =z_{atm,\, x}` +and the atmospheric values at :math:`z_{2} =z_{atm,\, x}` .. math:: :label: 5.24 @@ -187,23 +270,27 @@ the integral forms of the flux-gradient relations are q_{atm} -q_{s} =\frac{q_{*} }{k} \left[\ln \left(\frac{z_{atm,\, w} -d}{z_{0w} } \right)-\psi _{w} \left(\frac{z_{atm,\, w} -d}{L} \right)+\psi _{w} \left(\frac{z_{0w} }{L} \right)\right]. -The constraint :math:`V_{a} \ge 1` is required simply for numerical reasons to prevent :math:`H` and :math:`E` from becoming small with small wind speeds. The convective velocity :math:`U_{c}` accounts for the contribution of large eddies in the convective boundary layer to surface fluxes as follows +The constraint :math:`V_{a} \ge 1` is required simply for numerical +reasons to prevent :math:`H` and :math:`E` from becoming small with +small wind speeds. The convective velocity :math:`U_{c}` accounts for +the contribution of large eddies in the convective boundary layer to +surface fluxes as follows .. math:: :label: 5.28 U_{c} = \left\{ - \begin{array}{ll} - 0 & \qquad \zeta \ge {\rm 0} \quad {\rm (stable)} \\ - \beta w_{*} & \qquad \zeta < 0 \quad {\rm (unstable)} + \begin{array}{ll} + 0 & \qquad \zeta \ge {\rm 0} \quad {\rm (stable)} \\ + \beta w_{*} & \qquad \zeta < 0 \quad {\rm (unstable)} \end{array} \right\} -where :math:`w_{*}` is the convective velocity scale +where :math:`w_{*}` is the convective velocity scale .. math:: :label: 5.29 - w_{*} =\left(\frac{-gu_{*} \theta _{v*} z_{i} }{\overline{\theta _{v,\, atm} }} \right)^{{1\mathord{\left/ {\vphantom {1 3}} \right.} 3} } , + w_{*} =\left(\frac{-gu_{\*} \theta _{v*} z_{i} }{\overline{\theta _{v,\, atm} }} \right)^{{1\mathord{\left/ {\vphantom {1 3}} \right. \kern-\nulldelimiterspace} 3} } , :math:`z_{i} =1000` is the convective boundary layer height (m), and :math:`\beta =1`. @@ -212,11 +299,11 @@ The momentum flux gradient relations are (:ref:`Zeng et al. 1998 ` .. math:: :label: 5.30 - \begin{array}{llr} - \phi _{m} \left(\zeta \right)=0.7k^{{2\mathord{\left/ {\vphantom {2 3}} \right.} 3} } \left(-\zeta \right)^{{1\mathord{\left/ {\vphantom {1 3}} \right.} 3} } & \qquad {\rm for\; }\zeta <-1.574 & \ {\rm \; (very\; unstable)} \\ - \phi _{m} \left(\zeta \right)=\left(1-16\zeta \right)^{-{1\mathord{\left/ {\vphantom {1 4}} \right.} 4} } & \qquad {\rm for\; -1.574}\le \zeta <0 & \ {\rm \; (unstable)} \\ - \phi _{m} \left(\zeta \right)=1+5\zeta & \qquad {\rm for\; }0\le \zeta \le 1& \ {\rm \; (stable)} \\ - \phi _{m} \left(\zeta \right)=5+\zeta & \qquad {\rm for\; }\zeta >1 & \ {\rm\; (very\; stable).} + \begin{array}{llr} + \phi _{m} \left(\zeta \right)=0.7k^{{2\mathord{\left/ {\vphantom {2 3}} \right. \kern-\nulldelimiterspace} 3} } \left(-\zeta \right)^{{1\mathord{\left/ {\vphantom {1 3}} \right. \kern-\nulldelimiterspace} 3} } & \qquad {\rm for\; }\zeta <-1.574 & \ {\rm \; (very\; unstable)} \\ + \phi _{m} \left(\zeta \right)=\left(1-16\zeta \right)^{-{1\mathord{\left/ {\vphantom {1 4}} \right. \kern-\nulldelimiterspace} 4} } & \qquad {\rm for\; -1.574}\le \zeta <0 & \ {\rm \; (unstable)} \\ + \phi _{m} \left(\zeta \right)=1+5\zeta & \qquad {\rm for\; }0\le \zeta \le 1& \ {\rm \; (stable)} \\ + \phi _{m} \left(\zeta \right)=5+\zeta & \qquad {\rm for\; }\zeta >1 & \ {\rm\; (very\; stable).} \end{array} The sensible and latent heat flux gradient relations are (:ref:`Zeng et al. 1998 `) @@ -224,21 +311,31 @@ The sensible and latent heat flux gradient relations are (:ref:`Zeng et al. 1998 .. math:: :label: 5.31 - \begin{array}{llr} - \phi _{h} \left(\zeta \right)=\phi _{w} \left(\zeta \right)=0.9k^{{4\mathord{\left/ {\vphantom {4 3}} \right.} 3} } \left(-\zeta \right)^{{-1\mathord{\left/ {\vphantom {-1 3}} \right.} 3} } & \qquad {\rm for\; }\zeta <-0.465 & \ {\rm \; (very\; unstable)} \\ - \phi _{h} \left(\zeta \right)=\phi _{w} \left(\zeta \right)=\left(1-16\zeta \right)^{-{1\mathord{\left/ {\vphantom {1 2}} \right.} 2} } & \qquad {\rm for\; -0.465}\le \zeta <0 & \ {\rm \; (unstable)} \\ - \phi _{h} \left(\zeta \right)=\phi _{w} \left(\zeta \right)=1+5\zeta & \qquad {\rm for\; }0\le \zeta \le 1 & \ {\rm \; (stable)} \\ - \phi _{h} \left(\zeta \right)=\phi _{w} \left(\zeta \right)=5+\zeta & \qquad {\rm for\; }\zeta >1 & \ {\rm \; (very\; stable).} + \begin{array}{llr} + \phi _{h} \left(\zeta \right)=\phi _{w} \left(\zeta \right)=0.9k^{{4\mathord{\left/ {\vphantom {4 3}} \right. \kern-\nulldelimiterspace} 3} } \left(-\zeta \right)^{{-1\mathord{\left/ {\vphantom {-1 3}} \right. \kern-\nulldelimiterspace} 3} } & \qquad {\rm for\; }\zeta <-0.465 & \ {\rm \; (very\; unstable)} \\ + \phi _{h} \left(\zeta \right)=\phi _{w} \left(\zeta \right)=\left(1-16\zeta \right)^{-{1\mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2} } & \qquad {\rm for\; -0.465}\le \zeta <0 & \ {\rm \; (unstable)} \\ + \phi _{h} \left(\zeta \right)=\phi _{w} \left(\zeta \right)=1+5\zeta & \qquad {\rm for\; }0\le \zeta \le 1 & \ {\rm \; (stable)} \\ + \phi _{h} \left(\zeta \right)=\phi _{w} \left(\zeta \right)=5+\zeta & \qquad {\rm for\; }\zeta >1 & \ {\rm \; (very\; stable).} \end{array} -To ensure continuous functions of :math:`\phi _{m} \left(\zeta \right)`, :math:`\phi _{h} \left(\zeta \right)`, and :math:`\phi _{w} \left(\zeta \right)`, the simplest approach (i.e., without considering any transition regimes) is to match the relations for very unstable and unstable conditions at :math:`\zeta _{m} =-1.574` for :math:`\phi _{m} \left(\zeta \right)` and :math:`\zeta _{h} =\zeta _{w} =-0.465` for :math:`\phi _{h} \left(\zeta \right)=\phi _{w} \left(\zeta \right)` (:ref:`Zeng et al. 1998 `). The flux gradient relations can be integrated to yield wind profiles for the following conditions: +To ensure continuous functions of +:math:`\phi _{m} \left(\zeta \right)`, +:math:`\phi _{h} \left(\zeta \right)`, and +:math:`\phi _{w} \left(\zeta \right)`, the simplest approach (i.e., +without considering any transition regimes) is to match the relations +for very unstable and unstable conditions at :math:`\zeta _{m} =-1.574` +for :math:`\phi _{m} \left(\zeta \right)` and +:math:`\zeta _{h} =\zeta _{w} =-0.465` for +:math:`\phi _{h} \left(\zeta \right)=\phi _{w} \left(\zeta \right)` +(:ref:`Zeng et al. 1998 `). The flux gradient relations can be integrated to +yield wind profiles for the following conditions: Very unstable :math:`\left(\zeta <-1.574\right)` .. math:: :label: 5.32 - V_{a} =\frac{u_{*} }{k} \left\{\left[\ln \frac{\zeta _{m} L}{z_{0m} } -\psi _{m} \left(\zeta _{m} \right)\right]+1.14\left[\left(-\zeta \right)^{{1\mathord{\left/ {\vphantom {1 3}} \right.} 3} } -\left(-\zeta _{m} \right)^{{1\mathord{\left/ {\vphantom {1 3}} \right.} 3} } \right]+\psi _{m} \left(\frac{z_{0m} }{L} \right)\right\} + V_{a} =\frac{u_{*} }{k} \left\{\left[\ln \frac{\zeta _{m} L}{z_{0m} } -\psi _{m} \left(\zeta _{m} \right)\right]+1.14\left[\left(-\zeta \right)^{{1\mathord{\left/ {\vphantom {1 3}} \right. \kern-\nulldelimiterspace} 3} } -\left(-\zeta _{m} \right)^{{1\mathord{\left/ {\vphantom {1 3}} \right. \kern-\nulldelimiterspace} 3} } \right]+\psi _{m} \left(\frac{z_{0m} }{L} \right)\right\} Unstable :math:`\left(-1.574\le \zeta <0\right)` @@ -258,7 +355,7 @@ Very stable :math:`\left(\zeta >1\right)` .. math:: :label: 5.35 - + V_{a} =\frac{u_{*} }{k} \left\{\left[\ln \frac{L}{z_{0m} } +5\right]+\left[5\ln \zeta +\zeta -1\right]-5\frac{z_{0m} }{L} \right\} where @@ -270,7 +367,7 @@ where and -:math:`x=\left(1-16\zeta \right)^{{1\mathord{\left/ {\vphantom {1 4}} \right.} 4} }` . +:math:`x=\left(1-16\zeta \right)^{{1\mathord{\left/ {\vphantom {1 4}} \right. \kern-\nulldelimiterspace} 4} }` . The potential temperature profiles are: @@ -279,7 +376,7 @@ Very unstable :math:`\left(\zeta <-0.465\right)` .. math:: :label: 5.37 - \theta _{atm} -\theta _{s} =\frac{\theta _{*} }{k} \left\{\left[\ln \frac{\zeta _{h} L}{z_{0h} } -\psi _{h} \left(\zeta _{h} \right)\right]+0.8\left[\left(-\zeta _{h} \right)^{{-1\mathord{\left/ {\vphantom {-1 3}} \right.} 3} } -\left(-\zeta \right)^{{-1\mathord{\left/ {\vphantom {-1 3}} \right.} 3} } \right]+\psi _{h} \left(\frac{z_{0h} }{L} \right)\right\} + \theta _{atm} -\theta _{s} =\frac{\theta _{*} }{k} \left\{\left[\ln \frac{\zeta _{h} L}{z_{0h} } -\psi _{h} \left(\zeta _{h} \right)\right]+0.8\left[\left(-\zeta _{h} \right)^{{-1\mathord{\left/ {\vphantom {-1 3}} \right. \kern-\nulldelimiterspace} 3} } -\left(-\zeta \right)^{{-1\mathord{\left/ {\vphantom {-1 3}} \right. \kern-\nulldelimiterspace} 3} } \right]+\psi _{h} \left(\frac{z_{0h} }{L} \right)\right\} Unstable :math:`\left(-0.465\le \zeta <0\right)` @@ -288,6 +385,7 @@ Unstable :math:`\left(-0.465\le \zeta <0\right)` \theta _{atm} -\theta _{s} =\frac{\theta _{*} }{k} \left\{\left[\ln \frac{z_{atm,\, h} -d}{z_{0h} } -\psi _{h} \left(\zeta \right)\right]+\psi _{h} \left(\frac{z_{0h} }{L} \right)\right\} + Stable :math:`\left(0\le \zeta \le 1\right)` .. math:: @@ -309,7 +407,7 @@ Very unstable :math:`\left(\zeta <-0.465\right)` .. math:: :label: 5.41 - q_{atm} -q_{s} =\frac{q_{*} }{k} \left\{\left[\ln \frac{\zeta _{w} L}{z_{0w} } -\psi _{w} \left(\zeta _{w} \right)\right]+0.8\left[\left(-\zeta _{w} \right)^{{-1\mathord{\left/ {\vphantom {-1 3}} \right.} 3} } -\left(-\zeta \right)^{{-1\mathord{\left/ {\vphantom {-1 3}} \right.} 3} } \right]+\psi _{w} \left(\frac{z_{0w} }{L} \right)\right\} + q_{atm} -q_{s} =\frac{q_{*} }{k} \left\{\left[\ln \frac{\zeta _{w} L}{z_{0w} } -\psi _{w} \left(\zeta _{w} \right)\right]+0.8\left[\left(-\zeta _{w} \right)^{{-1\mathord{\left/ {\vphantom {-1 3}} \right. \kern-\nulldelimiterspace} 3} } -\left(-\zeta \right)^{{-1\mathord{\left/ {\vphantom {-1 3}} \right. \kern-\nulldelimiterspace} 3} } \right]+\psi _{w} \left(\frac{z_{0w} }{L} \right)\right\} Unstable :math:`\left(-0.465\le \zeta <0\right)` @@ -339,31 +437,45 @@ where \psi _{h} \left(\zeta \right)=\psi _{w} \left(\zeta \right)=2\ln \left(\frac{1+x^{2} }{2} \right). -Using the definitions of :math:`u_{*}`, :math:`\theta _{*}`, and :math:`q_{*}`, an iterative solution of these equations can be used to calculate the surface momentum, sensible heat, and water vapor flux using atmospheric and surface values for :math:`\left|{\it u}\right|`, :math:`\theta`, and :math:`q` except that :math:`L` depends on :math:`u_{*}`, :math:`\theta _{*}`, and :math:`q_{*}`. However, the bulk Richardson number +Using the definitions of :math:`u_{*}` , :math:`\theta _{*}` , and +:math:`q_{*}` , an iterative solution of these equations can be used to +calculate the surface momentum, sensible heat, and water vapor flux +using atmospheric and surface values for :math:`\left|{\it u}\right|`, +:math:`\theta` , and :math:`q` except that :math:`L` depends on +:math:`u_{*}` , :math:`\theta _{*}` , and :math:`q_{*}` . However, the +bulk Richardson number .. math:: :label: 5.46 R_{iB} =\frac{\theta _{v,\, atm} -\theta _{v,\, s} }{\overline{\theta _{v,\, atm} }} \frac{g\left(z_{atm,\, m} -d\right)}{V_{a}^{2} } -is related to :math:`\zeta` (:ref:`Arya 2001 `) as + +is related to :math:`\zeta` (:ref:`Arya 2001 `) as .. math:: :label: 5.47 R_{iB} =\zeta \left[\ln \left(\frac{z_{atm,\, h} -d}{z_{0h} } \right)-\psi _{h} \left(\zeta \right)\right]\left[\ln \left(\frac{z_{atm,\, m} -d}{z_{0m} } \right)-\psi _{m} \left(\zeta \right)\right]^{-2} . -Using :math:`\phi _{h} =\phi _{m}^{2} =\left(1-16\zeta \right)^{-{1\mathord{\left/ {\vphantom {1 2}} \right.} 2} }` for unstable conditions and :math:`\phi _{h} =\phi _{m} =1+5\zeta` for stable conditions to determine :math:`\psi _{m} \left(\zeta \right)` and :math:`\psi _{h} \left(\zeta \right)`, the inverse relationship :math:`\zeta =f\left(R_{iB} \right)` can be solved to obtain a first guess for :math:`\zeta` and thus :math:`L` from +Using +:math:`\phi _{h} =\phi _{m}^{2} =\left(1-16\zeta \right)^{-{1\mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2} }` +for unstable conditions and :math:`\phi _{h} =\phi _{m} =1+5\zeta` for +stable conditions to determine :math:`\psi _{m} \left(\zeta \right)` and +:math:`\psi _{h} \left(\zeta \right)`, the inverse relationship +:math:`\zeta =f\left(R_{iB} \right)` can be solved to obtain a first +guess for :math:`\zeta` and thus :math:`L` from .. math:: :label: 5.48 \begin{array}{lcr} - \zeta =\frac{R_{iB} \ln \left(\frac{z_{atm,\, m} -d}{z_{0m} } \right)}{1-5\min \left(R_{iB} ,0.19\right)} & \qquad 0.01\le \zeta \le 2 & \qquad {\rm for\; }R_{iB} \ge 0 {\rm \; (neutral\; or\; stable)} \\ + \zeta =\frac{R_{iB} \ln \left(\frac{z_{atm,\, m} -d}{z_{0m} } \right)}{1-5\min \left(R_{iB} ,0.19\right)} & \qquad 0.01\le \zeta \le 2 & \qquad {\rm for\; }R_{iB} \ge 0 {\rm \; (neutral\; or\; stable)} \\ \zeta =R_{iB} \ln \left(\frac{z_{atm,\, m} -d}{z_{0m} } \right) & \qquad -100\le \zeta \le -0.01 & \qquad {\rm for\; }R_{iB} <0 \ {\rm \; (unstable)} \end{array}. -Upon iteration (section :numref:`Numerical Implementation`), the following is used to determine :math:`\zeta` and thus :math:`L` +Upon iteration (section :numref:`Numerical Implementation`), the following is used to determine +:math:`\zeta` and thus :math:`L` .. math:: :label: 5.49 @@ -372,21 +484,23 @@ Upon iteration (section :numref:`Numerical Implementation`), the following is us where -.. math:: +.. math:: - \begin{array}{cr} - 0.01\le \zeta \le 2 & \qquad {\rm for\; }\zeta \ge 0{\rm \; (neutral\; or\; stable)} \\ + \begin{array}{cr} + 0.01\le \zeta \le 2 & \qquad {\rm for\; }\zeta \ge 0{\rm \; (neutral\; or\; stable)} \\ {\rm -100}\le \zeta \le {\rm -0.01} & \qquad {\rm for\; }\zeta <0{\rm \; (unstable)} \end{array}. -The difference in virtual potential air temperature between the reference height and the surface is +The difference in virtual potential air temperature between the +reference height and the surface is .. math:: :label: 5.50 \theta _{v,\, atm} -\theta _{v,\, s} =\left(\theta _{atm} -\theta _{s} \right)\left(1+0.61q_{atm} \right)+0.61\overline{\theta _{atm} }\left(q_{atm} -q_{s} \right). -The momentum, sensible heat, and water vapor fluxes between the surface and the atmosphere can also be written in the form +The momentum, sensible heat, and water vapor fluxes between the surface +and the atmosphere can also be written in the form .. math:: :label: 5.51 @@ -425,14 +539,17 @@ where the aerodynamic resistances (s m\ :sup:`-1`) are \begin{array}{l} {r_{aw} =\frac{q_{atm} -q_{s} }{q_{*} u_{*} } =\frac{1}{k^{2} V_{a} } \left[\ln \left(\frac{z_{atm,\, m} -d}{z_{0m} } \right)-\psi _{m} \left(\frac{z_{atm,\, m} -d}{L} \right)+\psi _{m} \left(\frac{z_{0m} }{L} \right)\right]} \\ {\qquad \left[\ln \left(\frac{z_{atm,\, {\it w}} -d}{z_{0w} } \right)-\psi _{w} \left(\frac{z_{atm,\, w} -d}{L} \right)+\psi _{w} \left(\frac{z_{0w} }{L} \right)\right]} \end{array}. -A 2-m height "screen" temperature is useful for comparison with observations +A 2-m height “screen” temperature is useful for comparison with +observations .. math:: :label: 5.58 T_{2m} =\theta _{s} +\frac{\theta _{*} }{k} \left[\ln \left(\frac{2+z_{0h} }{z_{0h} } \right)-\psi _{h} \left(\frac{2+z_{0h} }{L} \right)+\psi _{h} \left(\frac{z_{0h} }{L} \right)\right] -where for convenience, "2-m" is defined as 2 m above the apparent sink for sensible heat (:math:`z_{0h} +d`). Similarly, a 2-m height specific humidity is defined as +where for convenience, “2-m” is defined as 2 m above the apparent sink +for sensible heat (:math:`z_{0h} +d`). Similarly, a 2-m height specific +humidity is defined as .. math:: :label: 5.59 @@ -446,12 +563,15 @@ Relative humidity is RH_{2m} =\min \left(100,\, \frac{q_{2m} }{q_{sat}^{T_{2m} } } \times 100\right) -where :math:`q_{sat}^{T_{2m} }` is the saturated specific humidity at the 2-m temperature :math:`T_{2m}` (section :numref:`Saturation Vapor Pressure`). +where :math:`q_{sat}^{T_{2m} }` is the saturated specific humidity at +the 2-m temperature :math:`T_{2m}` (section :numref:`Saturation Vapor Pressure`). -A 10-m wind speed is calculated as (note that this is not consistent with the 10-m wind speed calculated for the dust model as described in Chapter :numref:`rst_Dust Model`) +A 10-m wind speed is calculated as (note that this is not consistent +with the 10-m wind speed calculated for the dust model as described in +Chapter :numref:`rst_Dust Model`) .. math:: - :label: 5.61 + :label: 5.61 u_{10m} =\left\{\begin{array}{l} {V_{a} \qquad z_{atm,\, m} \le 10} \\ {V_{a} -\frac{u_{*} }{k} \left[\ln \left(\frac{z_{atm,\, m} -d}{10+z_{0m} } \right)-\psi _{m} \left(\frac{z_{atm,\, m} -d}{L} \right)+\psi _{m} \left(\frac{10+z_{0m} }{L} \right)\right]\qquad z_{atm,\, m} >10} \end{array}\right\} @@ -460,33 +580,49 @@ A 10-m wind speed is calculated as (note that this is not consistent with the 10 Sensible and Latent Heat Fluxes for Non-Vegetated Surfaces -------------------------------------------------------------- -Surfaces are considered non-vegetated for the surface flux calculations if leaf plus stem area index :math:`L+S<0.05` (section :numref:`Phenology and vegetation burial by snow`). By definition, this includes bare soil and glaciers. The solution for lakes is described in Chapter :numref:`rst_Lake Model`. For these surfaces, the surface may be exposed to the atmosphere, snow covered, and/or surface water covered, so that the sensible heat flux :math:`H_{g}` (W m\ :sup:`-2`) is, with reference to :numref:`Figure Schematic diagram of sensible heat fluxes`, +Surfaces are considered non-vegetated for the surface flux calculations +if leaf plus stem area index :math:`L+S<0.05` (section +:numref:`Phenology and vegetation burial by snow`). By +definition, this includes bare soil and glaciers. The +solution for lakes is described in Chapter :numref:`rst_Lake Model`. For these surfaces, the +surface may be exposed to the atmosphere, snow covered, and/or surface +water covered, so that the sensible heat flux :math:`H_{g}` (W +m\ :sup:`-2`) is, with reference to :numref:`Figure Schematic diagram of sensible heat fluxes`, .. math:: :label: 5.62 H_{g} =\left(1-f_{sno} -f_{h2osfc} \right)H_{soil} +f_{sno} H_{snow} +f_{h2osfc} H_{h2osfc} -where :math:`\left(1-f_{sno} -f_{h2osfc} \right)`, :math:`f_{sno}`, and :math:`f_{h2osfc}` are the exposed, snow covered, and surface water covered fractions of the grid cell. The individual fluxes based on the temperatures of the soil :math:`T_{1}`, snow :math:`T_{snl+1}`, and surface water :math:`T_{h2osfc}` are +where :math:`\left(1-f_{sno} -f_{h2osfc} \right)`, :math:`f_{sno}` , and +:math:`f_{h2osfc}` are the exposed, snow covered, and surface water +covered fractions of the grid cell. The individual fluxes based on the +temperatures of the soil :math:`T_{1}` , snow :math:`T_{snl+1}` , and +surface water :math:`T_{h2osfc}` are .. math:: - :label: 5.63 + :label: 5.63 H_{soil} =-\rho _{atm} C_{p} \frac{\left(\theta _{atm} -T_{1} \right)}{r_{ah} } .. math:: - :label: 5.64 + :label: 5.64 H_{sno} =-\rho _{atm} C_{p} \frac{\left(\theta _{atm} -T_{snl+1} \right)}{r_{ah} } .. math:: - :label: 5.65 + :label: 5.65 H_{h2osfc} =-\rho _{atm} C_{p} \frac{\left(\theta _{atm} -T_{h2osfc} \right)}{r_{ah} } -where :math:`\rho _{atm}` is the density of atmospheric air (kg m\ :sup:`-3`), :math:`C_{p}` is the specific heat capacity of air (J kg\ :sup:`-1` K\ :sup:`-1`) (:numref:`Table Physical constants`), :math:`\theta _{atm}` is the atmospheric potential temperature (K), and :math:`r_{ah}` is the aerodynamic resistance to sensible heat transfer (s m\ :sup:`-1`). +where :math:`\rho _{atm}` is the density of atmospheric air (kg m\ :sup:`-3`), :math:`C_{p}` is the specific heat capacity of air +(J kg\ :sup:`-1` K\ :sup:`-1`) (:numref:`Table Physical constants`), +:math:`\theta _{atm}` is the atmospheric potential temperature (K), and +:math:`r_{ah}` is the aerodynamic resistance to sensible heat transfer +(s m\ :sup:`-1`). -The water vapor flux :math:`E_{g}` (kg m\ :sup:`-2` s\ :sup:`-1`) is, with reference to :numref:`Figure Schematic diagram of latent heat fluxes`, +The water vapor flux :math:`E_{g}` (kg m\ :sup:`-2` s\ :sup:`-1`) is, with reference to +:numref:`Figure Schematic diagram of latent heat fluxes`, .. math:: :label: 5.66 @@ -494,93 +630,133 @@ The water vapor flux :math:`E_{g}` (kg m\ :sup:`-2` s\ :sup:`-1`) is, with refer E_{g} =\left(1-f_{sno} -f_{h2osfc} \right)E_{soil} +f_{sno} E_{snow} +f_{h2osfc} E_{h2osfc} .. math:: - :label: 5.67 + :label: 5.67 E_{soil} =-\frac{\rho _{atm} \left(q_{atm} -q_{soil} \right)}{r_{aw} + r_{soil}} .. math:: - :label: 5.68 + :label: 5.68 E_{sno} =-\frac{\rho _{atm} \left(q_{atm} -q_{sno} \right)}{r_{aw} } .. math:: - :label: 5.69 + :label: 5.69 E_{h2osfc} =-\frac{\rho _{atm} \left(q_{atm} -q_{h2osfc} \right)}{r_{aw} } -where :math:`q_{atm}` is the atmospheric specific humidity (kg kg\ :sup:`-1`), :math:`q_{soil}`, :math:`q_{sno}`, and :math:`q_{h2osfc}` are the specific humidities (kg kg\ :sup:`-1`) of the soil, snow, and surface water, respectively, :math:`r_{aw}` is the aerodynamic resistance to water vapor transfer (s m\ :sup:`-1`), and :math:`r _{soi}` is the soil resistance to water vapor transfer (s m\ :sup:`-1`). The specific humidities of the snow :math:`q_{sno}` and surface water :math:`q_{h2osfc}` are assumed to be at the saturation specific humidity of their respective temperatures +where :math:`q_{atm}` is the atmospheric specific humidity (kg kg\ :sup:`-1`), :math:`q_{soil}` , :math:`q_{sno}` , +and :math:`q_{h2osfc}` are the specific humidities (kg kg\ :sup:`-1`) of the soil, snow, and surface water, respectively, +:math:`r_{aw}` is the aerodynamic resistance to water vapor transfer (s m\ :sup:`-1`), and :math:`r _{soi}` is the soil +resistance to water vapor transfer (s m\ :sup:`-1`). The specific humidities of the snow :math:`q_{sno}` and surface water +:math:`q_{h2osfc}` are assumed to be at the saturation specific humidity of their respective temperatures .. math:: - :label: 5.70 + :label: 5.70 q_{sno} =q_{sat}^{T_{snl+1} } .. math:: - :label: 5.71 + :label: 5.71 q_{h2osfc} =q_{sat}^{T_{h2osfc} } -The specific humidity of the soil surface :math:`q_{soil}` is assumed to be proportional to the saturation specific humidity +The specific humidity of the soil surface :math:`q_{soil}` is assumed +to be proportional to the saturation specific humidity .. math:: - :label: 5.72 + :label: 5.72 q_{soil} =\alpha _{soil} q_{sat}^{T_{1} } -where :math:`q_{sat}^{T_{1} }` is the saturated specific humidity at the soil surface temperature :math:`T_{1}` (section :numref:`Saturation Vapor Pressure`). The factor :math:`\alpha _{soil}` is a function of the surface soil water matric potential :math:`\psi` as in :ref:`Philip (1957)` +where :math:`q_{sat}^{T_{1} }` is the saturated specific humidity at +the soil surface temperature :math:`T_{1}` (section :numref:`Saturation Vapor Pressure`). The factor +:math:`\alpha _{soil}` is a function of the surface soil water matric +potential :math:`\psi` as in :ref:`Philip (1957)` .. math:: - :label: 5.73 + :label: 5.73 \alpha _{soil} =\exp \left(\frac{\psi _{1} g}{1\times 10^{3} R_{wv} T_{1} } \right) -where :math:`R_{wv}` is the gas constant for water vapor (J kg\ :sup:`-1` K\ :sup:`-1`) (:numref:`Table Physical constants`), :math:`g` is the gravitational acceleration (m s\ :sup:`-2`) (:numref:`Table Physical constants`), and :math:`\psi _{1}` is the soil water matric potential of the top soil layer (mm). The soil water matric potential :math:`\psi _{1}` is +where :math:`R_{wv}` is the gas constant for water vapor (J kg\ :sup:`-1` K\ :sup:`-1`) (:numref:`Table Physical constants`), :math:`g` is the +gravitational acceleration (m s\ :sup:`-2`) (:numref:`Table Physical constants`), and +:math:`\psi _{1}` is the soil water matric potential of the top soil +layer (mm). The soil water matric potential :math:`\psi _{1}` is .. math:: - :label: 5.74 + :label: 5.74 \psi _{1} =\psi _{sat,\, 1} s_{1}^{-B_{1} } \ge -1\times 10^{8} -where :math:`\psi _{sat,\, 1}` is the saturated matric potential (mm) (section :numref:`Hydraulic Properties`), :math:`B_{1}` is the :ref:`Clapp and Hornberger (1978) ` parameter (section :numref:`Hydraulic Properties`), and :math:`s_{1}` is the wetness of the top soil layer with respect to saturation. The surface wetness :math:`s_{1}` is a function of the liquid water and ice content +where :math:`\psi _{sat,\, 1}` is the saturated matric potential (mm) +(section :numref:`Hydraulic Properties`), +:math:`B_{1}` is the :ref:`Clapp and Hornberger (1978) ` +parameter (section :numref:`Hydraulic Properties`), +and :math:`s_{1}` is the wetness of the top soil layer with respect to saturation. +The surface wetness :math:`s_{1}` is a function of the liquid water and ice content .. math:: - :label: 5.75 + :label: 5.75 s_{1} =\frac{1}{\Delta z_{1} \theta _{sat,\, 1} } \left[\frac{w_{liq,\, 1} }{\rho _{liq} } +\frac{w_{ice,\, 1} }{\rho _{ice} } \right]\qquad 0.01\le s_{1} \le 1.0 -where :math:`\Delta z_{1}` is the thickness of the top soil layer (m), :math:`\rho _{liq}` and :math:`\rho _{ice}` are the density of liquid water and ice (kg m\ :sup:`-3`) (:numref:`Table Physical constants`), :math:`w_{liq,\, 1}` and :math:`w_{ice,\, 1}` are the mass of liquid water and ice of the top soil layer (kg m\ :sup:`-2`) (Chapter :numref:`rst_Hydrology`), and :math:`\theta _{sat,\, 1}` is the saturated volumetric water content (i.e., porosity) of the top soil layer (mm\ :sup:`3` mm\ :sup:`-3`) (section :numref:`Hydraulic Properties`). If :math:`q_{sat}^{T_{1} } >q_{atm}` and :math:`q_{atm} >q_{soil}`, then :math:`q_{soil} =q_{atm}` and :math:`\frac{dq_{soil} }{dT} =0`. This prevents large increases (decreases) in :math:`q_{soil}` for small increases (decreases) in soil moisture in very dry soils. +where :math:`\Delta z_{1}` is the thickness of the top soil layer (m), +:math:`\rho _{liq}` and :math:`\rho _{ice}` are the density of liquid +water and ice (kg m\ :sup:`-3`) (:numref:`Table Physical constants`), :math:`w_{liq,\, 1}` +and :math:`w_{ice,\, 1}` are the mass of liquid water and ice of the +top soil layer (kg m\ :sup:`-2`) (Chapter :numref:`rst_Hydrology`), and +:math:`\theta _{sat,\, 1}` is the saturated volumetric water content +(i.e., porosity) of the top soil layer (mm\ :sup:`3` mm\ :sup:`-3`) (section :numref:`Hydraulic Properties`). If +:math:`q_{sat}^{T_{1} } >q_{atm}` and :math:`q_{atm} >q_{soil}` , then +:math:`q_{soil} =q_{atm}` and :math:`\frac{dq_{soil} }{dT} =0`. This +prevents large increases (decreases) in :math:`q_{soil}` for small +increases (decreases) in soil moisture in very dry soils. -The resistance to water vapor transfer occurring within the soil matrix :math:`r_{soil}` (s m\ :sup:`-1`) is +The resistance to water vapor transfer occurring within the soil matrix +:math:`r_{soil}` (s m\ :sup:`-1`) is .. math:: - :label: 5.76 + :label: 5.76 r_{soil} = \frac{DSL}{D_{v} \tau} -where :math:`DSL` is the thickness of the dry surface layer (m), :math:`D_{v}` is the molecular diffusivity of water vapor in air (m\ :sup:`2` s\ :sup:`-2`) and :math:`\tau` (*unitless*) describes the tortuosity of the vapor flow paths through the soil matrix (:ref:`Swenson and Lawrence 2014 `). +where :math:`DSL` is the thickness of the dry surface layer (m), :math:`D_{v}` +is the molecular diffusivity of water vapor in air (m\ :sup:`2` s\ :sup:`-2`) +and :math:`\tau` (*unitless*) describes the tortuosity of the vapor flow paths through +the soil matrix (:ref:`Swenson and Lawrence 2014 `). The thickness of the dry surface layer is given by .. math:: :label: 5.77 - DSL = + DSL = \begin{array}{lr} D_{max} \ \frac{\left( \theta_{init} - \theta_{1}\right)} {\left(\theta_{init} - \theta_{air}\right)} & \qquad \theta_{1} < \theta_{init} \\ 0 & \qquad \theta_{1} \ge \theta_{init} \end{array} -where :math:`D_{max}` is a parameter specifying the length scale of the maximum DSL thickness (default value = 15 mm), :math:`\theta_{init}` (mm\ :sup:`3` mm\ :sup:`-3`) is the moisture value at which the DSL initiates, :math:`\theta_{1}` (mm\ :sup:`3` mm\ :sup:`-3`) is the moisture value of the top model soil layer, and :math:`\theta_{air}` (mm\ :sup:`3` mm\ :sup:`-3`) is the 'air dry' soil moisture value (:ref:`Dingman 2002 `): +where :math:`D_{max}` is a parameter specifying the length scale +of the maximum DSL thickness (default value = 15 mm), +:math:`\theta_{init}` (mm\ :sup:`3` mm\ :sup:`-3`) is the moisture value +at which the DSL initiates, :math:`\theta_{1}` (mm\ :sup:`3` mm\ :sup:`-3`) +is the moisture value of the top model soil layer, and +:math:`\theta_{air}` (mm\ :sup:`3` mm\ :sup:`-3`) is the 'air dry' soil +moisture value (:ref:`Dingman 2002 `): .. math:: :label: 5.78 \theta_{air} = \Phi \left( \frac{\Psi_{sat}}{\Psi_{air}} \right)^{\frac{1}{B_{1}}} \ . -where :math:`\Phi` is the porosity (mm\ :sup:`3` mm\ :sup:`-3`), :math:`\Psi_{sat}` is the saturated soil matric potential (mm), :math:`\Psi_{air} = 10^{7}` mm is the air dry matric potential, and :math:`B_{1}` is a function of soil texture (section :numref:`Hydraulic Properties`). +where :math:`\Phi` is the porosity (mm\ :sup:`3` mm\ :sup:`-3`), +:math:`\Psi_{sat}` is the saturated soil matric potential (mm), +:math:`\Psi_{air} = 10^{7}` mm is the air dry matric potential, and +:math:`B_{1}` is a function of soil texture (section +:numref:`Hydraulic Properties`). -The soil tortuosity is +The soil tortuosity is .. math:: :label: 5.79 @@ -590,54 +766,48 @@ The soil tortuosity is where :math:`\Phi_{air}` (mm\ :sup:`3` mm\ :sup:`-3`) is the air filled pore space .. math:: - :label: 5.80 + :label: 5.80 \Phi_{air} = \Phi - \theta_{air} \ . :math:`D_{v}` depends on temperature .. math:: - :label: 5.81 + :label: 5.81 D_{v} = 2.12 \times 10^{-5} \left(\frac{T_{1}}{T_{f}}\right)^{1.75} \ . -where :math:`T_{1}` (K) is the temperature of the top soil layer and :math:`T_{f}` (K) is the freezing temperature of water (:numref:`Table Physical Constants`). - -The roughness lengths used to calculate :math:`r_{am}`, :math:`r_{ah}`, and :math:`r_{aw}` are :math:`z_{0m} =z_{0m,\, g}`, :math:`z_{0h} =z_{0h,\, g}`, and :math:`z_{0w} =z_{0w,\, g}`. The displacement height :math:`d=0`. The momentum roughness length is :math:`z_{0m,\, g} =0.0023` for glaciers without snow (:math:`f_{sno} =0) {\rm }`, and :math:`z_{0m,\, g} =0.00085` for bare soil surfaces without snow (:math:`f_{sno} =0) {\rm }` (:ref:`Meier et al. (2022) `). - -For bare soil and glaciers with snow ( :math:`f_{sno} > 0` ), the momentum roughness length is evaluated based on accumulated snow melt :math:`M_{a} {\rm }` (:ref:`Meier et al. (2022) `). For :math:`M_{a} >=1\times 10^{-5}` - -.. math:: - :label: 5.81a - - z_{0m,\, g} =\exp (b_{1} \tan ^{-1} \left[\frac{log_{10} (M_{a}) + 0.23)} {0.08}\right] + b_{4})\times 10^{-3} - -where :math:`M_{a}` is accumulated snow melt (meters water equivalent), :math:`b_{1} =1.4` and :math:`b_{4} =-0.31`. For :math:`M_{a} <1\times 10^{-5}` - -.. math:: - :label: 5.81b - - z_{0m,\, g} =\exp (-b_{1} 0.5 \pi + b_{4})\times 10^{-3} - -Accumulated snow melt :math:`M_{a}` at the current time step :math:`t` is defined as - -.. math:: - :label: 5.81c - - M ^{t}_{a} = M ^{t-1}_{a} - (q ^{t}_{sno} \Delta t + q ^{t}_{snowmelt} \Delta t)\times 10^{-3} - -where :math:`M ^{t}_{a}` and :math:`M ^{t-1}_{a}` are the accumulated snowmelt at the current time step and previous time step, respectively (m), :math:`q ^{t}_{sno} \Delta t` is the freshly fallen snow (mm), and :math:`q ^{t}_{snowmelt} \Delta t` is the melted snow (mm). - -The scalar roughness lengths (:math:`z_{0q,\, g}` for latent heat and :math:`z_{0h,\ g}` for sensible heat) are calculated as (:ref:`Meier et al. (2022) `) +where :math:`T_{1}` (K) is the temperature of the top soil layer and +:math:`T_{f}` (K) is the freezing temperature of water +(:numref:`Table Physical Constants`). + +The roughness lengths used to calculate :math:`r_{am}` , +:math:`r_{ah}` , and :math:`r_{aw}` are :math:`z_{0m} =z_{0m,\, g}` , +:math:`z_{0h} =z_{0h,\, g}` , and :math:`z_{0w} =z_{0w,\, g}` . The +displacement height :math:`d=0`. The momentum roughness length is +:math:`z_{0m,\, g} =0.01` for soil, glaciers, and +:math:`z_{0m,\, g} =0.0024` for snow-covered surfaces +(:math:`f_{sno} >0`). In general, :math:`z_{0m}` is different from +:math:`z_{0h}` because the transfer of momentum is affected by pressure +fluctuations in the turbulent waves behind the roughness elements, while +for heat and water vapor transfer no such dynamical mechanism exists. +Rather, heat and water vapor must be transferred by molecular diffusion +across the interfacial sublayer. The following relation from +:ref:`Zilitinkevich (1970) ` is adopted by +:ref:`Zeng and Dickinson 1998 ` .. math:: :label: 5.82 - z_{0h,\, g}=z_{0q,\, g}=\frac{70 \nu}{u_{*}} \exp (-\beta {u_{*}} ^{0.5} |{\theta_{*}}| ^{0.25} ) + z_{0h,\, g} =z_{0w,\, g} =z_{0m,\, g} e^{-a\left({u_{*} z_{0m,\, g} \mathord{\left/ {\vphantom {u_{*} z_{0m,\, g} \upsilon }} \right. \kern-\nulldelimiterspace} \upsilon } \right)^{0.45} } -where :math:`\beta` = 7.2, and :math:`\theta_{*}` is the potential temperature scale. +where the quantity +:math:`{u_{\*} z_{0m,\, g} \mathord{\left/ {\vphantom {u_{*} z_{0m,\, g} \upsilon }} \right. \kern-\nulldelimiterspace} \upsilon }` +is the roughness Reynolds number (and may be interpreted as the Reynolds number of the smallest turbulent eddy in the flow) with the kinematic +viscosity of air :math:`\upsilon =1.5\times 10^{-5}` m\ :sup:`2` s\ :sup:`-1` and :math:`a=0.13`. -The numerical solution for the fluxes of momentum, sensible heat, and water vapor flux from non-vegetated surfaces proceeds as follows: +The numerical solution for the fluxes of momentum, sensible heat, and +water vapor flux from non-vegetated surfaces proceeds as follows: #. An initial guess for the wind speed :math:`V_{a}` is obtained from :eq:`5.24` assuming an initial convective velocity :math:`U_{c} =0` m @@ -658,7 +828,7 @@ The numerical solution for the fluxes of momentum, sensible heat, and water vapo #. Humidity scale :math:`q_{*}` (:eq:`5.41`, :eq:`5.42`, :eq:`5.43`, :eq:`5.44`) #. Roughness lengths for sensible :math:`z_{0h,\, g}` and latent heat - :math:`z_{0w,\, g}` (:eq:`5.81a` , :eq:`5.81b` , :eq:`5.82`) + :math:`z_{0w,\, g}` (:eq:`5.82` ) #. Virtual potential temperature scale :math:`\theta _{v*}` ( :eq:`5.17`) @@ -678,7 +848,10 @@ The numerical solution for the fluxes of momentum, sensible heat, and water vapo #. 2-m height air temperature :math:`T_{2m}` and specific humidity :math:`q_{2m}` (:eq:`5.58` , :eq:`5.59`) -The partial derivatives of the soil surface fluxes with respect to ground temperature, which are needed for the soil temperature calculations (section :numref:`Numerical Solution Temperature`) and to update the soil surface fluxes (section :numref:`Update of Ground Sensible and Latent Heat Fluxes`), are +The partial derivatives of the soil surface fluxes with respect to +ground temperature, which are needed for the soil temperature calculations (section +:numref:`Numerical Solution Temperature`) and to update the soil surface fluxes +(section :numref:`Update of Ground Sensible and Latent Heat Fluxes`), are .. math:: :label: 5.83 @@ -693,25 +866,44 @@ The partial derivatives of the soil surface fluxes with respect to ground temper where .. math:: - :label: 5.85 + :label: 5.85 \frac{dq_{g} }{dT_{g} } =\left(1-f_{sno} -f_{h2osfc} \right)\alpha _{soil} \frac{dq_{sat}^{T_{soil} } }{dT_{soil} } +f_{sno} \frac{dq_{sat}^{T_{sno} } }{dT_{sno} } +f_{h2osfc} \frac{dq_{sat}^{T_{h2osfc} } }{dT_{h2osfc} } . -The partial derivatives :math:`\frac{\partial r_{ah} }{\partial T_{g} }` and :math:`\frac{\partial r_{aw} }{\partial T_{g} }`, which cannot be determined analytically, are ignored for :math:`\frac{\partial H_{g} }{\partial T_{g} }` and :math:`\frac{\partial E_{g} }{\partial T_{g} }`. +The partial derivatives +:math:`\frac{\partial r_{ah} }{\partial T_{g} }` and +:math:`\frac{\partial r_{aw} }{\partial T_{g} }` , which cannot be +determined analytically, are ignored for +:math:`\frac{\partial H_{g} }{\partial T_{g} }` and +:math:`\frac{\partial E_{g} }{\partial T_{g} }` . .. _Sensible and Latent Heat Fluxes and Temperature for Vegetated Surfaces: Sensible and Latent Heat Fluxes and Temperature for Vegetated Surfaces -------------------------------------------------------------------------- -In the case of a vegetated surface, the sensible heat :math:`H` and water vapor flux :math:`E` are partitioned into vegetation and ground fluxes that depend on vegetation :math:`T_{v}` and ground :math:`T_{g}` temperatures in addition to surface temperature :math:`T_{s}` and specific humidity :math:`q_{s}`. Because of the coupling between vegetation temperature and fluxes, Newton-Raphson iteration is used to solve for the vegetation temperature and the sensible heat and water vapor fluxes from vegetation simultaneously using the ground temperature from the previous time step. In section :numref:`Theory`, the equations used in the iteration scheme are derived. Details on the numerical scheme are provided in section :numref:`Numerical Implementation`. +In the case of a vegetated surface, the sensible heat :math:`H` and +water vapor flux :math:`E` are partitioned into vegetation and ground +fluxes that depend on vegetation :math:`T_{v}` and ground +:math:`T_{g}` temperatures in addition to surface temperature +:math:`T_{s}` and specific humidity :math:`q_{s}` . Because of the +coupling between vegetation temperature and fluxes, Newton-Raphson +iteration is used to solve for the vegetation temperature and the +sensible heat and water vapor fluxes from vegetation simultaneously +using the ground temperature from the previous time step. In section +:numref:`Theory`, the equations used in the iteration scheme are derived. Details +on the numerical scheme are provided in section :numref:`Numerical Implementation`. .. _Theory: Theory ^^^^^^^^^^^^ -The air within the canopy is assumed to have negligible capacity to store heat so that the sensible heat flux :math:`H` between the surface at height :math:`z_{0h} +d` and the atmosphere at height :math:`z_{atm,\, h}` must be balanced by the sum of the sensible heat from the vegetation :math:`H_{v}` and the ground :math:`H_{g}` +The air within the canopy is assumed to have negligible capacity to +store heat so that the sensible heat flux :math:`H` between the surface +at height :math:`z_{0h} +d` and the atmosphere at height +:math:`z_{atm,\, h}` must be balanced by the sum of the sensible heat +from the vegetation :math:`H_{v}` and the ground :math:`H_{g}` .. math:: :label: 5.86 @@ -721,7 +913,7 @@ The air within the canopy is assumed to have negligible capacity to store heat s where, with reference to :numref:`Figure Schematic diagram of sensible heat fluxes`, .. math:: - :label: 5.87 + :label: 5.87 H=-\rho _{atm} C_{p} \frac{\left(\theta _{atm} -T_{s} \right)}{r_{ah} } @@ -738,7 +930,7 @@ where, with reference to :numref:`Figure Schematic diagram of sensible heat flux where .. math:: - :label: 5.90 + :label: 5.90 H_{soil} =-\rho _{atm} C_{p} \frac{\left(T_{s} -T_{1} \right)}{r_{ah} ^{{'} } } @@ -748,13 +940,24 @@ where H_{sno} =-\rho _{atm} C_{p} \frac{\left(T_{s} -T_{snl+1} \right)}{r_{ah} ^{{'} } } .. math:: - :label: 5.92 + :label: 5.92 H_{h2osfc} =-\rho _{atm} C_{p} \frac{\left(T_{s} -T_{h2osfc} \right)}{r_{ah} ^{{'} } } -where :math:`\rho _{atm}` is the density of atmospheric air (kg m\ :sup:`-3`), :math:`C_{p}` is the specific heat capacity of air (J kg\ :sup:`-1` K\ :sup:`-1`) (:numref:`Table Physical constants`), :math:`\theta _{atm}` is the atmospheric potential temperature (K), and :math:`r_{ah}` is the aerodynamic resistance to sensible heat transfer (s m\ :sup:`-1`). - -Here, :math:`T_{s}` is the surface temperature at height :math:`z_{0h} +d`, also referred to as the canopy air temperature. :math:`L` and :math:`S` are the exposed leaf and stem area indices (section :numref:`Phenology and vegetation burial by snow`), :math:`r_{b}` is the leaf boundary layer resistance (s m\ :sup:`-1`), and :math:`r_{ah} ^{{'} }` is the aerodynamic resistance (s m\ :sup:`-1`) to heat transfer between the ground at height :math:`z_{0h} ^{{'} }` and the canopy air at height :math:`z_{0h} +d`. +where :math:`\rho _{atm}` is the density of atmospheric air (kg m\ :sup:`-3`), :math:`C_{p}` is the specific heat capacity of air +(J kg\ :sup:`-1` K\ :sup:`-1`) (:numref:`Table Physical constants`), +:math:`\theta _{atm}` is the atmospheric potential temperature (K), and +:math:`r_{ah}` is the aerodynamic resistance to sensible heat transfer +(s m\ :sup:`-1`). + +Here, :math:`T_{s}` is the surface temperature at height +:math:`z_{0h} +d`, also referred to as the canopy air temperature. +:math:`L` and :math:`S` are the exposed leaf and stem area indices +(section :numref:`Phenology and vegetation burial by snow`), :math:`r_{b}` is the leaf boundary layer resistance (s +m\ :sup:`-1`), and :math:`r_{ah} ^{{'} }` is the aerodynamic +resistance (s m\ :sup:`-1`) to heat transfer between the ground at +height :math:`z_{0h} ^{{'} }` and the canopy air at height +:math:`z_{0h} +d`. .. _Figure Schematic diagram of sensible heat fluxes: @@ -770,7 +973,8 @@ Here, :math:`T_{s}` is the surface temperature at height :math:`z_{0h} +d`, also Figure Schematic diagram of water vapor fluxes for (a) non-vegetated surfaces and (b) vegetated surfaces. -Equations :eq:`5.86` - :eq:`5.89` can be solved for the canopy air temperature :math:`T_{s}` +Equations :eq:`5.86` - :eq:`5.89` can be solved for the canopy air +temperature :math:`T_{s}` .. math:: :label: 5.93 @@ -794,23 +998,32 @@ where c_{v}^{h} =\frac{\left(L+S\right)}{r_{b} } -are the sensible heat conductances from the canopy air to the atmosphere, the ground to canopy air, and leaf surface to canopy air, respectively (m s\ :sup:`-1`). +are the sensible heat conductances from the canopy air to the +atmosphere, the ground to canopy air, and leaf surface to canopy air, +respectively (m s\ :sup:`-1`). -When the expression for :math:`T_{s}` is substituted into equation :eq:`5.88`, the sensible heat flux from vegetation :math:`H_{v}` is a function of :math:`\theta _{atm}`, :math:`T_{g}`, and :math:`T_{v}` +When the expression for :math:`T_{s}` is substituted into equation :eq:`5.88`, +the sensible heat flux from vegetation :math:`H_{v}` is a function of +:math:`\theta _{atm}` , :math:`T_{g}` , and :math:`T_{v}` .. math:: :label: 5.97 H_{v} = -\rho _{atm} C_{p} \left[c_{a}^{h} \theta _{atm} +c_{g}^{h} T_{g} -\left(c_{a}^{h} +c_{g}^{h} \right)T_{v} \right]\frac{c_{v}^{h} }{c_{a}^{h} +c_{v}^{h} +c_{g}^{h} } . -Similarly, the expression for :math:`T_{s}` can be substituted into equation to obtain the sensible heat flux from ground :math:`H_{g}` +Similarly, the expression for :math:`T_{s}` can be substituted into +equation to obtain the sensible heat flux from ground :math:`H_{g}` .. math:: :label: 5.98 H_{g} = -\rho _{atm} C_{p} \left[c_{a}^{h} \theta _{atm} +c_{v}^{h} T_{v} -\left(c_{a}^{h} +c_{v}^{h} \right)T_{g} \right]\frac{c_{g}^{h} }{c_{a}^{h} +c_{v}^{h} +c_{g}^{h} } . -The air within the canopy is assumed to have negligible capacity to store water vapor so that the water vapor flux :math:`E` between the surface at height :math:`z_{0w} +d` and the atmosphere at height :math:`z_{atm,\, w}` must be balanced by the sum of the water vapor flux from the vegetation :math:`E_{v}` and the ground :math:`E_{g}` +The air within the canopy is assumed to have negligible capacity to +store water vapor so that the water vapor flux :math:`E` between the +surface at height :math:`z_{0w} +d` and the atmosphere at height +:math:`z_{atm,\, w}` must be balanced by the sum of the water vapor +flux from the vegetation :math:`E_{v}` and the ground :math:`E_{g}` .. math:: :label: 5.99 @@ -820,7 +1033,7 @@ The air within the canopy is assumed to have negligible capacity to store water where, with reference to :numref:`Figure Schematic diagram of latent heat fluxes`, .. math:: - :label: 5.100 + :label: 5.100 E = -\rho _{atm} \frac{\left(q_{atm} -q_{s} \right)}{r_{aw} } @@ -837,28 +1050,47 @@ where, with reference to :numref:`Figure Schematic diagram of latent heat fluxes where .. math:: - :label: 5.103 + :label: 5.103 E_{soil} = -\rho _{atm} \frac{\left(q_{s} -q_{soil} \right)}{r_{aw} ^{{'} } +r_{soil} } .. math:: - :label: 5.104 + :label: 5.104 E_{sno} = -\rho _{atm} \frac{\left(q_{s} -q_{sno} \right)}{r_{aw} ^{{'} } +r_{soil} } .. math:: - :label: 5.105 + :label: 5.105 E_{h2osfc} = -\rho _{atm} \frac{\left(q_{s} -q_{h2osfc} \right)}{r_{aw} ^{{'} } +r_{soil} } -where :math:`q_{atm}` is the atmospheric specific humidity (kg kg\ :sup:`-1`), :math:`r_{aw}` is the aerodynamic resistance to water vapor transfer (s m\ :sup:`-1`), :math:`q_{sat}^{T_{v} }` (kg kg\ :sup:`-1`) is the saturation water vapor specific humidity at the vegetation temperature (section :numref:`Saturation Vapor Pressure`), :math:`q_{g}`, :math:`q_{sno}`, and :math:`q_{h2osfc}` are the specific humidities of the soil, snow, and surface water (section :numref:`Sensible and Latent Heat Fluxes for Non-Vegetated Surfaces`), :math:`r_{aw} ^{{'} }` is the aerodynamic resistance (s m\ :sup:`-1`) to water vapor transfer between the ground at height :math:`z_{0w} ^{{'} }` and the canopy air at height :math:`z_{0w} +d`, and :math:`r_{soil}` (:eq:`5.76`) is a resistance to diffusion through the soil (s m\ :sup:`-1`). :math:`r_{total}` is the total resistance to water vapor transfer from the canopy to the canopy air and includes contributions from leaf boundary layer and sunlit and shaded stomatal resistances :math:`r_{b}`, :math:`r_{s}^{sun}`, and :math:`r_{s}^{sha}` (:numref:`Figure Schematic diagram of latent heat fluxes`). The water vapor flux from vegetation is the sum of water vapor flux from wetted leaf and stem area :math:`E_{v}^{w}` (evaporation of water intercepted by the canopy) and transpiration from dry leaf surfaces :math:`E_{v}^{t}` - -.. math:: - :label: 5.106 +where :math:`q_{atm}` is the atmospheric specific humidity (kg kg\ :sup:`-1`), :math:`r_{aw}` is the aerodynamic resistance to +water vapor transfer (s m\ :sup:`-1`), :math:`q_{sat}^{T_{v} }` +(kg kg\ :sup:`-1`) is the saturation water vapor specific humidity +at the vegetation temperature (section :numref:`Saturation Vapor Pressure`), :math:`q_{g}` , +:math:`q_{sno}` , and :math:`q_{h2osfc}` are the specific humidities +of the soil, snow, and surface water (section :numref:`Sensible and Latent Heat Fluxes for Non-Vegetated Surfaces`), +:math:`r_{aw} ^{{'} }` is the aerodynamic resistance (s +m\ :sup:`-1`) to water vapor transfer between the ground at height +:math:`z_{0w} ^{{'} }` and the canopy air at height :math:`z_{0w} +d`, +and :math:`r_{soil}` (:eq:`5.76`) is a resistance to diffusion through the soil +(s m\ :sup:`-1`). :math:`r_{total}` is the total resistance to +water vapor transfer from the canopy to the canopy air and includes +contributions from leaf boundary layer and sunlit and shaded stomatal +resistances :math:`r_{b}` , :math:`r_{s}^{sun}` , and +:math:`r_{s}^{sha}` (:numref:`Figure Schematic diagram of latent heat fluxes`). +The water vapor flux from vegetation +is the sum of water vapor flux from wetted leaf and stem area +:math:`E_{v}^{w}` (evaporation of water intercepted by the canopy) and +transpiration from dry leaf surfaces :math:`E_{v}^{t}` + +.. math:: + :label: 5.106 E_{v} =E_{v}^{w} +E_{v}^{t} . -Equations :eq:`5.99` - :eq:`5.102` can be solved for the canopy specific humidity :math:`q_{s}` +Equations :eq:`5.99` - :eq:`5.102` can be solved for the canopy specific humidity +:math:`q_{s}` .. math:: :label: 5.107 @@ -882,19 +1114,28 @@ where c_{g}^{w} =\frac{1}{r_{aw} ^{{'} } +r_{soil} } -are the water vapor conductances from the canopy air to the atmosphere, the leaf to canopy air, and ground to canopy air, respectively. The term :math:`r''` is determined from contributions by wet leaves and transpiration and limited by available water and potential evaporation as +are the water vapor conductances from the canopy air to the atmosphere, +the leaf to canopy air, and ground to canopy air, respectively. The term +:math:`r''` is determined from contributions by wet leaves and +transpiration and limited by available water and potential evaporation +as .. math:: :label: 5.111 r'' = \left\{ - \begin{array}{lr} - \min \left(f_{wet} +r_{dry} ^{{'} {'} } ,\, \frac{E_{v}^{w,\, pot} r_{dry} ^{{'} {'} } +\frac{W_{can} }{\Delta t} }{E_{v}^{w,\, pot} } \right) & \qquad E_{v}^{w,\, pot} >0,\, \beta _{t} >0 \\ - \min \left(f_{wet} ,\, \frac{E_{v}^{w,\, pot} r_{dry} ^{{'} {'} } +\frac{W_{can} }{\Delta t} }{E_{v}^{w,\, pot} } \right) & \qquad E_{v}^{w,\, pot} >0,\, \beta _{t} \le 0 \\ - 1 & \qquad E_{v}^{w,\, pot} \le 0 + \begin{array}{lr} + \min \left(f_{wet} +r_{dry} ^{{'} {'} } ,\, \frac{E_{v}^{w,\, pot} r_{dry} ^{{'} {'} } +\frac{W_{can} }{\Delta t} }{E_{v}^{w,\, pot} } \right) & \qquad E_{v}^{w,\, pot} >0,\, \beta _{t} >0 \\ + \min \left(f_{wet} ,\, \frac{E_{v}^{w,\, pot} r_{dry} ^{{'} {'} } +\frac{W_{can} }{\Delta t} }{E_{v}^{w,\, pot} } \right) & \qquad E_{v}^{w,\, pot} >0,\, \beta _{t} \le 0 \\ + 1 & \qquad E_{v}^{w,\, pot} \le 0 \end{array}\right\} -where :math:`f_{wet}` is the fraction of leaves and stems that are wet (section :numref:`Canopy Water`), :math:`W_{can}` is canopy water (kg m\ :sup:`-2`) (section :numref:`Canopy Water`), :math:`\Delta t` is the time step (s), and :math:`\beta _{t}` is a soil moisture function limiting transpiration (Chapter :numref:`rst_Stomatal Resistance and Photosynthesis`). The potential evaporation from wet foliage per unit wetted area is +where :math:`f_{wet}` is the fraction of leaves and stems that are wet +(section :numref:`Canopy Water`), :math:`W_{can}` is canopy water (kg m\ :sup:`-2`) +(section :numref:`Canopy Water`), :math:`\Delta t` is the time step (s), and +:math:`\beta _{t}` is a soil moisture function limiting transpiration +(Chapter :numref:`rst_Stomatal Resistance and Photosynthesis`). The potential +evaporation from wet foliage per unit wetted area is .. math:: :label: 5.112 @@ -904,27 +1145,37 @@ where :math:`f_{wet}` is the fraction of leaves and stems that are wet (section The term :math:`r_{dry} ^{{'} {'} }` is .. math:: - :label: 5.113 + :label: 5.113 r_{dry} ^{{'} {'} } =\frac{f_{dry} r_{b} }{L} \left(\frac{L^{sun} }{r_{b} +r_{s}^{sun} } +\frac{L^{sha} }{r_{b} +r_{s}^{sha} } \right) -where :math:`f_{dry}` is the fraction of leaves that are dry (section :numref:`Canopy Water`), :math:`L^{sun}` and :math:`L^{sha}` are the sunlit and shaded leaf area indices (section :numref:`Solar Fluxes`), and :math:`r_{s}^{sun}` and :math:`r_{s}^{sha}` are the sunlit and shaded stomatal resistances (s m\ :sup:`-1`) (Chapter :numref:`rst_Stomatal Resistance and Photosynthesis`). +where :math:`f_{dry}` is the fraction of leaves that are dry (section +:numref:`Canopy Water`), :math:`L^{sun}` and :math:`L^{sha}` are the sunlit and shaded +leaf area indices (section :numref:`Solar Fluxes`), and :math:`r_{s}^{sun}` and +:math:`r_{s}^{sha}` are the sunlit and shaded stomatal resistances (s +m\ :sup:`-1`) (Chapter :numref:`rst_Stomatal Resistance and Photosynthesis`). -When the expression for :math:`q_{s}` is substituted into equation :eq:`5.101`, the water vapor flux from vegetation :math:`E_{v}` is a function of :math:`q_{atm}`, :math:`q_{g}`, and :math:`q_{sat}^{T_{v} }` +When the expression for :math:`q_{s}` is substituted into equation :eq:`5.101`, +the water vapor flux from vegetation :math:`E_{v}` is a function of +:math:`q_{atm}` , :math:`q_{g}` , and :math:`q_{sat}^{T_{v} }` .. math:: :label: 5.114 E_{v} =-\rho _{atm} \left[c_{a}^{w} q_{atm} +c_{g}^{w} q_{g} -\left(c_{a}^{w} +c_{g}^{w} \right)q_{sat}^{T_{v} } \right]\frac{c_{v}^{w} }{c_{a}^{w} +c_{v}^{w} +c_{g}^{w} } . -Similarly, the expression for :math:`q_{s}` can be substituted into :eq:`5.84` to obtain the water vapor flux from the ground beneath the canopy :math:`E_{g}` +Similarly, the expression for :math:`q_{s}` can be substituted into +:eq:`5.84` to obtain the water vapor flux from the ground beneath the +canopy :math:`E_{g}` .. math:: :label: 5.115 E_{g} =-\rho _{atm} \left[c_{a}^{w} q_{atm} +c_{v}^{w} q_{sat}^{T_{v} } -\left(c_{a}^{w} +c_{v}^{w} \right)q_{g} \right]\frac{c_{g}^{w} }{c_{a}^{w} +c_{v}^{w} +c_{g}^{w} } . -The aerodynamic resistances to heat (moisture) transfer between the ground at height :math:`z_{0h} ^{{'} }` (:math:`z_{0w} ^{{'} }` ) and the canopy air at height :math:`z_{0h} +d` (:math:`z_{0w} +d`) are +The aerodynamic resistances to heat (moisture) transfer between the +ground at height :math:`z_{0h} ^{{'} }` (:math:`z_{0w} ^{{'} }` ) and +the canopy air at height :math:`z_{0h} +d` (:math:`z_{0w} +d`) are .. math:: :label: 5.116 @@ -938,7 +1189,12 @@ where U_{av} =V_{a} \sqrt{\frac{1}{r_{am} V_{a} } } =u_{*} -is the magnitude of the wind velocity incident on the leaves (equivalent here to friction velocity) (m s\ :sup:`-1`) and :math:`C_{s}` is the turbulent transfer coefficient between the underlying soil and the canopy air. :math:`C_{s}` is obtained by interpolation between values for dense canopy and bare soil (:ref:`Zeng et al. 2005 `) +is the magnitude of the wind velocity incident on the leaves +(equivalent here to friction velocity) (m s\ :sup:`-1`) and +:math:`C_{s}` is the turbulent transfer coefficient between the +underlying soil and the canopy air. :math:`C_{s}` is obtained by +interpolation between values for dense canopy and bare soil +(:ref:`Zeng et al. 2005 `) .. math:: :label: 5.118 @@ -948,36 +1204,45 @@ is the magnitude of the wind velocity incident on the leaves (equivalent here to where the weight :math:`W` is .. math:: - :label: 5.119 + :label: 5.119 W=e^{-\left(L+S\right)} . -The dense canopy turbulent transfer coefficient (:ref:`Dickinson et al. 1993 `) is +The dense canopy turbulent transfer coefficient +(:ref:`Dickinson et al. 1993 `) is .. math:: - :label: 5.120) + :label: 5.120) C_{s,\, dense} =0.004 \ . The bare soil turbulent transfer coefficient is .. math:: - :label: 5.121 + :label: 5.121 C_{s,\, bare} =\frac{k}{a} \left(\frac{z_{0m,\, g} U_{av} }{\upsilon } \right)^{-0.45} -where the kinematic viscosity of air :math:`\upsilon =1.5\times 10^{-5}` m\ :sup:`2` s\ :sup:`-1` and :math:`a=0.13`. +where the kinematic viscosity of air +:math:`\upsilon =1.5\times 10^{-5}` m\ :sup:`2` s\ :sup:`-1` and :math:`a=0.13`. The leaf boundary layer resistance :math:`r_{b}` is .. math:: :label: 5.122 - r_{b} =\frac{1}{C_{v} } \left({U_{av} \mathord{\left/ {\vphantom {U_{av} d_{leaf} }} \right.} d_{leaf} } \right)^{{-1\mathord{\left/ {\vphantom {-1 2}} \right.} 2} } + r_{b} =\frac{1}{C_{v} } \left({U_{av} \mathord{\left/ {\vphantom {U_{av} d_{leaf} }} \right. \kern-\nulldelimiterspace} d_{leaf} } \right)^{{-1\mathord{\left/ {\vphantom {-1 2}} \right. \kern-\nulldelimiterspace} 2} } -where :math:`C_{v} =0.01` m\ s\ :sup:`-1/2` is the turbulent transfer coefficient between the canopy surface and canopy air, and :math:`d_{leaf}` is the characteristic dimension of the leaves in the direction of wind flow (:numref:`Table Plant functional type aerodynamic parameters`). +where :math:`C_{v} =0.01` m\ s\ :sup:`-1/2` is the turbulent +transfer coefficient between the canopy surface and canopy air, and +:math:`d_{leaf}` is the characteristic dimension of the leaves in the +direction of wind flow (:numref:`Table Plant functional type aerodynamic parameters`). -The partial derivatives of the fluxes from the soil beneath the canopy with respect to ground temperature, which are needed for the soil temperature calculations (section :numref:`Numerical Solution Temperature`) and to update the soil surface fluxes (section :numref:`Update of Ground Sensible and Latent Heat Fluxes`), are +The partial derivatives of the fluxes from the soil beneath the canopy +with respect to ground temperature, which are needed for the soil +temperature calculations (section :numref:`Numerical Solution Temperature`) +and to update the soil surface fluxes (section +:numref:`Update of Ground Sensible and Latent Heat Fluxes`), are .. math:: :label: 5.123 @@ -989,142 +1254,111 @@ The partial derivatives of the fluxes from the soil beneath the canopy with resp \frac{\partial E_{g} }{\partial T_{g} } = \frac{\rho _{atm} }{r'_{aw} +r_{soil} } \frac{c_{a}^{w} +c_{v}^{w} }{c_{a}^{w} +c_{v}^{w} +c_{g}^{w} } \frac{dq_{g} }{dT_{g} } . -The partial derivatives :math:`\frac{\partial r'_{ah} }{\partial T_{g} }` and :math:`\frac{\partial r'_{aw} }{\partial T_{g} }`, which cannot be determined analytically, are ignored for :math:`\frac{\partial H_{g} }{\partial T_{g} }` and :math:`\frac{\partial E_{g} }{\partial T_{g} }`. - -The roughness lengths used to calculate :math:`r_{am}`, :math:`r_{ah}`, and :math:`r_{aw}` from :eq:`5.55`, :eq:`5.56`, and :eq:`5.57` are :math:`z_{0m} =z_{0m,\, v}`, :math:`z_{0h} =z_{0h,\, v}`, and :math:`z_{0w} =z_{0w,\, v}`. +The partial derivatives +:math:`\frac{\partial r'_{ah} }{\partial T_{g} }` and +:math:`\frac{\partial r'_{aw} }{\partial T_{g} }` , which cannot be +determined analytically, are ignored for +:math:`\frac{\partial H_{g} }{\partial T_{g} }` and +:math:`\frac{\partial E_{g} }{\partial T_{g} }` . -The vegetation roughness lengths and displacement height :math:`d` are from :ref:`Meier et al. (2022) ` +The roughness lengths used to calculate :math:`r_{am}` , +:math:`r_{ah}` , and :math:`r_{aw}` from :eq:`5.55`, :eq:`5.56`, and :eq:`5.57` are +:math:`z_{0m} =z_{0m,\, v}` , :math:`z_{0h} =z_{0h,\, v}` , and +:math:`z_{0w} =z_{0w,\, v}` . The vegetation displacement height +:math:`d` and the roughness lengths are a function of plant height and +adjusted for canopy density following :ref:`Zeng and Wang (2007) ` .. math:: :label: 5.125 - z_{0m,\, v} = z_{0h,\, v} =z_{0w,\, v} = z_{top} (1 - \frac{d} {z_{top} } ) \exp (\psi_{h} - \frac{k U_{h}} {u_{*} } ) - -where :math:`z_{top}` is canopy top height (m) (:numref:`Table Plant functional type canopy top and bottom heights`), :math:`k` is the von Karman constant (:numref:`Table Physical constants`), and :math:`\psi_{h}` is the roughness sublayer influence function - -.. math:: - :label: 5.125a - - \psi_{h} = \ln(c_{w}) - 1 + c_{w}^{-1} - -where :math:`c_{w}` is a pft-dependent constant (:numref:`Table Plant functional type aerodynamic parameters`). - -The ratio of wind speed at canopy height to friction velocity, :math:`\frac{U_{h}} {u_{*}}` is derived from an implicit function of the roughness density :math:`\lambda` - -.. math:: - :label: 5.125b - - \frac{U_{h}} {u_{*} } =(C_{S} + \lambda C_{R})^{0.5} \exp(\frac{\min \left(\lambda, \lambda_{\max}\right) c U_{h}} {2 u_{*}}) - -where :math:`C_{S}` represents the drag coefficient of the ground in the absence of vegetation, :math:`C_{R}` is the drag coefficient of an isolated roughness element (plant), and :math:`c` is an empirical constant. These three are pft-dependent parameters (:numref:`Table Plant functional type aerodynamic parameters`). :math:`\lambda_{max}` is the maximum :math:`\lambda` above which :math:`\frac{U_{h}} {u_{*}}` becomes constant. :math:`\lambda_{max}` is set to the value of :math:`\lambda` for which :eq:`5.125b`, in the absence of :math:`\lambda_{max}`, would have its minimum. :math:`\lambda_{max}` is also a pft-dependent parameter (:numref:`Table Plant functional type aerodynamic parameters`). :eq:`5.125b` can be written as + z_{0m,\, v} = z_{0h,\, v} =z_{0w,\, v} =\exp \left[V\ln \left(z_{top} R_{z0m} \right)+\left(1-V\right)\ln \left(z_{0m,\, g} \right)\right] .. math:: - :label: 5.125c + :label: 5.126 - X \exp(-X) =(C_{S} + \lambda C_{R})^{0.5} c \frac{\lambda} {2 } + d = z_{top} R_{d} V -where +where :math:`z_{top}` is canopy top height (m) +(:numref:`Table Plant functional type canopy top and bottom heights`), +:math:`R_{z0m}` and :math:`R_{d}` are the ratio of momentum roughness +length and displacement height to canopy top height, respectively +(:numref:`Table Plant functional type aerodynamic parameters`), and :math:`z_{0m,\, g}` +is the ground momentum roughness length (m) (section +:numref:`Sensible and Latent Heat Fluxes for Non-Vegetated Surfaces`). The +fractional weight :math:`V` is determined from .. math:: - :label: 5.125d - - X =\frac{c \lambda U_{h}} {2 u_{*} }. + :label: 5.127 -:math:`X` and therefore :math:`\frac{U_{h}} {u_{*}}` can be solved for iteratively where the initial value of :math:`X` is - -.. math:: - :label: 5.125e - - X_{i=0} =(C_{S} + \lambda C_{R})^{0.5} c \frac{\lambda} {2 } - -and the next value of :math:`X` at :math:`i+1` is - -.. math:: - :label: 5.125f - - X_{i+1} =(C_{S} + \lambda C_{R})^{0.5} c \frac{\lambda} {2 } \exp(X_{i}). - -:math:`X` is updated until :math:`\frac{U_{h}} {u_{*}}` converges to within :math:`1 \times 10^{-4}` between iterations. - -:math:`\lambda` is set to half the total single-sided area of all canopy elements, here defined as the vegetation area index (VAI) defined as the sum of leaf (:math:`L`) and stem area index (:math:`S`), subject to a maximum of :math:`\lambda_{max}` and a minimum limit applied for numerical stability - -.. math:: - :label: 5.126 - - \lambda = \frac{\min(\max(1 \times 10^{-5}, VAI), \lambda_{max})} {2 } - -The displacement height :math:`d` is - -.. math:: - :label: 5.127 + V = \frac{1-\exp \left\{-\beta \min \left[L+S,\, \left(L+S\right)_{cr} \right]\right\}}{1-\exp \left[-\beta \left(L+S\right)_{cr} \right]} - d = z_{top}\left[1- \frac{1-\exp(-(c_{d1} 2 \lambda)^{0.5}} {(c_{d1} 2 \lambda)^{0.5} }\right] - -where :math:`c_{d1} =7.5`. +where :math:`\beta =1` and :math:`\left(L+S\right)_{cr} = 2` +(m\ :sup:`2` m\ :sup:`-2`) is a critical value of exposed leaf +plus stem area for which :math:`z_{0m}` reaches its maximum. .. _Table Plant functional type aerodynamic parameters: .. table:: Plant functional type aerodynamic parameters - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | Plant functional type | :math:`d_{leaf}` (m) | :math:`c_{w}` | :math:`C_{S}` | :math:`C_{R}` | :math:`c` | :math:`\lambda_{max}` | - +==================================+=======================+=========================+=========================+=========================+=========================+=========================+ - | NET Temperate | 0.04 | 9 | 0.003 | 0.05 | 0.09 | 4.55 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | NET Boreal | 0.04 | 9 | 0.003 | 0.05 | 0.09 | 4.55 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | NDT Boreal | 0.04 | 9 | 0.003 | 0.05 | 0.09 | 4.55 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | BET Tropical | 0.04 | 3 | 0.01 | 0.14 | 0.01 | 7.87 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | BET temperate | 0.04 | 3 | 0.01 | 0.14 | 0.01 | 7.87 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | BDT tropical | 0.04 | 1 | 0.013 | 0.13 | 0.06 | 8.88 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | BDT temperate | 0.04 | 1 | 0.013 | 0.13 | 0.06 | 8.88 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | BDT boreal | 0.04 | 1 | 0.013 | 0.13 | 0.06 | 8.88 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | BES temperate | 0.04 | 20 | 0.001 | 0.05 | 0.12 | 3.07 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | BDS temperate | 0.04 | 20 | 0.001 | 0.05 | 0.12 | 3.07 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | BDS boreal | 0.04 | 20 | 0.001 | 0.05 | 0.12 | 3.07 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | C\ :sub:`3` arctic grass | 0.04 | 19 | 0.001 | 0.05 | 0.08 | 4.61 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | C\ :sub:`3` grass | 0.04 | 19 | 0.001 | 0.05 | 0.08 | 4.61 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | C\ :sub:`4` grass | 0.04 | 19 | 0.001 | 0.05 | 0.08 | 4.61 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | Crop R | 0.04 | 3.5 | 0.001 | 0.05 | 0.04 | 5.3 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | Crop I | 0.04 | 3.5 | 0.001 | 0.05 | 0.04 | 5.3 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | Corn R | 0.04 | 3.5 | 0.001 | 0.05 | 0.04 | 5.3 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | Corn I | 0.04 | 3.5 | 0.001 | 0.05 | 0.04 | 5.3 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | Temp Cereal R | 0.04 | 3.5 | 0.001 | 0.05 | 0.04 | 5.3 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | Temp Cereal I | 0.04 | 3.5 | 0.001 | 0.05 | 0.04 | 5.3 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | Winter Cereal R | 0.04 | 3.5 | 0.001 | 0.05 | 0.04 | 5.3 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | Winter Cereal I | 0.04 | 3.5 | 0.001 | 0.05 | 0.04 | 5.3 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | Soybean R | 0.04 | 3.5 | 0.001 | 0.05 | 0.04 | 5.3 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | Soybean I | 0.04 | 3.5 | 0.001 | 0.05 | 0.04 | 5.3 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | Miscanthus R | 0.04 | 3.5 | 0.001 | 0.05 | 0.04 | 5.3 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | Miscanthus I | 0.04 | 3.5 | 0.001 | 0.05 | 0.04 | 5.3 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | Switchgrass R | 0.04 | 3.5 | 0.001 | 0.05 | 0.04 | 5.3 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ - | Switchgrass I | 0.04 | 3.5 | 0.001 | 0.05 | 0.04 | 5.3 | - +----------------------------------+-----------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+ + +----------------------------------+--------------------+------------------+-------------------------+ + | Plant functional type | :math:`R_{z0m}` | :math:`R_{d}` | :math:`d_{leaf}` (m) | + +==================================+====================+==================+=========================+ + | NET Temperate | 0.055 | 0.67 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | NET Boreal | 0.055 | 0.67 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | NDT Boreal | 0.055 | 0.67 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | BET Tropical | 0.075 | 0.67 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | BET temperate | 0.075 | 0.67 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | BDT tropical | 0.055 | 0.67 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | BDT temperate | 0.055 | 0.67 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | BDT boreal | 0.055 | 0.67 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | BES temperate | 0.120 | 0.68 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | BDS temperate | 0.120 | 0.68 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | BDS boreal | 0.120 | 0.68 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | C\ :sub:`3` arctic grass | 0.120 | 0.68 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | C\ :sub:`3` grass | 0.120 | 0.68 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | C\ :sub:`4` grass | 0.120 | 0.68 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | Crop R | 0.120 | 0.68 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | Crop I | 0.120 | 0.68 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | Corn R | 0.120 | 0.68 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | Corn I | 0.120 | 0.68 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | Temp Cereal R | 0.120 | 0.68 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | Temp Cereal I | 0.120 | 0.68 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | Winter Cereal R | 0.120 | 0.68 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | Winter Cereal I | 0.120 | 0.68 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | Soybean R | 0.120 | 0.68 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | Soybean I | 0.120 | 0.68 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | Miscanthus R | 0.120 | 0.68 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | Miscanthus I | 0.120 | 0.68 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | Switchgrass R | 0.120 | 0.68 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ + | Switchgrass I | 0.120 | 0.68 | 0.04 | + +----------------------------------+--------------------+------------------+-------------------------+ .. _Numerical Implementation: @@ -1138,35 +1372,56 @@ Canopy energy conservation gives -\overrightarrow{S}_{v} +\overrightarrow{L}_{v} \left(T_{v} \right)+H_{v} \left(T_{v} \right)+\lambda E_{v} \left(T_{v} \right)=0 -where :math:`\overrightarrow{S}_{v}` is the solar radiation absorbed by the vegetation (section :numref:`Solar Fluxes`), :math:`\overrightarrow{L}_{v}` is the net longwave radiation absorbed by vegetation (section :numref:`Longwave Fluxes`), and :math:`H_{v}` and :math:`\lambda E_{v}` are the sensible and latent heat fluxes from vegetation, respectively. The term :math:`\lambda` is taken to be the latent heat of vaporization :math:`\lambda _{vap}` (:numref:`Table Physical constants`). +where :math:`\overrightarrow{S}_{v}` is the solar radiation absorbed by +the vegetation (section :numref:`Solar Fluxes`), :math:`\overrightarrow{L}_{v}` is the net +longwave radiation absorbed by vegetation (section :numref:`Longwave Fluxes`), and +:math:`H_{v}` and :math:`\lambda E_{v}` are the sensible and latent +heat fluxes from vegetation, respectively. The term :math:`\lambda` is +taken to be the latent heat of vaporization :math:`\lambda _{vap}` +(:numref:`Table Physical constants`). -:math:`\overrightarrow{L}_{v}`, :math:`H_{v}`, and :math:`\lambda E_{v}` depend on the vegetation temperature :math:`T_{v}`. The Newton-Raphson method for finding roots of non-linear systems of equations can be applied to iteratively solve for :math:`T_{v}` as +:math:`\overrightarrow{L}_{v}` , :math:`H_{v}` , and +:math:`\lambda E_{v}` depend on the vegetation temperature +:math:`T_{v}` . The Newton-Raphson method for finding roots of +non-linear systems of equations can be applied to iteratively solve for +:math:`T_{v}` as .. math:: :label: 5.129 \Delta T_{v} =\frac{\overrightarrow{S}_{v} -\overrightarrow{L}_{v} -H_{v} -\lambda E_{v} }{\frac{\partial \overrightarrow{L}_{v} }{\partial T_{v} } +\frac{\partial H_{v} }{\partial T_{v} } +\frac{\partial \lambda E_{v} }{\partial T_{v} } } -where :math:`\Delta T_{v} =T_{v}^{n+1} -T_{v}^{n}` and the subscript "n" indicates the iteration. +where :math:`\Delta T_{v} =T_{v}^{n+1} -T_{v}^{n}` and the subscript +“n” indicates the iteration. The partial derivatives are .. math:: - :label: 5.130 + :label: 5.130 \frac{\partial \overrightarrow{L}_{v} }{\partial T_{v} } =4\varepsilon _{v} \sigma \left[2-\varepsilon _{v} \left(1-\varepsilon _{g} \right)\right]T_{v}^{3} .. math:: - :label: 5.131 + :label: 5.131 \frac{\partial H_{v} }{\partial T_{v} } =\rho _{atm} C_{p} \left(c_{a}^{h} +c_{g}^{h} \right)\frac{c_{v}^{h} }{c_{a}^{h} +c_{v}^{h} +c_{g}^{h} } .. math:: - :label: 5.132 + :label: 5.132 \frac{\partial \lambda E_{v} }{\partial T_{v} } =\lambda \rho _{atm} \left(c_{a}^{w} +c_{g}^{w} \right)\frac{c_{v}^{w} }{c_{a}^{w} +c_{v}^{w} +c_{g}^{w} } \frac{dq_{sat}^{T_{v} } }{dT_{v} } . -The partial derivatives :math:`\frac{\partial r_{ah} }{\partial T_{v} }` and :math:`\frac{\partial r_{aw} }{\partial T_{v} }`, which cannot be determined analytically, are ignored for :math:`\frac{\partial H_{v} }{\partial T_{v} }` and :math:`\frac{\partial \lambda E_{v} }{\partial T_{v} }`. However, if :math:`\zeta` changes sign more than four times during the temperature iteration, :math:`\zeta =-0.01`. This helps prevent "flip-flopping" between stable and unstable conditions. The total water vapor flux :math:`E_{v}`, transpiration flux :math:`E_{v}^{t}`, and sensible heat flux :math:`H_{v}` are updated for changes in leaf temperature as +The partial derivatives +:math:`\frac{\partial r_{ah} }{\partial T_{v} }` and +:math:`\frac{\partial r_{aw} }{\partial T_{v} }` , which cannot be +determined analytically, are ignored for +:math:`\frac{\partial H_{v} }{\partial T_{v} }` and +:math:`\frac{\partial \lambda E_{v} }{\partial T_{v} }` . However, if +:math:`\zeta` changes sign more than four times during the temperature +iteration, :math:`\zeta =-0.01`. This helps prevent “flip-flopping” +between stable and unstable conditions. The total water vapor flux +:math:`E_{v}` , transpiration flux :math:`E_{v}^{t}` , and sensible heat +flux :math:`H_{v}` are updated for changes in leaf temperature as .. math:: :label: 5.133 @@ -1183,200 +1438,299 @@ The partial derivatives :math:`\frac{\partial r_{ah} }{\partial T_{v} }` and :ma H_{v} =-\rho _{atm} C_{p} \left[c_{a}^{h} \theta _{atm} +c_{g}^{h} T_{g} -\left(c_{a}^{h} +c_{g}^{h} \right)\left(T_{v} +\Delta T_{v} \right)\right]\frac{c_{v}^{h} }{c_{a}^{h} +c_{v}^{h} +c_{g}^{h} } . -The numerical solution for vegetation temperature and the fluxes of momentum, sensible heat, and water vapor flux from vegetated surfaces proceeds as follows: +The numerical solution for vegetation temperature and the fluxes of +momentum, sensible heat, and water vapor flux from vegetated surfaces +proceeds as follows: -#. Initial values for canopy air temperature and specific humidity are obtained from +#. Initial values for canopy air temperature and specific humidity are + obtained from .. math:: - :label: 5.136 + :label: 5.136 T_{s} =\frac{T_{g} +\theta _{atm} }{2} .. math:: - :label: 5.137 + :label: 5.137 q_{s} =\frac{q_{g} +q_{atm} }{2} . -#. An initial guess for the wind speed :math:`V_{a}` is obtained from :eq:`5.24` assuming an initial convective velocity :math:`U_{c} =0` m s\ :sup:`-1` for stable conditions (:math:`\theta _{v,\, atm} -\theta _{v,\, s} \ge 0` as evaluated from :eq:`5.50` ) and :math:`U_{c} =0.5` for unstable conditions (:math:`\theta _{v,\, atm} -\theta _{v,\, s} <0`). +#. An initial guess for the wind speed :math:`V_{a}` is obtained from + :eq:`5.24` assuming an initial convective velocity :math:`U_{c} =0` m + s\ :sup:`-1` for stable conditions + (:math:`\theta _{v,\, atm} -\theta _{v,\, s} \ge 0` as evaluated from + :eq:`5.50` ) and :math:`U_{c} =0.5` for unstable conditions + (:math:`\theta _{v,\, atm} -\theta _{v,\, s} <0`). -#. An initial guess for the Monin-Obukhov length :math:`L` is obtained from the bulk Richardson number using equation and :eq:`5.46` and :eq:`5.48`. +#. An initial guess for the Monin-Obukhov length :math:`L` is obtained + from the bulk Richardson number using equation and :eq:`5.46` and :eq:`5.48`. #. Iteration proceeds on the following system of equations: -#. Friction velocity :math:`u_{*}` (:eq:`5.32`, :eq:`5.33`, :eq:`5.34`, :eq:`5.35`) +#. Friction velocity :math:`u_{*}` (:eq:`5.32`, :eq:`5.33`, :eq:`5.34`, :eq:`5.35`) -#. Ratio :math:`\frac{\theta _{*} }{\theta _{atm} -\theta _{s} }` (:eq:`5.37`, :eq:`5.38`, :eq:`5.39`, :eq:`5.40`) +#. Ratio :math:`\frac{\theta _{*} }{\theta _{atm} -\theta _{s} }` + (:eq:`5.37` , :eq:`5.38`, :eq:`5.39`, :eq:`5.40`) -#. Ratio :math:`\frac{q_{*} }{q_{atm} -q_{s} }` (:eq:`5.41`, :eq:`5.42`, :eq:`5.43`, :eq:`5.44`) +#. Ratio :math:`\frac{q_{*} }{q_{atm} -q_{s} }` (:eq:`5.41`, :eq:`5.42`, :eq:`5.43`, :eq:`5.44`) -#. Aerodynamic resistances :math:`r_{am}`, :math:`r_{ah}`, and :math:`r_{aw}` (:eq:`5.55`, :eq:`5.56`, :eq:`5.57`) +#. Aerodynamic resistances :math:`r_{am}` , :math:`r_{ah}` , and + :math:`r_{aw}` (:eq:`5.55`, :eq:`5.56`, :eq:`5.57`) -#. Magnitude of the wind velocity incident on the leaves :math:`U_{av}` (:eq:`5.117` ) +#. Magnitude of the wind velocity incident on the leaves :math:`U_{av}` + (:eq:`5.117` ) -#. Leaf boundary layer resistance :math:`r_{b}` (:eq:`5.136` ) +#. Leaf boundary layer resistance :math:`r_{b}` (:eq:`5.136` ) -#. Aerodynamic resistances :math:`r_{ah} ^{{'} }` and :math:`r_{aw} ^{{'} }`(:eq:`5.116` ) +#. Aerodynamic resistances :math:`r_{ah} ^{{'} }` and + :math:`r_{aw} ^{{'} }` (:eq:`5.116` ) -#. Sunlit and shaded stomatal resistances :math:`r_{s}^{sun}` and :math:`r_{s}^{sha}` (Chapter :numref:`rst_Stomatal Resistance and Photosynthesis`) +#. Sunlit and shaded stomatal resistances :math:`r_{s}^{sun}` and + :math:`r_{s}^{sha}` (Chapter :numref:`rst_Stomatal Resistance and Photosynthesis`) -#. Sensible heat conductances :math:`c_{a}^{h}`, :math:`c_{g}^{h}`, and :math:`c_{v}^{h}` (:eq:`5.94`, :eq:`5.95`, :eq:`5.96`) +#. Sensible heat conductances :math:`c_{a}^{h}` , :math:`c_{g}^{h}` , + and :math:`c_{v}^{h}` (:eq:`5.94`, :eq:`5.95`, :eq:`5.96`) -#. Latent heat conductances :math:`c_{a}^{w}`, :math:`c_{v}^{w}`, and :math:`c_{g}^{w}` (:eq:`5.108`, :eq:`5.109`, :eq:`5.110`) +#. Latent heat conductances :math:`c_{a}^{w}` , :math:`c_{v}^{w}` , and + :math:`c_{g}^{w}` (:eq:`5.108`, :eq:`5.109`, :eq:`5.110`) -#. Sensible heat flux from vegetation :math:`H_{v}` (:eq:`5.97` ) +#. Sensible heat flux from vegetation :math:`H_{v}` (:eq:`5.97` ) -#. Latent heat flux from vegetation :math:`\lambda E_{v}` (:eq:`5.101` ) +#. Latent heat flux from vegetation :math:`\lambda E_{v}` (:eq:`5.101` ) -#. If the latent heat flux has changed sign from the latent heat flux computed at the previous iteration (:math:`\lambda E_{v} ^{n+1} \times \lambda E_{v} ^{n} <0`), the latent heat flux is constrained to be 10% of the computed value. The difference between the constrained and computed value (:math:`\Delta _{1} =0.1\lambda E_{v} ^{n+1} -\lambda E_{v} ^{n+1}` ) is added to the sensible heat flux later. +#. If the latent heat flux has changed sign from the latent heat flux + computed at the previous iteration + (:math:`\lambda E_{v} ^{n+1} \times \lambda E_{v} ^{n} <0`), the + latent heat flux is constrained to be 10% of the computed value. The + difference between the constrained and computed value + (:math:`\Delta _{1} =0.1\lambda E_{v} ^{n+1} -\lambda E_{v} ^{n+1}` ) + is added to the sensible heat flux later. -#. Change in vegetation temperature :math:`\Delta T_{v}` (:eq:`5.129` ) and update the vegetation temperature as :math:`T_{v}^{n+1} =T_{v}^{n} +\Delta T_{v}`. :math:`T_{v}` is constrained to change by no more than 1°K in one iteration. If this limit is exceeded, the energy error is +#. Change in vegetation temperature :math:`\Delta T_{v}` (:eq:`5.129` ) and + update the vegetation temperature as + :math:`T_{v}^{n+1} =T_{v}^{n} +\Delta T_{v}` . :math:`T_{v}` is + constrained to change by no more than 1ºK in one iteration. If this + limit is exceeded, the energy error is .. math:: - :label: 5.138 + :label: 5.138 \Delta _{2} =\overrightarrow{S}_{v} -\overrightarrow{L}_{v} -\frac{\partial \overrightarrow{L}_{v} }{\partial T_{v} } \Delta T_{v} -H_{v} -\frac{\partial H_{v} }{\partial T_{v} } \Delta T_{v} -\lambda E_{v} -\frac{\partial \lambda E_{v} }{\partial T_{v} } \Delta T_{v} -where :math:`\Delta T_{v} =1{\rm \; or\; }-1`. The error :math:`\Delta _{2}` is added to the sensible heat flux later. +where :math:`\Delta T_{v} =1{\rm \; or\; }-1`. The error +:math:`\Delta _{2}` is added to the sensible heat flux later. -#. Water vapor flux :math:`E_{v}` (:eq:`5.133` ) +#. Water vapor flux :math:`E_{v}` (:eq:`5.133` ) -#. Transpiration :math:`E_{v}^{t}` (:eq:`5.134` if :math:`\beta_{t} >0`, otherwise :math:`E_{v}^{t} =0`) +#. Transpiration :math:`E_{v}^{t}` (:eq:`5.134` if :math:`\beta_{t} >0`, + otherwise :math:`E_{v}^{t} =0`) -#. The water vapor flux :math:`E_{v}` is constrained to be less than or equal to the sum of transpiration :math:`E_{v}^{t}` and the water available from wetted leaves and stems :math:`{W_{can} \mathord{\left/ {\vphantom {W_{can} \Delta t}} \right.} \Delta t}`. The energy error due to this constraint is +#. The water vapor flux :math:`E_{v}` is constrained to be less than or + equal to the sum of transpiration :math:`E_{v}^{t}` and the water + available from wetted leaves and stems + :math:`{W_{can} \mathord{\left/ {\vphantom {W_{can} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t}` . + The energy error due to this constraint is .. math:: :label: 5.139 \Delta _{3} =\max \left(0,\, E_{v} -E_{v}^{t} -\frac{W_{can} }{\Delta t} \right). -The error :math:`\lambda \Delta _{3}` is added to the sensible heat flux later. +The error :math:`\lambda \Delta _{3}` is added to the sensible heat +flux later. + +#. Sensible heat flux :math:`H_{v}` (:eq:`5.135` ). The three energy error + terms, :math:`\Delta _{1}` , :math:`\Delta _{2}` , and + :math:`\lambda \Delta _{3}` are also added to the sensible heat + flux. -#. Sensible heat flux :math:`H_{v}` (:eq:`5.135` ). The three energy error terms, :math:`\Delta _{1}`, :math:`\Delta _{2}`, and :math:`\lambda \Delta _{3}` are also added to the sensible heat flux. +#. The saturated vapor pressure :math:`e_{i}` (Chapter + :numref:`rst_Stomatal Resistance and Photosynthesis`), saturated + specific humidity :math:`q_{sat}^{T_{v} }` and its derivative + :math:`\frac{dq_{sat}^{T_{v} } }{dT_{v} }` at the leaf surface + (section :numref:`Saturation Vapor Pressure`), are re-evaluated based on + the new :math:`T_{v}` . -#. The saturated vapor pressure :math:`e_{i}` (Chapter :numref:`rst_Stomatal Resistance and Photosynthesis`), saturated specific humidity :math:`q_{sat}^{T_{v} }` and its derivative :math:`\frac{dq_{sat}^{T_{v} } }{dT_{v} }` at the leaf surface (section :numref:`Saturation Vapor Pressure`), are re-evaluated based on the new :math:`T_{v}`. +#. Canopy air temperature :math:`T_{s}` (:eq:`5.93` ) -#. Canopy air temperature :math:`T_{s}` (:eq:`5.93` ) +#. Canopy air specific humidity :math:`q_{s}` (:eq:`5.107` ) -#. Canopy air specific humidity :math:`q_{s}` (:eq:`5.107` ) +#. Temperature difference :math:`\theta _{atm} -\theta _{s}` -#. Temperature difference :math:`\theta _{atm} -\theta _{s}` +#. Specific humidity difference :math:`q_{atm} -q_{s}` -#. Specific humidity difference :math:`q_{atm} -q_{s}` +#. Potential temperature scale + :math:`\theta _{*} =\frac{\theta _{*} }{\theta _{atm} -\theta _{s} } \left(\theta _{atm} -\theta _{s} \right)` + where :math:`\frac{\theta _{*} }{\theta _{atm} -\theta _{s} }` was + calculated earlier in the iteration -#. Potential temperature scale :math:`\theta _{*} =\frac{\theta _{*} }{\theta _{atm} -\theta _{s} } \left(\theta _{atm} -\theta _{s} \right)` where :math:`\frac{\theta _{*} }{\theta _{atm} -\theta _{s} }` was calculated earlier in the iteration #. Humidity scale :math:`q_{*} =\frac{q_{*} }{q_{atm} -q_{s} } \left(q_{atm} -q_{s} \right)` where :math:`\frac{q_{*} }{q_{atm} -q_{s} }` was calculated earlier in the iteration #. Virtual potential temperature scale :math:`\theta _{v*}` (:eq:`5.17` ) +#. Humidity scale + :math:`q_{*} =\frac{q_{*} }{q_{atm} -q_{s} } \left(q_{atm} -q_{s} \right)` + where :math:`\frac{q_{*} }{q_{atm} -q_{s} }` was calculated earlier + in the iteration -#. Wind speed including the convective velocity, :math:`V_{a}` (:eq:`5.24` ) +#. Virtual potential temperature scale :math:`\theta _{v*}` (:eq:`5.17` ) + +#. Wind speed including the convective velocity, :math:`V_{a}` (:eq:`5.24` ) #. Monin-Obukhov length :math:`L` (:eq:`5.49` ) -#. The iteration is stopped after two or more steps if :math:`\tilde{\Delta }T_{v} <0.01` and :math:`\left|\lambda E_{v}^{n+1} -\lambda E_{v}^{n} \right|<0.1` where :math:`\tilde{\Delta }T_{v} =\max \left(\left|T_{v}^{n+1} -T_{v}^{n} \right|,\, \left|T_{v}^{n} -T_{v}^{n-1} \right|\right)`, or after forty iterations have been carried out. +#. The iteration is stopped after two or more steps if + :math:`\tilde{\Delta }T_{v} <0.01` and + :math:`\left|\lambda E_{v}^{n+1} -\lambda E_{v}^{n} \right|<0.1` + where + :math:`\tilde{\Delta }T_{v} =\max \left(\left|T_{v}^{n+1} -T_{v}^{n} \right|,\, \left|T_{v}^{n} -T_{v}^{n-1} \right|\right)`, + or after forty iterations have been carried out. -#. Momentum fluxes :math:`\tau _{x}`, :math:`\tau _{y}` (:eq:`5.5`, :eq:`5.6`) +#. Momentum fluxes :math:`\tau _{x}` , :math:`\tau _{y}` (:eq:`5.5`, :eq:`5.6`) -#. Sensible heat flux from ground :math:`H_{g}` (:eq:`5.89` ) +#. Sensible heat flux from ground :math:`H_{g}` (:eq:`5.89` ) -#. Water vapor flux from ground :math:`E_{g}` (:eq:`5.102` ) +#. Water vapor flux from ground :math:`E_{g}` (:eq:`5.102` ) -#. 2-m height air temperature :math:`T_{2m}`, specific humidity :math:`q_{2m}`, relative humidity :math:`RH_{2m}` \ (:eq:`5.58`, :eq:`5.59`, :eq:`5.60`) +#. 2-m height air temperature :math:`T_{2m}` , specific humidity + :math:`q_{2m}` , relative humidity :math:`RH_{2m}` \ (:eq:`5.58` , :eq:`5.59`, :eq:`5.60`) .. _Update of Ground Sensible and Latent Heat Fluxes: Update of Ground Sensible and Latent Heat Fluxes ---------------------------------------------------- -The sensible and water vapor heat fluxes derived above for bare soil and soil beneath canopy are based on the ground surface temperature from the previous time step :math:`T_{g}^{n}` and are used as the surface forcing for the solution of the soil temperature equations (section :numref:`Numerical Solution Temperature`). This solution yields a new ground surface temperature :math:`T_{g}^{n+1}`. The ground sensible and water vapor fluxes are then updated for :math:`T_{g}^{n+1}` as +The sensible and water vapor heat fluxes derived above for bare soil and +soil beneath canopy are based on the ground surface temperature from the +previous time step :math:`T_{g}^{n}` and are used as the surface +forcing for the solution of the soil temperature equations (section +:numref:`Numerical Solution Temperature`). This solution yields a new ground +surface temperature :math:`T_{g}^{n+1}` . The ground sensible and water +vapor fluxes are then updated for :math:`T_{g}^{n+1}` as .. math:: - :label: 5.140 + :label: 5.140 H'_{g} =H_{g} +\left(T_{g}^{n+1} -T_{g}^{n} \right)\frac{\partial H_{g} }{\partial T_{g} } .. math:: - :label: 5.141 + :label: 5.141 E'_{g} =E_{g} +\left(T_{g}^{n+1} -T_{g}^{n} \right)\frac{\partial E_{g} }{\partial T_{g} } -where :math:`H_{g}` and :math:`E_{g}` are the sensible heat and water vapor fluxes derived from equations and for non-vegetated surfaces and equations and for vegetated surfaces using :math:`T_{g}^{n}`. One further adjustment is made to :math:`H'_{g}` and :math:`E'_{g}`. If the soil moisture in the top snow/soil layer is not sufficient to support the updated ground evaporation, i.e., if :math:`E'_{g} > 0` and :math:`f_{evap} < 1` where +where :math:`H_{g}` and :math:`E_{g}` are the sensible heat and water +vapor fluxes derived from equations and for non-vegetated surfaces and +equations and for vegetated surfaces using :math:`T_{g}^{n}` . One +further adjustment is made to :math:`H'_{g}` and :math:`E'_{g}` . If +the soil moisture in the top snow/soil layer is not sufficient to +support the updated ground evaporation, i.e., if :math:`E'_{g} > 0` and +:math:`f_{evap} < 1` where .. math:: - :label: 5.142 + :label: 5.142 - f_{evap} =\frac{{\left(w_{ice,\; snl+1} +w_{liq,\, snl+1} \right)\mathord{\left/ {\vphantom {\left(w_{ice,\; snl+1} +w_{liq,\, snl+1} \right) \Delta t}} \right.} \Delta t} }{\sum _{j=1}^{npft}\left(E'_{g} \right)_{j} \left(wt\right)_{j} } \le 1, + f_{evap} =\frac{{\left(w_{ice,\; snl+1} +w_{liq,\, snl+1} \right)\mathord{\left/ {\vphantom {\left(w_{ice,\; snl+1} +w_{liq,\, snl+1} \right) \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} }{\sum _{j=1}^{npft}\left(E'_{g} \right)_{j} \left(wt\right)_{j} } \le 1, an adjustment is made to reduce the ground evaporation accordingly as .. math:: - :label: 5.143 + :label: 5.143 E''_{g} =f_{evap} E'_{g} . -The term :math:`\sum _{j=1}^{npft}\left(E'_{g} \right)_{j} \left(wt\right)_{j}` is the sum of :math:`E'_{g}` over all evaporating PFTs where :math:`\left(E'_{g} \right)_{j}` is the ground evaporation from the :math:`j^{th}` PFT on the column, :math:`\left(wt\right)_{j}` is the relative area of the :math:`j^{th}` PFT with respect to the column, and :math:`npft` is the number of PFTs on the column. :math:`w_{ice,\, snl+1}` and :math:`w_{liq,\, snl+1}` are the ice and liquid water contents (kg m\ :sup:`-2`) of the top snow/soil layer (Chapter :numref:`rst_Hydrology`). Any resulting energy deficit is assigned to sensible heat as +The term +:math:`\sum _{j=1}^{npft}\left(E'_{g} \right)_{j} \left(wt\right)_{j}` +is the sum of :math:`E'_{g}` over all evaporating PFTs where +:math:`\left(E'_{g} \right)_{j}` is the ground evaporation from the +:math:`j^{th}` PFT on the column, :math:`\left(wt\right)_{j}` is the +relative area of the :math:`j^{th}` PFT with respect to the column, and +:math:`npft` is the number of PFTs on the column. +:math:`w_{ice,\, snl+1}` and :math:`w_{liq,\, snl+1}` are the ice and +liquid water contents (kg m\ :sup:`-2`) of the top snow/soil layer +(Chapter :numref:`rst_Hydrology`). Any resulting energy deficit is assigned +to sensible heat +as .. math:: - :label: 5.144 + :label: 5.144 H''_{g} =H_{g} +\lambda \left(E'_{g} -E''_{g} \right). -The ground water vapor flux :math:`E''_{g}` is partitioned into evaporation of liquid water from snow/soil :math:`q_{seva}` (kg\ m\ :sup:`-2` s\ :sup:`-1`), sublimation from snow/soil ice :math:`q_{subl}` (kg m\ :sup:`-2` s\ :sup:`-1`), liquid dew on snow/soil :math:`q_{sdew}` (kg m\ :sup:`-2` s\ :sup:`-1`), or frost on snow/soil :math:`q_{frost}` (kg m\ :sup:`-2` s\ :sup:`-1`) as +The ground water vapor flux :math:`E''_{g}` is partitioned into evaporation +of liquid water from snow/soil :math:`q_{seva}` (kg\ m\ :sup:`-2` s\ :sup:`-1`), +sublimation from snow/soil ice :math:`q_{subl}` (kg m\ :sup:`-2` s\ :sup:`-1`), +liquid dew on snow/soil :math:`q_{sdew}` (kg m\ :sup:`-2` s\ :sup:`-1`), or +frost on snow/soil :math:`q_{frost}` (kg m\ :sup:`-2` s\ :sup:`-1`) as .. math:: - :label: 5.145 + :label: 5.145 q_{seva} =\max \left(E''_{sno} \frac{w_{liq,\, snl+1} }{w_{ice,\; snl+1} +w_{liq,\, snl+1} } ,0\right)\qquad E''_{sno} \ge 0,\, w_{ice,\; snl+1} +w_{liq,\, snl+1} >0 .. math:: - :label: 5.146 + :label: 5.146 q_{subl} =E''_{sno} -q_{seva} \qquad E''_{sno} \ge 0 .. math:: - :label: 5.147 + :label: 5.147 q_{sdew} =\left|E''_{sno} \right|\qquad E''_{sno} <0{\rm \; and\; }T_{g} \ge T_{f} .. math:: - :label: 5.148 + :label: 5.148 q_{frost} =\left|E''_{sno} \right|\qquad E''_{sno} <0{\rm \; and\; }T_{g} 0} \\ {\lambda _{vap} \qquad {\rm otherwise}} \end{array}\right\} -where :math:`\lambda _{sub}` and :math:`\lambda _{vap}` are the latent heat of sublimation and vaporization, respectively (J (kg\ :sup:`-1`) (:numref:`Table Physical constants`). When converting vegetation water vapor flux to an energy flux, :math:`\lambda _{vap}` is used. +where :math:`\lambda _{sub}` and :math:`\lambda _{vap}` are the latent +heat of sublimation and vaporization, respectively (J +(kg\ :sup:`-1`) (:numref:`Table Physical constants`). When converting vegetation water vapor +flux to an energy flux, :math:`\lambda _{vap}` is used. The system balances energy as .. math:: - :label: 5.153 + :label: 5.153 \overrightarrow{S}_{g} +\overrightarrow{S}_{v} +L_{atm} \, \downarrow -L\, \uparrow -H_{v} -H_{g} -\lambda _{vap} E_{v} -\lambda E_{g} -G=0. @@ -1385,33 +1739,43 @@ The system balances energy as Saturation Vapor Pressure ----------------------------- -Saturation vapor pressure :math:`e_{sat}^{T}` (Pa) and its derivative :math:`\frac{de_{sat}^{T} }{dT}`, as a function of temperature :math:`T` (°C), are calculated from the eighth-order polynomial fits of :ref:`Flatau et al. (1992) ` +Saturation vapor pressure :math:`e_{sat}^{T}` (Pa) and its derivative +:math:`\frac{de_{sat}^{T} }{dT}` , as a function of temperature +:math:`T` (ºC), are calculated from the eighth-order polynomial fits of +:ref:`Flatau et al. (1992) ` .. math:: - :label: 5.154 + :label: 5.154 e_{sat}^{T} =100\left[a_{0} +a_{1} T+\cdots +a_{n} T^{n} \right] .. math:: - :label: 5.155 + :label: 5.155 \frac{de_{sat}^{T} }{dT} =100\left[b_{0} +b_{1} T+\cdots +b_{n} T^{n} \right] -where the coefficients for ice are valid for :math:`-75\, ^{\circ } {\rm C}\le T<0\, ^{\circ } {\rm C}` and the coefficients for water are valid for :math:`0\, ^{\circ } {\rm C}\le T\le 100\, ^{\circ } {\rm C}` (:numref:`Table Coefficients for saturation vapor pressure` and :numref:`Table Coefficients for derivative of esat`). The saturated water vapor specific humidity :math:`q_{sat}^{T}` and its derivative :math:`\frac{dq_{sat}^{T} }{dT}` are +where the coefficients for ice are valid for +:math:`-75\, ^{\circ } {\rm C}\le T<0\, ^{\circ } {\rm C}` and the +coefficients for water are valid for +:math:`0\, ^{\circ } {\rm C}\le T\le 100\, ^{\circ } {\rm C}` +(:numref:`Table Coefficients for saturation vapor pressure` and +:numref:`Table Coefficients for derivative of esat`). +The saturated water vapor specific humidity :math:`q_{sat}^{T}` and its derivative +:math:`\frac{dq_{sat}^{T} }{dT}` are .. math:: - :label: 5.156 + :label: 5.156 q_{sat}^{T} =\frac{0.622e_{sat}^{T} }{P_{atm} -0.378e_{sat}^{T} } .. math:: - :label: 5.157 + :label: 5.157 \frac{dq_{sat}^{T} }{dT} =\frac{0.622P_{atm} }{\left(P_{atm} -0.378e_{sat}^{T} \right)^{2} } \frac{de_{sat}^{T} }{dT} . .. _Table Coefficients for saturation vapor pressure: -.. table:: Coefficients for :math:`e_{sat}^{T}` +.. table:: Coefficients for :math:`e_{sat}^{T}` +------------------+------------------------------------------+----------------------------------------+ | | water | ice | @@ -1434,10 +1798,10 @@ where the coefficients for ice are valid for :math:`-75\, ^{\circ } {\rm C}\le T +------------------+-------------------------------------------+---------------------------------------+ | :math:`a_{8}` | 2.09339997 :math:`\times 10^{-16}` | 2.62655803\ :math:`\times 10^{-15}` | +------------------+------------------------------------------+----------------------------------------+ - + .. _Table Coefficients for derivative of esat: -.. table:: Coefficients for :math:`\frac{de_{sat}^{T} }{dT}` +.. table:: Coefficients for :math:`\frac{de_{sat}^{T} }{dT}` +------------------+----------------------------------------+----------------------------------------+ | | water | ice | diff --git a/doc/source/tech_note/Glacier/CLM50_Tech_Note_Glacier.rst b/doc/source/tech_note/Glacier/CLM50_Tech_Note_Glacier.rst index 3e510561bb..52313b9a5c 100644 --- a/doc/source/tech_note/Glacier/CLM50_Tech_Note_Glacier.rst +++ b/doc/source/tech_note/Glacier/CLM50_Tech_Note_Glacier.rst @@ -3,84 +3,199 @@ Glaciers ======== -This chapter describes features of CLM that are specific to coupling to an ice sheet model (in the CESM context, this is the CISM model; :ref:`Lipscomb and Sacks (2012)` provide documentation and user's guide for CISM). General information about glacier land units can be found elsewhere in this document (see Chapter :numref:`rst_Surface Characterization, Vertical Discretization, and Model Input Requirements` for an overview). +This chapter describes features of CLM that are specific to coupling to +an ice sheet model (in the CESM context, this is the CISM model; +:ref:`Lipscomb and Sacks (2012)` provide +documentation and user’s guide for CISM). General information +about glacier land units can be found elsewhere in this document (see +Chapter :numref:`rst_Surface Characterization, Vertical Discretization, +and Model Input Requirements` for an overview). .. _Glaciers summary of CLM5.0 updates relative to CLM4.5: Summary of CLM5.0 updates relative to CLM4.5 -------------------------------------------- -Compared with CLM4.5 (:ref:`Oleson et al. 2013 `), CLM5.0 contains substantial improvements in its capabilities for land-ice science. This section summarizes these improvements, and the following sections provide more details. +Compared with CLM4.5 (:ref:`Oleson et al. 2013 `), +CLM5.0 contains substantial improvements in its capabilities for +land-ice science. This section summarizes these improvements, and the +following sections provide more details. -- All runs include multiple glacier elevation classes over Greenland and Antarctica and compute ice sheet surface mass balance in those regions. +- All runs include multiple glacier elevation classes over Greenland and + Antarctica and compute ice sheet surface mass balance in those + regions. -- A number of namelist parameters offer fine-grained control over glacier behavior in different regions of the world (section :numref:`Glacier regions`). (The options used outside of Greenland and Antarctica reproduce the standard CLM4.5 glacier behavior.) +- A number of namelist parameters offer fine-grained control over + glacier behavior in different regions of the world (section + :numref:`Glacier regions`). (The options used outside of Greenland and + Antarctica reproduce the standard CLM4.5 glacier behavior.) -- CLM can now keep its glacier areas and elevations in sync with CISM when running with an evolving ice sheet. (However, in typical configurations, the ice sheet geometry still remains fixed throughout the run.) +- CLM can now keep its glacier areas and elevations in sync with CISM + when running with an evolving ice sheet. (However, in typical + configurations, the ice sheet geometry still remains fixed throughout + the run.) -- The downscaling to elevation classes now includes downwelling longwave radiation and partitioning of precipitation into rain vs. snow (section :numref:`Multiple elevation class scheme`). +- The downscaling to elevation classes now includes downwelling longwave + radiation and partitioning of precipitation into rain vs. snow + (section :numref:`Multiple elevation class scheme`). -- Other land units within the CISM domain undergo the same downscaling as the glacier land unit, and surface mass balance is computed for the natural vegetated land unit. This allows CLM to produce glacial inception when running with an evolving ice sheet model. +- Other land units within the CISM domain undergo the same downscaling + as the glacier land unit, and surface mass balance is computed for the + natural vegetated land unit. This allows CLM to produce glacial + inception when running with an evolving ice sheet model. -- There have also been substantial improvements to CLM's snow physics, as described in other chapters of this document. +- There have also been substantial improvements to CLM's snow physics, + as described in other chapters of this document. .. _Overview Glaciers: Overview -------- -CLM is responsible for computing two quantities that are passed to the ice sheet model: - -#. Surface mass balance (SMB) - the net annual accumulation/ablation of mass at the upper surface (section :numref:`Computation of the surface mass balance`) - -#. Ground surface temperature, which serves as an upper boundary condition for CISM's temperature calculation The ice sheet model is typically run at much higher resolution than CLM (e.g., :math:`\sim`\ 5 km rather than :math:`\sim`\ 100 km). To improve the downscaling from CLM's grid to the ice sheet grid, the glaciated portion of each grid cell is divided into multiple elevation classes (section :numref:`Multiple elevation class scheme`). The above quantities are computed separately in each elevation class. The CESM coupler then computes high-resolution quantities via horizontal and vertical interpolation, and passes these high-resolution quantities to CISM. - -There are several reasons for computing the SMB in CLM rather than in CISM: - -#. It is much cheaper to compute the SMB in CLM for :math:`\sim`\ 10 elevation classes than in CISM. For example, suppose we are running CLM at a resolution of :math:`\sim`\ 50 km and CISM at :math:`\sim`\ 5 km. Greenland has dimensions of about 1000 x 2000 km. For CLM we would have 20 x 40 x 10 = 8,000 columns, whereas for CISM we would have 200 x 400 = 80,000 columns. - -#. We can use the sophisticated snow physics parameterization already in CLM instead of implementing a separate scheme for CISM. Any improvements to CLM are applied to ice sheets automatically. - -#. The atmosphere model can respond during runtime to ice-sheet surface changes (even in the absence of two-way feedbacks with CISM). As shown by :ref:`Pritchard et al. (2008)`, runtime albedo feedback from the ice sheet is critical for simulating ice-sheet retreat on paleoclimate time scales. Without this feedback the atmosphere warms much less, and the retreat is delayed. - -#. The improved SMB is potentially available in CLM for all glaciated grid cells (e.g., in the Alps, Rockies, Andes, and Himalayas), not just those which are part of ice sheets. - -In typical runs, CISM is not evolving; CLM computes the SMB and sends it to CISM, but CISM's ice sheet geometry remains fixed over the course of the run. In these runs, CISM serves two roles in the system: - -#. Over the CISM domain (typically Greenland in CESM2), CISM dictates glacier areas and topographic elevations, overriding the values on CLM's surface dataset. CISM also dictates the elevation of non-glacier land units in its domain, and only in this domain are atmospheric fields downscaled to non-glacier land units. (So if you run with a stub glacier model - SGLC - then glacier areas and elevations will be taken entirely from CLM's surface dataset, and no downscaling will be done over non-glacier land units.) - -#. CISM provides the grid onto which SMB is downscaled. (If you run with SGLC then SMB will still be computed in CLM, but it won't be downscaled to a high-resolution ice sheet grid.) - -It is also possible to run CESM with an evolving ice sheet. In this case, CLM responds to CISM's evolution by adjusting the areas of the glacier land unit and each elevation class within this land unit, as well as the mean topographic heights of each elevation class. Thus, CLM's glacier areas and elevations remain in sync with CISM's. Conservation of mass and energy is done as for other landcover change (see Chapter :numref:`rst_Transient Landcover Change`). +CLM is responsible for computing two quantities that are passed to the +ice sheet model: + +#. Surface mass balance (SMB) - the net annual accumulation/ablation of + mass at the upper surface (section + :numref:`Computation of the surface mass balance`) + +#. Ground surface temperature, which serves as an upper boundary + condition for CISM's temperature calculation + +The ice sheet model is typically run at much higher resolution than CLM +(e.g., :math:`\sim`\ 5 km rather than :math:`\sim`\ 100 km). To improve +the downscaling from CLM’s grid to the ice sheet grid, the glaciated +portion of each grid cell is divided into multiple elevation classes +(section :numref:`Multiple elevation class scheme`). The above +quantities are computed separately in each elevation class. The CESM +coupler then computes high-resolution quantities via horizontal and +vertical interpolation, and passes these high-resolution quantities to +CISM. + +There are several reasons for computing the SMB in CLM rather than in +CISM: + +#. It is much cheaper to compute the SMB in CLM for :math:`\sim`\ 10 + elevation classes than in CISM. For example, suppose we are + running CLM at a resolution of :math:`\sim`\ 50 km and CISM at + :math:`\sim`\ 5 km. Greenland has dimensions of about 1000 x 2000 km. + For CLM we would have 20 x 40 x 10 = 8,000 columns, whereas for + CISM we would have 200 x 400 = 80,000 columns. + +#. We can use the sophisticated snow physics parameterization already in + CLM instead of implementing a separate scheme for CISM. Any + improvements to CLM are applied to ice sheets automatically. + +#. The atmosphere model can respond during runtime to ice-sheet surface + changes (even in the absence of two-way feedbacks with CISM). As + shown by :ref:`Pritchard et al. (2008)`, runtime + albedo feedback from the ice sheet is critical for simulating + ice-sheet retreat on paleoclimate time scales. Without this feedback + the atmosphere warms much less, and the retreat is delayed. + +#. The improved SMB is potentially available in CLM for all glaciated + grid cells (e.g., in the Alps, Rockies, Andes, and Himalayas), not + just those which are part of ice sheets. + +In typical runs, CISM is not evolving; CLM computes the SMB and sends it +to CISM, but CISM's ice sheet geometry remains fixed over the course of +the run. In these runs, CISM serves two roles in the system: + +#. Over the CISM domain (typically Greenland in CESM2), CISM dictates + glacier areas and topographic elevations, overriding the values on + CLM's surface dataset. CISM also dictates the elevation of + non-glacier land units in its domain, and only in this domain are + atmospheric fields downscaled to non-glacier land units. (So if you + run with a stub glacier model - SGLC - then glacier areas and + elevations will be taken entirely from CLM's surface dataset, and no + downscaling will be done over non-glacier land units.) + +#. CISM provides the grid onto which SMB is downscaled. (If you run with + SGLC then SMB will still be computed in CLM, but it won't be + downscaled to a high-resolution ice sheet grid.) + +It is also possible to run CESM with an evolving ice sheet. In this +case, CLM responds to CISM's evolution by adjusting the areas of the +glacier land unit and each elevation class within this land unit, as well +as the mean topographic heights of each elevation class. Thus, CLM's +glacier areas and elevations remain in sync with CISM's. Conservation of +mass and energy is done as for other landcover change (see Chapter +:numref:`rst_Transient Landcover Change`). .. _Glacier regions: Glacier regions and their behaviors ----------------------------------- -The world's glaciers and ice sheets are broken down into a number of different regions (four by default) that differ in three respects: +The world's glaciers and ice sheets are broken down into a number of +different regions (four by default) that differ in three respects: #. Whether the gridcell's glacier land unit contains: - a. Multiple elevation classes (section :numref:`Multiple elevation class scheme`) + a. Multiple elevation classes (section :numref:`Multiple elevation + class scheme`) - b. Multiple elevation classes plus virtual elevation classes + b. Multiple elevation classes plus virtual elevation classes - c. Just a single elevation class whose elevation matches the atmosphere's topographic height (so there is no adjustment in atmospheric forcings due to downscaling). + c. Just a single elevation class whose elevation matches the + atmosphere's topographic height (so there is no adjustment in + atmospheric forcings due to downscaling). #. Treatment of glacial melt water: - a. Glacial melt water runs off and is replaced by ice, thus keeping the column always frozen. In the absence of a dynamic ice sheet model, this behavior implicitly assumes an infinite store of glacial ice that can be melted (with appropriate adjustments made to ensure mass and energy conservation). This behavior is discussed in more detail in section :numref:`Computation of the surface mass balance`. - - b. Glacial melt water remains in place until it refreezes - possibly remaining in place indefinitely if the glacier column is in a warm climate. With this behavior, ice melt does not result in any runoff. Regions with this behavior cannot compute SMB, because negative SMB would be meaningless (due to the liquid water on top of the ice column). This behavior produces less realistic glacier physics. However, it avoids the negative ice runoff that is needed for the "replaced by ice" behavior to conserve mass and energy (as described in section :numref:`Computation of the surface mass balance`). Thus, in regions where CLM has glaciers but the atmospheric forcings are too warm to sustain those glaciers, this behavior avoids persistent negative ice runoff. This situation can often occur for mountain glaciers, where topographic smoothing in the atmosphere results in a too-warm climate. There, avoiding persistent negative ice runoff can be more important than getting the right glacier ice physics. - -#. Treatment of ice runoff from snow capping (as described in section :numref:`Runoff from glaciers and snow-capped surfaces`). Note that this is irrelevant in regions with an evolving, two-way-coupled ice sheet (where the snow capping term is sent to CISM rather than running off): - - a. Ice runoff from snow capping remains ice. This is a crude parameterization of iceberg calving, and so is appropriate in regions where there is substantial iceberg calving in reality. - - b. Ice runoff from snow capping is melted (generating a negative sensible heat flux) and runs off as liquid. This matches the behavior for non-glacier columns. This is appropriate in regions that have little iceberg calving in reality. This can be important to avoid unrealistic cooling of the ocean and consequent runaway sea ice growth. - -The default behaviors for the world's glacier and ice sheet regions are described in :numref:`Table Glacier region behaviors`. Note that the standard CISM grid covers Greenland plus enough surrounding area to allow for ice sheet growth and to have a regular rectangular grid. We need to have the "replaced by ice" melt behavior within the CISM domain in order to compute SMB there, and we need virtual elevation classes in that domain in order to compute SMB for all elevation classes and to facilitate glacial advance and retreat in the two-way-coupled case. However, this domain is split into Greenland itself and areas outside Greenland so that ice runoff in the Canadian archipelago (which is inside the CISM domain) is melted before reaching the ocean, to avoid runaway sea ice growth in that region. + a. Glacial melt water runs off and is replaced by ice, thus keeping + the column always frozen. In the absence of a dynamic ice sheet + model, this behavior implicitly assumes an infinite store of + glacial ice that can be melted (with appropriate adjustments made + to ensure mass and energy conservation). This behavior is + discussed in more detail in section :numref:`Computation of the + surface mass balance`. + + b. Glacial melt water remains in place until it refreezes - possibly + remaining in place indefinitely if the glacier column is in a warm + climate. With this behavior, ice melt does not result in any + runoff. Regions with this behavior cannot compute SMB, because + negative SMB would be meaningless (due to the liquid water on top + of the ice column). This behavior produces less realistic glacier + physics. However, it avoids the negative ice runoff that is needed + for the "replaced by ice" behavior to conserve mass and energy (as + described in section :numref:`Computation of the surface mass + balance`). Thus, in regions where CLM has glaciers but the + atmospheric forcings are too warm to sustain those glaciers, this + behavior avoids persistent negative ice runoff. This situation can + often occur for mountain glaciers, where topographic smoothing in + the atmosphere results in a too-warm climate. There, avoiding + persistent negative ice runoff can be more important than getting + the right glacier ice physics. + +#. Treatment of ice runoff from snow capping (as described in section + :numref:`Runoff from glaciers and snow-capped surfaces`). Note that this + is irrelevant in regions with an evolving, two-way-coupled ice sheet + (where the snow capping term is sent to CISM rather than running off): + + a. Ice runoff from snow capping remains ice. This is a crude + parameterization of iceberg calving, and so is appropriate in + regions where there is substantial iceberg calving in reality. + + b. Ice runoff from snow capping is melted (generating a negative + sensible heat flux) and runs off as liquid. This matches the + behavior for non-glacier columns. This is appropriate in regions + that have little iceberg calving in reality. This can be important + to avoid unrealistic cooling of the ocean and consequent runaway + sea ice growth. + +The default behaviors for the world's glacier and ice sheet regions are +described in :numref:`Table Glacier region behaviors`. Note that the +standard CISM grid covers Greenland plus enough surrounding area to +allow for ice sheet growth and to have a regular rectangular grid. We +need to have the "replaced by ice" melt behavior within the CISM domain +in order to compute SMB there, and we need virtual elevation classes in +that domain in order to compute SMB for all elevation classes and to +facilitate glacial advance and retreat in the two-way-coupled +case. However, this domain is split into Greenland itself and areas +outside Greenland so that ice runoff in the Canadian archipelago (which +is inside the CISM domain) is melted before reaching the ocean, to avoid +runaway sea ice growth in that region. .. _Table Glacier region behaviors: @@ -109,52 +224,172 @@ The default behaviors for the world's glacier and ice sheet regions are describe .. note:: - In regions that have both the ``Glacial melt = Replaced by ice`` and the ``Ice runoff = Melted`` behaviors (by default, this is just the region inside the standard CISM grid but outside Greenland itself): During periods of glacial melt, a negative ice runoff is generated (due to the ``Glacial melt = Replaced by ice`` behavior); this negative ice runoff is converted to a negative liquid runoff plus a positive sensible heat flux (due to the ``Ice runoff = Melted`` behavior). We recommend that you limit the portion of the globe with both of these behaviors combined, in order to avoid having too large of an impact of this non-physical behavior. + In regions that have both the ``Glacial melt = Replaced by ice`` and the ``Ice runoff = + Melted`` behaviors (by default, this is just the region inside the standard CISM grid + but outside Greenland itself): During periods of glacial melt, a negative ice runoff is + generated (due to the ``Glacial melt = Replaced by ice`` behavior); this negative ice + runoff is converted to a negative liquid runoff plus a positive sensible heat flux (due + to the ``Ice runoff = Melted`` behavior). We recommend that you limit the portion of + the globe with both of these behaviors combined, in order to avoid having too large of + an impact of this non-physical behavior. .. _Multiple elevation class scheme: Multiple elevation class scheme ------------------------------- -The glacier land unit contains multiple columns based on surface elevation. These are known as elevation classes, and the land unit is referred to as *glacier\_mec*. (As described in section :numref:`Glacier regions`, some regions have only a single elevation class, but they are still referred to as *glacier\_mec* land units.) The default is to have 10 elevation classes whose lower limits are 0, 200, 400, 700, 1000, 1300, 1600, 2000, 2500, and 3000 m. Each column is characterized by a fractional area and surface elevation that are read in during model initialization, and then possibly overridden by CISM as the run progresses. Each *glacier\_mec* column within a grid cell has distinct ice and snow temperatures, snow water content, surface fluxes, and SMB. - -The atmospheric surface temperature, potential temperature, specific humidity, density, and pressure are downscaled from the atmosphere's mean grid cell elevation to the *glacier\_mec* column elevation using a specified lapse rate (typically 6.0 deg/km) and an assumption of uniform relative humidity. Longwave radiation is downscaled by assuming a linear decrease in downwelling longwave radiation with increasing elevation (0.032 W m\ :sup:`-2` m\ :sup:`-1`, limited to 0.5 - 1.5 times the gridcell mean value, then normalized to conserve gridcell total energy) :ref:`(Van Tricht et al., 2016)`. Total precipitation is partitioned into rain vs. snow as described in Chapter :numref:`rst_Surface Characterization, Vertical Discretization, and Model Input Requirements`. The partitioning of precipitation is based on the downscaled temperature, allowing rain to fall at lower elevations while snow falls at higher elevations. - -This downscaling allows lower-elevation columns to undergo surface melting while columns at higher elevations remain frozen. This gives a more accurate simulation of summer melting, which is a highly nonlinear function of air temperature. - -Within the CISM domain, this same downscaling procedure is also applied to all non-urban land units. The elevation of non-glacier land units is taken from the mean elevation of ice-free grid cells in CISM. This is done in order to keep the glaciated and non-glaciated portions of the CISM domain as consistent as possible. - -In contrast to most CLM subgrid units, glacier\_mec columns can be active (i.e., have model calculations run there) even if their area is zero. These are known as "virtual" columns. This is done because the ice sheet model may require a SMB for some grid cells where CLM has zero glacier area in that elevation range. Virtual columns also facilitate glacial advance and retreat in the two-way coupled case. Virtual columns do not affect energy exchange between the land and the atmosphere. +The glacier land unit contains multiple columns based on surface +elevation. These are known as elevation classes, and the land unit is +referred to as *glacier\_mec*. (As described in section :numref:`Glacier +regions`, some regions have only a single elevation class, but they are +still referred to as *glacier\_mec* land units.) The default is to have 10 +elevation classes whose lower limits are 0, 200, 400, 700, 1000, 1300, +1600, 2000, 2500, and 3000 m. Each column is characterized by a +fractional area and surface elevation that are read in during model +initialization, and then possibly overridden by CISM as the run +progresses. Each *glacier\_mec* column within a grid cell has distinct ice +and snow temperatures, snow water content, surface fluxes, and SMB. + +The atmospheric surface temperature, potential temperature, specific +humidity, density, and pressure are downscaled from the atmosphere's +mean grid cell elevation to the *glacier\_mec* column elevation using a +specified lapse rate (typically 6.0 deg/km) and an assumption of uniform +relative humidity. Longwave radiation is downscaled by assuming a linear +decrease in downwelling longwave radiation with increasing elevation +(0.032 W m\ :sup:`-2` m\ :sup:`-1`, limited to 0.5 - 1.5 times the +gridcell mean value, then normalized to conserve gridcell total energy) +:ref:`(Van Tricht et al., 2016)`. Total precipitation +is partitioned into rain vs. snow as described in Chapter +:numref:`rst_Surface Characterization, Vertical Discretization, and +Model Input Requirements`. The partitioning of precipitation is based on +the downscaled temperature, allowing rain to fall at lower elevations +while snow falls at higher elevations. + +This downscaling allows lower-elevation columns to undergo surface +melting while columns at higher elevations remain frozen. This gives a +more accurate simulation of summer melting, which is a highly nonlinear +function of air temperature. + +Within the CISM domain, this same downscaling procedure is also applied +to all non-urban land units. The elevation of non-glacier land units is +taken from the mean elevation of ice-free grid cells in CISM. This is +done in order to keep the glaciated and non-glaciated portions of the +CISM domain as consistent as possible. + +In contrast to most CLM subgrid units, glacier\_mec columns can be +active (i.e., have model calculations run there) even if their area is +zero. These are known as "virtual" columns. This is done because the ice +sheet model may require a SMB for some grid cells where CLM has zero +glacier area in that elevation range. Virtual columns also facilitate +glacial advance and retreat in the two-way coupled case. Virtual columns +do not affect energy exchange between the land and the atmosphere. .. _Computation of the surface mass balance: Computation of the surface mass balance --------------------------------------- -This section describes the computation of surface mass balance and associated runoff terms. The description here only applies to regions where glacial melt runs off and is replaced by ice, not to regions where glacial melt remains in place. Thus, by default, this only applies to Greenland and Antarctica, not to mountain glaciers elsewhere in the world. (See also section :numref:`Glacier regions`.) - -The SMB of a glacier or ice sheet is the net annual accumulation/ablation of mass at the upper surface. Ablation is defined as the mass of water that runs off to the ocean. Not all the surface meltwater runs off; some of the melt percolates into the snow and refreezes. Accumulation is primarily by snowfall and deposition, and ablation is primarily by melting and evaporation/sublimation. CLM uses a surface-energy-balance (SEB) scheme to compute the SMB. In this scheme, the melting depends on the sum of the radiative, turbulent, and conductive fluxes reaching the surface, as described elsewhere in this document. - -Note that the SMB typically is defined as the total accumulation of ice and snow, minus the total ablation. The SMB flux passed to CISM is the mass balance for ice alone, not snow. We can think of CLM as owning the snow, whereas CISM owns the underlying ice. Fluctuations in snow depth between 0 and 10 m water equivalent are not reflected in the SMB passed to CISM. In transient runs, this can lead to delays of a few decades in the onset of accumulation or ablation in a given glacier column. - -SMB is computed and sent to the CESM coupler regardless of whether and where CISM is operating. However, the effect of SMB terms on runoff fluxes differs depending on whether and where CISM is evolving in two-way-coupled mode. This is described by the variable *glc\_dyn\_runoff\_routing*. (This is real-valued in the code to handle the edge case where a CLM grid cell partially overlaps with the CISM grid, but we describe it as a logical variable here for simplicity.) In typical cases where CISM is not evolving, *glc\_dyn\_runoff\_routing* will be false everywhere; in these cases, CISM's mass is not considered to be part of the coupled system. In cases where CISM is evolving and sending its own calving flux to the coupler, *glc\_dyn\_runoff\_routing* will be true over the CISM domain and false elsewhere. - -Any snow capping (section :numref:`Runoff from glaciers and snow-capped surfaces`) is added to :math:`q_{ice,frz}`. Any liquid water (i.e., melted ice) below the snow pack in the glacier column is added to :math:`q_{ice,melt}`, then is converted back to ice to maintain a pure-ice column. Then the total SMB is given by :math:`q_{ice,tot}`: +This section describes the computation of surface mass balance and +associated runoff terms. The description here only applies to regions +where glacial melt runs off and is replaced by ice, not to regions where +glacial melt remains in place. Thus, by default, this only applies to +Greenland and Antarctica, not to mountain glaciers elsewhere in the +world. (See also section :numref:`Glacier regions`.) + +The SMB of a glacier or ice sheet is the net annual +accumulation/ablation of mass at the upper surface. Ablation is defined +as the mass of water that runs off to the ocean. Not all the surface +meltwater runs off; some of the melt percolates into the snow and +refreezes. Accumulation is primarily by snowfall and deposition, and +ablation is primarily by melting and evaporation/sublimation. CLM uses a +surface-energy-balance (SEB) scheme to compute the SMB. In this scheme, +the melting depends on the sum of the radiative, turbulent, and +conductive fluxes reaching the surface, as described elsewhere in this +document. + +Note that the SMB typically is defined as the total accumulation of ice +and snow, minus the total ablation. The SMB flux passed to CISM is the +mass balance for ice alone, not snow. We can think of CLM as owning the +snow, whereas CISM owns the underlying ice. Fluctuations in snow depth +between 0 and 10 m water equivalent are not reflected in the SMB passed +to CISM. In transient runs, this can lead to delays of a few decades in +the onset of accumulation or ablation in a given glacier column. + +SMB is computed and sent to the CESM coupler regardless of whether and +where CISM is operating. However, the effect of SMB terms on runoff +fluxes differs depending on whether and where CISM is evolving in +two-way-coupled mode. This is described by the variable +*glc\_dyn\_runoff\_routing*. (This is real-valued in the code to handle +the edge case where a CLM grid cell partially overlaps with the CISM +grid, but we describe it as a logical variable here for simplicity.) In +typical cases where CISM is not evolving, *glc\_dyn\_runoff\_routing* +will be false everywhere; in these cases, CISM's mass is not considered +to be part of the coupled system. In cases where CISM is evolving and +sending its own calving flux to the coupler, *glc\_dyn\_runoff\_routing* +will be true over the CISM domain and false elsewhere. + +Any snow capping (section :numref:`Runoff from glaciers and snow-capped +surfaces`) is added to :math:`q_{ice,frz}`. Any liquid water (i.e., +melted ice) below the snow pack in the glacier column is added to +:math:`q_{ice,melt}`, then is converted back to ice to maintain a +pure-ice column. Then the total SMB is given by :math:`q_{ice,tot}`: .. math:: :label: 13.1 q_{ice,tot} = q_{ice,frz} - q_{ice,melt} -CLM is responsible for generating glacial surface melt, even when running with an evolving ice sheet. Thus, :math:`q_{ice,melt}` is always added to liquid runoff (:math:`q_{rgwl}`), regardless of *glc\_dyn\_runoff\_routing*. However, the ice runoff flux depends on *glc\_dyn\_runoff\_routing*. If *glc\_dyn\_runoff\_routing* is true, then CISM controls the fate of the snow capping mass in :math:`q_{ice,frz}` (e.g., eventually transporting it to lower elevations where it can be melted or calved). Since CISM will now own this mass, the snow capping flux does *not* contribute to any runoff fluxes generated by CLM in this case. - -If *glc\_dyn\_runoff\_routing* is false, then CLM sends the snow capping flux as runoff, as a crude representation of ice calving (see also sections :numref:`Runoff from glaciers and snow-capped surfaces` and :numref:`Glacier regions`). However, this ice runoff flux is reduced by :math:`q_{ice,melt}`. This reduction is needed for conservation; its need is subtle, but can be understood with either of these explanations: - -- When ice melts, we let the liquid run off and replace it with new ice. That new ice needs to come from somewhere to keep the coupled system in water balance. We "request" the new ice from the ocean by generating a negative ice runoff equivalent to the amount we have melted. - -- Ice melt removes mass from the system, as it should. But the snow capping flux also removes mass from the system. The latter is a crude parameterization of calving, assuming steady state - i.e., all ice gain is balanced by ice loss. This removal of mass due to both accumulation and melt represents a double-counting. Each unit of melt indicates that one unit of accumulation should not have made it to the ocean as ice, but instead melted before it got there. So we need to correct for this double-counting by removing one unit of ice runoff for each unit of melt. - -For a given point in space or time, this reduction can result in negative ice runoff. However, when integrated over space and time, for an ice sheet that is near equilibrium, this just serves to decrease the too-high positive ice runoff from snow capping. (The treatment of snow capping with *glc\_dyn\_runoff\_routing* false is based on this near-equilibrium assumption - i.e., that ice accumulation is roughly balanced by :math:`calving + melt`, integrated across space and time. For glaciers and ice sheets that violate this assumption, either because they are far out of equilibrium with the climate or because the model is being run for hundreds of years, there are two ways to avoid the unrealistic ice runoff from snow capping: by running with an evolving, two-way-coupled ice sheet or by changing a glacier region's ice runoff behavior as described in section :numref:`Glacier regions`.) - -In regions where SMB is computed for glaciers, SMB is also computed for the natural vegetated land unit. Because there is no ice to melt in this land unit, it can only generate a zero or positive SMB. A positive SMB is generated once the snow pack reaches its maximum depth. When running with an evolving ice sheet, this condition triggers glacial inception. +CLM is responsible for generating glacial surface melt, even when +running with an evolving ice sheet. Thus, :math:`q_{ice,melt}` is always +added to liquid runoff (:math:`q_{rgwl}`), regardless of +*glc\_dyn\_runoff\_routing*. However, the ice runoff flux depends on +*glc\_dyn\_runoff\_routing*. If *glc\_dyn\_runoff\_routing* is true, +then CISM controls the fate of the snow capping mass in +:math:`q_{ice,frz}` (e.g., eventually transporting it to lower +elevations where it can be melted or calved). Since CISM will now own +this mass, the snow capping flux does *not* contribute to any runoff +fluxes generated by CLM in this case. + +If *glc\_dyn\_runoff\_routing* is false, then CLM sends the snow capping +flux as runoff, as a crude representation of ice calving (see also +sections :numref:`Runoff from glaciers and snow-capped surfaces` and +:numref:`Glacier regions`). However, this ice runoff flux is reduced by +:math:`q_{ice,melt}`. This reduction is needed for conservation; its +need is subtle, but can be understood with either of these explanations: + +- When ice melts, we let the liquid run off and replace it with new + ice. That new ice needs to come from somewhere to keep the coupled + system in water balance. We "request" the new ice from the ocean by + generating a negative ice runoff equivalent to the amount we have + melted. + +- Ice melt removes mass from the system, as it should. But the snow + capping flux also removes mass from the system. The latter is a crude + parameterization of calving, assuming steady state - i.e., all ice + gain is balanced by ice loss. This removal of mass due to both + accumulation and melt represents a double-counting. Each unit of melt + indicates that one unit of accumulation should not have made it to the + ocean as ice, but instead melted before it got there. So we need to + correct for this double-counting by removing one unit of ice runoff + for each unit of melt. + +For a given point in space or time, this reduction can result in +negative ice runoff. However, when integrated over space and time, for +an ice sheet that is near equilibrium, this just serves to decrease the +too-high positive ice runoff from snow capping. (The treatment of snow +capping with *glc\_dyn\_runoff\_routing* false is based on this +near-equilibrium assumption - i.e., that ice accumulation is roughly +balanced by :math:`calving + melt`, integrated across space and time. +For glaciers and ice sheets that violate this assumption, either because +they are far out of equilibrium with the climate or because the model is +being run for hundreds of years, there are two ways to avoid the +unrealistic ice runoff from snow capping: by running with an evolving, +two-way-coupled ice sheet or by changing a glacier region's ice runoff +behavior as described in section :numref:`Glacier regions`.) + +In regions where SMB is computed for glaciers, SMB is also computed for +the natural vegetated land unit. Because there is no ice to melt in this +land unit, it can only generate a zero or positive SMB. A positive SMB +is generated once the snow pack reaches its maximum depth. When running +with an evolving ice sheet, this condition triggers glacial inception. diff --git a/doc/source/tech_note/Hydrology/CLM50_Tech_Note_Hydrology.rst b/doc/source/tech_note/Hydrology/CLM50_Tech_Note_Hydrology.rst index 5599eeedd8..323c8ea24b 100644 --- a/doc/source/tech_note/Hydrology/CLM50_Tech_Note_Hydrology.rst +++ b/doc/source/tech_note/Hydrology/CLM50_Tech_Note_Hydrology.rst @@ -3,7 +3,16 @@ Hydrology ============ -The model parameterizes interception, throughfall, canopy drip, snow accumulation and melt, water transfer between snow layers, infiltration, evaporation, surface runoff, sub-surface drainage, redistribution within the soil column, and groundwater discharge and recharge to simulate changes in canopy water :math:`\Delta W_{can,\,liq}`, canopy snow water :math:`\Delta W_{can,\,sno}` surface water :math:`\Delta W_{sfc}`, snow water :math:`\Delta W_{sno}`, soil water :math:`\Delta w_{liq,\, i}`, and soil ice :math:`\Delta w_{ice,\, i}`, and water in the unconfined aquifer :math:`\Delta W_{a}` (all in kg m\ :sup:`-2` or mm of H\ :sub:`2`\ O) (:numref:`Figure Hydrologic processes`). +The model parameterizes interception, throughfall, canopy drip, snow +accumulation and melt, water transfer between snow layers, infiltration, +evaporation, surface runoff, sub-surface drainage, redistribution within +the soil column, and groundwater discharge and recharge to simulate +changes in canopy water :math:`\Delta W_{can,\,liq}` , canopy snow water +:math:`\Delta W_{can,\,sno}` surface water :math:`\Delta W_{sfc}` , +snow water :math:`\Delta W_{sno}` , soil water +:math:`\Delta w_{liq,\, i}` , and soil ice :math:`\Delta w_{ice,\, i}` , +and water in the unconfined aquifer :math:`\Delta W_{a}` (all in kg +m\ :sup:`-2` or mm of H\ :sub:`2`\ O) (:numref:`Figure Hydrologic processes`). The total water balance of the system is @@ -12,7 +21,20 @@ The total water balance of the system is \begin{array}{l} {\Delta W_{can,\,liq} +\Delta W_{can,\,sno} +\Delta W_{sfc} +\Delta W_{sno} +} \\ {\sum _{i=1}^{N_{levsoi} }\left(\Delta w_{liq,\, i} +\Delta w_{ice,\, i} \right)+\Delta W_{a} =\left(\begin{array}{l} {q_{rain} +q_{sno} -E_{v} -E_{g} -q_{over} } \\ {-q_{h2osfc} -q_{drai} -q_{rgwl} -q_{snwcp,\, ice} } \end{array}\right) \Delta t} \end{array} -where :math:`q_{rain}` is the liquid part of precipitation, :math:`q_{sno}` is the solid part of precipitation, :math:`E_{v}` is ET from vegetation (Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`), :math:`E_{g}` is ground evaporation (Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`), :math:`q_{over}` is surface runoff (section :numref:`Surface Runoff`), :math:`q_{h2osfc}` is runoff from surface water storage (section :numref:`Surface Runoff`), :math:`q_{drai}` is sub-surface drainage (section :numref:`Lateral Sub-surface Runoff`), :math:`q_{rgwl}` and :math:`q_{snwcp,ice}` are liquid and solid runoff from glaciers and lakes, and runoff from other surface types due to snow capping (section :numref:`Runoff from glaciers and snow-capped surfaces`) (all in kg m\ :sup:`-2` s\ :sup:`-1`), :math:`N_{levsoi}` is the number of soil layers (note that hydrology calculations are only done over soil layers 1 to :math:`N_{levsoi}`; ground levels :math:`N_{levsoi} +1` \ to :math:`N_{levgrnd}` are currently hydrologically inactive; :ref:`(Lawrence et al. 2008) ` and :math:`\Delta t` is the time step (s). +where :math:`q_{rain}` is the liquid part of precipitation, +:math:`q_{sno}` is the solid part of precipitation, :math:`E_{v}` is +ET from vegetation (Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`), :math:`E_{g}` is ground evaporation +(Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`), :math:`q_{over}` is surface runoff (section :numref:`Surface Runoff`), +:math:`q_{h2osfc}` is runoff from surface water storage (section :numref:`Surface Runoff`), +:math:`q_{drai}` is sub-surface drainage (section :numref:`Lateral Sub-surface Runoff`), +:math:`q_{rgwl}` and :math:`q_{snwcp,ice}` are liquid and solid runoff +from glaciers and lakes, and runoff from other surface types +due to snow capping (section :numref:`Runoff from glaciers and snow-capped surfaces`) (all in kg m\ :sup:`-2` +s\ :sup:`-1`), :math:`N_{levsoi}` is the number of soil layers +(note that hydrology calculations are only done over soil layers 1 to +:math:`N_{levsoi}` ; ground levels :math:`N_{levsoi} +1` \ to +:math:`N_{levgrnd}` are currently hydrologically inactive; :ref:`(Lawrence et +al. 2008) ` and :math:`\Delta t` is the time step (s). .. _Figure Hydrologic processes: @@ -25,19 +47,27 @@ where :math:`q_{rain}` is the liquid part of precipitation, :math:`q_{sno}` is t Canopy Water ---------------- -Liquid precipitation is either intercepted by the canopy, falls directly to the snow/soil surface (throughfall), or drips off the vegetation (canopy drip). Solid precipitation is treated similarly, with the addition of unloading of previously intercepted snow. Interception by vegetation is divided between liquid and solid phases :math:`q_{intr,\,liq}` and :math:`q_{intr,\,ice}` (kg m\ :sup:`-2` s\ :sup:`-1`) +Liquid precipitation is either intercepted by the canopy, falls +directly to the snow/soil surface (throughfall), or drips off the +vegetation (canopy drip). Solid precipitation is treated similarly, +with the addition of unloading of previously intercepted snow. +Interception by vegetation is divided between liquid and solid phases +:math:`q_{intr,\,liq}` and :math:`q_{intr,\,ice}` +(kg m\ :sup:`-2` s\ :sup:`-1`) .. math:: :label: 7.2 - q_{intr,\,liq} = f_{pi,\,liq} \ q_{rain} + q_{intr,\,liq} = f_{pi,\,liq} \ q_{rain} .. math:: :label: 7.3 q_{intr,\,ice} = f_{pi,\,ice} \ q_{sno} -where :math:`f_{pi,\,liq}` and :math:`f_{pi,\,ice}` are the fractions of intercepted precipitation of rain and snow, respectively +where :math:`f_{pi,\,liq}` and :math:`f_{pi,\,ice}` are the +fractions of intercepted precipitation of rain and snow, +respectively .. math:: :label: 7.2b @@ -49,7 +79,13 @@ where :math:`f_{pi,\,liq}` and :math:`f_{pi,\,ice}` are the fractions of interce f_{pi,\,ice} =\alpha_{sno} \ \left\{1-\exp \left[-0.5\left(L+S\right)\right]\right\} \ , -and :math:`L` and :math:`S` are the exposed leaf and stem area index, respectively (section :numref:`Phenology and vegetation burial by snow`), and the :math:`\alpha`\'s scale the fractional area of a leaf that collects water (:ref:`Lawrence et al. 2007 `). Default values of :math:`\alpha_{liq}` and :math:`\alpha_{sno}` are set to 1. Throughfall (kg m\ :sup:`-2` s\ :sup:`-1`) is also divided into liquid and solid phases, reaching the ground (soil or snow surface) as +and :math:`L` and :math:`S` are the exposed leaf and stem area index, +respectively (section :numref:`Phenology and vegetation burial by snow`), and +the :math:`\alpha`\'s scale the fractional area of a leaf that collects water +(:ref:`Lawrence et al. 2007 `). Default values of +:math:`\alpha_{liq}` and :math:`\alpha_{sno}` are set to 1. +Throughfall (kg m\ :sup:`-2` s\ :sup:`-1`) is also divided into +liquid and solid phases, reaching the ground (soil or snow surface) as .. math:: :label: 7.4 @@ -87,7 +123,12 @@ and W_{can,sno}^{intr} =W_{can,sno}^{n} +q_{intr,\, ice} \Delta t\ge 0 -are the the canopy liquid water and snow water equivalent after accounting for interception, :math:`W_{can,\,liq}^{n}` and :math:`W_{can,\,sno}^{n}` are the canopy liquid and snow water from the previous time step, and :math:`W_{can,\,liq}^{max }` and :math:`W_{can,\,snow}^{max }` (kg m\ :sup:`-2` or mm of H\ :sub:`2`\ O) are the maximum amounts of liquid water and snow the canopy can hold. They are defined by + +are the the canopy liquid water and snow water equivalent after accounting for interception, +:math:`W_{can,\,liq}^{n}` and :math:`W_{can,\,sno}^{n}` are the canopy liquid and snow water +from the previous time step, and :math:`W_{can,\,liq}^{max }` and :math:`W_{can,\,snow}^{max }` +(kg m\ :sup:`-2` or mm of H\ :sub:`2`\ O) are the maximum amounts of liquid water and snow the canopy can hold. +They are defined by .. math:: :label: 7.10 @@ -99,13 +140,17 @@ are the the canopy liquid water and snow water equivalent after accounting for i W_{can,\,sno}^{max } =p_{sno}\left(L+S\right). -The maximum storage of liquid water is :math:`p_{liq}=0.1` kg m\ :sup:`-2` (:ref:`Dickinson et al. 1993 `), and that of snow is :math:`p_{sno}=6` kg m\ :sup:`-2`, consistent with reported field measurements (:ref:`Pomeroy et al. 1998 `). +The maximum storage of liquid water is :math:`p_{liq}=0.1` kg m\ :sup:`-2` +(:ref:`Dickinson et al. 1993 `), and that of snow +is :math:`p_{sno}=6` kg m\ :sup:`-2`, consistent with reported +field measurements (:ref:`Pomeroy et al. 1998 `). -Canopy snow unloading from wind speed :math:`u` and above-freezing temperatures are modeled from linear fluxes and e-folding times similar to :ref:`Roesch et al. (2001) ` +Canopy snow unloading from wind speed :math:`u` and above-freezing temperatures are modeled from linear +fluxes and e-folding times similar to :ref:`Roesch et al. (2001) ` .. math:: :label: 7.12 - + q_{unl,\, wind} =\frac{u W_{can,sno}}{1.56\times 10^5 \text{ m}} .. math:: @@ -118,44 +163,46 @@ Canopy snow unloading from wind speed :math:`u` and above-freezing temperatures q_{unl,\, tot} =\min \left( q_{unl,\, wind} +q_{unl,\, temp} ,W_{can,\, sno} \right) + The canopy liquid water and snow water equivalent are updated as .. math:: - :label: 7.15 + :label: 7.15 W_{can,\, liq}^{n+1} =W_{can,liq}^{n} + q_{intr,\, liq} - q_{drip,\, liq} \Delta t - E_{v}^{liq} \Delta t \ge 0 and .. math:: - :label: 7.16 + :label: 7.16 W_{can,\, sno}^{n+1} =W_{can,sno}^{n} + q_{intr,\, ice} - \left(q_{drip,\, ice}+q_{unl,\, tot} \right)\Delta t - E_{v}^{ice} \Delta t \ge 0 .. W_{can}^{n+1} =W_{can}^{n} +q_{intr} \Delta t-\left(q_{drip,\, liq} +q_{drip,\, ice} \right)\Delta t-E_{v}^{w} \Delta t\ge 0. -where :math:`E_{v}^{liq}` and :math:`E_{v}^{ice}` are partitioned from the stem and leaf surface evaporation :math:`E_{v}^{w}` (Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`) based on the vegetation temperature :math:`T_{v}` (K) (Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`) and its relation to the freezing temperature of water :math:`T_{f}` (K) (:numref:`Table Physical Constants`) +where :math:`E_{v}^{liq}` and :math:`E_{v}^{ice}` are partitioned from the stem and leaf +surface evaporation :math:`E_{v}^{w}` (Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`) based on the vegetation temperature :math:`T_{v}` (K) (Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`) and its relation to the freezing temperature of water :math:`T_{f}` (K) (:numref:`Table Physical Constants`) .. math:: - :label: 7.17 + :label: 7.17 - E_{v}^{liq} = - \left\{\begin{array}{lr} + E_{v}^{liq} = + \left\{\begin{array}{lr} E_{v}^{w} & T_v > T_{f} \\ 0 & T_v \le T_f - \end{array}\right\} + \end{array}\right\} .. math:: - :label: 7.18 + :label: 7.18 E_{v}^{ice} = - \left\{\begin{array}{lr} + \left\{\begin{array}{lr} 0 & T_v > T_f \\ E_{v}^{w} & T_v \le T_f \end{array}\right\}. -.. \begin{array}{lr} +.. \begin{array}{lr} .. E_{v}^{liq} = E_{v}^{w} \qquad T > 273 \text{K} \\ .. E_{v}^{ice} = E_{v}^{w} \qquad T \le 273 \text{K} .. \end{array} @@ -172,16 +219,24 @@ The total rate of liquid and solid precipitation reaching the ground is then q_{grnd,ice} =q_{thru,\, ice} +q_{drip,\, ice} +q_{unl,\, tot} . -Solid precipitation reaching the soil or snow surface, :math:`q_{grnd,\, ice} \Delta t`, is added immediately to the snow pack (Chapter :numref:`rst_Snow Hydrology`). The liquid part, :math:`q_{grnd,\, liq} \Delta t` is added after surface fluxes (Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`) and snow/soil temperatures (Chapter :numref:`rst_Soil and Snow Temperatures`) have been determined. +Solid precipitation reaching the soil or snow surface, +:math:`q_{grnd,\, ice} \Delta t`, is added immediately to the snow pack +(Chapter :numref:`rst_Snow Hydrology`). The liquid part, +:math:`q_{grnd,\, liq} \Delta t` is added after surface fluxes +(Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`) +and snow/soil temperatures (Chapter :numref:`rst_Soil and Snow Temperatures`) +have been determined. -The wetted fraction of the canopy (stems plus leaves), which is required for surface flux (Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`) calculations, is (:ref:`Dickinson et al.1993 `) +The wetted fraction of the canopy (stems plus leaves), which is required +for surface flux (Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`) +calculations, is (:ref:`Dickinson et al.1993 `) .. math:: :label: 7.21 f_{wet} = - \left\{\begin{array}{lr} - \left[\frac{W_{can} }{p_{liq}\left(L+S\right)} \right]^{{2\mathord{\left/ {\vphantom {2 3}} \right.} 3} } \le 1 & \qquad L+S > 0 \\ + \left\{\begin{array}{lr} + \left[\frac{W_{can} }{p_{liq}\left(L+S\right)} \right]^{{2\mathord{\left/ {\vphantom {2 3}} \right. \kern-\nulldelimiterspace} 3} } \le 1 & \qquad L+S > 0 \\ 0 &\qquad L+S = 0 \end{array}\right\} @@ -191,35 +246,48 @@ while the fraction of the canopy that is dry and transpiring is :label: 7.22 f_{dry} = - \left\{\begin{array}{lr} - \frac{\left(1-f_{wet} \right)L}{L+S} & \qquad L+S > 0 \\ - 0 &\qquad L+S = 0 + \left\{\begin{array}{lr} + \frac{\left(1-f_{wet} \right)L}{L+S} & \qquad L+S > 0 \\ + 0 &\qquad L+S = 0 \end{array}\right\}. Similarly, the snow-covered fraction of the canopy is used for surface alebdo when intercepted snow is present (Chapter :numref:`rst_Surface Albedos`) + .. math:: :label: 7.23 - f_{can,\, sno} = - \left\{\begin{array}{lr} - \left[\frac{W_{can,\, sno} }{p_{sno}\left(L+S\right)} \right]^{{3\mathord{\left/ {\vphantom {3 20}} \right.} 20} } \le 1 & \qquad L+S > 0 \\ + f_{can,\, sno} = + \left\{\begin{array}{lr} + \left[\frac{W_{can,\, sno} }{p_{sno}\left(L+S\right)} \right]^{{3\mathord{\left/ {\vphantom {3 20}} \right. \kern-\nulldelimiterspace} 20} } \le 1 & \qquad L+S > 0 \\ 0 &\qquad L+S = 0 \end{array}\right\}. + .. _Surface Runoff, Surface Water Storage, and Infiltration: Surface Runoff, Surface Water Storage, and Infiltration ----------------------------------------------------------- -The moisture input at the grid cell surface,\ :math:`q_{liq,\, 0}`, is the sum of liquid precipitation reaching the ground and melt water from snow (kg m\ :sup:`-2` s\ :sup:`-1`). The moisture flux is then partitioned between surface runoff, surface water storage, and infiltration into the soil. +The moisture input at the grid cell surface ,\ :math:`q_{liq,\, 0}` , is +the sum of liquid precipitation reaching the ground and melt water from +snow (kg m\ :sup:`-2` s\ :sup:`-1`). The moisture flux is +then partitioned between surface runoff, surface water storage, and +infiltration into the soil. .. _Surface Runoff: Surface Runoff ^^^^^^^^^^^^^^^^^^^^ -The simple TOPMODEL-based (:ref:`Beven and Kirkby 1979 `) runoff model (SIMTOP) described by :ref:`Niu et al. (2005) ` is implemented to parameterize runoff. A key concept underlying this approach is that of fractional saturated area :math:`f_{sat}`, which is determined by the topographic characteristics and soil moisture state of a grid cell. The saturated portion of a grid cell contributes to surface runoff, :math:`q_{over}`, by the saturation excess mechanism (Dunne runoff) +The simple TOPMODEL-based (:ref:`Beven and Kirkby 1979 `) +runoff model (SIMTOP) described by :ref:`Niu et al. (2005) ` +is implemented to parameterize runoff. A +key concept underlying this approach is that of fractional saturated +area :math:`f_{sat}` , which is determined by the topographic +characteristics and soil moisture state of a grid cell. The saturated +portion of a grid cell contributes to surface runoff, :math:`q_{over}` , +by the saturation excess mechanism (Dunne runoff) .. math:: :label: 7.64 @@ -233,79 +301,145 @@ The fractional saturated area is a function of soil moisture f_{sat} =f_{\max } \ \exp \left(-0.5f_{over} z_{\nabla } \right) -where :math:`f_{\max }` is the potential or maximum value of :math:`f_{sat}`, :math:`f_{over}` is a decay factor (m\ :sup:`-1`), and :math:`z_{\nabla}` is the water table depth (m) (section :numref:`Lateral Sub-surface Runoff`). The maximum saturated fraction, :math:`f_{\max }`, is defined as the value of the discrete cumulative distribution function (CDF) of the topographic index when the grid cell mean water table depth is zero. Thus, :math:`f_{\max }` is the percent of pixels in a grid cell whose topographic index is larger than or equal to the grid cell mean topographic index. It should be calculated explicitly from the CDF at each grid cell at the resolution that the model is run. However, because this is a computationally intensive task for global applications, :math:`f_{\max }` is calculated once at 0.125° resolution using the 1-km compound topographic indices (CTIs) based on the HYDRO1K dataset (:ref:`Verdin and Greenlee 1996 `) from USGS following the algorithm in :ref:`Niu et al. (2005) ` and then area-averaged to the desired model resolution (section :numref:`Surface Data`). Pixels with CTIs exceeding the 95 percentile threshold in each 0.125° grid cell are excluded from the calculation to eliminate biased estimation of statistics due to large CTI values at pixels on stream networks. For grid cells over regions without CTIs such as Australia, the global mean :math:`f_{\max }` is used to fill the gaps. See :ref:`Li et al. (2013b) ` for additional details. The decay factor :math:`f_{over}` for global simulations was determined through sensitivity analysis and comparison with observed runoff to be 0.5 m\ :sup:`-1`. +where :math:`f_{\max }` is the potential or maximum value of +:math:`f_{sat}` , :math:`f_{over}` is a decay factor (m\ :sup:`-1`), and +:math:`z_{\nabla}` is the water table depth (m) (section +:numref:`Lateral Sub-surface Runoff`). The maximum saturated fraction, +:math:`f_{\max }`, is defined as the value of the discrete cumulative +distribution function (CDF) of the topographic index when the grid cell +mean water table depth is zero. Thus, :math:`f_{\max }` is the percent of +pixels in a grid cell whose topographic index is larger than or equal to +the grid cell mean topographic index. It should be calculated explicitly +from the CDF at each grid cell at the resolution that the model is run. +However, because this is a computationally intensive task for global +applications, :math:`f_{\max }` is calculated once at 0.125\ :sup:`o` +resolution using the 1-km compound topographic indices (CTIs) based on +the HYDRO1K dataset (:ref:`Verdin and Greenlee 1996 `) +from USGS following the algorithm in :ref:`Niu et al. (2005) ` +and then area-averaged to the desired model resolution (section +:numref:`Surface Data`). Pixels +with CTIs exceeding the 95 percentile threshold in each +0.125\ :sup:`o` grid cell are excluded from the calculation to +eliminate biased estimation of statistics due to large CTI values at +pixels on stream networks. For grid cells over regions without CTIs such +as Australia, the global mean :math:`f_{\max }` is used to fill the +gaps. See :ref:`Li et al. (2013b) ` for additional details. The decay factor +:math:`f_{over}` for global simulations was determined through +sensitivity analysis and comparison with observed runoff to be 0.5 +m\ :sup:`-1`. .. _Surface Water Storage: Surface Water Storage ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -A surface water store has been added to the model to represent wetlands and small, sub-grid scale water bodies. As a result, the wetland land unit has been removed as of CLM4.5. The state variables for surface water are the mass of water :math:`W_{sfc}` (kg m\ :sup:`-2`) and temperature :math:`T_{h2osfc}` (Chapter :numref:`rst_Soil and Snow Temperatures`). Surface water storage and outflow are functions of fine spatial scale elevation variations called microtopography. The microtopography is assumed to be distributed normally around the grid cell mean elevation. Given the standard deviation of the microtopographic distribution, :math:`\sigma _{micro}` (m), the fractional area of the grid cell that is inundated can be calculated. Surface water storage, :math:`Wsfc`, is related to the height (relative to the grid cell mean elevation) of the surface water, :math:`d`, by +A surface water store has been added to the model to represent wetlands +and small, sub-grid scale water bodies. As a result, the wetland land +unit has been removed as of CLM4.5. The state variables for surface water are the +mass of water :math:`W_{sfc}` (kg m\ :sup:`-2`) and temperature +:math:`T_{h2osfc}` (Chapter :numref:`rst_Soil and Snow Temperatures`). +Surface water storage and outflow are +functions of fine spatial scale elevation variations called +microtopography. The microtopography is assumed to be distributed +normally around the grid cell mean elevation. Given the standard +deviation of the microtopographic distribution, :math:`\sigma _{micro}` +(m), the fractional area of the grid cell that is inundated can be +calculated. Surface water storage, :math:`Wsfc`, is related to the +height (relative to the grid cell mean elevation) of the surface water, +:math:`d`, by .. math:: :label: 7.66 W_{sfc} =\frac{d}{2} \left(1+erf\left(\frac{d}{\sigma _{micro} \sqrt{2} } \right)\right)+\frac{\sigma _{micro} }{\sqrt{2\pi } } e^{\frac{-d^{2} }{2\sigma _{micro} ^{2} } } -where :math:`erf` is the error function. For a given value of :math:`W_{sfc}`, :eq:`7.66` can be solved for :math:`d` using the Newton-Raphson method. Once :math:`d` is known, one can determine the fraction of the area that is inundated as +where :math:`erf` is the error function. For a given value of +:math:`W_{sfc}` , :eq:`7.66` can be solved for :math:`d` using the +Newton-Raphson method. Once :math:`d` is known, one can determine the +fraction of the area that is inundated as .. math:: :label: 7.67 f_{h2osfc} =\frac{1}{2} \left(1+erf\left(\frac{d}{\sigma _{micro} \sqrt{2} } \right)\right) -No global datasets exist for microtopography, so the default parameterization is a simple function of slope +No global datasets exist for microtopography, so the default +parameterization is a simple function of slope .. math:: :label: 7.68 \sigma _{micro} =\left(\beta +\beta _{0} \right)^{\eta } -where :math:`\beta` is the topographic slope, :math:`\beta_{0} =\left(\sigma_{\max } \right)^{\frac{1}{\eta } }` \ determines the maximum value of :math:`\sigma_{micro}`, and :math:`\eta` is an adjustable parameter. Default values in the model are :math:`\sigma_{\max } =0.4` and :math:`\eta =-3`. +where :math:`\beta` is the topographic slope, +:math:`\beta_{0} =\left(\sigma_{\max } \right)^{\frac{1}{\eta } }` \ determines +the maximum value of :math:`\sigma_{micro}` , and :math:`\eta` is an +adjustable parameter. Default values in the model are +:math:`\sigma_{\max } =0.4` and :math:`\eta =-3`. -If the spatial scale of the microtopography is small relative to that of the grid cell, one can assume that the inundated areas are distributed randomly within the grid cell. With this assumption, a result from percolation theory can be used to quantify the fraction of the inundated portion of the grid cell that is interconnected +If the spatial scale of the microtopography is small relative to that of +the grid cell, one can assume that the inundated areas are distributed +randomly within the grid cell. With this assumption, a result from +percolation theory can be used to quantify the fraction of the inundated +portion of the grid cell that is interconnected .. math:: :label: 7.69 \begin{array}{lr} f_{connected} =\left(f_{h2osfc} -f_{c} \right)^{\mu } & \qquad f_{h2osfc} >f_{c} \\ f_{connected} =0 &\qquad f_{h2osfc} \le f_{c} \end{array} -where :math:`f_{c}` is a threshold below which no single connected inundated area spans the grid cell and :math:`\mu` is a scaling exponent. Default values of :math:`f_{c}` and :math:`\mu` \ are 0.4 and 0.14, respectively. When the inundated fraction of the grid cell surpasses :math:`f_{c}`, the surface water store acts as a linear reservoir +where :math:`f_{c}` is a threshold below which no single connected +inundated area spans the grid cell and :math:`\mu` is a scaling +exponent. Default values of :math:`f_{c}` and :math:`\mu` \ are 0.4 and +0.14, respectively. When the inundated fraction of the grid cell +surpasses :math:`f_{c}` , the surface water store acts as a linear +reservoir .. math:: :label: 7.70 q_{out,h2osfc}=k_{h2osfc} \ f_{connected} \ (Wsfc-Wc)\frac{1}{\Delta t} -where :math:`q_{out,h2osfc}` is the surface water runoff, :math:`k_{h2osfc}` is a constant, :math:`Wc` is the amount of surface water present when :math:`f_{h2osfc} =f_{c}`, and :math:`\Delta t` is the model time step. The linear storage coefficent :math:`k_{h2osfc} = \sin \left(\beta \right)` is a function of grid cell mean topographic slope where :math:`\beta` is the slope in radians. +where :math:`q_{out,h2osfc}` is the surface water runoff, :math:`k_{h2osfc}` +is a constant, :math:`Wc` is the amount of surface water present when +:math:`f_{h2osfc} =f_{c}` , and :math:`\Delta t` is the model time step. +The linear storage coefficent :math:`k_{h2osfc} = \sin \left(\beta \right)` +is a function of grid cell mean topographic slope where :math:`\beta` +is the slope in radians. .. _Infiltration: Infiltration ^^^^^^^^^^^^^^^^^^ -The surface moisture flux remaining after surface runoff has been removed, +The surface moisture flux remaining after surface runoff has been +removed, .. math:: :label: 7.71 q_{in,surface} = (1-f_{sat}) \ q_{liq,\, 0} -is divided into inputs to surface water (:math:`q_{in,\, h2osfc}` ) and the soil :math:`q_{in,soil}`. If :math:`q_{in,soil}` exceeds the maximum soil infiltration capacity (kg m\ :sup:`-2` s\ :sup:`-1`), +is divided into inputs to surface water (:math:`q_{in,\, h2osfc}` ) and +the soil :math:`q_{in,soil}` . If :math:`q_{in,soil}` exceeds the +maximum soil infiltration capacity (kg m\ :sup:`-2` +s\ :sup:`-1`), .. math:: :label: 7.72 q_{infl,\, \max } =(1-f_{sat}) \ \Theta_{ice} k_{sat} -where :math:`\Theta_{ice}` is an ice impedance factor (section :numref:`Hydraulic Properties`), infiltration excess (Hortonian) runoff is generated +where :math:`\Theta_{ice}` is an ice impedance factor (section +:numref:`Hydraulic Properties`), infiltration excess (Hortonian) runoff is generated .. math:: :label: 7.73 q_{infl,\, excess} =\max \left(q_{in,soil} -\left(1-f_{h2osfc} \right)q_{\inf l,\max } ,0\right) -and transferred from :math:`q_{in,soil}` to :math:`q_{in,h2osfc}`. After evaporative losses have been removed, these moisture fluxes are +and transferred from :math:`q_{in,soil}` to :math:`q_{in,h2osfc}` . +After evaporative losses have been removed, these moisture fluxes are .. math:: :label: 7.74 @@ -326,6 +460,7 @@ The balance of surface water is then calculated as \Delta W_{sfc} =\left(q_{in,h2osfc} - q_{out,h2osfc} - q_{drain,h2osfc} \right) \ \Delta t. + Bottom drainage from the surface water store .. math:: @@ -333,46 +468,73 @@ Bottom drainage from the surface water store q_{drain,h2osfc} = \min \left(f_{h2osfc} q_{\inf l,\max } ,\frac{W_{sfc} }{\Delta t} \right) -is then added to :math:`q_{in,soil}` giving the total infiltration into the surface soil layer +is then added to :math:`q_{in,soil}` giving the total infiltration +into the surface soil layer .. math:: :label: 7.78 q_{infl} = q_{in,soil} + q_{drain,h2osfc} -Infiltration :math:`q_{infl}` and explicit surface runoff :math:`q_{over}` are not allowed for glaciers. +Infiltration :math:`q_{infl}` and explicit surface runoff +:math:`q_{over}` are not allowed for glaciers. .. _Soil Water: Soil Water -------------- -Soil water is predicted from a multi-layer model, in which the vertical soil moisture transport is governed by infiltration, surface and sub-surface runoff, gradient diffusion, gravity, and canopy transpiration through root extraction (:numref:`Figure Hydrologic processes`). +Soil water is predicted from a multi-layer model, in which the vertical +soil moisture transport is governed by infiltration, surface and +sub-surface runoff, gradient diffusion, gravity, and canopy transpiration +through root extraction (:numref:`Figure Hydrologic processes`). -For one-dimensional vertical water flow in soils, the conservation of mass is stated as +For one-dimensional vertical water flow in soils, the conservation of +mass is stated as .. math:: :label: 7.79 \frac{\partial \theta }{\partial t} =-\frac{\partial q}{\partial z} - e -where :math:`\theta` is the volumetric soil water content (mm\ :sup:`3` of water / mm\ :sup:`-3` of soil), :math:`t` is time (s), :math:`z` is height above some datum in the soil column (mm) (positive upwards), :math:`q` is soil water flux (kg m\ :sup:`-2` s\ :sup:`-1` or mm s\ :sup:`-1`) (positive upwards), and :math:`e` is a soil moisture sink term (mm of water mm\ :sup:`-1` of soil s\ :sup:`-1`) (ET loss). This equation is solved numerically by dividing the soil column into multiple layers in the vertical and integrating downward over each layer with an upper boundary condition of the infiltration flux into the top soil layer :math:`q_{infl}` and a zero-flux lower boundary condition at the bottom of the soil column (sub-surface runoff is removed later in the timestep, section :numref:`Lateral Sub-surface Runoff`). +where :math:`\theta` is the volumetric soil water content +(mm\ :sup:`3` of water / mm\ :sup:`-3` of soil), :math:`t` is +time (s), :math:`z` is height above some datum in the soil column (mm) +(positive upwards), :math:`q` is soil water flux (kg m\ :sup:`-2` +s\ :sup:`-1` or mm s\ :sup:`-1`) (positive upwards), and +:math:`e` is a soil moisture sink term (mm of water mm\ :sup:`-1` +of soil s\ :sup:`-1`) (ET loss). This equation is solved +numerically by dividing the soil column into multiple layers in the +vertical and integrating downward over each layer with an upper boundary +condition of the infiltration flux into the top soil layer +:math:`q_{infl}` and a zero-flux lower boundary condition at the +bottom of the soil column (sub-surface runoff is removed later in the +timestep, section :numref:`Lateral Sub-surface Runoff`). -The soil water flux :math:`q` in equation can be described by Darcy's law :ref:`(Dingman 2002) ` +The soil water flux :math:`q` in equation can be described by Darcy’s +law :ref:`(Dingman 2002) ` .. math:: :label: 7.80 q = -k \frac{\partial \psi _{h} }{\partial z} -where :math:`k` is the hydraulic conductivity (mm s\ :sup:`-1`), and :math:`\psi _{h}` is the hydraulic potential (mm). The hydraulic potential is +where :math:`k` is the hydraulic conductivity (mm s\ :sup:`-1`), +and :math:`\psi _{h}` is the hydraulic potential (mm). The hydraulic +potential is .. math:: :label: 7.81 \psi _{h} =\psi _{m} +\psi _{z} -where :math:`\psi _{m}` is the soil matric potential (mm) (which is related to the adsorptive and capillary forces within the soil matrix), and :math:`\psi _{z}` is the gravitational potential (mm) (the vertical distance from an arbitrary reference elevation to a point in the soil). If the reference elevation is the soil surface, then :math:`\psi _{z} =z`. Letting :math:`\psi =\psi _{m}`, Darcy's law becomes +where :math:`\psi _{m}` is the soil matric potential (mm) (which is +related to the adsorptive and capillary forces within the soil matrix), +and :math:`\psi _{z}` is the gravitational potential (mm) (the vertical +distance from an arbitrary reference elevation to a point in the soil). +If the reference elevation is the soil surface, then +:math:`\psi _{z} =z`. Letting :math:`\psi =\psi _{m}` , Darcy’s law +becomes .. math:: :label: 7.82 @@ -387,52 +549,80 @@ Equation :eq:`7.82` can be further manipulated to yield q = -k \left[\frac{\partial \left(\psi +z\right)}{\partial z} \right] = -k \left(\frac{\partial \psi }{\partial z} + 1 \right) \ . -Substitution of this equation into equation :eq:`7.79`, with :math:`e = 0`, yields the Richards equation :ref:`(Dingman 2002) ` +Substitution of this equation into equation :eq:`7.79`, with :math:`e = 0`, yields +the Richards equation :ref:`(Dingman 2002) ` .. math:: :label: 7.84 - \frac{\partial \theta }{\partial t} = - \frac{\partial }{\partial z} \left[k\left(\frac{\partial \psi }{\partial z} + 1 + \frac{\partial \theta }{\partial t} = + \frac{\partial }{\partial z} \left[k\left(\frac{\partial \psi }{\partial z} + 1 \right)\right]. -In practice (Section :numref:`Numerical Solution Hydrology`), changes in soil water content are predicted from :eq:`7.79` using finite-difference approximations for :eq:`7.84`. +In practice (Section :numref:`Numerical Solution Hydrology`), changes in soil +water content are predicted from :eq:`7.79` using finite-difference approximations +for :eq:`7.84`. .. _Hydraulic Properties: Hydraulic Properties ^^^^^^^^^^^^^^^^^^^^^^^^^^ -The hydraulic conductivity :math:`k_{i}` (mm s\ :sup:`-1`) and the soil matric potential :math:`\psi _{i}` (mm) for layer :math:`i` vary with volumetric soil water :math:`\theta _{i}` and soil texture. As with the soil thermal properties (section :numref:`Soil And Snow Thermal Properties`) the hydraulic properties of the soil are assumed to be a weighted combination of the mineral properties, which are determined according to sand and clay contents based on work by :ref:`Clapp and Hornberger (1978) ` and :ref:`Cosby et al. (1984) `, and organic properties of the soil (:ref:`Lawrence and Slater 2008 `). - -The hydraulic conductivity is defined at the depth of the interface of two adjacent layers :math:`z_{h,\, i}` (:numref:`Figure Water flux schematic`) and is a function of the saturated hydraulic conductivity :math:`k_{sat} \left[z_{h,\, i} \right]`, the liquid volumetric soil moisture of the two layers :math:`\theta _{i}` and :math:`\theta_{i+1}` and an ice impedance factor :math:`\Theta_{ice}` +The hydraulic conductivity :math:`k_{i}` (mm s\ :sup:`-1`) and +the soil matric potential :math:`\psi _{i}` (mm) for layer :math:`i` +vary with volumetric soil water :math:`\theta _{i}` and soil texture. +As with the soil thermal properties (section +:numref:`Soil And Snow Thermal Properties`) the hydraulic +properties of the soil are assumed to be a weighted combination of the +mineral properties, which are determined according to sand and clay +contents based on work by :ref:`Clapp and Hornberger (1978) +` and :ref:`Cosby et al. (1984) `, +and organic properties of the soil +(:ref:`Lawrence and Slater 2008 `). + +The hydraulic conductivity is defined at the depth of the interface of +two adjacent layers :math:`z_{h,\, i}` (:numref:`Figure Water flux schematic`) +and is a function of the saturated hydraulic conductivity +:math:`k_{sat} \left[z_{h,\, i} \right]`, the liquid volumetric soil +moisture of the two layers :math:`\theta _{i}` and :math:`\theta_{i+1}` +and an ice impedance factor :math:`\Theta_{ice}` .. math:: :label: 7.85 k\left[z_{h,\, i} \right] = - \left\{\begin{array}{lr} - \Theta_{ice} k_{sat} \left[z_{h,\, i} \right]\left[\frac{0.5\left(\theta_{\, i} +\theta_{\, i+1} \right)}{0.5\left(\theta_{sat,\, i} +\theta_{sat,\, i+1} \right)} \right]^{2B_{i} +3} & \qquad 1 \le i \le N_{levsoi} - 1 \\ - \Theta_{ice} k_{sat} \left[z_{h,\, i} \right]\left(\frac{\theta_{\, i} }{\theta_{sat,\, i} } \right)^{2B_{i} +3} & \qquad i = N_{levsoi} + \left\{\begin{array}{lr} + \Theta_{ice} k_{sat} \left[z_{h,\, i} \right]\left[\frac{0.5\left(\theta_{\, i} +\theta_{\, i+1} \right)}{0.5\left(\theta_{sat,\, i} +\theta_{sat,\, i+1} \right)} \right]^{2B_{i} +3} & \qquad 1 \le i \le N_{levsoi} - 1 \\ + \Theta_{ice} k_{sat} \left[z_{h,\, i} \right]\left(\frac{\theta_{\, i} }{\theta_{sat,\, i} } \right)^{2B_{i} +3} & \qquad i = N_{levsoi} \end{array}\right\}. -The ice impedance factor is a function of ice content, and is meant to quantify the increased tortuosity of the water flow when part of the pore space is filled with ice. :ref:`Swenson et al. (2012) ` used a power law form +The ice impedance factor is a function of ice content, and is meant to +quantify the increased tortuosity of the water flow when part of the +pore space is filled with ice. :ref:`Swenson et al. (2012) ` +used a power law form .. math:: :label: 7.86 \Theta_{ice} = 10^{-\Omega F_{ice} } -where :math:`\Omega = 6`\ and :math:`F_{ice} = \frac{\theta_{ice} }{\theta_{sat} }` is the ice-filled fraction of the pore space. +where :math:`\Omega = 6`\ and :math:`F_{ice} = \frac{\theta_{ice} }{\theta_{sat} }` +is the ice-filled fraction of the pore space. -Because the hydraulic properties of mineral and organic soil may differ significantly, the bulk hydraulic properties of each soil layer are computed as weighted averages of the properties of the mineral and organic components. The water content at saturation (i.e. porosity) is +Because the hydraulic properties of mineral and organic soil may differ +significantly, the bulk hydraulic properties of each soil layer are +computed as weighted averages of the properties of the mineral and +organic components. The water content at saturation (i.e. porosity) is .. math:: :label: 7.90 \theta_{sat,i} =(1-f_{om,i} )\theta_{sat,\min ,i} +f_{om,i} \theta_{sat,om} -where :math:`f_{om,i}` is the soil organic matter fraction, :math:`\theta_{sat,om}` is the porosity of organic matter, and the porosity of the mineral soil :math:`\theta_{sat,\min,i}` is +where :math:`f_{om,i}` is the soil organic matter fraction, +:math:`\theta_{sat,om}` is the +porosity of organic matter, and the porosity of the mineral soil +:math:`\theta_{sat,\min ,i}` is .. math:: :label: 7.91 @@ -453,7 +643,8 @@ where :math:`B_{om}` is for organic matter and B_{\min ,i} =2.91+0.159(\% clay)_{i} . -The soil matric potential (mm) is defined at the node depth :math:`z_{i}` of each layer :math:`i` (:numref:`Figure Water flux schematic`) +The soil matric potential (mm) is defined at the node depth +:math:`z_{i}` of each layer :math:`i` (:numref:`Figure Water flux schematic`) .. math:: :label: 7.94 @@ -467,45 +658,72 @@ where the saturated soil matric potential (mm) is \psi _{sat,i} =(1-f_{om,i} )\psi _{sat,\min ,i} +f_{om,i} \psi _{sat,om} -where :math:`\psi _{sat,om}` \ is the saturated organic matter matric potential and the saturated mineral soil matric potential :math:`\psi _{sat,\min,i}` \ is +where :math:`\psi _{sat,om}` \ is the +saturated organic matter matric potential and the saturated mineral soil +matric potential :math:`\psi _{sat,\min ,i}` \ is .. math:: :label: 7.96 \psi _{sat,\, \min ,\, i} =-10.0\times 10^{1.88-0.0131(\% sand)_{i} } . -The saturated hydraulic conductivity, :math:`k_{sat} \left[z_{h,\, i} \right]` (mm s\ :sup:`-1`), for organic soils (:math:`k_{sat,\, om}` ) may be two to three orders of magnitude larger than that of mineral soils (:math:`k_{sat,\, \min }` ). Bulk soil layer values of :math:`k_{sat}` \ calculated as weighted averages based on :math:`f_{om}` may therefore be determined primarily by the organic soil properties even for values of :math:`f_{om}` as low as 1 %. To better represent the influence of organic soil material on the grid cell average saturated hydraulic conductivity, the soil organic matter fraction is further subdivided into "connected" and "unconnected" fractions using a result from percolation theory (:ref:`Stauffer and Aharony 1994 `, :ref:`Berkowitz and Balberg 1992 `). Assuming that the organic and mineral fractions are randomly distributed throughout a soil layer, percolation theory predicts that above a threshold value :math:`f_{om} = f_{threshold}`, connected flow pathways consisting of organic material only exist and span the soil space. Flow through these pathways interacts only with organic material, and thus can be described by :math:`k_{sat,\, om}`. This fraction of the grid cell is given by +The saturated hydraulic conductivity, +:math:`k_{sat} \left[z_{h,\, i} \right]` (mm s\ :sup:`-1`), for +organic soils (:math:`k_{sat,\, om}` ) may be two to three orders of +magnitude larger than that of mineral soils (:math:`k_{sat,\, \min }` ). +Bulk soil layer values of :math:`k_{sat}` \ calculated as weighted +averages based on :math:`f_{om}` may therefore be determined primarily +by the organic soil properties even for values of :math:`f_{om}` as low +as 1 %. To better represent the influence of organic soil material on +the grid cell average saturated hydraulic conductivity, the soil organic +matter fraction is further subdivided into “connected” and “unconnected” +fractions using a result from percolation theory (:ref:`Stauffer and Aharony +1994 `, :ref:`Berkowitz and Balberg 1992 `). +Assuming that the organic and mineral fractions are randomly distributed throughout +a soil layer, percolation theory predicts that above a threshold value +:math:`f_{om} = f_{threshold}`, connected flow pathways consisting of +organic material only exist and span the soil space. Flow through these +pathways interacts only with organic material, and thus can be described +by :math:`k_{sat,\, om}`. This fraction of the grid cell is given by .. math:: :label: 7.97 - \begin{array}{lr} - f_{perc} =\; N_{perc} \left(f_{om} {\rm \; }-f_{threshold} \right)^{\beta_{perc} } f_{om} {\rm \; } & \qquad f_{om} \ge f_{threshold} \\ - f_{perc} = 0 & \qquad f_{om} `) as +where saturated hydraulic conductivity for mineral soil depends on soil +texture (:ref:`Cosby et al. 1984 `) as .. math:: :label: 7.99 k_{sat,\, \min } \left[z_{h,\, i} \right]=0.0070556\times 10^{-0.884+0.0153\left(\% sand\right)_{i} } . -The bulk soil layer saturated hydraulic conductivity is then computed as +The bulk soil layer saturated hydraulic conductivity is then computed +as .. math:: :label: 7.100 k_{sat} \left[z_{h,\, i} \right]=f_{uncon,\, i} k_{sat,\, uncon} \left[z_{h,\, i} \right]+(1-f_{uncon,\, i} )k_{sat,\, om} \left[z_{h,\, i} \right]. -The soil organic matter properties implicitly account for the standard observed profile of organic matter properties as +The soil organic matter properties implicitly account for the standard observed profile of organic matter +properties as .. math:: :label: 1.101 @@ -534,30 +752,44 @@ where :math:`zsapric =0.5` \m is the depth that organic matter takes on the char Numerical Solution ^^^^^^^^^^^^^^^^^^^^^^^^ -With reference to :numref:`Figure Water flux schematic`, the equation for conservation of mass (equation :eq:`7.79`) can be integrated over each layer as +With reference to :numref:`Figure Water flux schematic`, the equation for +conservation of mass (equation :eq:`7.79`) can be integrated over each layer as .. math:: :label: 7.101 \int _{-z_{h,\, i} }^{-z_{h,\, i-1} }\frac{\partial \theta }{\partial t} \, dz=-\int _{-z_{h,\, i} }^{-z_{h,\, i-1} }\frac{\partial q}{\partial z} \, dz-\int _{-z_{h,\, i} }^{-z_{h,\, i-1} } e\, dz . -Note that the integration limits are negative since :math:`z` is defined as positive upward from the soil surface. This equation can be written as +Note that the integration limits are negative since :math:`z` is defined +as positive upward from the soil surface. This equation can be written +as .. math:: :label: 7.102 \Delta z_{i} \frac{\partial \theta_{liq,\, i} }{\partial t} =-q_{i-1} +q_{i} -e_{i} -where :math:`q_{i}` is the flux of water across interface :math:`z_{h,\, i}`, :math:`q_{i-1}` is the flux of water across interface :math:`z_{h,\, i-1}`, and :math:`e_{i}` is a layer-averaged soil moisture sink term (ET loss) defined as positive for flow out of the layer (mm s\ :sup:`-1`). Taking the finite difference with time and evaluating the fluxes implicitly at time :math:`n+1` yields +where :math:`q_{i}` is the flux of water across interface +:math:`z_{h,\, i}` , :math:`q_{i-1}` is the flux of water across +interface :math:`z_{h,\, i-1}` , and :math:`e_{i}` is a layer-averaged +soil moisture sink term (ET loss) defined as positive for flow out of +the layer (mm s\ :sup:`-1`). Taking the finite difference with +time and evaluating the fluxes implicitly at time :math:`n+1` yields .. math:: :label: 7.103 \frac{\Delta z_{i} \Delta \theta_{liq,\, i} }{\Delta t} =-q_{i-1}^{n+1} +q_{i}^{n+1} -e_{i} -where :math:`\Delta \theta_{liq,\, i} =\theta_{liq,\, i}^{n+1} -\theta_{liq,\, i}^{n}` is the change in volumetric soil liquid water of layer :math:`i` in time :math:`\Delta t`\ and :math:`\Delta z_{i}` is the thickness of layer :math:`i` (mm). +where +:math:`\Delta \theta_{liq,\, i} =\theta_{liq,\, i}^{n+1} -\theta_{liq,\, i}^{n}` +is the change in volumetric soil liquid water of layer :math:`i` in time +:math:`\Delta t`\ and :math:`\Delta z_{i}` is the thickness of layer +:math:`i` (mm). -The water removed by transpiration in each layer :math:`e_{i}` is a function of the total transpiration :math:`E_{v}^{t}` (Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`) and the effective root fraction :math:`r_{e,\, i}` +The water removed by transpiration in each layer :math:`e_{i}` is a +function of the total transpiration :math:`E_{v}^{t}` (Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`) and +the effective root fraction :math:`r_{e,\, i}` .. math:: :label: 7.104 @@ -570,35 +802,61 @@ The water removed by transpiration in each layer :math:`e_{i}` is a function of Schematic diagram of numerical scheme used to solve for soil water fluxes. -Shown are three soil layers, :math:`i-1`, :math:`i`, and :math:`i+1`. The soil matric potential :math:`\psi` and volumetric soil water :math:`\theta_{liq}` are defined at the layer node depth :math:`z`. The hydraulic conductivity :math:`k\left[z_{h} \right]` is defined at the interface of two layers :math:`z_{h}`. The layer thickness is :math:`\Delta z`. The soil water fluxes :math:`q_{i-1}` and :math:`q_{i}` are defined as positive upwards. The soil moisture sink term :math:`e` (ET loss) is defined as positive for flow out of the layer. +Shown are three soil layers, :math:`i-1`, :math:`i`, and :math:`i+1`. +The soil matric potential :math:`\psi` and volumetric soil water +:math:`\theta_{liq}` are defined at the layer node depth :math:`z`. +The hydraulic conductivity :math:`k\left[z_{h} \right]` is defined at +the interface of two layers :math:`z_{h}` . The layer thickness is +:math:`\Delta z`. The soil water fluxes :math:`q_{i-1}` and +:math:`q_{i}` are defined as positive upwards. The soil moisture sink +term :math:`e` (ET loss) is defined as positive for flow out of the +layer. + -Note that because more than one plant functional type (PFT) may share a soil column, the transpiration :math:`E_{v}^{t}` is a weighted sum of transpiration from all PFTs whose weighting depends on PFT area as +Note that because more than one plant functional type (PFT) may share a +soil column, the transpiration :math:`E_{v}^{t}` is a weighted sum of +transpiration from all PFTs whose weighting depends on PFT area as .. math:: :label: 7.105 E_{v}^{t} =\sum _{j=1}^{npft}\left(E_{v}^{t} \right)_{j} \left(wt\right)_{j} -where :math:`npft` is the number of PFTs sharing a soil column, :math:`\left(E_{v}^{t} \right)_{j}` is the transpiration from the :math:`j^{th}` PFT on the column, and :math:`\left(wt\right)_{j}` is the relative area of the :math:`j^{th}` PFT with respect to the column. The effective root fraction :math:`r_{e,\, i}` is also a column-level quantity that is a weighted sum over all PFTs. The weighting depends on the per unit area transpiration of each PFT and its relative area as +where :math:`npft` is the number of PFTs sharing a soil column, +:math:`\left(E_{v}^{t} \right)_{j}` is the transpiration from the +:math:`j^{th}` PFT on the column, and :math:`\left(wt\right)_{j}` is +the relative area of the :math:`j^{th}` PFT with respect to the column. +The effective root fraction :math:`r_{e,\, i}` is also a column-level +quantity that is a weighted sum over all PFTs. The weighting depends on +the per unit area transpiration of each PFT and its relative area as .. math:: :label: 7.106 r_{e,\, i} =\frac{\sum _{j=1}^{npft}\left(r_{e,\, i} \right)_{j} \left(E_{v}^{t} \right)_{j} \left(wt\right)_{j} }{\sum _{j=1}^{npft}\left(E_{v}^{t} \right)_{j} \left(wt\right)_{j} } -where :math:`\left(r_{e,\, i} \right)_{j}` is the effective root fraction for the :math:`j^{th}` PFT +where :math:`\left(r_{e,\, i} \right)_{j}` is the effective root +fraction for the :math:`j^{th}` PFT .. math:: :label: 7.107 - \begin{array}{lr} - \left(r_{e,\, i} \right)_{j} =\frac{\left(r_{i} \right)_{j} \left(w_{i} \right)_{j} }{\left(\beta _{t} \right)_{j} } & \qquad \left(\beta _{t} \right)_{j} >0 \\ + \begin{array}{lr} + \left(r_{e,\, i} \right)_{j} =\frac{\left(r_{i} \right)_{j} \left(w_{i} \right)_{j} }{\left(\beta _{t} \right)_{j} } & \qquad \left(\beta _{t} \right)_{j} >0 \\ \left(r_{e,\, i} \right)_{j} =0 & \qquad \left(\beta _{t} \right)_{j} =0 \end{array} + +and :math:`\left(r_{i} \right)_{j}` is the fraction of roots in layer +:math:`i` (Chapter :numref:`rst_Stomatal Resistance and Photosynthesis`), +:math:`\left(w_{i} \right)_{j}` is a soil dryness or plant wilting factor +for layer :math:`i` (Chapter :numref:`rst_Stomatal Resistance and Photosynthesis`), and :math:`\left(\beta_{t} \right)_{j}` is a wetness factor for the total +soil column for the :math:`j^{th}` PFT (Chapter :numref:`rst_Stomatal Resistance and Photosynthesis`). -and :math:`\left(r_{i} \right)_{j}` is the fraction of roots in layer :math:`i` (Chapter :numref:`rst_Stomatal Resistance and Photosynthesis`), :math:`\left(w_{i} \right)_{j}` is a soil dryness or plant wilting factor for layer :math:`i` (Chapter :numref:`rst_Stomatal Resistance and Photosynthesis`), and :math:`\left(\beta_{t} \right)_{j}` is a wetness factor for the total soil column for the :math:`j^{th}` PFT (Chapter :numref:`rst_Stomatal Resistance and Photosynthesis`). - -The soil water fluxes in :eq:`7.103`,, which are a function of :math:`\theta_{liq,\, i}` and :math:`\theta_{liq,\, i+1}` because of their dependence on hydraulic conductivity and soil matric potential, can be linearized about :math:`\theta` using a Taylor series expansion as +The soil water fluxes in :eq:`7.103`,, which are a function of +:math:`\theta_{liq,\, i}` and :math:`\theta_{liq,\, i+1}` because of +their dependence on hydraulic conductivity and soil matric potential, +can be linearized about :math:`\theta` using a Taylor series expansion +as .. math:: :label: 7.108 @@ -610,7 +868,9 @@ The soil water fluxes in :eq:`7.103`,, which are a function of :math:`\theta_{li q_{i-1}^{n+1} =q_{i-1}^{n} +\frac{\partial q_{i-1} }{\partial \theta_{liq,\, i-1} } \Delta \theta_{liq,\, i-1} +\frac{\partial q_{i-1} }{\partial \theta_{liq,\, i} } \Delta \theta_{liq,\, i} . -Substitution of these expressions for :math:`q_{i}^{n+1}` and :math:`q_{i-1}^{n+1}` into :eq:`7.103` results in a general tridiagonal equation set of the form +Substitution of these expressions for :math:`q_{i}^{n+1}` and +:math:`q_{i-1}^{n+1}` into :eq:`7.103` results in a general tridiagonal +equation set of the form .. math:: :label: 7.110 @@ -630,7 +890,7 @@ where b_{i} =\frac{\partial q_{i} }{\partial \theta_{liq,\, i} } -\frac{\partial q_{i-1} }{\partial \theta_{liq,\, i} } -\frac{\Delta z_{i} }{\Delta t} .. math:: - :label: 7.113 + :label: 7.113 c_{i} =\frac{\partial q_{i} }{\partial \theta_{liq,\, i+1} } @@ -639,9 +899,11 @@ where r_{i} =q_{i-1}^{n} -q_{i}^{n} +e_{i} . -The tridiagonal equation set is solved over :math:`i=1,\ldots,N_{levsoi}`. +The tridiagonal equation set is solved over +:math:`i=1,\ldots ,N_{levsoi}`. -The finite-difference forms of the fluxes and partial derivatives in equations :eq:`7.111` - :eq:`7.114` can be obtained from equation as +The finite-difference forms of the fluxes and partial derivatives in +equations :eq:`7.111` - :eq:`7.114` can be obtained from equation as .. math:: :label: 7.115 @@ -663,6 +925,7 @@ The finite-difference forms of the fluxes and partial derivatives in equations : \frac{\partial q_{i-1} }{\partial \theta _{liq,\, i} } =\left[\frac{k\left[z_{h,\, i-1} \right]}{z_{i} -z_{i-1} } \frac{\partial \psi _{i} }{\partial \theta _{liq,\, i} } \right]-\frac{\partial k\left[z_{h,\, i-1} \right]}{\partial \theta _{liq,\, i} } \left[\frac{\left(\psi _{i-1} -\psi _{i} \right)+\left(z_{i} - z_{i-1} \right)}{z_{i} - z_{i-1} } \right] + .. math:: :label: 7.119 @@ -673,7 +936,8 @@ The finite-difference forms of the fluxes and partial derivatives in equations : \frac{\partial q_{i} }{\partial \theta _{liq,\, i+1} } =\left[\frac{k\left[z_{h,\, i} \right]}{z_{i+1} -z_{i} } \frac{\partial \psi _{i+1} }{\partial \theta _{liq,\, i+1} } \right]-\frac{\partial k\left[z_{h,\, i} \right]}{\partial \theta _{liq,\, i+1} } \left[\frac{\left(\psi _{i} -\psi _{i+1} \right)+\left(z_{i+1} - z_{i} \right)}{z_{i+1} - z_{i} } \right]. -The derivatives of the soil matric potential at the node depth are derived from :eq:`7.94` +The derivatives of the soil matric potential at the node depth are +derived from :eq:`7.94` .. math:: :label: 7.121 @@ -690,22 +954,24 @@ The derivatives of the soil matric potential at the node depth are derived from \frac{\partial \psi _{i+1} }{\partial \theta_{liq,\, i+1} } =-B_{i+1} \frac{\psi _{i+1} }{\theta_{\, i+1} } -with the constraint :math:`0.01\, \theta_{sat,\, i} \le \theta_{\, i} \le \theta_{sat,\, i}`. +with the constraint +:math:`0.01\, \theta_{sat,\, i} \le \theta_{\, i} \le \theta_{sat,\, i}` . -The derivatives of the hydraulic conductivity at the layer interface are derived from :eq:`7.85` +The derivatives of the hydraulic conductivity at the layer interface are +derived from :eq:`7.85` .. math:: :label: 7.124 - \begin{array}{l} - {\frac{\partial k\left[z_{h,\, i-1} \right]}{\partial \theta _{liq,\, i-1} } - = \frac{\partial k\left[z_{h,\, i-1} \right]}{\partial \theta _{liq,\, i} } + \begin{array}{l} + {\frac{\partial k\left[z_{h,\, i-1} \right]}{\partial \theta _{liq,\, i-1} } + = \frac{\partial k\left[z_{h,\, i-1} \right]}{\partial \theta _{liq,\, i} } = \left(2B_{i-1} +3\right) \ \overline{\Theta}_{ice} \ k_{sat} \left[z_{h,\, i-1} \right] \ \left[\frac{\overline{\theta}_{liq}}{\overline{\theta}_{sat}} \right]^{2B_{i-1} +2} \left(\frac{0.5}{\overline{\theta}_{sat}} \right)} \end{array} -where :math:`\overline{\Theta}_{ice} = \Theta(\overline{\theta}_{ice})` :eq:`7.86`, -:math:`\overline{\theta}_{ice} = 0.5\left(\theta_{ice\, i-1} +\theta_{ice\, i} \right)`, -:math:`\overline{\theta}_{liq} = 0.5\left(\theta_{liq\, i-1} +\theta_{liq\, i} \right)`, -and +where :math:`\overline{\Theta}_{ice} = \Theta(\overline{\theta}_{ice})` :eq:`7.86`, +:math:`\overline{\theta}_{ice} = 0.5\left(\theta_{ice\, i-1} +\theta_{ice\, i} \right)`, +:math:`\overline{\theta}_{liq} = 0.5\left(\theta_{liq\, i-1} +\theta_{liq\, i} \right)`, +and :math:`\overline{\theta}_{sat} = 0.5\left(\theta_{sat,\, i-1} +\theta_{sat,\, i} \right)` and @@ -713,25 +979,29 @@ and .. math:: :label: 7.125 - \begin{array}{l} - {\frac{\partial k\left[z_{h,\, i} \right]}{\partial \theta _{liq,\, i} } - = \frac{\partial k\left[z_{h,\, i} \right]}{\partial \theta _{liq,\, i+1} } + \begin{array}{l} + {\frac{\partial k\left[z_{h,\, i} \right]}{\partial \theta _{liq,\, i} } + = \frac{\partial k\left[z_{h,\, i} \right]}{\partial \theta _{liq,\, i+1} } = \left(2B_{i} +3\right) \ \overline{\Theta}_{ice} \ k_{sat} \left[z_{h,\, i} \right] \ \left[\frac{\overline{\theta}_{liq}}{\overline{\theta}_{sat}} \right]^{2B_{i} +2} \left(\frac{0.5}{\overline{\theta}_{sat}} \right)} \end{array}. -where :math:`\overline{\theta}_{liq} = 0.5\left(\theta_{\, i} +\theta_{\, i+1} \right)`, +where :math:`\overline{\theta}_{liq} = 0.5\left(\theta_{\, i} +\theta_{\, i+1} \right)`, :math:`\overline{\theta}_{sat} = 0.5\left(\theta_{sat,\, i} +\theta_{sat,\, i+1} \right)`. Equation set for layer :math:`i=1` '''''''''''''''''''''''''''''''''''''''''' -For the top soil layer (:math:`i=1`), the boundary condition is the infiltration rate (section :numref:`Surface Runoff`), :math:`q_{i-1}^{n+1} =-q_{infl}^{n+1}`, and the water balance equation is +For the top soil layer (:math:`i=1`), the boundary condition is the +infiltration rate (section :numref:`Surface Runoff`), +:math:`q_{i-1}^{n+1} =-q_{infl}^{n+1}` , and the water balance equation +is .. math:: :label: 7.135 \frac{\Delta z_{i} \Delta \theta_{liq,\, i} }{\Delta t} =q_{infl}^{n+1} +q_{i}^{n+1} -e_{i} . -After grouping like terms, the coefficients of the tridiagonal set of equations for :math:`i=1` are +After grouping like terms, the coefficients of the tridiagonal set of +equations for :math:`i=1` are .. math:: :label: 7.136 @@ -756,7 +1026,8 @@ After grouping like terms, the coefficients of the tridiagonal set of equations Equation set for layers :math:`i=2,\ldots ,N_{levsoi} -1` ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -The coefficients of the tridiagonal set of equations for :math:`i=2,\ldots,N_{levsoi} -1` are +The coefficients of the tridiagonal set of equations for +:math:`i=2,\ldots ,N_{levsoi} -1` are .. math:: :label: 7.140 @@ -781,7 +1052,10 @@ The coefficients of the tridiagonal set of equations for :math:`i=2,\ldots,N_{le Equation set for layer :math:`i=N_{levsoi}` '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -For the lowest soil layer (:math:`i=N_{levsoi}` ), a zero-flux bottom boundary condition is applied (:math:`q_{i}^{n} =0`) and the coefficients of the tridiagonal set of equations for :math:`i=N_{levsoi}` are +For the lowest soil layer (:math:`i=N_{levsoi}` ), a zero-flux bottom boundary +condition is applied (:math:`q_{i}^{n} =0`) +and the coefficients of the tridiagonal set of equations for +:math:`i=N_{levsoi}` are .. math:: :label: 7.148 @@ -806,12 +1080,23 @@ For the lowest soil layer (:math:`i=N_{levsoi}` ), a zero-flux bottom boundary c Adaptive Time Stepping ''''''''''''''''''''''''''''' -The length of the time step is adjusted in order to improve the accuracy and stability of the numerical solutions. The difference between two numerical approximations is used to estimate the temporal truncation error, and then the step size :math:`\Delta t_{sub}` is adjusted to meet a user-prescribed error tolerance :ref:`[Kavetski et al., 2002]`. The temporal truncation error is estimated by comparing the flux obtained from the first-order Taylor series expansion (:math:`q_{i-1}^{n+1}` and :math:`q_{i}^{n+1}`, equations :eq:`7.108` and :eq:`7.109`) against the flux at the start of the time step (:math:`q_{i-1}^{n}` and :math:`q_{i}^{n}`). Since the tridiagonal solution already provides an estimate of :math:`\Delta \theta_{liq,i}`, it is convenient to compute the error for each of the :math:`i` layers from equation :eq:`7.103` as +The length of the time step is adjusted in order to improve the accuracy +and stability of the numerical solutions. The difference between two numerical +approximations is used to estimate the temporal truncation error, and then +the step size :math:`\Delta t_{sub}` is adjusted to meet a user-prescribed error tolerance +:ref:`[Kavetski et al., 2002]`. The temporal truncation +error is estimated by comparing the flux obtained from the first-order +Taylor series expansion (:math:`q_{i-1}^{n+1}` and :math:`q_{i}^{n+1}`, +equations :eq:`7.108` and :eq:`7.109`) against the flux at the start of the +time step (:math:`q_{i-1}^{n}` and :math:`q_{i}^{n}`). Since the tridiagonal +solution already provides an estimate of :math:`\Delta \theta_{liq,i}`, it is +convenient to compute the error for each of the :math:`i` layers from equation +:eq:`7.103` as .. math:: :label: 7.152 - \epsilon_{i} = \left[ \frac{\Delta \theta_{liq,\, i} \Delta z_{i}}{\Delta t_{sub}} - + \epsilon_{i} = \left[ \frac{\Delta \theta_{liq,\, i} \Delta z_{i}}{\Delta t_{sub}} - \left( q_{i-1}^{n} - q_{i}^{n} + e_{i}\right) \right] \ \frac{\Delta t_{sub}}{2} and the maximum absolute error across all layers as @@ -823,9 +1108,18 @@ and the maximum absolute error across all layers as \epsilon_{crit} = {\rm max} \left( \left| \epsilon_{i} \right| \right) & \qquad 1 \le i \le nlevsoi \end{array} \ . -The adaptive step size selection is based on specified upper and lower error tolerances, :math:`\tau_{U}` and :math:`\tau_{L}`. The solution is accepted if :math:`\epsilon_{crit} \le \tau_{U}` and the procedure repeats until the adaptive sub-stepping spans the full model time step (the sub-steps are doubled if :math:`\epsilon_{crit} \le \tau_{L}`, i.e., if the solution is very accurate). Conversely, the solution is rejected if :math:`\epsilon_{crit} > \tau_{U}`. In this case the length of the sub-steps is halved and a new solution is obtained. The halving of substeps continues until either :math:`\epsilon_{crit} \le \tau_{U}` or the specified minimum time step length is reached. +The adaptive step size selection is based on specified upper and lower error +tolerances, :math:`\tau_{U}` and :math:`\tau_{L}`. The solution is accepted if +:math:`\epsilon_{crit} \le \tau_{U}` and the procedure repeats until the adaptive +sub-stepping spans the full model time step (the sub-steps are doubled if +:math:`\epsilon_{crit} \le \tau_{L}`, i.e., if the solution is very accurate). +Conversely, the solution is rejected if :math:`\epsilon_{crit} > \tau_{U}`. In +this case the length of the sub-steps is halved and a new solution is obtained. +The halving of substeps continues until either :math:`\epsilon_{crit} \le \tau_{U}` +or the specified minimum time step length is reached. -Upon solution of the tridiagonal equation set, the liquid water contents are updated as follows +Upon solution of the tridiagonal equation set, the liquid water contents are updated +as follows .. math:: :label: 7.164 @@ -835,7 +1129,7 @@ Upon solution of the tridiagonal equation set, the liquid water contents are upd The volumetric water content is .. math:: - :label: 7.165 + :label: 7.165 \theta_{i} =\frac{w_{liq,\, i} }{\Delta z_{i} \rho _{liq} } +\frac{w_{ice,\, i} }{\Delta z_{i} \rho _{ice} } . @@ -844,60 +1138,109 @@ The volumetric water content is Frozen Soils and Perched Water Table ---------------------------------------- -When soils freeze, the power-law form of the ice impedance factor (section :numref:`Hydraulic Properties`) can greatly decrease the hydraulic conductivity of the soil, leading to nearly impermeable soil layers. When unfrozen soil layers are present above relatively ice-rich frozen layers, the possibility exists for perched saturated zones. Lateral drainage from perched saturated regions is parameterized as a function of the thickness of the saturated zone +When soils freeze, the power-law form of the ice impedance factor +(section :numref:`Hydraulic Properties`) can greatly decrease the hydraulic +conductivity of the soil, leading to nearly impermeable soil layers. When unfrozen +soil layers are present above relatively ice-rich frozen layers, the +possibility exists for perched saturated zones. Lateral drainage from +perched saturated regions is parameterized as a function of the +thickness of the saturated zone .. math:: :label: 7.166 q_{drai,perch} =k_{drai,\, perch} \left(z_{frost} -z_{\nabla ,perch} \right) -where :math:`k_{drai,\, perch}` depends on topographic slope and soil hydraulic conductivity, +where :math:`k_{drai,\, perch}` depends on topographic slope and soil +hydraulic conductivity, .. math:: :label: 7.167 k_{drai,\, perch} =10^{-5} \sin (\beta )\left(\frac{\sum _{i=N_{perch} }^{i=N_{frost} }\Theta_{ice,i} k_{sat} \left[z_{i} \right]\Delta z_{i} }{\sum _{i=N_{perch} }^{i=N_{frost} }\Delta z_{i} } \right) -where :math:`\Theta_{ice}` is an ice impedance factor, -:math:`\beta` is the mean grid cell topographic slope in radians, -:math:`z_{frost}` \ is the depth to the frost table, and -:math:`z_{\nabla,perch}` is the depth to the perched saturated zone. The frost table :math:`z_{frost}` is defined as the shallowest frozen layer having an unfrozen layer above it, while the perched water table :math:`z_{\nabla,perch}` is defined as the depth at which the volumetric water content drops below a specified threshold. The default threshold is set to 0.9. Drainage from the perched saturated zone :math:`q_{drai,perch}` is removed from layers :math:`N_{perch}` through :math:`N_{frost}`, which are the layers containing :math:`z_{\nabla,perch}` and, :math:`z_{frost}` \ respectively. +where :math:`\Theta_{ice}` is an ice impedance factor, :math:`\beta` +is the mean grid cell topographic slope in +radians, :math:`z_{frost}` \ is the depth to the frost table, and +:math:`z_{\nabla ,perch}` is the depth to the perched saturated zone. +The frost table :math:`z_{frost}` is defined as the shallowest frozen +layer having an unfrozen layer above it, while the perched water table +:math:`z_{\nabla ,perch}` is defined as the depth at which the +volumetric water content drops below a specified threshold. The default +threshold is set to 0.9. Drainage from the perched saturated zone +:math:`q_{drai,perch}` is removed from layers :math:`N_{perch}` +through :math:`N_{frost}` , which are the layers containing +:math:`z_{\nabla ,perch}` and, :math:`z_{frost}` \ respectively. .. _Lateral Sub-surface Runoff: Lateral Sub-surface Runoff --------------------------------------- -Lateral sub-surface runoff occurs when saturated soil moisture conditions exist within the soil column. Sub-surface runoff is +Lateral sub-surface runoff occurs when saturated soil moisture conditions +exist within the soil column. Sub-surface runoff is .. math:: :label: 7.168 - q_{drai} = \Theta_{ice} K_{baseflow} tan \left( \beta \right) + q_{drai} = \Theta_{ice} K_{baseflow} tan \left( \beta \right) \Delta z_{sat}^{N_{baseflow}} \ , -where :math:`K_{baseflow}` is a calibration parameter, :math:`\beta` is the topographic slope, the exponent :math:`N_{baseflow}` = 1, and :math:`\Delta z_{sat}` is the thickness of the saturated portion of the soil column. +where :math:`K_{baseflow}` is a calibration parameter, :math:`\beta` is the +topographic slope, the exponent :math:`N_{baseflow}` = 1, and :math:`\Delta z_{sat}` +is the thickness of the saturated portion of the soil column. -The saturated thickness is +The saturated thickness is .. math:: :label: 7.1681 - \Delta z_{sat} = z_{bedrock} - z_{\nabla}, + \Delta z_{sat} = z_{bedrock} - z_{\nabla}, -where the water table :math:`z_{\nabla}` is determined by finding the first soil layer above the bedrock depth (section :numref:`Depth to Bedrock`) in which the volumetric water content drops below a specified threshold. The default threshold is set to 0.9. +where the water table :math:`z_{\nabla}` is determined by finding the +first soil layer above the bedrock depth (section :numref:`Depth to Bedrock`) +in which the volumetric water content drops below a specified threshold. +The default threshold is set to 0.9. -The specific yield, :math:`S_{y}`, which depends on the soil properties and the water table location, is derived by taking the difference between two equilibrium soil moisture profiles whose water tables differ by an infinitesimal amount +The specific yield, :math:`S_{y}` , which depends on the soil +properties and the water table location, is derived by taking the +difference between two equilibrium soil moisture profiles whose water +tables differ by an infinitesimal amount .. math:: :label: 7.174 S_{y} =\theta_{sat} \left(1-\left(1+\frac{z_{\nabla } }{\Psi _{sat} } \right)^{\frac{-1}{B} } \right) -where B is the Clapp-Hornberger exponent. Because :math:`S_{y}` is a function of the soil properties, it results in water table dynamics that are consistent with the soil water fluxes described in section :numref:`Soil Water`. - -After the above calculations, two numerical adjustments are implemented to keep the liquid water content of each soil layer (:math:`w_{liq,\, i}` ) within physical constraints of :math:`w_{liq}^{\min } \le w_{liq,\, i} \le \left(\theta_{sat,\, i} -\theta_{ice,\, i} \right)\Delta z_{i}` where :math:`w_{liq}^{\min } =0.01` (mm). First, beginning with the bottom soil layer :math:`i=N_{levsoi}`, any excess liquid water in each soil layer (:math:`w_{liq,\, i}^{excess} =w_{liq,\, i} -\left(\theta_{sat,\, i} -\theta_{ice,\, i} \right)\Delta z_{i} \ge 0`) is successively added to the layer above. Any excess liquid water that remains after saturating the entire soil column (plus a maximum surface ponding depth :math:`w_{liq}^{pond} =10` kg m\ :sup:`-2`), is added to drainage :math:`q_{drai}`. Second, to prevent negative :math:`w_{liq,\, i}`, each layer is successively brought up to :math:`w_{liq,\, i} =w_{liq}^{\min }` by taking the required amount of water from the layer below. If this results in :math:`w_{liq,\, N_{levsoi} } ` for CLM5.0). @@ -59,7 +67,7 @@ P. O. Box 3000, Boulder, Colorado 80307-300 - :numref:`Figure Biological nitrogen fixation` Biological nitrogen fixation as a function of annual net primary production. -- :numref:`Figure Methane Schematic` Schematic representation of biological and physical processes integrated in CLM that affect the net CH4 surface flux. +- :numref:`Figure Methane Schematic` Schematic representation of biological and physical processes integrated in CLM that affect the net CH4 surface flux. - :numref:`Figure Schematic of land cover change` Schematic of land cover change impacts on CLM carbon pools and fluxes. @@ -133,9 +141,9 @@ P. O. Box 3000, Boulder, Colorado 80307-300 - :numref:`Table Crop plant functional types` Crop plant functional types (PFTs). -- :numref:`Table Crop phenology parameters` Crop phenology and morphology parameters. +- :numref:`Table Crop phenology parameters` Crop phenology and morphology parameters. -- :numref:`Table Crop allocation parameters` Crop allocation parameters. +- :numref:`Table Crop allocation parameters` Crop allocation parameters. - :numref:`Table Dust Mass fraction` Mass fraction m\ :sub:`i` , mass median diameter :sub:`v, i` , and geometric standard deviation :sub:`g, i` , per dust source mode i @@ -143,14 +151,33 @@ P. O. Box 3000, Boulder, Colorado 80307-300 **ACKNOWLEDGEMENTS** -The authors would like to acknowledge the substantial contributions of the following members of the Land Model and Biogeochemistry Working Groups to the development of the Community Land Model since its inception in 1996: Benjamin Andre, Ian Baker, Michael Barlage, Mike Bosilovich, Marcia Branstetter, Tony Craig, Aiguo Dai, Yongjiu Dai, Mark Decker, Scott Denning, Robert Dickinson, Paul Dirmeyer, Jared Entin, Jay Famiglietti, Johannes Feddema, Mark Flanner, Jon Foley, Andrew Fox, Inez Fung, David Gochis, Alex Guenther, Tim Hoar, Forrest Hoffman, Paul Houser, Trish Jackson, Brian Kauffman, Silvia Kloster, Natalie Mahowald, Jiafu Mao, Lei Meng, Sheri Michelson, Guo-Yue Niu, Adam Phillips, Taotao Qian, Jon Radakovich, James Randerson, Nan Rosenbloom, Steve Running, Koichi Sakaguchi, Adam Schlosser, Andrew Slater, Reto Stöckli, Ying Sun, Quinn Thomas, Peter Thornton, Mariana Vertenstein, Nicholas Viovy, Aihui Wang, Guiling Wang, Zong-Liang Yang, Charlie Zender, Xiaodong Zeng, and Xubin Zeng. +The authors would like to acknowledge the substantial contributions of +the following members of the Land Model and Biogeochemistry Working +Groups to the development of the Community Land Model since its +inception in 1996: Benjamin Andre, Ian Baker, Michael Barlage, Mike +Bosilovich, Marcia Branstetter, Tony Craig, Aiguo Dai, Yongjiu Dai, Mark +Decker, Scott Denning, Robert Dickinson, Paul Dirmeyer, Jared Entin, Jay +Famiglietti, Johannes Feddema, Mark Flanner, Jon Foley, Andrew Fox, Inez +Fung, David Gochis, Alex Guenther, Tim Hoar, Forrest Hoffman, Paul +Houser, Trish Jackson, Brian Kauffman, Silvia Kloster, Natalie Mahowald, +Jiafu Mao, Lei Meng, Sheri Michelson, Guo-Yue Niu, Adam Phillips, Taotao +Qian, Jon Radakovich, James Randerson, Nan Rosenbloom, Steve Running, +Koichi Sakaguchi, Adam Schlosser, Andrew Slater, Reto Stöckli, Ying Sun, Quinn +Thomas, Peter Thornton, Mariana Vertenstein, Nicholas Viovy, Aihui Wang, Guiling Wang, +Zong-Liang Yang, Charlie Zender, Xiaodong Zeng, and Xubin Zeng. .. _rst_Introduction: Introduction ================= -The purpose of this document is to fully describe the biogeophysical and biogeochemical parameterizations and numerical implementation of version 5.0 of the Community Land Model (CLM5.0). Scientific justification and evaluation of these parameterizations can be found in the referenced scientific papers (:ref:`rst_References`). This document and the CLM5.0 User's Guide together provide the user with the scientific description and operating instructions for CLM. +The purpose of this document is to fully describe the biogeophysical and +biogeochemical parameterizations and numerical implementation of version +5.0 of the Community Land Model (CLM5.0). Scientific justification and +evaluation of these parameterizations can be found in the referenced +scientific papers (:ref:`rst_References`). This document and the CLM5.0 +User’s Guide together provide the user with the scientific description +and operating instructions for CLM. Model History --------------- @@ -158,104 +185,411 @@ Model History Inception of CLM ^^^^^^^^^^^^^^^^^^^^^^ -The early development of the Community Land Model can be described as the merging of a community-developed land model focusing on biogeophysics and a concurrent effort at NCAR to expand the NCAR Land Surface Model (NCAR LSM, :ref:`Bonan 1996`) to include the carbon cycle, vegetation dynamics, and river routing. The concept of a community-developed land component of the Community Climate System Model (CCSM) was initially proposed at the CCSM Land Model Working Group (LMWG) meeting in February 1996. Initial software specifications and development focused on evaluating the best features of three existing land models: the NCAR LSM (:ref:`Bonan 1996, 1998`) used in the Community Climate Model (CCM3) and the initial version of CCSM; the Institute of Atmospheric Physics, Chinese Academy of Sciences land model (IAP94) (:ref:`Dai and Zeng 1997`); and the Biosphere-Atmosphere Transfer Scheme (BATS) (:ref:`Dickinson et al. 1993`) used with CCM2. A scientific steering committee was formed to review the initial specifications of the design provided by Robert Dickinson, Gordon Bonan, Xubin Zeng, and Yongjiu Dai and to facilitate further development. Steering committee members were selected so as to provide guidance and expertise in disciplines not generally well-represented in land surface models (e.g., carbon cycling, ecological modeling, hydrology, and river routing) and included scientists from NCAR, the university community, and government laboratories (R. Dickinson, G. Bonan, X. Zeng, Paul Dirmeyer, Jay Famiglietti, Jon Foley, and Paul Houser). - -The specifications for the new model, designated the Common Land Model, were discussed and agreed upon at the June 1998 CCSM Workshop LMWG meeting. An initial code was developed by Y. Dai and was examined in March 1999 by Mike Bosilovich, P. Dirmeyer, and P. Houser. At this point an extensive period of code testing was initiated. Keith Oleson, Y. Dai, Adam Schlosser, and P. Houser presented preliminary results of offline 1-dimensional testing at the June 1999 CCSM Workshop LMWG meeting. Results from more extensive offline testing at plot, catchment, and large scale (up to global) were presented by Y. Dai, A. Schlosser, K. Oleson, M. Bosilovich, Zong-Liang Yang, Ian Baker, P. Houser, and P. Dirmeyer at the LMWG meeting hosted by COLA (Center for Ocean-Land-Atmosphere Studies) in November 1999. Field data used for validation included sites adopted by the Project for Intercomparison of Land-surface Parameterization Schemes (:ref:`Henderson-Sellers et al. 1993`) (Cabauw, Valdai, Red-Arkansas river basin) and others [FIFE (:ref:`Sellers et al. 1988`), BOREAS :ref:`(Sellers et al. 1995`), HAPEX-MOBILHY (:ref:`André et al. 1986`), ABRACOS (:ref:`Gash et al. 1996`), Sonoran Desert (:ref:`Unland et al. 1996`), GSWP (:ref:`Dirmeyer et al. 1999`)]. Y. Dai also presented results from a preliminary coupling of the Common Land Model to CCM3, indicating that the land model could be successfully coupled to a climate model. - -Results of coupled simulations using CCM3 and the Common Land Model were presented by X. Zeng at the June 2000 CCSM Workshop LMWG meeting. Comparisons with the NCAR LSM and observations indicated major improvements to the seasonality of runoff, substantial reduction of a summer cold bias, and snow depth. Some deficiencies related to runoff and albedo were noted, however, that were subsequently addressed. Z.-L. Yang and I. Baker demonstrated improvements in the simulation of snow and soil temperatures. Sam Levis reported on efforts to incorporate a river routing model to deliver runoff to the ocean model in CCSM. Soon after the workshop, the code was delivered to NCAR for implementation into the CCSM framework. Documentation for the Common Land Model is provided by :ref:`Dai et al. (2001)` while the coupling with CCM3 is described in :ref:`Zeng et al. (2002)`. The model was introduced to the modeling community in :ref:`Dai et al. (2003)`. +The early development of the Community Land Model can be described as +the merging of a community-developed land model focusing on +biogeophysics and a concurrent effort at NCAR to expand the NCAR Land +Surface Model (NCAR LSM, :ref:`Bonan 1996`) to include the carbon cycle, +vegetation dynamics, and river routing. The concept of a +community-developed land component of the Community Climate System Model +(CCSM) was initially proposed at the CCSM Land Model Working Group +(LMWG) meeting in February 1996. Initial software specifications and +development focused on evaluating the best features of three existing +land models: the NCAR LSM (:ref:`Bonan 1996, 1998`) used in the Community +Climate Model (CCM3) and the initial version of CCSM; the Institute of +Atmospheric Physics, Chinese Academy of Sciences land model (IAP94) (:ref:`Dai +and Zeng 1997`); and the Biosphere-Atmosphere Transfer Scheme (BATS) +(:ref:`Dickinson et al. 1993`) used with CCM2. A scientific steering committee +was formed to review the initial specifications of the design provided +by Robert Dickinson, Gordon Bonan, Xubin Zeng, and Yongjiu Dai and to +facilitate further development. Steering committee members were selected +so as to provide guidance and expertise in disciplines not generally +well-represented in land surface models (e.g., carbon cycling, +ecological modeling, hydrology, and river routing) and included +scientists from NCAR, the university community, and government +laboratories (R. Dickinson, G. Bonan, X. Zeng, Paul Dirmeyer, Jay +Famiglietti, Jon Foley, and Paul Houser). + +The specifications for the new model, designated the Common Land Model, +were discussed and agreed upon at the June 1998 CCSM Workshop LMWG +meeting. An initial code was developed by Y. Dai and was examined in +March 1999 by Mike Bosilovich, P. Dirmeyer, and P. Houser. At this point +an extensive period of code testing was initiated. Keith Oleson, Y. Dai, +Adam Schlosser, and P. Houser presented preliminary results of offline +1-dimensional testing at the June 1999 CCSM Workshop LMWG meeting. +Results from more extensive offline testing at plot, catchment, and +large scale (up to global) were presented by Y. Dai, A. Schlosser, K. +Oleson, M. Bosilovich, Zong-Liang Yang, Ian Baker, P. Houser, and P. +Dirmeyer at the LMWG meeting hosted by COLA (Center for +Ocean-Land-Atmosphere Studies) in November 1999. Field data used for +validation included sites adopted by the Project for Intercomparison of +Land-surface Parameterization Schemes (:ref:`Henderson-Sellers et al. 1993`) +(Cabauw, Valdai, Red-Arkansas river basin) and others [FIFE (:ref:`Sellers et +al. 1988`), BOREAS :ref:`(Sellers et al. 1995`), HAPEX-MOBILHY (:ref:`André et al. +1986`), ABRACOS (:ref:`Gash et al. 1996`), Sonoran Desert (:ref:`Unland et al. 1996`), +GSWP (:ref:`Dirmeyer et al. 1999`)]. Y. Dai also presented results from a +preliminary coupling of the Common Land Model to CCM3, indicating that +the land model could be successfully coupled to a climate model. + +Results of coupled simulations using CCM3 and the Common Land Model were +presented by X. Zeng at the June 2000 CCSM Workshop LMWG meeting. +Comparisons with the NCAR LSM and observations indicated major +improvements to the seasonality of runoff, substantial reduction of a +summer cold bias, and snow depth. Some deficiencies related to runoff +and albedo were noted, however, that were subsequently addressed. Z.-L. +Yang and I. Baker demonstrated improvements in the simulation of snow +and soil temperatures. Sam Levis reported on efforts to incorporate a +river routing model to deliver runoff to the ocean model in CCSM. Soon +after the workshop, the code was delivered to NCAR for implementation +into the CCSM framework. Documentation for the Common Land Model is +provided by :ref:`Dai et al. (2001)` while the coupling with CCM3 is described +in :ref:`Zeng et al. (2002)`. The model was introduced to the modeling +community in :ref:`Dai et al. (2003)`. CLM2 ^^^^^^^^^^ -Concurrent with the development of the Common Land Model, the NCAR LSM was undergoing further development at NCAR in the areas of carbon cycling, vegetation dynamics, and river routing. The preservation of these advancements necessitated several modifications to the Common Land Model. The biome-type land cover classification scheme was replaced with a plant functional type (PFT) representation with the specification of PFTs and leaf area index from satellite data (:ref:`Oleson and Bonan 2000`; :ref:`Bonan et al. 2002a, b`). This also required modifications to parameterizations for vegetation albedo and vertical burying of vegetation by snow. Changes were made to canopy scaling, leaf physiology, and soil water limitations on photosynthesis to resolve deficiencies indicated by the coupling to a dynamic vegetation model. Vertical heterogeneity in soil texture was implemented to improve coupling with a dust emission model. A river routing model was incorporated to improve the fresh water balance over oceans. Numerous modest changes were made to the parameterizations to conform to the strict energy and water balance requirements of CCSM. Further substantial software development was also required to meet coding standards. The resulting model was adopted in May 2002 as the Community Land Model (CLM2) for use with the Community Atmosphere Model (CAM2, the successor to CCM3) and version 2 of the Community Climate System Model (CCSM2). - -K. Oleson reported on initial results from a coupling of CCM3 with CLM2 at the June 2001 CCSM Workshop LMWG meeting. Generally, the CLM2 preserved most of the improvements seen in the Common Land Model, particularly with respect to surface air temperature, runoff, and snow. These simulations are documented in :ref:`Bonan et al. (2002a)`. Further small improvements to the biogeophysical parameterizations, ongoing software development, and extensive analysis and validation within CAM2 and CCSM2 culminated in the release of CLM2 to the community in May 2002. - -Following this release, Peter Thornton implemented changes to the model structure required to represent carbon and nitrogen cycling in the model. This involved changing data structures from a single vector of spatially independent sub-grid patches to one that recognizes three hierarchical scales within a model grid cell: land unit, snow/soil column, and PFT. Furthermore, as an option, the model can be configured so that PFTs can share a single soil column and thus "compete" for water. This version of the model (CLM2.1) was released to the community in February 2003. CLM2.1, without the compete option turned on, produced only round off level changes when compared to CLM2. +Concurrent with the development of the Common Land Model, the NCAR LSM +was undergoing further development at NCAR in the areas of carbon +cycling, vegetation dynamics, and river routing. The preservation of +these advancements necessitated several modifications to the Common Land +Model. The biome-type land cover classification scheme was replaced with +a plant functional type (PFT) representation with the specification of +PFTs and leaf area index from satellite data (:ref:`Oleson and Bonan 2000`; +:ref:`Bonan et al. 2002a, b`). This also required modifications to +parameterizations for vegetation albedo and vertical burying of +vegetation by snow. Changes were made to canopy scaling, leaf +physiology, and soil water limitations on photosynthesis to resolve +deficiencies indicated by the coupling to a dynamic vegetation model. +Vertical heterogeneity in soil texture was implemented to improve +coupling with a dust emission model. A river routing model was +incorporated to improve the fresh water balance over oceans. Numerous +modest changes were made to the parameterizations to conform to the +strict energy and water balance requirements of CCSM. Further +substantial software development was also required to meet coding +standards. The resulting model was adopted in May 2002 as the Community +Land Model (CLM2) for use with the Community Atmosphere Model (CAM2, the +successor to CCM3) and version 2 of the Community Climate System Model +(CCSM2). + +K. Oleson reported on initial results from a coupling of CCM3 with CLM2 +at the June 2001 CCSM Workshop LMWG meeting. Generally, the CLM2 +preserved most of the improvements seen in the Common Land Model, +particularly with respect to surface air temperature, runoff, and snow. +These simulations are documented in :ref:`Bonan et al. (2002a)`. Further small +improvements to the biogeophysical parameterizations, ongoing software +development, and extensive analysis and validation within CAM2 and CCSM2 +culminated in the release of CLM2 to the community in May 2002. + +Following this release, Peter Thornton implemented changes to the model +structure required to represent carbon and nitrogen cycling in the +model. This involved changing data structures from a single vector of +spatially independent sub-grid patches to one that recognizes three +hierarchical scales within a model grid cell: land unit, snow/soil +column, and PFT. Furthermore, as an option, the model can be configured +so that PFTs can share a single soil column and thus “compete” for +water. This version of the model (CLM2.1) was released to the community +in February 2003. CLM2.1, without the compete option turned on, produced +only round off level changes when compared to CLM2. CLM3 ^^^^^^^^^^ -CLM3 implemented further software improvements related to performance and model output, a re-writing of the code to support vector-based computational platforms, and improvements in biogeophysical parameterizations to correct deficiencies in the coupled model climate. Of these parameterization improvements, two were shown to have a noticeable impact on simulated climate. A variable aerodynamic resistance for heat/moisture transfer from ground to canopy air that depends on canopy density was implemented. This reduced unrealistically high surface temperatures in semi-arid regions. The second improvement added stability corrections to the diagnostic 2-m air temperature calculation which reduced biases in this temperature. Competition between PFTs for water, in which PFTs share a single soil column, is the default mode of operation in this model version. CLM3 was released to the community in June 2004. :ref:`Dickinson et al. (2006)` describe the climate statistics of CLM3 when coupled to CCSM3.0. :ref:`Hack et al. (2006)` provide an analysis of selected features of the land hydrological cycle. :ref:`Lawrence et al. (2007)` examine the impact of changes in CLM3 hydrological parameterizations on partitioning of evapotranspiration (ET) and its effect on the timescales of ET response to precipitation events, interseasonal soil moisture storage, soil moisture memory, and land-atmosphere coupling. :ref:`Qian et al. (2006)` evaluate CLM3's performance in simulating soil moisture content, runoff, and river discharge when forced by observed precipitation, temperature and other atmospheric data. +CLM3 implemented further software improvements related to performance +and model output, a re-writing of the code to support vector-based +computational platforms, and improvements in biogeophysical +parameterizations to correct deficiencies in the coupled model climate. +Of these parameterization improvements, two were shown to have a +noticeable impact on simulated climate. A variable aerodynamic +resistance for heat/moisture transfer from ground to canopy air that +depends on canopy density was implemented. This reduced unrealistically +high surface temperatures in semi-arid regions. The second improvement +added stability corrections to the diagnostic 2-m air temperature +calculation which reduced biases in this temperature. Competition +between PFTs for water, in which PFTs share a single soil column, is the +default mode of operation in this model version. CLM3 was released to +the community in June 2004. :ref:`Dickinson et al. (2006)` +describe the climate statistics of CLM3 when coupled to CCSM3.0. +:ref:`Hack et al. (2006)` provide an analysis of selected +features of the land hydrological cycle. +:ref:`Lawrence et al. (2007)` examine the impact of +changes in CLM3 +hydrological parameterizations on partitioning of evapotranspiration +(ET) and its effect on the timescales of ET response to precipitation +events, interseasonal soil moisture storage, soil moisture memory, and +land-atmosphere coupling. :ref:`Qian et al. (2006)` evaluate CLM3’s performance +in simulating soil moisture content, runoff, and river discharge when +forced by observed precipitation, temperature and other atmospheric +data. CLM3.5 ^^^^^^^^^^^^ -Although the simulation of land surface climate by CLM3 was in many ways adequate, most of the unsatisfactory aspects of the simulated climate noted by the above studies could be traced directly to deficiencies in simulation of the hydrological cycle. In 2004, a project was initiated to improve the hydrology in CLM3 as part of the development of CLM version 3.5. A selected set of promising approaches to alleviating the hydrologic biases in CLM3 were tested and implemented. These included new surface datasets based on Moderate Resolution Imaging Spectroradiometer (MODIS) products, new parameterizations for canopy integration, canopy interception, frozen soil, soil water availability, and soil evaporation, a TOPMODEL-based model for surface and subsurface runoff, a groundwater model for determining water table depth, and the introduction of a factor to simulate nitrogen limitation on plant productivity. :ref:`Oleson et al. (2008a)` show that CLM3.5 exhibits significant improvements over CLM3 in its partitioning of global ET which result in wetter soils, less plant water stress, increased transpiration and photosynthesis, and an improved annual cycle of total water storage. Phase and amplitude of the runoff annual cycle is generally improved. Dramatic improvements in vegetation biogeography result when CLM3.5 is coupled to a dynamic global vegetation model. :ref:`Stöckli et al. (2008)` examine the performance of CLM3.5 at local scales by making use of a network of long-term ground-based ecosystem observations [FLUXNET (:ref:`Baldocchi et al. 2001`)]. Data from 15 FLUXNET sites were used to demonstrate significantly improved soil hydrology and energy partitioning in CLM3.5. CLM3.5 was released to the community in May, 2007. +Although the simulation of land surface climate by CLM3 was in many ways +adequate, most of the unsatisfactory aspects of the simulated climate +noted by the above studies could be traced directly to deficiencies in +simulation of the hydrological cycle. In 2004, a project was initiated +to improve the hydrology in CLM3 as part of the development of CLM +version 3.5. A selected set of promising approaches to alleviating the +hydrologic biases in CLM3 were tested and implemented. These included +new surface datasets based on Moderate Resolution Imaging +Spectroradiometer (MODIS) products, new parameterizations for canopy +integration, canopy interception, frozen soil, soil water availability, +and soil evaporation, a TOPMODEL-based model for surface and subsurface +runoff, a groundwater model for determining water table depth, and the +introduction of a factor to simulate nitrogen limitation on plant +productivity. :ref:`Oleson et al. (2008a)` show that CLM3.5 exhibits +significant improvements over CLM3 in its partitioning of global ET +which result in wetter soils, less plant water stress, increased +transpiration and photosynthesis, and an improved annual cycle of total +water storage. Phase and amplitude of the runoff annual cycle is +generally improved. Dramatic improvements in vegetation biogeography +result when CLM3.5 is coupled to a dynamic global vegetation model. +:ref:`Stöckli et al. (2008)` examine the performance of CLM3.5 at local scales +by making use of a network of long-term ground-based ecosystem +observations [FLUXNET (:ref:`Baldocchi et al. 2001`)]. Data from 15 FLUXNET +sites were used to demonstrate significantly improved soil hydrology and +energy partitioning in CLM3.5. CLM3.5 was released to the community in +May, 2007. CLM4 ^^^^^^^^^^ -The motivation for the next version of the model, CLM4, was to incorporate several recent scientific advances in the understanding and representation of land surface processes, expand model capabilities, and improve surface and atmospheric forcing datasets (:ref:`Lawrence et al. 2011`). Included in the first category are more sophisticated representations of soil hydrology and snow processes. In particular, new treatments of soil column-groundwater interactions, soil evaporation, aerodynamic parameters for sparse/dense canopies, vertical burial of vegetation by snow, snow cover fraction and aging, black carbon and dust deposition, and vertical distribution of solar energy for snow were implemented. Major new capabilities in the model include a representation of the carbon-nitrogen cycle (CLM4CN, see next paragraph for additional information), the ability to model land cover change in a transient mode, inclusion of organic soil and deep soil into the existing mineral soil treatment to enable more realistic modeling of permafrost, an urban canyon model to contrast rural and urban energy balance and climate (CLMU), and an updated biogenic volatile organic compounds (BVOC) model. Other modifications of note include refinement of the global PFT, wetland, and lake distributions, more realistic optical properties for grasslands and croplands, and an improved diurnal cycle and spectral distribution of incoming solar radiation to force the model in land-only mode. - -Many of the ideas incorporated into the carbon and nitrogen cycle component of CLM4 derive from the earlier development of the land-only ecosystem process model Biome-BGC (Biome BioGeochemical Cycles), originating at the Numerical Terradynamic Simulation Group (NTSG) at the University of Montana, under the guidance of Prof. Steven Running. Biome-BGC itself is an extension of an earlier model, Forest-BGC (:ref:`Running and Coughlan, 1988`; :ref:`Running and Gower, 1991`), which simulates water, carbon, and, to a limited extent, nitrogen fluxes for forest ecosystems. Forest-BGC was designed to be driven by remote sensing inputs of vegetation structure, and so used a diagnostic (prescribed) leaf area index, or, in the case of the dynamic allocation version of the model (:ref:`Running and Gower, 1991`), prescribed maximum leaf area index. - -Biome-BGC expanded on the Forest-BGC logic by introducing a more mechanistic calculation of leaf and canopy scale photosynthesis (:ref:`Hunt and Running, 1992`), and extending the physiological parameterizations to include multiple woody and non-woody vegetation types (:ref:`Hunt et al. 1996`; :ref:`Running and Hunt, 1993`). Later versions of Biome-BGC introduced more mechanistic descriptions of belowground carbon and nitrogen cycles, nitrogen controls on photosynthesis and decomposition, sunlit and shaded canopies, vertical gradient in leaf morphology, and explicit treatment of fire and harvest disturbance and regrowth dynamics (:ref:`Kimball et al. 1997`; :ref:`Thornton, 1998`; :ref:`Thornton et al. 2002`; :ref:`White et al. 2000`). Biome-BGC version 4.1.2 (:ref:`Thornton et al. 2002`) provided a point of departure for integrating new biogeochemistry components into CLM4. - -CLM4 was released to the community in June, 2010 along with the Community Climate System Model version 4 (CCSM4). CLM4 is used in CCSM4, CESM1, CESM1.1, and remains available as the default land component model option for coupled simulations in CESM1.2. +The motivation for the next version of the model, CLM4, was to +incorporate several recent scientific advances in the understanding and +representation of land surface processes, expand model capabilities, and +improve surface and atmospheric forcing datasets (:ref:`Lawrence et al. 2011`). +Included in the first category are more sophisticated representations of +soil hydrology and snow processes. In particular, new treatments of soil +column-groundwater interactions, soil evaporation, aerodynamic +parameters for sparse/dense canopies, vertical burial of vegetation by +snow, snow cover fraction and aging, black carbon and dust deposition, +and vertical distribution of solar energy for snow were implemented. +Major new capabilities in the model include a representation of the +carbon-nitrogen cycle (CLM4CN, see next paragraph for additional +information), the ability to model land cover change in a transient +mode, inclusion of organic soil and deep soil into the existing mineral +soil treatment to enable more realistic modeling of permafrost, an urban +canyon model to contrast rural and urban energy balance and climate +(CLMU), and an updated biogenic volatile organic compounds (BVOC) model. +Other modifications of note include refinement of the global PFT, +wetland, and lake distributions, more realistic optical properties for +grasslands and croplands, and an improved diurnal cycle and spectral +distribution of incoming solar radiation to force the model in land-only +mode. + +Many of the ideas incorporated into the carbon and nitrogen cycle +component of CLM4 derive from the earlier development of the land-only +ecosystem process model Biome-BGC (Biome BioGeochemical Cycles), +originating at the Numerical Terradynamic Simulation Group (NTSG) at the +University of Montana, under the guidance of Prof. Steven Running. +Biome-BGC itself is an extension of an earlier model, Forest-BGC +(:ref:`Running and Coughlan, 1988`; :ref:`Running and Gower, 1991`), which +simulates water, carbon, and, to a limited extent, nitrogen fluxes for +forest ecosystems. Forest-BGC was designed to be driven by remote +sensing inputs of vegetation structure, and so used a diagnostic +(prescribed) leaf area index, or, in the case of the dynamic allocation +version of the model (:ref:`Running and Gower, 1991`), prescribed maximum +leaf area index. + +Biome-BGC expanded on the Forest-BGC logic by introducing a more +mechanistic calculation of leaf and canopy scale photosynthesis (:ref:`Hunt +and Running, 1992`), and extending the physiological parameterizations +to include multiple woody and non-woody vegetation types (:ref:`Hunt et al. +1996`; :ref:`Running and Hunt, 1993`). Later versions of Biome-BGC introduced +more mechanistic descriptions of belowground carbon and nitrogen cycles, +nitrogen controls on photosynthesis and decomposition, sunlit and shaded +canopies, vertical gradient in leaf morphology, and explicit treatment +of fire and harvest disturbance and regrowth dynamics (:ref:`Kimball et al. +1997`; :ref:`Thornton, 1998`; :ref:`Thornton et al. 2002`; :ref:`White et al. 2000`). +Biome-BGC version 4.1.2 (:ref:`Thornton et al. 2002`) provided a point of +departure for integrating new biogeochemistry components into CLM4. + +CLM4 was released to the community in June, 2010 along with the +Community Climate System Model version 4 (CCSM4). CLM4 is used in CCSM4, +CESM1, CESM1.1, and remains available as the default land component +model option for coupled simulations in CESM1.2. CLM4.5 ^^^^^^^^^^^^ -The motivations for the development of CLM4.5 were similar to those for CLM4: incorporate several recent scientific advances in the understanding and representation of land surface processes, expand model capabilities, and improve surface and atmospheric forcing datasets. - -Specifically, several parameterizations were revised to reflect new scientific understanding and in an attempt to reduce biases identified in CLM4 simulations including low soil carbon stocks especially in the Arctic, excessive tropical GPP and unrealistically low Arctic GPP, a dry soil bias in Arctic soils, unrealistically high LAI in the tropics, a transient 20\ :math:`{}^{th}` century carbon response that was inconsistent with observational estimates, and several other more minor problems or biases. - -The main modifications include updates to canopy processes including a revised canopy radiation scheme and canopy scaling of leaf processes, co-limitations on photosynthesis, revisions to photosynthetic parameters (:ref:`Bonan et al. 2011`), temperature acclimation of photosynthesis, and improved stability of the iterative solution in the photosynthesis and stomatal conductance model (:ref:`Sun et al. 2012`). Hydrology updates included modifications such that hydraulic properties of frozen soils are determined by liquid water content only rather than total water content and the introduction of an ice impedance function, and other corrections that increase the consistency between soil water state and water table position and allow for a perched water table above icy permafrost ground (:ref:`Swenson et al. 2012`). A new snow cover fraction parameterization is incorporated that reflects the hysteresis in fractional snow cover for a given snow depth between accumulation and melt phases (:ref:`Swenson and Lawrence, 2012`). The lake model in CLM4 was replaced with a completely revised and more realistic lake model (:ref:`Subin et al. 2012a`). A surface water store was introduced, replacing the wetland land unit and permitting prognostic wetland distribution modeling. The surface energy fluxes are calculated separately (:ref:`Swenson and Lawrence, 2012`) for snow-covered, water-covered, and snow/water-free portions of vegetated and crop land units, and snow-covered and snow-free portions of glacier land units. Globally constant river flow velocity is replaced with variable flow velocity based on mean grid cell slope. A vertically resolved soil biogeochemistry scheme is introduced with base decomposition rates modified by soil temperature, water, and oxygen limitations and also including vertical mixing of soil carbon and nitrogen due to bioturbation, cryoturbation, and diffusion (:ref:`Koven et al. 2013`). The litter and soil carbon and nitrogen pool structure as well as nitrification and denitrification that were modified based on the Century model. Biological fixation was revised to distribute fixation more realistically over the year (:ref:`Koven et al. 2013`). The fire model was replaced with a model that includes representations of natural and anthropogenic triggers and suppression as well as agricultural, deforestation, and peat fires (:ref:`Li et al. 2012a,b`; :ref:`Li et al. 2013a`). The biogenic volatile organic compounds model is updated to MEGAN2.1 (:ref:`Guenther et al. 2012`). - -Additions to the model include a methane production, oxidation, and emissions model (:ref:`Riley et al. 2011a`) and an extension of the crop model to include interactive fertilization, organ pools (:ref:`Drewniak et al. 2013`), and irrigation (:ref:`Sacks et al. 2009`). Elements of the Variable Infiltration Capacity (VIC) model are included as an alternative optional runoff generation scheme (:ref:`Li et al. 2011`). There is also an option to run with a multilayer canopy (:ref:`Bonan et al. 2012`). Multiple urban density classes, rather than the single dominant urban density class used in CLM4, are modeled in the urban land unit. Carbon (:math:`{}^{13}`\ C and :math:`{}^{14}`\ C) isotopes are enabled (:ref:`Koven et al. 2013`). Minor changes include a switch of the C3 Arctic grass and shrub phenology from stress deciduous to seasonal deciduous and a change in the glacier bare ice albedo to better reflect recent estimates. Finally, the carbon and nitrogen cycle spinup is accelerated and streamlined with a revised spinup method, though the spinup timescale remains long. - -Finally, the predominantly low resolution input data for provided with CLM4 to create CLM4 surface datasets is replaced with newer and higher resolution input datasets where possible (see section :numref:`Surface Data` for details). The default meteorological forcing dataset provided with CLM4 (:ref:`Qian et al. 2006)` is replaced with the 1901-2010 CRUNCEP forcing dataset (see Chapter :numref:`rst_Land-Only Mode`) for CLM4.5, though users can also still use the :ref:`Qian et al. (2006)` dataset or other alternative forcing datasets. - -CLM4.5 was released to the community in June 2013 along with the Community Earth System Model version 1.2 (CESM1.2). +The motivations for the development of CLM4.5 were similar to those for CLM4: +incorporate several recent scientific advances in the understanding and +representation of land surface processes, expand model capabilities, and +improve surface and atmospheric forcing datasets. + +Specifically, several parameterizations were revised to reflect new +scientific understanding and in an attempt to reduce biases identified +in CLM4 simulations including low soil carbon stocks especially in the +Arctic, excessive tropical GPP and unrealistically low Arctic GPP, a dry +soil bias in Arctic soils, unrealistically high LAI in the tropics, a +transient 20\ :math:`{}^{th}` century carbon response that was +inconsistent with observational estimates, and several other more minor +problems or biases. + +The main modifications include updates to canopy processes including a +revised canopy radiation scheme and canopy scaling of leaf processes, +co-limitations on photosynthesis, revisions to photosynthetic parameters +(:ref:`Bonan et al. 2011`), temperature acclimation of photosynthesis, and +improved stability of the iterative solution in the photosynthesis and +stomatal conductance model (:ref:`Sun et al. 2012`). Hydrology updates included +modifications such that hydraulic properties of frozen soils are +determined by liquid water content only rather than total water content +and the introduction of an ice impedance function, and other corrections +that increase the consistency between soil water state and water table +position and allow for a perched water table above icy permafrost ground +(:ref:`Swenson et al. 2012`). A new snow cover fraction parameterization is +incorporated that reflects the hysteresis in fractional snow cover for a +given snow depth between accumulation and melt phases (:ref:`Swenson and +Lawrence, 2012`). The lake model in CLM4 was replaced with a completely +revised and more realistic lake model (:ref:`Subin et al. 2012a`). A surface +water store was introduced, replacing the wetland land unit and +permitting prognostic wetland distribution modeling. The surface +energy fluxes are calculated separately (:ref:`Swenson and Lawrence, 2012`) for +snow-covered, water-covered, and snow/water-free portions of vegetated +and crop land units, and snow-covered and snow-free portions of glacier +land units. Globally constant river flow velocity is replaced with +variable flow velocity based on mean grid cell slope. A vertically +resolved soil biogeochemistry scheme is introduced with base +decomposition rates modified by soil temperature, water, and oxygen +limitations and also including vertical mixing of soil carbon and +nitrogen due to bioturbation, cryoturbation, and diffusion (:ref:`Koven et al. +2013`). The litter and soil carbon and nitrogen pool structure as well as +nitrification and denitrification that were modified based on the Century +model. Biological fixation was revised to distribute fixation more +realistically over the year (:ref:`Koven et al. 2013`). The fire model was +replaced with a model that includes representations of natural and +anthropogenic triggers and suppression as well as agricultural, +deforestation, and peat fires (:ref:`Li et al. 2012a,b`; :ref:`Li et al. 2013a`). The +biogenic volatile organic compounds model is updated to MEGAN2.1 +(:ref:`Guenther et al. 2012`). + +Additions to the model include a methane production, oxidation, and +emissions model (:ref:`Riley et al. 2011a`) and an extension of the crop model +to include interactive fertilization, organ pools (:ref:`Drewniak et al. +2013`), and irrigation (:ref:`Sacks et al. 2009`). Elements of the Variable +Infiltration Capacity (VIC) model are included as an alternative +optional runoff generation scheme (:ref:`Li et al. 2011`). There is also an +option to run with a multilayer canopy (:ref:`Bonan et al. 2012`). Multiple +urban density classes, rather than the single dominant urban density +class used in CLM4, are modeled in the urban land unit. Carbon +(:math:`{}^{13}`\ C and :math:`{}^{14}`\ C) isotopes are enabled (:ref:`Koven +et al. 2013`). Minor changes include a switch of the C3 Arctic grass and +shrub phenology from stress deciduous to seasonal deciduous and a change +in the glacier bare ice albedo to better reflect recent estimates. +Finally, the carbon and nitrogen cycle spinup is accelerated and +streamlined with a revised spinup method, though the spinup timescale +remains long. + +Finally, the predominantly low resolution input data for provided with +CLM4 to create CLM4 surface datasets is replaced with newer and higher +resolution input datasets where possible (see section :numref:`Surface Data` +for details). The default meteorological forcing dataset provided with CLM4 +(:ref:`Qian et al. 2006)` is replaced with the 1901-2010 +CRUNCEP forcing dataset (see Chapter :numref:`rst_Land-Only Mode`) for CLM4.5, +though users can also still use the :ref:`Qian et al. (2006)` +dataset or other alternative forcing datasets. + +CLM4.5 was released to the community in June 2013 along with the +Community Earth System Model version 1.2 (CESM1.2). CLM5.0 ^^^^^^^^^^^^ -Developments for CLM5.0 build on the progress made in CLM4.5. Most major components of the model have been updated with particularly notable changes made to soil and plant hydrology, snow density, river modeling, carbon and nitrogen cycling and coupling, and crop modeling. Much of the focus of development centered on a push towards more mechanistic treatment of key processes, in addition to more comprehensive and explicit representation of land use and land-cover change. Prior versions of CLM included relatively few options for physics parameterizations or structure. In CLM5, where new parameterizations or model decisions were made, in most cases, the CLM4.5 parameterization was maintained so that users could switch back and forth between different parameterizations via namelist control where appropriate or desirable. Throughout the CLM5 Technical Descpription, in general only the default parameterization for any given process is described. Readers are referred to the CLM4.5 or CLM4 Technical Descriptions for detailed descriptions of non-default parameterizations. - -The hydrology updates include the introduction of a dry surface layer-based soil evaporation resistance parameterization :ref:`(Swenson and Lawrence, 2014)` and a revised canopy interception parameterization. Canopy interception is now divided into liquid and solid phases, with the intercepted snow subject to unloading events due to wind or above-freezing temperatures. The snow-covered fraction of the canopy is used within the canopy radiation and surface albedo calculation. Instead of applying a spatially uniform soil thickness, soil thickness can vary in space :ref:`(Brunke et al. 2016` and :ref:`Swenson and Lawrence, 2015)` and is set to values within a range of 0.4m to 8.5m depth, derived from a spatially explicit soil thickness data product :ref:`(Pelletier et al., 2016)`. The explicit treatment of soil thickness allows for the deprecation of the unconfined aquifer parameterization used in CLM4.5, which is replaced with a zero flux boundary condition and explicit modeling of both the saturated and unsaturated zones. The default model soil layer resolution is increased, especially within the top 3m, to more explicitly represent active layer thickness within the permafrost zone. Rooting profiles were used inconsistently in CLM4.5 with :ref:`Zeng (2001)` profiles used for water and :ref:`Jackson et al. (1996)` profiles used for carbon inputs. For CLM5, the Jackson et al. (1996) rooting profiles are used for both water and carbon. Roots are deepened for the broadleaf evergreen tropical tree and broadleaf deciduous tropical tree types. Finally, an adaptive time-stepping solution to the Richard's equation is introduced, which improves the accuracy and stability of the numerical soil water solution. The River Transport Model (RTM) is replaced with the Model for Scale Adaptive River Transport (MOSART, :ref:`Li et al., 2013b)` in which surface runoff is routed across hillslopes and then discharged along with subsurface runoff into a tributary subnetwork before entering the main channel. - -Several changes are included that are mainly targeted at improving the simulation of surface mass balance over ice sheets. The fresh snow density parameterization is updated to more realistically capture temperature effects and to additionally account for wind effects on new snow density :ref:`(van Kampenhout et al., 2017)`. The maximum number of snow layers and snow amount is increased from 5 layers and 1m snow water equivalent to 12 layers and 10m snow water equivalent to allow for the formation of firn in regions of persistent snow-cover (e.g., glaciers and ice sheets) :ref:`(van Kampenhout et al., 2017)`. The CISM2 ice sheet model is included for Greenland by default. The ice sheet does not evolve for typical configurations, but ice sheet evolution can be turned on by choosing an appropriate compset. The introduction in CLM5 of the capability to dynamically adjust landunit weights means that a glacier can initiate, grow, shrink, or disappear during a simulation when ice evolution is active. That is, there are two-way feedbacks between CLM and CISM. Multiple elevation classes (10 elevation classes by default) and associated temperature, rain/snow partitioning, and downwelling longwave downscaling are used for glacier landunits to account for the strong topographic elevation heterogeneity over glaciers and ice sheets. - -A plant hydraulic stress routine is introduced which explicitly models water transport through the vegetation according to a simple hydraulic framework (Kennedy et al., to be submitted). The water supply equations are used to solve for vegetation water potential forced by transpiration demand and a set of layer-by-layer soil water potentials. Stomatal conductance, therefore, is a function of prognostic leaf water potential. Water stress is calculated as the ratio of attenuated stomatal conductance to maximum stomatal conductance. An emergent feature of the plant hydraulics is soil hydraulic redistribution. In CLM5, maximum stomatal conductance is obtained from the Medlyn conductance model :ref:`(Medlyn et al., 2011)`, rather than the Ball-Berry stomatal conductance model that was utilized in CLM4.5 and prior versions of the model. The Medlyn stomatal conductance model is preferred mainly for it's more realistic behavior at low humidity levels :ref:`(Rogers et al., 2017)`. The stress deciduous vegetation phenology trigger is augmented with a antecedent precipitation requirement :ref:`(Dahlin et al. 2015)`. - -Plant nutrient dynamics are substantially updated to resolve several deficiencies with the CLM4 and CLM4.5 nutrient cycling representation. The Fixation and Update of Nitrogen (FUN) model based on the work of :ref:`Fisher et al. (2010)`, :ref:`Brzostek et al. (2014)`, and :ref:`Shi et al. (2016)` is incorporated. The concept of FUN is that in most cases, N uptake requires the expenditure of energy in the form of carbon, and further, that there are numerous potential sources of N in the environment which a plant may exchange for carbon. The ratio of carbon expended to N acquired is therefore the cost, or exchange rate, of N acquisition. FUN calculates the rate of symbiotic N fixation, with this N passed straight to the plant, not the mineral N pool. Separately, CLM5 also calculates rates of symbiotic (or free living) N fixation as a function of evapotranspiration (:ref:`Cleveland et al. 1999 `), which is added to the soil inorganic ammonium (NH\ :sub:`4`\ :sup:`+`) pool. The static plant carbon:nitrogen (C:N) ratios utilized in CLM4 and CLM4.5 are replaced with variable plant C:N ratios which allows plants to adjust their C:N ratio, and therefore their leaf nitrogen content, with the cost of N uptake :ref:`(Ghimire et al. 2016)`. The implementation of a flexible C:N ratio means that the model no longer relies on instantaneous downregulation of potential photosynthesis rates based on soil mineral nitrogen availability to represent nutrient limitation. Furthermore, stomatal conductance is now based on the N-limited photosynthesis rather than on potential photosynthesis. Finally, the Leaf Use of Nitrogen for Assimilation (LUNA, :ref:`Xu et al., 2012` and :ref:`Ali et al., 2016)` model is incorporated. The LUNA model calculates photosynthetic capacity based on optimization of the use of leaf nitrogen under different environmental conditions such that light capture, carboxylation, and respiration are co-limiting. - -CLM5 applies a fixed allocation scheme for woody vegetation. The decision to use a fixed allocation scheme in CLM5, rather than a dynamic NPP-based allocation scheme, as was used in CLM4 and CLM4.5, was driven by the fact that observations indicate that biomass saturates with increasing productivity, in contrast to the behavior in CLM4 and CLM4.5 where biomass continuously increases with increasing productivity (:ref:`Negron-Juarez et al., 2015`). Soil carbon decomposition processes are unchanged in CLM5, but a new metric for apparent soil carbon turnover times (:ref:`Koven et al., 2017 `) suggested parameter changes that produce a weak intrinsic depth limitation on soil carbon turnover rates (rather than the strong depth limitaiton in CLM4.5) and that the thresholds for soil moisture limitation on soil carbon turnover rates in dry soils should be set at a wetter soil moisture level than that used in CLM4.5. - -Representation of human management of the land (agriculture, wood harvest) is augmented in several ways. The CLM4.5 crop model is extended to operate globally through the addition of rice, sugarcane, tropical varieties of corn and soybean :ref:`(Badger and Dirmeyer, 2015` and :ref:`Levis et al., 2016)`, and perennial bioenergy crops :ref:`(Cheng et al., 2019)`. These crop types are added to the existing temperate corn, temperate soybean, spring wheat, and cotton crop types. Fertilization rates and irrigation equipped area updated annually based on crop type and geographic region through an input dataset. The irrigation trigger is updated. Additional minor changes include crop phenological triggers that vary by latitude for selected crop types, grain C and N is now removed at harvest to a 1-year product pool with the carbon for the next season's crop seed removed from the grain carbon at harvest. A fraction of leaf/livestem C and N from bioenergy crops is removed at harvest to the biofuel feedstock pools and added to the 1-year product pool. Through the introduction of the capability to dynamically adjust landunit weights during a simulation, the crop model can now be run coincidentally with prescribed land use, which significantly expands the capabilities of the model. Mass-based rather than area-based wood harvest is applied. Several heat stress indices for both urban and rural areas are calculated and output by default :ref:`(Buzan et al., 2015)`. A more sophisticated and realistic building space heating and air conditioning submodel that prognoses interior building air temperature and includes more realistic space heating and air conditioning wasteheat factors is incorporated. +Developments for CLM5.0 build on the progress made in CLM4.5. Most major components of the model have been updated with particularly +notable changes made to soil and plant hydrology, snow density, river modeling, carbon and nitrogen cycling and coupling, +and crop modeling. +Much of the focus of development centered on a +push towards more mechanistic treatment of key processes, in addition to more comprehensive and explicit representation +of land use and land-cover change. Prior versions of CLM included relatively few options for physics parameterizations or structure. +In CLM5, where new parameterizations or model decisions were made, in most cases, the CLM4.5 parameterization was maintained so that users could switch back and forth between different parameterizations via namelist control where appropriate or desirable. Throughout the CLM5 Technical Descpription, in general only the default parameterization for any given process is described. Readers are referred to the CLM4.5 or CLM4 Technical Descriptions for detailed descriptions of non-default parameterizations. + +The hydrology updates include the introduction of a dry surface layer-based soil evaporation resistance parameterization :ref:`(Swenson and Lawrence, 2014)` and a revised canopy interception parameterization. Canopy interception is now divided into liquid and solid phases, with the intercepted snow subject to unloading events due to wind or above-freezing temperatures. The snow-covered fraction of the canopy is used within the canopy radiation and surface albedo calculation. Instead of applying a spatially uniform soil thickness, soil thickness can vary in space :ref:`(Brunke et al. 2016` and :ref:`Swenson and Lawrence, 2015)` and is set to values within a range of 0.4m to 8.5m depth, derived from a spatially explicit soil thickness data product :ref:`(Pelletier et al., 2016)`. The explicit treatment of soil thickness allows for the deprecation of the unconfined aquifer parameterization used in CLM4.5, which is replaced with a zero flux boundary condition and explicit modeling of both the saturated and unsaturated zones. The default model soil layer resolution is increased, especially within the top 3m, to more explicitly represent active layer thickness within the permafrost zone. Rooting profiles were used inconsistently in CLM4.5 with :ref:`Zeng (2001)` profiles used for water and :ref:`Jackson et al. (1996)` profiles used for carbon inputs. For CLM5, the Jackson et al. (1996) rooting profiles are used for both water and carbon. Roots are deepened for the broadleaf evergreen tropical tree and broadleaf deciduous tropical tree types. Finally, an adaptive time-stepping solution to the Richard's equation is introduced, which improves the accuracy and stability of the numerical soil water solution. The River Transport Model (RTM) is replaced with the Model for Scale Adaptive River Transport (MOSART, :ref:`Li et al., 2013b)` in which surface runoff is routed across hillslopes and then discharged along with subsurface runoff into a tributary subnetwork before entering the main channel. + +Several changes are included that are mainly targeted at improving the simulation of surface mass balance over ice +sheets. The fresh snow density parameterization is updated to more realistically capture temperature effects and to additionally account for wind effects on new snow density :ref:`(van Kampenhout et al., 2017)`. The maximum number of snow layers and snow amount is increased from 5 layers and 1m snow water equivalent to 12 layers and 10m snow water equivalent to allow for the formation of firn in regions of persistent snow-cover (e.g., glaciers and ice sheets) :ref:`(van Kampenhout et al., 2017)`. The CISM2 ice sheet model is included for Greenland by default. The ice sheet does not evolve for typical configurations, but ice sheet evolution can be turned on by choosing an appropriate compset. The introduction in CLM5 of the capability to +dynamically adjust landunit weights means that a glacier can initiate, grow, shrink, or disappear during +a simulation when ice evolution is active. That is, there are two-way feedbacks between CLM and CISM. Multiple elevation classes (10 elevation classes by default) and associated temperature, rain/snow partitioning, and downwelling longwave downscaling are used for glacier landunits to account for the strong topographic elevation heterogeneity over glaciers and ice sheets. + +A plant hydraulic stress routine is introduced which explicitly models water transport through the vegetation according to a simple hydraulic framework (Kennedy et al., to be submitted). The water supply equations are used to solve for vegetation water potential forced by transpiration demand and a set of layer-by-layer soil water potentials. Stomatal conductance, therefore, is a function of prognostic leaf water potential. Water stress is calculated as the ratio of attenuated stomatal conductance to maximum stomatal conductance. An emergent feature of the plant hydraulics is soil hydraulic redistribution. In CLM5, maximum stomatal conductance is obtained from the Medlyn conductance model :ref:`(Medlyn et al., 2011)`, rather than the Ball-Berry stomatal conductance model that was utilized in CLM4.5 and prior versions of the model. The Medlyn stomatal conductance model is preferred mainly for it's more realistic behavior at low humidity levels :ref:`(Rogers et al., 2017)`. The stress deciduous vegetation phenology trigger is augmented with a antecedent precipitation requirement :ref:`(Dahlin et al. 2015)`. + +Plant nutrient dynamics are substantially updated to resolve several deficiencies with the CLM4 and CLM4.5 nutrient cycling representation. The Fixation and Update of Nitrogen (FUN) model based on the work of :ref:`Fisher et al. (2010)`, :ref:`Brzostek et al. (2014)`, and :ref:`Shi et al. (2016)` is incorporated. The concept of FUN is that in most cases, N uptake requires the expenditure of energy in the form of carbon, and further, that there are numerous potential sources of N in the environment which a plant may exchange for carbon. The ratio of carbon expended to N acquired is therefore the cost, or exchange rate, of N acquisition. FUN calculates the rate of symbiotic N fixation, with this N passed straight to the plant, not the mineral N pool. Separately, CLM5 also calculates rates of symbiotic (or free living) N fixation as a function of evapotranspiration (:ref:`Cleveland et al. 1999 `), which +is added to the soil inorganic ammonium (NH\ :sub:`4`\ :sup:`+`) pool. The static plant carbon:nitrogen (C:N) ratios utilized in CLM4 and CLM4.5 are replaced with variable plant C:N ratios which +allows plants to adjust their C:N ratio, and therefore their leaf nitrogen content, with the cost of N uptake :ref:`(Ghimire et al. 2016)`. +The implementation of a flexible C:N ratio means that the model no longer relies on instantaneous downregulation +of potential photosynthesis rates based on soil mineral nitrogen availability to represent nutrient limitation. Furthermore, stomatal conductance +is now based on the N-limited photosynthesis rather than on potential photosynthesis. Finally, the Leaf Use of +Nitrogen for Assimilation (LUNA, :ref:`Xu et al., 2012` and :ref:`Ali et al., 2016)` model is incorporated. The LUNA model calculates +photosynthetic capacity based on optimization of the use of leaf nitrogen under different environmental conditions such that +light capture, carboxylation, and respiration are co-limiting. + +CLM5 applies a fixed allocation scheme for woody vegetation. The decision to use a fixed allocation scheme in CLM5, rather than a dynamic NPP-based allocation scheme, as was used in CLM4 and CLM4.5, was driven by the fact that observations indicate that biomass saturates with increasing productivity, in contrast to the behavior in CLM4 and CLM4.5 where biomass continuously increases with increasing productivity (:ref:`Negron-Juarez et al., 2015`). Soil carbon decomposition processes are unchanged in CLM5, but a new metric for apparent soil carbon turnover times (:ref:`Koven et al., 2017 `) suggested parameter changes that produce a weak intrinsic depth limitation on soil carbon turnover rates (rather than the strong depth limitaiton in CLM4.5) and that the thresholds for soil moisture limitation on soil carbon turnover rates in dry soils should be set at a wetter soil moisture level than that used in CLM4.5. + +Representation of human management of the land (agriculture, wood harvest) is augmented in several ways. +The CLM4.5 crop model is extended to operate globally through the addition of rice, sugarcane, +tropical varieties of corn and soybean :ref:`(Badger and Dirmeyer, 2015` and :ref:`Levis et al., 2016)`, +and perennial bioenergy crops :ref:`(Cheng et al., 2019)`. +These crop types are added to the existing temperate corn, temperate soybean, spring wheat, and cotton crop types. +Fertilization rates and irrigation equipped area updated annually based on crop type and geographic region through an input dataset. +The irrigation trigger is updated. Additional minor changes include crop phenological triggers that +vary by latitude for selected crop types, grain C and N is now removed at harvest to a 1-year product pool with +the carbon for the next season's crop seed removed from the grain carbon at harvest. +A fraction of leaf/livestem C and N from bioenergy crops is removed at harvest to the biofuel feedstock pools and added to the 1-year product pool. +Through the introduction of the capability to dynamically adjust landunit weights during a simulation, the crop model can now be run coincidentally +with prescribed land use, which significantly expands the capabilities of the model. Mass-based rather than area-based wood harvest is applied. Several heat stress indices for both urban and rural areas are calculated and output by default :ref:`(Buzan et al., 2015)`. A more sophisticated and realistic building space heating and air conditioning submodel that prognoses interior building air temperature and includes more realistic space heating and air conditioning wasteheat factors +is incorporated. The fire model is the same as utilized in CLM4.5 except that a modified scheme is used to estimate the dependence of fire occurrence and spread on fuel wetness for non-peat fires outside cropland and tropical closed forests :ref:`(Li and Lawrence, 2017)` and the dependence of agricultural fires on fuel load is removed. -Included with the release of CLM5.0 is a functionally supported version of the Functionally-Assembled Terrestrial Ecosystem Simulator (FATES, :ref:`Fisher et al., 2015)`. A major motivation of FATES is to allow the prediction of biome boundaries directly from plant physiological traits via their competitive interactions. FATES is a cohort model of vegetation competition and co-existence, allowing a representation of the biosphere which accounts for the division of the land surface into successional stages, and for competition for light between height structured cohorts of representative trees of various plant functional types. FATES is not active by default in CLM5.0. +Included with the release of CLM5.0 is a functionally supported version of the Functionally-Assembled Terrestrial Ecosystem Simulator (FATES, :ref:`Fisher et al., 2015)`. A major motivation of FATES is to allow the prediction of biome boundaries directly from plant physiological traits via their competitive interactions. FATES is a cohort model of vegetation competition and co-existence, allowing a representation of the biosphere which accounts for the division of the land surface into successional stages, and for competition for light between height structured cohorts of representative trees of various plant functional types. FATES is not active by default in CLM5.0. -Note that the classical dynamic global vegetation model (CLM-DGVM) that has been available within CLM4 and CLM4.5 remains available, though it is largely untested. The technical description of the CLM-DGVM can be found within the CLM4.5 Technical Description (:ref:`Oleson et al. 2013)`. +Note that the classical dynamic global vegetation model (CLM-DGVM) that has been available within CLM4 and CLM4.5 remains available, though it is largely untested. The technical description of the CLM-DGVM can be found within the CLM4.5 Technical Description (:ref:`Oleson et al. 2013)`. -During the course of the development of CLM5.0, it became clear that the increasing complexity of the model combined with the increasing number and range of model development projects required updates to the underlying CLM infrastructure. Many such software improvements are included in CLM5 including a partial transition to an object-oriented modular software structure. Many hard coded model parameters have been extracted into either the parameter file or the CLM namelist, which allows users to more readily calibrate the model for use at specific locations or to conduct parameter sensitivity studies. As part of the effort to increase the scientific utility of the code, in most instances older generation parameterizations (i.e., the parameterizations available in CLM4 or CLM4.5) are retained under namelist switches, allowing the user to revert to CLM4.5 from the same code base or to revert individual parameterizations where the old parameterizations are compatible with the new code. Finally, multiple vertical soil layer structures are defined and it is relatively easy to add additional structures. +During the course of the development of CLM5.0, it became clear that the increasing complexity of the model combined with the increasing number and range +of model development projects required updates to the underlying CLM infrastructure. Many such software improvements +are included in CLM5 including a partial transition to an object-oriented modular software structure. Many hard coded model +parameters have been extracted into either the parameter file or the CLM namelist, which allows users to more readily calibrate the model for use at +specific locations or to conduct parameter sensitivity studies. As part of the effort to increase +the scientific utility of the code, in most instances older generation parameterizations (i.e., the parameterizations +available in CLM4 or CLM4.5) are retained under namelist switches, allowing the user to revert to CLM4.5 +from the same code base or to revert individual parameterizations where the old parameterizations are compatible with the new code. Finally, multiple vertical soil layer structures +are defined and it is relatively easy to add additional structures. Biogeophysical and Biogeochemical Processes ----------------------------------------------- -Biogeophysical and biogeochemical processes are simulated for each subgrid land unit, column, and plant functional type (PFT) independently and each subgrid unit maintains its own prognostic variables (see section :numref:`Surface Heterogeneity and Data Structure` for definitions of subgrid units). The same atmospheric forcing is used to force all subgrid units within a grid cell. The surface variables and fluxes required by the atmosphere are obtained by averaging the subgrid quantities weighted by their fractional areas. The processes simulated include (:numref:`Figure Land processes`): +Biogeophysical and biogeochemical processes are simulated for each +subgrid land unit, column, and plant functional type (PFT) independently +and each subgrid unit maintains its own prognostic variables (see +section :numref:`Surface Heterogeneity and Data Structure` for definitions +of subgrid units). The same atmospheric +forcing is used to force all subgrid units within a grid cell. The +surface variables and fluxes required by the atmosphere are obtained by +averaging the subgrid quantities weighted by their fractional areas. The +processes simulated include (:numref:`Figure Land processes`): -#. Surface characterization including land type heterogeneity and ecosystem structure (Chapter :numref:`rst_Surface Characterization, Vertical Discretization, and Model Input Requirements`) +#. Surface characterization including land type heterogeneity and + ecosystem structure (Chapter :numref:`rst_Surface Characterization, Vertical Discretization, and Model Input Requirements`) -#. Absorption, reflection, and transmittance of solar radiation (Chapter :numref:`rst_Surface Albedos`, :numref:`rst_Radiative Fluxes`) +#. Absorption, reflection, and transmittance of solar radiation (Chapter + :numref:`rst_Surface Albedos`, :numref:`rst_Radiative Fluxes`) #. Absorption and emission of longwave radiation (Chapter :numref:`rst_Radiative Fluxes`) -#. Momentum, sensible heat (ground and canopy), and latent heat (ground evaporation, canopy evaporation, transpiration) fluxes (Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`) +#. Momentum, sensible heat (ground and canopy), and latent heat (ground + evaporation, canopy evaporation, transpiration) fluxes (Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`) #. Heat transfer in soil and snow including phase change (Chapter :numref:`rst_Soil and Snow Temperatures`) #. Canopy hydrology (interception, throughfall, and drip) (Chapter :numref:`rst_Hydrology`) -#. Soil hydrology (surface runoff, infiltration, redistribution of water within the column, sub-surface drainage, groundwater) (Chapter :numref:`rst_Hydrology`) +#. Soil hydrology (surface runoff, infiltration, redistribution of water + within the column, sub-surface drainage, groundwater) (Chapter :numref:`rst_Hydrology`) -#. Snow hydrology (snow accumulation and melt, compaction, water transfer between snow layers) (Chapter :numref:`rst_Snow Hydrology`) +#. Snow hydrology (snow accumulation and melt, compaction, water + transfer between snow layers) (Chapter :numref:`rst_Snow Hydrology`) -#. Stomatal physiology, photosythetic capacity, and photosynthesis (Chapters :numref:`rst_Stomatal Resistance and Photosynthesis` and :numref:`rst_Photosynthetic Capacity`) +#. Stomatal physiology, photosythetic capacity, and photosynthesis (Chapters :numref:`rst_Stomatal Resistance and Photosynthesis` and + :numref:`rst_Photosynthetic Capacity`) #. Plant hydraulics (Chapter :numref:`rst_Plant Hydraulics`) @@ -277,11 +611,13 @@ Biogeophysical and biogeochemical processes are simulated for each subgrid land #. Fixation and uptake of nitrogen (Chapter :numref:`rst_FUN`) -#. External nitrogen cycling including deposition, denitrification, leaching, and losses due to fire (Chapter :numref:`rst_External Nitrogen Cycle`) +#. External nitrogen cycling including deposition, + denitrification, leaching, and losses due to fire (Chapter :numref:`rst_External Nitrogen Cycle`) #. Plant mortality (Chapter :numref:`rst_Plant Mortality`) -#. Fire ignition, suppression, spread, and emissions, including natural, deforestation, and agricultural fire (Chapter :numref:`rst_Fire`) +#. Fire ignition, suppression, spread, and emissions, including natural, deforestation, and + agricultural fire (Chapter :numref:`rst_Fire`) #. Methane production, oxidation, and emissions (Chapter :numref:`rst_Methane Model`) diff --git a/doc/source/tech_note/Isotopes/CLM50_Tech_Note_Isotopes.rst b/doc/source/tech_note/Isotopes/CLM50_Tech_Note_Isotopes.rst index 45689d613c..43692205b8 100644 --- a/doc/source/tech_note/Isotopes/CLM50_Tech_Note_Isotopes.rst +++ b/doc/source/tech_note/Isotopes/CLM50_Tech_Note_Isotopes.rst @@ -3,111 +3,211 @@ Carbon Isotopes =================== -CLM includes a fully prognostic representation of the fluxes, storage, and isotopic discrimination of the carbon isotopes :sup:`13`\ C and :sup:`14`\ C. The implementation of the C isotopes capability takes advantage of the CLM hierarchical data structures, replicating the carbon state and flux variable structures at the column and PFT level to track total carbon and both C isotopes separately (see description of data structure hierarchy in Chapter 2). For the most part, fluxes and associated updates to carbon state variables for :sup:`13`\ C are calculated directly from the corresponding total C fluxes. Separate calculations are required in a few special cases, such as where isotopic discrimination occurs, or where the necessary isotopic ratios are undefined. The general approach for :sup:`13`\ C flux and state variable calculation is described here, followed by a description of all the places where special calculations are required. +CLM includes a fully prognostic representation of the fluxes, storage, +and isotopic discrimination of the carbon isotopes :sup:`13`\ C +and :sup:`14`\ C. The implementation of the C isotopes capability +takes advantage of the CLM hierarchical data structures, replicating the +carbon state and flux variable structures at the column and PFT level to +track total carbon and both C isotopes separately (see description of +data structure hierarchy in Chapter 2). For the most part, fluxes and +associated updates to carbon state variables for :sup:`13`\ C are +calculated directly from the corresponding total C fluxes. Separate +calculations are required in a few special cases, such as where isotopic +discrimination occurs, or where the necessary isotopic ratios are +undefined. The general approach for :sup:`13`\ C flux and state +variable calculation is described here, followed by a description of all +the places where special calculations are required. General Form for Calculating :sup:`13`\ C and :sup:`14`\ C Flux -------------------------------------------------------------------------------- -In general, the flux of :sup:`13`\ C and corresponding to a given flux of total C (:math:`{CF}_{13C}` and :math:`{CF}_{totC}`, respectively) is determined by :math:`{CF}_{totC}`, the masses of :sup:`13`\ C and total C in the upstream pools (:math:`{CS}_{13C\_up}` and :math:`{CS}_{totC\_up}`, respectively, i.e. the pools *from which* the fluxes of :sup:`13`\ C and total C originate), and a fractionation factor, :math:`{f}_{frac}`: +In general, the flux of :sup:`13`\ C and corresponding to a given +flux of total C (:math:`{CF}_{13C}` and :math:`{CF}_{totC}`, +respectively) is determined by :math:`{CF}_{totC}`, the masses of +:sup:`13`\ C and total C in the upstream pools +(:math:`{CS}_{13C\_up}` and :math:`{CS}_{totC\_up}`, +respectively, i.e. the pools *from which* the fluxes of +:sup:`13`\ C and total C originate), and a fractionation factor, +:math:`{f}_{frac}`: .. math:: - :label: ZEqnNum629812 + :label: ZEqnNum629812 CF_{13C} =\left\{\begin{array}{l} {CF_{totC} \frac{CS_{13C\_ up} }{CS_{totC\_ up} } f_{frac} \qquad {\rm for\; }CS_{totC} \ne 0} \\ {0\qquad {\rm for\; }CS_{totC} =0} \end{array}\right\} -If the :math:`{f}_{frac}` = 1.0 (no fractionation), then the fluxes :math:`{CF}_{13C}` and :math:`{CF}_{totC}` will be in simple proportion to the masses :math:`{CS}_{13C\_up}` and :math:`{CS}_{totC\_up}`. Values of :math:`{f}_{frac} < 1.0` indicate a discrimination against the heavier isotope (:sup:`13`\ C) in the flux-generating process, while :math:`{f}_{frac}` :math:`>` 1.0 would indicate a preference for the heavier isotope. Currently, in all cases where Eq. is used to calculate a :sup:`13`\ C flux, :math:`{f}_{frac}` is set to 1.0. - -For :sup:`14`\ C, no fractionation is used in either the initial photosynthetic step, nor in subsequent fluxes from upstream to downstream pools; as discussed below, this is because observations of :sup:`14` C are typically described in units that implicitly correct out the fractionation of :sup:`14`\ C by referencing them to :sup:`13`\ C ratios. +If the :math:`{f}_{frac}` = 1.0 (no fractionation), then the fluxes +:math:`{CF}_{13C}` and :math:`{CF}_{totC}` will be in simple +proportion to the masses :math:`{CS}_{13C\_up}` and +:math:`{CS}_{totC\_up}`. Values of :math:`{f}_{frac} < 1.0` indicate a discrimination against the heavier isotope +(:sup:`13`\ C) in the flux-generating process, while +:math:`{f}_{frac}` :math:`>` 1.0 would indicate a preference for the +heavier isotope. Currently, in all cases where Eq. is used to calculate +a :sup:`13`\ C flux, :math:`{f}_{frac}` is set to 1.0. + +For :sup:`1`\ :sup:`4`\ C, no fractionation is used in +either the initial photosynthetic step, nor in subsequent fluxes from +upstream to downstream pools; as discussed below, this is because +observations of :sup:`1`\ :sup:`4`\ C are typically +described in units that implicitly correct out the fractionation of +:sup:`1`\ :sup:`4`\ C by referencing them to +:sup:`1`\ :sup:`3`\ C ratios. Isotope Symbols, Units, and Reference Standards ---------------------------------------------------- -Carbon has two primary stable isotopes, :sup:`12`\ C and :sup:`13`\ C. :sup:`12`\ C is the most abundant, comprising about 99% of all carbon. The isotope ratio of a compound, :math:`{R}_{A}`, is the mass ratio of the rare isotope to the abundant isotope +Carbon has two primary stable isotopes, :sup:`12`\ C and +:sup:`13`\ C. :sup:`12`\ C is the most abundant, comprising +about 99% of all carbon. The isotope ratio of a compound, +:math:`{R}_{A}`, is the mass ratio of the rare isotope to the abundant isotope .. math:: - :label: 30.2) + :label: 30.2) R_{A} =\frac{{}^{13} C_{A} }{{}^{12} C_{A} } . -Carbon isotope ratios are often expressed using delta notation, :math:`\delta`. The :math:`\delta^{13}`\ C value of a compound A, :math:`\delta^{13}`\ C\ :sub:`A`, is the difference between the isotope ratio of the compound, :math:`{R}_{A}`, and that of the Pee Dee Belemnite standard, :math:`{R}_{PDB}`, in parts per thousand +Carbon isotope ratios are often expressed using delta notation, +:math:`\delta`. The :math:`\delta^{13}`\ C value of a +compound A, :math:`\delta^{13}`\ C\ :sub:`A`, is the +difference between the isotope ratio of the compound, +:math:`{R}_{A}`, and that of the Pee Dee Belemnite standard, :math:`{R}_{PDB}`, in parts per thousand .. math:: - :label: 30.3) + :label: 30.3) \delta ^{13} C_{A} =\left(\frac{R_{A} }{R_{PDB} } -1\right)\times 1000 where :math:`{R}_{PDB}` = 0.0112372, and units of :math:`\delta` are per mil (‰). -Isotopic fractionation can be expressed in several ways. One expression of the fractionation factor is with alpha (:math:`\alpha`) notation. For example, the equilibrium fractionation between two reservoirs A and B can be written as: +Isotopic fractionation can be expressed in several ways. One expression +of the fractionation factor is with alpha (:math:`\alpha`) notation. +For example, the equilibrium fractionation between two reservoirs A and +B can be written as: .. math:: - :label: 30.4) + :label: 30.4) \alpha _{A-B} =\frac{R_{A} }{R_{B} } =\frac{\delta _{A} +1000}{\delta _{B} +1000} . This can also be expressed using epsilon notation (:math:`\epsilon`), where .. math:: - :label: 30.5) + :label: 30.5) \alpha _{A-B} =\frac{\varepsilon _{A-B} }{1000} +1 In other words, if :math:`{\epsilon }_{A-B} = 4.4` ‰ , then :math:`{\alpha}_{A-B} =1.0044`. -In addition to the stable isotopes :sup:`1`\ :sup:`2`\ C and :sup:`13`\ C, the unstable isotope :sup:`14`\ C is included in CLM. :sup:`14`\ C can also be described using the delta notation: +In addition to the stable isotopes :sup:`1`\ :sup:`2`\ C and :sup:`1`\ :sup:`3`\ C, the unstable isotope +:sup:`1`\ :sup:`4`\ C is included in CLM. :sup:`1`\ :sup:`4`\ C can also be described using the delta notation: .. math:: - :label: 30.6) + :label: 30.6) \delta ^{14} C=\left(\frac{A_{s} }{A_{abs} } -1\right)\times 1000 -However, observations of :sup:`14`\ C are typically fractionation-corrected using the following notation: +However, observations of :sup:`1`\ :sup:`4`\ C are typically +fractionation-corrected using the following notation: .. math:: - :label: 30.7) + :label: 30.7) \Delta {}^{14} C=1000\times \left(\left(1+\frac{\delta {}^{14} C}{1000} \right)\frac{0.975^{2} }{\left(1+\frac{\delta {}^{13} C}{1000} \right)^{2} } -1\right) -where :math:`\delta^{14}`\ C is the measured isotopic fraction and :math:`\mathrm{\Delta}^{14}`\ C corrects for mass-dependent isotopic fractionation processes (assumed to be 0.975 for fractionation of :sup:`13`\ C by photosynthesis). CLM assumes a background preindustrial atmospheric :sup:`14`\ C /C ratio of 10\ :sup:`-12`, which is used for A\ :sub::`abs`. For the reference standard A\ :math:`{}_{abs}`, which is a plant tissue and has a :math:`\delta^{13}`\ C value is :math:`\mathrm{-}`\ 25 ‰ due to photosynthetic discrimination, :math:`\delta`\ :sup:`14`\ C = :math:`\mathrm{\Delta}`\ :sup:`14`\ C. For CLM, in order to use the :sup:`14`\ C model independently of the :sup:`13`\ C model, for the :sup:`14`\ C calculations, this fractionation is set to zero, such that the 0.975 term becomes 1, the :math:`\delta^{13}`\ C term (for the calculation of :math:`\delta^{14}`\ C only) becomes 0, and thus :math:`\delta^{14}`\ C = :math:`\mathrm{\Delta}`\ :sup:`14`\ C. +where :math:`\delta^{14}`\ C is the measured isotopic +fraction and :math:`\mathrm{\Delta}^{14}`\ C corrects for +mass-dependent isotopic fractionation processes (assumed to be 0.975 for +fractionation of :sup:`13`\ C by photosynthesis). CLM assumes a +background preindustrial atmospheric :sup:`14`\ C /C ratio of 10\ :sup:`-12`, which is used for A\ :sub::`abs`. +For the reference standard A\ :math:`{}_{abs}`, which is a plant tissue and has +a :math:`\delta^{13}`\ C value is :math:`\mathrm{-}`\ 25 ‰ due to photosynthetic discrimination, +:math:`\delta`\ :sup:`14`\ C = :math:`\mathrm{\Delta}`\ :sup:`14`\ C. For CLM, in order to use +the :sup:`14`\ C model independently of the :sup:`13`\ C +model, for the :sup:`14`\ C calculations, this fractionation is +set to zero, such that the 0.975 term becomes 1, the +:math:`\delta^{13}`\ C term (for the calculation of +:math:`\delta^{14}`\ C only) becomes 0, and thus +:math:`\delta^{14}`\ C = :math:`\mathrm{\Delta}`\ :sup:`14`\ C. Carbon Isotope Discrimination During Photosynthesis -------------------------------------------------------- -Photosynthesis is modeled in CLM as a two-step process: diffusion of CO\ :sub:`2` into the stomatal cavity, followed by enzymatic fixation (Chapter :numref:`rst_Stomatal Resistance and Photosynthesis`). Each step is associated with a kinetic isotope effect. The kinetic isotope effect during diffusion of CO\ :sub:`2` through the stomatal opening is 4.4‰. The kinetic isotope effect during fixation of CO\ :sub:`2` with Rubisco is :math:`\sim`\ 30‰; however, since about 5-10% of carbon in C3 plants reacts with phosphoenolpyruvate carboxylase (PEPC) (Melzer and O'Leary, 1987), the net kinetic isotope effect during fixation is :math:`\sim`\ 27‰ for C3 plants. In C4 plant photosynthesis, only the diffusion effect is important. The fractionation factor equations for C3 and C4 plants are given below: +Photosynthesis is modeled in CLM as a two-step process: diffusion of +CO\ :sub:`2` into the stomatal cavity, followed by enzymatic +fixation (Chapter :numref:`rst_Stomatal Resistance and Photosynthesis`). Each step is associated with a kinetic isotope +effect. The kinetic isotope effect during diffusion of +CO\ :sub:`2` through the stomatal opening is 4.4‰. The kinetic +isotope effect during fixation of CO\ :sub:`2` with Rubisco is +:math:`\sim`\ 30‰; however, since about 5-10% of carbon in C3 plants +reacts with phosphoenolpyruvate carboxylase (PEPC) (Melzer and O’Leary, +1987), the net kinetic isotope effect during fixation is +:math:`\sim`\ 27‰ for C3 plants. In C4 plant photosynthesis, only the +diffusion effect is important. The fractionation factor equations for C3 +and C4 plants are given below: For C4 plants, .. math:: - :label: 30.8) + :label: 30.8) \alpha _{psn} =1+\frac{4.4}{1000} For C3 plants, .. math:: - :label: 30.9) + :label: 30.9) \alpha _{psn} =1+\frac{4.4+22.6\frac{c_{i}^{*} }{pCO_{2} } }{1000} -where :math:`{\alpha }_{psn}` is the fractionation factor, and :math:`c^*_i` and pCO\ :sub:`2` are the revised intracellular and atmospheric CO\ :sub:`2` partial pressure, respectively. +where :math:`{\alpha }_{psn}` is the fractionation factor, and +:math:`c^*_i` and pCO\ :sub:`2` are the revised intracellular and +atmospheric CO\ :sub:`2` partial pressure, respectively. -As can be seen from the above equation, kinetic isotope effect during fixation of CO\ :sub:`2` is dependent on the intracellular CO\ :sub:`2` concentration, which in turn depends on the net carbon assimilation. That is calculated during the photosynthesis calculation as follows: +As can be seen from the above equation, kinetic isotope effect during +fixation of CO\ :sub:`2` is dependent on the intracellular +CO\ :sub:`2` concentration, which in turn depends on the net +carbon assimilation. That is calculated during the photosynthesis +calculation as follows: .. math:: - :label: 30.10) + :label: 30.10) c_{i} =pCO_{2} -a_{n} p\frac{\left(1.4g_{s} \right)+\left(1.6g_{b} \right)}{g_{b} g_{s} } -where :math:`a_n` is net carbon assimilation during photosynthesis, :math:`p` is atmospheric pressure, :math:`g_b` is leaf boundary layer conductance, and :math:`g_s` is leaf stomatal conductance. +where :math:`a_n` is net carbon assimilation during photosynthesis, :math:`p` is +atmospheric pressure, :math:`g_b` is leaf boundary layer conductance, +and :math:`g_s` is leaf stomatal conductance. -Isotopic fractionation code is compatible with multi-layered canopy parameterization; i.e., it is possible to calculate varying discrimination rates for each layer of a multi-layered canopy. However, as with the rest of the photosynthesis model, the number of canopy layers is currently set to one by default. +Isotopic fractionation code is compatible with multi-layered canopy +parameterization; i.e., it is possible to calculate varying +discrimination rates for each layer of a multi-layered canopy. However, +as with the rest of the photosynthesis model, the number of canopy +layers is currently set to one by default. :sup:`14`\ C radioactive decay and historical atmospheric :sup:`14`\ C and :sup:`13`\ C concentrations ------------------------------------------------------------------------------------------------------ -In the preindustrial biosphere, radioactive decay of :sup:`14`\ C in carbon pools allows dating of long-term age since photosynthetic uptake; while over the 20\ :math:`{}^{th}` century, radiocarbon in the atmosphere was first diluted by radiocarbon-free fossil fuels and then enriched by aboveground thermonuclear testing to approximately double its long-term mean concentration. CLM includes both of these processes to allow comparison of carbon that may vary on multiple timescales with observed values. - -For radioactive decay, at each timestep all :sup:`14`\ C pools are reduced at a rate of –log/:math:`\tau`, where :math:`\tau` is the half-life (Libby half-life value of 5568 years). In order to rapidly equilibrate the long-lived pools during accelerated decomposition spinup, the radioactive decay of the accelerated pools is also accelerated by the same degree as the decomposition, such that the :sup:`14`\ C value of these pools is in equilibrium when taken out of the spinup mode. +In the preindustrial biosphere, radioactive decay of :sup:`14`\ C +in carbon pools allows dating of long-term age since photosynthetic +uptake; while over the 20\ :math:`{}^{th}` century, radiocarbon in the +atmosphere was first diluted by radiocarbon-free fossil fuels and then +enriched by aboveground thermonuclear testing to approximately double +its long-term mean concentration. CLM includes both of these processes +to allow comparison of carbon that may vary on multiple timescales with +observed values. + +For radioactive decay, at each timestep all :sup:`14`\ C pools are +reduced at a rate of –log/:math:`\tau`, where :math:`\tau` is the +half-life (Libby half-life value of 5568 years). In order to rapidly +equilibrate the long-lived pools during accelerated decomposition +spinup, the radioactive decay of the accelerated pools is also +accelerated by the same degree as the decomposition, such that the +:sup:`14`\ C value of these pools is in equilibrium when taken out +of the spinup mode. + +For variation of atmospheric :sup:`14`\ C and :sup:`13`\ C over the historical +period, :math:`\mathrm{\Delta}`\ :sup:`14`\ C and :math:`\mathrm{\Delta}`\:sup:`13`\ C values can be set to +either fixed concentrations +or time-varying concentrations read in from a file. A default file is provided that spans the historical period (:ref:`Graven et al., 2017 `). For +:math:`\mathrm{\Delta}`\ :sup:`14`\ C, values are provided and read in for three latitude bands (30 :sup:`o`\ N-90 :sup:`o`\ N, 30 :sup:`o`\ S-30 :sup:`o`\ N, and 30 :sup:`o`\ S-90 :sup:`o`\ S). -For variation of atmospheric :sup:`14`\ C and :sup:`13`\ C over the historical period, :math:`\mathrm{\Delta}`\ :sup:`14`\ C and :math:`\mathrm{\Delta}`\ :sup:`13`\ C values can be set to either fixed concentrations or time-varying concentrations read in from a file. A default file is provided that spans the historical period (:ref:`Graven et al., 2017 `). For :math:`\mathrm{\Delta}`\ :sup:`14`\ C, values are provided and read in for three latitude bands (30°N--90°N, 30°S--30°N, and 30°S--90°S). diff --git a/doc/source/tech_note/Lake/CLM50_Tech_Note_Lake.rst b/doc/source/tech_note/Lake/CLM50_Tech_Note_Lake.rst index 18f6e1e8f4..40b1918f46 100644 --- a/doc/source/tech_note/Lake/CLM50_Tech_Note_Lake.rst +++ b/doc/source/tech_note/Lake/CLM50_Tech_Note_Lake.rst @@ -3,37 +3,110 @@ Lake Model ============= -The lake model, denoted the *Lake, Ice, Snow, and Sediment Simulator* (LISSS), is from :ref:`Subin et al. (2012a) `. It includes extensive modifications to the lake code of :ref:`Zeng et al. (2002) ` used in CLM versions 2 through 4, which utilized concepts from the lake models of :ref:`Bonan (1996) `, :ref:`Henderson-Sellers (1985) `, :ref:`Henderson-Sellers (1986) `, :ref:`Hostetler and Bartlein (1990) `, and the coupled lake-atmosphere model of :ref:`Hostetler et al. (1993) `, :ref:`Hostetler et al. (1993) `. Lakes have spatially variable depth prescribed in the surface data (section :ref:`External Data Lake`); the surface data optionally includes lake optical extinction coeffient and horizontal fetch, currently only used for site simulations. Lake physics includes freezing and thawing in the lake body, resolved snow layers, and "soil" and bedrock layers below the lake body. Temperatures and ice fractions are simulated for :math:`N_{levlak} =10` layers (for global simulations) or :math:`N_{levlak} =25` (for site simulations) with discretization described in section :numref:`Vertical Discretization Lake`. Lake albedo is described in section :numref:`Surface Albedo Lake`. Lake surface fluxes (section :numref:`Surface Fluxes and Surface Temperature Lake`) generally follow the formulations for non-vegetated surfaces, including the calculations of aerodynamic resistances (section :numref:`Sensible and Latent Heat Fluxes for Non-Vegetated Surfaces`); however, the lake surface temperature :math:`T_{g}` (representing an infinitesimal interface layer between the top resolved lake layer and the atmosphere) is solved for simultaneously with the surface fluxes. After surface fluxes are evaluated, temperatures are solved simultaneously in the resolved snow layers (if present), the lake body, and the soil and bedrock, using the ground heat flux *G* as a top boundary condition. Snow, soil, and bedrock models generally follow the formulations for non-vegetated surfaces (Chapter :numref:`rst_Soil and Snow Temperatures`), with modifications described below. +The lake model, denoted the *Lake, Ice, Snow, and Sediment Simulator* +(LISSS), is from :ref:`Subin et al. (2012a) `. +It includes extensive modifications to the lake code of +:ref:`Zeng et al. (2002) ` used in CLM +versions 2 through 4, which utilized concepts from the lake models of +:ref:`Bonan (1996) `, +:ref:`Henderson-Sellers (1985) `, +:ref:`Henderson-Sellers (1986) `, +:ref:`Hostetler and Bartlein (1990) `, +and the coupled lake-atmosphere model of :ref:`Hostetler et al. (1993) `, :ref:`Hostetler et al. (1993) `. +Lakes have spatially variable depth prescribed in the surface data (section +:ref:`External Data Lake`); the surface data optionally includes lake optical +extinction coeffient and horizontal fetch, currently only used for site +simulations. Lake physics includes freezing and thawing in the lake +body, resolved snow layers, and “soil” and bedrock layers below the lake +body. Temperatures and ice fractions are simulated for +:math:`N_{levlak} =10` layers (for global simulations) or +:math:`N_{levlak} =25` (for site simulations) with discretization +described in section :numref:`Vertical Discretization Lake`. Lake albedo is +described in section :numref:`Surface Albedo Lake`. Lake surface fluxes +(section :numref:`Surface Fluxes and Surface Temperature Lake`) generally +follow the formulations for non-vegetated surfaces, including the calculations +of aerodynamic resistances (section +:numref:`Sensible and Latent Heat Fluxes for Non-Vegetated Surfaces`); +however, the lake surface temperature +:math:`T_{g}` (representing an infinitesimal interface layer between +the top resolved lake layer and the atmosphere) is solved for +simultaneously with the surface fluxes. After surface fluxes are +evaluated, temperatures are solved simultaneously in the resolved snow +layers (if present), the lake body, and the soil and bedrock, using the +ground heat flux *G* as a top boundary condition. Snow, soil, and +bedrock models generally follow the formulations for non-vegetated +surfaces (Chapter :numref:`rst_Soil and Snow Temperatures`), with +modifications described below. .. _Vertical Discretization Lake: Vertical Discretization --------------------------- -Currently, there is one lake modeled in each grid cell (with prescribed or assumed depth *d*, extinction coefficient :math:`\eta`, and fetch *f*), although this could be modified with changes to the CLM subgrid decomposition algorithm in future model versions. As currently implemented, the lake consists of 0-5 snow layers; water and ice layers (10 for global simulations and 25 for site simulations) comprising the "lake body;" 10 "soil" layers; and 5 bedrock layers. Each lake body layer has a fixed water mass (set by the nominal layer thickness and the liquid density), with frozen mass-fraction *I* a state variable. Resolved snow layers are present if the snow thickness :math:`z_{sno} \ge s_{\min }`, where *s*\ :sub:`min` = 4 cm by default, and is adjusted for model timesteps other than 1800 s in order to maintain numerical stability (section :numref:`Modifications to Snow Layer Logic Lake`). For global simulations with 10 body layers, the default (50 m lake) body layer thicknesses are given by: :math:`\Delta z_{i}` of 0.1, 1, 2, 3, 4, 5, 7, 7, 10.45, and 10.45 m, with node depths :math:`z_{i}` located at the center of each layer (i.e., 0.05, 0.6, 2.1, 4.6, 8.1, 12.6, 18.6, 25.6, 34.325, 44.775 m). For site simulations with 25 layers, the default thicknesses are (m): 0.1 for layer 1; 0.25 for layers 2-5; 0.5 for layers 6-9; 0.75 for layers 10-13; 2 for layers 14-15; 2.5 for layers 16-17; 3.5 for layers 18-21; and 5.225 for layers 22-25. For lakes with depth *d* :math:`\neq` 50 m and *d* :math:`\ge` 1 m, the top layer is kept at 10 cm and the other 9 layer thicknesses are adjusted to maintain fixed proportions. For lakes with *d* :math:`<` 1 m, all layers have equal thickness. Thicknesses of snow, soil, and bedrock layers follow the scheme used over non-vegetated surfaces (Chapter :numref:`rst_Soil and Snow Temperatures`), with modifications to the snow layer thickness rules to keep snow layers at least as thick as *s*\ :sub:`min` (section :numref:`Modifications to Snow Layer Logic Lake`). +Currently, there is one lake modeled in each grid cell (with prescribed +or assumed depth *d*, extinction coefficient :math:`\eta`, and fetch +*f*), although this could be modified with changes to the CLM subgrid +decomposition algorithm in future model versions. As currently +implemented, the lake consists of 0-5 snow layers; water and ice layers +(10 for global simulations and 25 for site simulations) comprising the +“lake body;” 10 “soil” layers; and 5 bedrock layers. Each lake body +layer has a fixed water mass (set by the nominal layer thickness and the +liquid density), with frozen mass-fraction *I* a state variable. +Resolved snow layers are present if the snow thickness +:math:`z_{sno} \ge s_{\min }` , where *s*\ :sub:`min` = 4 cm by +default, and is adjusted for model timesteps other than 1800 s in order +to maintain numerical stability (section :numref:`Modifications to Snow Layer Logic Lake`). For global simulations +with 10 body layers, the default (50 m lake) body layer thicknesses are +given by: :math:`\Delta z_{i}` of 0.1, 1, 2, 3, 4, 5, 7, 7, 10.45, and +10.45 m, with node depths :math:`z_{i}` located at the center of each +layer (i.e., 0.05, 0.6, 2.1, 4.6, 8.1, 12.6, 18.6, 25.6, 34.325, 44.775 +m). For site simulations with 25 layers, the default thicknesses are +(m): 0.1 for layer 1; 0.25 for layers 2-5; 0.5 for layers 6-9; 0.75 for +layers 10-13; 2 for layers 14-15; 2.5 for layers 16-17; 3.5 for layers +18-21; and 5.225 for layers 22-25. For lakes with depth *d* +:math:`\neq` 50 m and *d* :math:`\ge` 1 m, the top +layer is kept at 10 cm and the other 9 layer thicknesses are adjusted to +maintain fixed proportions. For lakes with *d* :math:`<` 1 m, all layers +have equal thickness. Thicknesses of snow, soil, and bedrock layers +follow the scheme used over non-vegetated surfaces (Chapter :numref:`rst_Soil and Snow Temperatures`), with +modifications to the snow layer thickness rules to keep snow layers at +least as thick as *s*\ :sub:`min` (section :numref:`Modifications to Snow Layer Logic Lake`). .. _External Data Lake: External Data ----------------- -As discussed in :ref:`Subin et al. (2012a, b) `, the Global Lake and Wetland Database (:ref:`Lehner and Doll 2004`) is currently used to prescribe lake fraction in each land model grid cell, for a total of 2.3 million km\ :sup:`-2`. As in :ref:`Subin et al. (2012a, b) `, the :ref:`Kourzeneva et al. (2012)` global gridded dataset is currently used to estimate a mean lake depth in each grid cell, based on interpolated compilations of geographic information. +As discussed in :ref:`Subin et al. (2012a, b) `, the +Global Lake and Wetland Database (:ref:`Lehner and Doll 2004`) +is currently used to prescribe lake fraction in each land model grid cell, +for a total of 2.3 million km\ :sup:`-2`. As in +:ref:`Subin et al. (2012a, b) `, the +:ref:`Kourzeneva et al. (2012)` global gridded dataset is currently +used to estimate a mean lake depth in each grid cell, based on interpolated +compilations of geographic information. .. _Surface Albedo Lake: Surface Albedo ------------------ -For direct radiation, the albedo *a* for lakes with ground temperature :math:`{T}_{g}` (K) above freezing is given by (:ref:`Pivovarov, 1972`) +For direct radiation, the albedo *a* for lakes with ground temperature +:math:`{T}_{g}` (K) above freezing is given by (:ref:`Pivovarov, 1972`) .. math:: :label: 12.1 a=\frac{0.5}{\cos z+0.15} -where *z* is the zenith angle. For diffuse radiation, the expression in eq. is integrated over the full sky to yield *a* = 0.10. +where *z* is the zenith angle. For diffuse radiation, the expression in +eq. is integrated over the full sky to yield *a* = 0.10. -For frozen lakes without resolved snow layers, the albedo at cold temperatures *a*\ :sub:`0` is 0.60 for visible and 0.40 for near infrared radiation. As the temperature at the ice surface, :math:`{T}_{g}`, approaches freezing [ :math:`{T}_{f}` (K) (:numref:`Table Physical Constants`)], the albedo is relaxed towards 0.10 based on :ref:`Mironov et al. (2010)`: +For frozen lakes without resolved snow layers, the albedo at cold +temperatures *a*\ :sub:`0` is 0.60 for visible and 0.40 for near +infrared radiation. As the temperature at the ice surface, +:math:`{T}_{g}`, approaches freezing [ :math:`{T}_{f}` (K) (:numref:`Table Physical Constants`)], the albedo is relaxed towards 0.10 based on +:ref:`Mironov et al. (2010)`: .. math:: :label: 12.2 @@ -42,7 +115,11 @@ For frozen lakes without resolved snow layers, the albedo at cold temperatures * where *a* is restricted to be no less than that given in :eq:`12.1`. -For frozen lakes with resolved snow layers, the reflectance of the ice surface is fixed at *a*\ :sub:`0`, and the snow reflectance is calculated as over non-vegetated surfaces (Chapter :numref:`rst_Surface Albedos`). These two reflectances are combined to obtain the snow-fraction-weighted albedo as in over non-vegetated surfaces (Chapter :numref:`rst_Surface Albedos`). +For frozen lakes with resolved snow layers, the reflectance of the ice +surface is fixed at *a*\ :sub:`0`, and the snow reflectance is +calculated as over non-vegetated surfaces (Chapter :numref:`rst_Surface Albedos`). +These two reflectances are combined to obtain the snow-fraction-weighted albedo as +in over non-vegetated surfaces (Chapter :numref:`rst_Surface Albedos`). .. _Surface Fluxes and Surface Temperature Lake: @@ -54,98 +131,75 @@ Surface Fluxes and Surface Temperature Surface Properties ^^^^^^^^^^^^^^^^^^^^^^^^ -The fraction of shortwave radiation absorbed at the surface, :math:`\beta`, depends on the lake state. If resolved snow layers are present, then :math:`\beta` is set equal to the absorption fraction predicted by the snow-optics submodel (Chapter :numref:`rst_Surface Albedos`) for the top snow layer. Otherwise, :math:`\beta` is set equal to the near infrared fraction of the shortwave radiation reaching the surface simulated by the atmospheric model or atmospheric data model used for offline simulations (Chapter :numref:`rst_Land-only Mode`). The remainder of the shortwave radiation fraction (1 :math:`{-}` :math:`\beta`) is absorbed in the lake body or soil as described in section :numref:`Radiation Penetration`. +The fraction of shortwave radiation absorbed at the surface, +:math:`\beta`, depends on the lake state. If resolved snow layers are +present, then :math:`\beta` is set equal to the absorption fraction +predicted by the snow-optics submodel (Chapter :numref:`rst_Surface Albedos`) +for the top snow +layer. Otherwise, :math:`\beta` is set equal to the near infrared +fraction of the shortwave radiation reaching the surface simulated by +the atmospheric model or atmospheric data model used for offline +simulations (Chapter :numref:`rst_Land-only Mode`). The remainder of the shortwave radiation +fraction (1 :math:`{-}` :math:`\beta`) is absorbed in the lake +body or soil as described in section :numref:`Radiation Penetration`. + +The surface roughnesses are functions of the lake state and atmospheric +forcing. For frozen lakes ( :math:`T_{g} \le T_{f}` ) with resolved +snow layers, the momentum roughness length +:math:`z_{0m} =2.4 \times 10^{-3} {\rm m}` (as over non-vegetated +surfaces; Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`), and the scalar roughness lengths +(*z*\ :sub:`0q` for latent heat; and *z*\ :sub:`0h`, for sensible heat) are given by +(:ref:`Zilitinkevich 1970`) -The surface roughnesses are functions of the lake state and atmospheric forcing. +.. math:: + :label: 12.3 + + \begin{array}{l} {R_{0} =\frac{z_{0m} u_{*} }{\nu } ,} \\ {z_{0h} =z_{0q} =z_{0m} \exp \left\{-0.13R_{0} ^{0.45} \right\}} \end{array} -For unfrozen lakes (:math:`T_{g} > T_{f}`), :math:`z_{0m}` is given by (:ref:`Subin et al. (2012a) `) +where :math:`R_{0}` is the near-surface atmospheric roughness +Reynolds number, :math:`z_{0h}` is the roughness +length for sensible heat, :math:`z_{0q}` is the +roughness length for latent heat, :math:`\nu` (m\ :sup:`2` s\ :sup:`-1`) is the kinematic viscosity of air, and +:math:`u_{\*}` (m s\ :sup:`-1`) is the friction velocity in the +atmospheric surface layer. For frozen lakes without resolved snow +layers, :math:`z_{0m} =1\times 10^{-3} {\rm m}` (:ref:`Subin et al. (2012a) `), +and the scalar roughness lengths are given by . + +For unfrozen lakes, *z*\ :sub:`0m` is given by (:ref:`Subin et al. (2012a) `) .. math:: - :label: 12.3 + :label: 12.4 z_{0m} =\max \left(\frac{\alpha \nu }{u_{*} } ,C\frac{u_{*} ^{2} }{g} \right) -where :math:`\alpha` = 0.1, :math:`\nu` is the kinematic viscosity of air given below, *C* is the effective Charnock coefficient given below, :math:`u_{*}` is the friction velocity (m/s), and *g* is the acceleration of gravity (:numref:`Table Physical Constants`). The kinematic viscosity is given by +where :math:`\alpha` = 0.1, :math:`\nu` is the kinematic viscosity +of air given below, *C* is the effective Charnock coefficient given +below, and *g* is the acceleration of gravity (:numref:`Table Physical Constants`). The kinematic +viscosity is given by .. math:: - :label: 12.4 + :label: 12.5 \nu =\nu _{0} \left(\frac{T_{g} }{T_{0} } \right)^{1.5} \frac{P_{0} }{P_{ref} } where -:math:`\nu _{0} =1.51\times 10^{-5} {\textstyle\frac{{\rm m}^{{\rm 2}} }{{\rm s}}}` +:math:`\nu _{0} =1.51\times 10^{-5} {\textstyle\frac{{\rm m}^{{\rm 2}} }{{\rm s}}}` , :math:`T_{0} ={\rm 293.15\; K}`, :math:`P_{0} =1.013\times 10^{5} {\rm \; Pa}` , and -:math:`P_{ref}` is the pressure at the atmospheric reference height. The Charnock coefficient *C* is a function of the lake fetch *F* (m), given in the surface data or set to 25 times the lake depth *d* by default: +:math:`P_{ref}` is the pressure at the atmospheric reference +height. The Charnock coefficient *C* is a function of the lake fetch *F* +(m), given in the surface data or set to 25 times the lake depth *d* by +default: .. math:: - :label: 12.5 + :label: 12.6 - \begin{array}{l} {C=C_{\min } +(C_{\max } -C_{\min } )\exp \left\{-\min \left(A,B\right)\right\}} \\ {A={\left(\frac{Fg}{u_{*} ^{2} } \right)^{{1\mathord{\left/ {\vphantom {1 3}} \right.} 3} } \mathord{\left/ {\vphantom {\left(\frac{Fg}{u_{*} ^{2} } \right)^{{1\mathord{\left/ {\vphantom {1 3}} \right.} 3} } f_{c} }} \right.} f_{c} } } \\ {B=\varepsilon \frac{\sqrt{dg} }{u} } \end{array} + \begin{array}{l} {C=C_{\min } +(C_{\max } -C_{\min } )\exp \left\{-\min \left(A,B\right)\right\}} \\ {A={\left(\frac{Fg}{u_{\*} ^{2} } \right)^{{1\mathord{\left/ {\vphantom {1 3}} \right. \kern-\nulldelimiterspace} 3} } \mathord{\left/ {\vphantom {\left(\frac{Fg}{u_{\*} ^{2} } \right)^{{1\mathord{\left/ {\vphantom {1 3}} \right. \kern-\nulldelimiterspace} 3} } f_{c} }} \right. \kern-\nulldelimiterspace} f_{c} } } \\ {B=\varepsilon \frac{\sqrt{dg} }{u} } \end{array} where *A* and *B* define the fetch- and depth-limitation, respectively; :math:`C_{\min } =0.01` , :math:`C_{\max } =0.01`, -:math:`\varepsilon =1` , :math:`f_{c} =100` , and -*u* (m s\ :sup:`-1`) is the atmospheric forcing wind. - -The scalar roughness lengths -(:math:`z_{0q}` for latent heat and :math:`z_{0h}` for sensible heat) are given by -(:ref:`Subin et al. 2012a`) - -.. math:: - :label: 12.5a - - \begin{array}{l} {R_{0} =(\frac{z_{0m} u_{*} }{\nu })^{0.5} ,} \\ {z_{0h} =z_{0m} \exp \left\{-\frac{k} {Pr} (4 R_{0} ^{0.5} -3.2) \right\},} \\ {z_{0q} =z_{0m} \exp \left\{-\frac{k} {Sc} (4 R_{0} ^{0.5} - 4.2) \right\}}\end{array} - -where :math:`R_{0}` is the near-surface atmospheric roughness Reynolds number, :math:`k` is the von Karman constant (:numref:`Table Physical Constants`), :math:`Pr = 0.713` is the molecular Prandt number for air at neutral stability, :math:`Sc = 0.66` is the Schmidt number for water in air at neutral stability. -:math:`z_{0q}` and :math:`z_{0h}` are restricted to be no smaller than :math:`1 \times 10^{-10}`. - -For frozen lakes ( :math:`T_{g} \le T_{f}` ) without resolved snow -layers ( :math:`snl = 0` ), :math:`z_{0m} =z_{0m_{ice}} =2.3\times 10^{-3} {\rm m}` (:ref:`Meier et al. (2022) `). - -For frozen lakes with resolved -snow layers ( :math:`snl > 0` ), the momentum roughness length is evaluated based on accumulated snow melt :math:`M_{a} {\rm }` (:ref:`Meier et al. (2022) `). -For :math:`M_{a} >=1\times 10^{-5}` - -.. math:: - :label: 12.5b - - z_{0m} =\exp (b_{1} \tan ^{-1} \left[\frac{log_{10} (M_{a}) + 0.23)} {0.08}\right] + b_{4})\times 10^{-3} - -where :math:`M_{a}` is accumulated snow melt (meters water equivalent), :math:`b_{1} =1.4` and :math:`b_{4} =-0.31`. -For :math:`M_{a} <1\times 10^{-5}` - -.. math:: - :label: 12.5c - - z_{0m} =\exp (-b_{1} 0.5 \pi + b_{4})\times 10^{-3} - -Accumulated snow melt :math:`M_{a}` at the current time step :math:`t` is defined as - -.. math:: - :label: 12.5d - - M ^{t}_{a} = M ^{t-1}_{a} - (q ^{t}_{sno} \Delta t + q ^{t}_{snowmelt} \Delta t)\times 10^{-3} - -where :math:`M ^{t}_{a}` and :math:`M ^{t-1}_{a}` are the accumulated snowmelt at the current time step and previous time step, respectively (m), :math:`q ^{t}_{sno} \Delta t` is the freshly fallen snow (mm), and :math:`q ^{t}_{snowmelt} \Delta t` is the melted snow (mm). - -For frozen lakes without and with resolved snow layers, an initial guess for the scalar roughness lengths is derived by assuming :math:`\theta_{*} = 0 {\rm }` (:ref:`Meier et al. (2022) `) - -.. math:: - :label: 12.5e - - z_{0h}=z_{0q}=\frac{70 \nu}{u_{*}} - -where :math:`\nu=1.5 \times 10^{-5}` is the kinematic viscosity of air (m\ :sup:`2` s\ :sup:`-1`), and -:math:`u_{*}` is the friction velocity in the atmospheric surface layer (m s\ :sup:`-1`). -Thereafter, the scalar roughness lengths are updated within the stability iteration described in section :numref:`Surface Flux Solution Lake` as - -.. math:: - :label: 12.6 - - z_{0h}=z_{0q}=\frac{70 \nu}{u_{*}} \exp (-\beta {u_{*}} ^{0.5} |{\theta_{*}}| ^{0.25} ) - -where :math:`\beta` = 7.2, and :math:`\theta_{*}` is the potential temperature scale (section :numref:`Surface Flux Solution Lake`). +:math:`\varepsilon =1` , :math:`f_{c} =100` , and *u* (m +s\ :sup:`-1`) is the atmospheric forcing wind. .. _Surface Flux Solution Lake: @@ -163,8 +217,10 @@ where :math:`\vec{S}_{g}` \ is the absorbed solar radiation in the lake, :math:`\beta` is the fraction absorbed at the surface, :math:`\vec{L}_{g}` \ is the net emitted longwave radiation (+ upwards), :math:`H_{g}` \ is the sensible heat flux (+ upwards), -:math:`E_{g}` \ is the water vapor flux (+ upwards), and -*G* is the ground heat flux (+ downwards). All of these fluxes depend implicitly on the temperature at the lake surface :math:`{T}_{g}`. :math:`\lambda` converts :math:`E_{g}` to an energy flux based on +:math:`E_{g}` \ is the water vapor flux (+ upwards), and *G* is the +ground heat flux (+ downwards). All of these fluxes depend implicitly on +the temperature at the lake surface :math:`{T}_{g}`. +:math:`\lambda` converts :math:`E_{g}` to an energy flux based on .. math:: :label: 12.8 @@ -178,22 +234,29 @@ The sensible heat flux (W m\ :sup:`-2`) is H_{g} =-\rho _{atm} C_{p} \frac{\left(\theta _{atm} -T_{g} \right)}{r_{ah} } -where :math:`\rho _{atm}` is the density of moist air (kg m\ :sup:`-3`) (Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`), -:math:`C_{p}` is the specific heat capacity of air (J kg\ :sup:`-1` K\ :sup:`-1`) (:numref:`Table Physical Constants`), -:math:`\theta _{atm}` is the atmospheric potential temperature (K) (Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`), -:math:`T_{g}` is the lake surface temperature (K) (at an infinitesimal interface just above the top resolved model layer: snow, ice, or water), and -:math:`r_{ah}` is the aerodynamic resistance to sensible heat transfer (s m\ :sup:`-1`) (section :numref:`Monin-Obukhov Similarity Theory`). +where :math:`\rho _{atm}` is the density of moist air (kg +m\ :sup:`-3`) (Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`), :math:`C_{p}` is the specific heat +capacity of air (J kg\ :sup:`-1` K\ :sup:`-1`) (:numref:`Table Physical Constants`), +:math:`\theta _{atm}` is the atmospheric potential temperature (K) +(Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`), :math:`T_{g}` is the lake surface temperature (K) (at an +infinitesimal interface just above the top resolved model layer: snow, +ice, or water), and :math:`r_{ah}` is the aerodynamic resistance to +sensible heat transfer (s m\ :sup:`-1`) (section :numref:`Monin-Obukhov Similarity Theory`). The water vapor flux (kg m\ :sup:`-2` s\ :sup:`-1`) is .. math:: - :label: 12.10 + :label: 12.10 E_{g} =-\frac{\rho _{atm} \left(q_{atm} -q_{sat}^{T_{g} } \right)}{r_{aw} } -where :math:`q_{atm}` is the atmospheric specific humidity (kg kg\ :sup:`-1`) (section :numref:`Atmospheric Coupling`), -:math:`q_{sat}^{T_{g} }` \ is the saturated specific humidity (kg kg\ :sup:`-1`) (section :numref:`Saturation Vapor Pressure`) at the lake surface temperature :math:`T_{g}`, and -:math:`r_{aw}` is the aerodynamic resistance to water vapor transfer (s m\ :sup:`-1`) (section :numref:`Monin-Obukhov Similarity Theory`). +where :math:`q_{atm}` is the atmospheric specific humidity (kg +kg\ :sup:`-1`) (section :numref:`Atmospheric Coupling`), +:math:`q_{sat}^{T_{g} }` \ is the saturated specific humidity +(kg kg\ :sup:`-1`) (section :numref:`Saturation Vapor Pressure`) at +the lake surface temperature :math:`T_{g}` , and :math:`r_{aw}` is the +aerodynamic resistance to water vapor transfer (s m\ :sup:`-1`) +(section :numref:`Monin-Obukhov Similarity Theory`). The zonal and meridional momentum fluxes are @@ -207,8 +270,11 @@ The zonal and meridional momentum fluxes are \tau _{y} =-\rho _{atm} \frac{v_{atm} }{r_{atm} } -where :math:`u_{atm}` and :math:`v_{atm}` are the zonal and meridional atmospheric winds (m s\ :sup:`-1`) (section :numref:`Atmospheric Coupling`), and -:math:`r_{am}` is the aerodynamic resistance for momentum (s m\ :sup:`-1`) (section :numref:`Monin-Obukhov Similarity Theory`). +where :math:`u_{atm}` and :math:`v_{atm}` are the zonal and +meridional atmospheric winds (m s\ :sup:`-1`) (section +:numref:`Atmospheric Coupling`), and +:math:`r_{am}` is the aerodynamic resistance for momentum (s +m\ :sup:`-1`) (section :numref:`Monin-Obukhov Similarity Theory`). The heat flux into the lake surface :math:`G` (W m\ :sup:`-2`) is @@ -217,7 +283,19 @@ The heat flux into the lake surface :math:`G` (W m\ :sup:`-2`) is G=\frac{2\lambda _{T} }{\Delta z_{T} } \left(T_{g} -T_{T} \right) -where :math:`\lambda _{T}` is the thermal conductivity (W m\ :sup:`-1` K\ :sup:`-1`), :math:`\Delta z_{T}` is the thickness (m), and :math:`T_{T}` is the temperature (K) of the top resolved lake layer (snow, ice, or water). The top thermal conductivity :math:`\lambda _{T}` of unfrozen lakes ( :math:`T_{g} >T_{f}` ) includes conductivities due to molecular ( :math:`\lambda _{liq}` ) and eddy (:math:`\lambda _{K}` ) diffusivities (section :numref:`Eddy Diffusivity and Thermal Conductivities`), as evaluated in the top lake layer at the previous timestep, where :math:`\lambda _{liq}` is the thermal conductivity of water (:numref:`Table Physical Constants`). For frozen lakes without resolved snow layers, :math:`\lambda _{T} =\lambda _{ice}`. When resolved snow layers are present, :math:`\lambda _{T}` \ is calculated based on the water content, ice content, and thickness of the top snow layer, as for non-vegetated surfaces. +where :math:`\lambda _{T}` is the thermal conductivity (W +m\ :sup:`-1` K\ :sup:`-1`), :math:`\Delta z_{T}` is the +thickness (m), and :math:`T_{T}` is the temperature (K) of the top +resolved lake layer (snow, ice, or water). The top thermal conductivity +:math:`\lambda _{T}` of unfrozen lakes ( :math:`T_{g} >T_{f}` ) +includes conductivities due to molecular ( :math:`\lambda _{liq}` ) and +eddy (:math:`\lambda _{K}` ) diffusivities (section :numref:`Eddy Diffusivity and Thermal Conductivities`), as evaluated +in the top lake layer at the previous timestep, where +:math:`\lambda _{liq}` is the thermal conductivity of water (:numref:`Table Physical Constants`). For frozen lakes without resolved snow layers, +:math:`\lambda _{T} =\lambda _{ice}` . When resolved snow layers are +present, :math:`\lambda _{T}` \ is calculated based on the water +content, ice content, and thickness of the top snow layer, as for +non-vegetated surfaces. The absorbed solar radiation :math:`\vec{S}_{g}` is @@ -226,7 +304,14 @@ The absorbed solar radiation :math:`\vec{S}_{g}` is \vec{S}_{g} =\sum _{\Lambda }S_{atm} \, \downarrow _{\Lambda }^{\mu } \left(1-\alpha _{g,\, \Lambda }^{\mu } \right) +S_{atm} \, \downarrow _{\Lambda } \left(1-\alpha _{g,\, \Lambda } \right) -where :math:`S_{atm} \, \downarrow _{\Lambda }^{\mu }` and :math:`S_{atm} \, \downarrow _{\Lambda }` are the incident direct beam and diffuse solar fluxes (W m\ :sup:`-2`) and :math:`\Lambda` denotes the visible (:math:`<` 0.7\ :math:`\mu {\rm m}`) and near-infrared (:math:`\ge` 0.7\ :math:`\mu {\rm m}`) wavebands (section :numref:`Atmospheric Coupling`), and :math:`\alpha _{g,\, \Lambda }^{\mu }` and :math:`\alpha _{g,\, \mu }` are the direct beam and diffuse lake albedos (section :numref:`Surface Albedo Lake`). +where :math:`S_{atm} \, \downarrow _{\Lambda }^{\mu }` and +:math:`S_{atm} \, \downarrow _{\Lambda }` are the incident direct beam +and diffuse solar fluxes (W m\ :sup:`-2`) and :math:`\Lambda` +denotes the visible (:math:`<` 0.7\ :math:`\mu {\rm m}`) and +near-infrared (:math:`\ge` 0.7\ :math:`\mu {\rm m}`) wavebands (section +:numref:`Atmospheric Coupling`), and :math:`\alpha _{g,\, \Lambda }^{\mu }` and +:math:`\alpha _{g,\, \mu }` are the direct beam and diffuse lake +albedos (section :numref:`Surface Albedo Lake`). The net emitted longwave radiation is @@ -235,8 +320,10 @@ The net emitted longwave radiation is \vec{L}_{g} =L_{g} \, \uparrow -L_{atm} \, \downarrow -where :math:`L_{g} \, \uparrow` is the upward longwave radiation from the surface, -:math:`L_{atm} \, \downarrow` is the downward atmospheric longwave radiation (section :numref:`Atmospheric Coupling`). The upward longwave radiation from the surface is +where :math:`L_{g} \, \uparrow` is the upward longwave radiation from +the surface, :math:`L_{atm} \, \downarrow` is the downward atmospheric +longwave radiation (section :numref:`Atmospheric Coupling`). The upward +longwave radiation from the surface is .. math:: :label: 12.16 @@ -244,17 +331,26 @@ where :math:`L_{g} \, \uparrow` is the upward longwave radiation from the surfac L\, \uparrow =\left(1-\varepsilon _{g} \right)L_{atm} \, \downarrow +\varepsilon _{g} \sigma \left(T_{g}^{n} \right)^{4} +4\varepsilon _{g} \sigma \left(T_{g}^{n} \right)^{3} \left(T_{g}^{n+1} -T_{g}^{n} \right) where :math:`\varepsilon _{g} =0.97` is the lake surface emissivity, -:math:`\sigma` is the Stefan-Boltzmann constant (W m\ :sup:`-2` K\ :sup:`-4`) (:numref:`Table Physical Constants`), and -:math:`T_{g}^{n+1} -T_{g}^{n}` is the difference in lake surface temperature between Newton-Raphson iterations (see below). +:math:`\sigma` is the Stefan-Boltzmann constant (W m\ :sup:`-2` K\ +:sup:`-4`) (:numref:`Table Physical Constants`), and +:math:`T_{g}^{n+1} -T_{g}^{n}` is the difference in lake surface +temperature between Newton-Raphson iterations (see below). -The sensible heat :math:`H_{g}`, the water vapor flux :math:`E_{g}` through its dependence on the saturated specific humidity, the net longwave radiation :math:`\vec{L}_{g}`, and the ground heat flux :math:`G`, all depend on the lake surface temperature :math:`T_{g}`. Newton-Raphson iteration is applied to solve for :math:`T_{g}` and the surface fluxes as +The sensible heat :math:`H_{g}` , the water vapor flux :math:`E_{g}` +through its dependence on the saturated specific humidity, the net +longwave radiation :math:`\vec{L}_{g}` , and the ground heat flux +:math:`G`, all depend on the lake surface temperature :math:`T_{g}` . +Newton-Raphson iteration is applied to solve for :math:`T_{g}` and the +surface fluxes as .. math:: :label: 12.17 \Delta T_{g} =\frac{\beta \overrightarrow{S}_{g} -\overrightarrow{L}_{g} -H_{g} -\lambda E_{g} -G}{\frac{\partial \overrightarrow{L}_{g} }{\partial T_{g} } +\frac{\partial H_{g} }{\partial T_{g} } +\frac{\partial \lambda E_{g} }{\partial T_{g} } +\frac{\partial G}{\partial T_{g} } } -where :math:`\Delta T_{g} =T_{g}^{n+1} -T_{g}^{n}` and the subscript "n" indicates the iteration. Therefore, the surface temperature :math:`T_{g}^{n+1}` can be written as +where :math:`\Delta T_{g} =T_{g}^{n+1} -T_{g}^{n}` and the subscript +“n” indicates the iteration. Therefore, the surface temperature +:math:`T_{g}^{n+1}` can be written as .. math:: :label: 12.18 @@ -283,11 +379,26 @@ where the partial derivatives are \frac{\partial G}{\partial T_{g} } =\frac{2\lambda _{T} }{\Delta z_{T} } . -The fluxes of momentum, sensible heat, and water vapor are solved for simultaneously with lake surface temperature as follows. To begin, :math:`z_{0m}` and the scalar roughness lengths are set as described in section :numref:`Surface Properties Lake`. - -#. An initial guess for the wind speed :math:`V_{a}` including the convective velocity :math:`U_{c}` is obtained from :eq:`5.24` assuming an initial convective velocity :math:`U_{c} =0` m s\ :sup:`-1` for stable conditions (:math:`\theta _{v,\, atm} -\theta _{v,\, s} \ge 0` as evaluated from :eq:`5.50`) and :math:`U_{c} =0.5` for unstable conditions (:math:`\theta _{v,\, atm} -\theta _{v,\, s} <0`). - -#. An initial guess for the Monin-Obukhov length :math:`L` is obtained from the bulk Richardson number using :eq:`5.46` and :eq:`5.48`. +The fluxes of momentum, sensible heat, and water vapor are solved for +simultaneously with lake surface temperature as follows. The +stability-related equations are the same as for non-vegetated surfaces +(section :numref:`Sensible and Latent Heat Fluxes for Non-Vegetated Surfaces`), +except that the surface roughnesses are here (weakly varying) functions +of the friction velocity :math:`u_{\*}` . To begin, *z*\ :sub:`0m` is set +based on the value calculated for the last timestep (for +:math:`T_{g} >T_{f}` ) or based on the values in section +:numref:`Surface Properties Lake` (otherwise), and the scalar roughness +lengths are set based on the relationships in section :numref:`Surface Properties Lake`. + +#. An initial guess for the wind speed :math:`V_{a}` including the + convective velocity :math:`U_{c}` is obtained from :eq:`5.24` assuming an + initial convective velocity :math:`U_{c} =0` m s\ :sup:`-1` for + stable conditions (:math:`\theta _{v,\, atm} -\theta _{v,\, s} \ge 0` + as evaluated from :eq:`5.50`) and :math:`U_{c} =0.5` for unstable + conditions (:math:`\theta _{v,\, atm} -\theta _{v,\, s} <0`). + +#. An initial guess for the Monin-Obukhov length :math:`L` is obtained + from the bulk Richardson number using :eq:`5.46` and :eq:`5.48`. #. The following system of equations is iterated four times: @@ -295,49 +406,73 @@ The fluxes of momentum, sensible heat, and water vapor are solved for simultaneo #. Thermal conductivity :math:`\lambda _{T}` \ (above) -#. Friction velocity :math:`u_{*}` (:eq:`5.32`, :eq:`5.33`, :eq:`5.34`, :eq:`5.35`) +#. Friction velocity :math:`u_{\*}` (:eq:`5.32`, :eq:`5.33`, :eq:`5.34`, :eq:`5.35`) -#. Potential temperature scale :math:`\theta _{*}` (:eq:`5.37`, :eq:`5.38`, :eq:`5.39`, :eq:`5.40`) +#. Potential temperature scale :math:`\theta _{\*}` (:eq:`5.37` , :eq:`5.38`, :eq:`5.39`, :eq:`5.40`) -#. Humidity scale :math:`q_{*}` (:eq:`5.41`, :eq:`5.42`, :eq:`5.43`, :eq:`5.44`) +#. Humidity scale :math:`q_{\*}` (:eq:`5.41`, :eq:`5.42`, :eq:`5.43`, :eq:`5.44`) -#. Aerodynamic resistances :math:`r_{am}`, :math:`r_{ah}`, and :math:`r_{aw}` (:eq:`5.55`, :eq:`5.56`, :eq:`5.57`) +#. Aerodynamic resistances :math:`r_{am}` , :math:`r_{ah}` , and + :math:`r_{aw}` (:eq:`5.55`, :eq:`5.56`, :eq:`5.57`) -#. Lake surface temperature :math:`T_{g}^{n+1}` (:eq:`12.18`) +#. Lake surface temperature :math:`T_{g}^{n+1}` (:eq:`12.18`) -#. Heat of vaporization / sublimation :math:`\lambda` (:eq:`12.8`) +#. Heat of vaporization / sublimation :math:`\lambda` (:eq:`12.8`) -#. Sensible heat flux :math:`H_{g}` is updated for :math:`T_{g}^{n+1}` (:eq:`12.9`) +#. Sensible heat flux :math:`H_{g}` is updated for :math:`T_{g}^{n+1}` + (:eq:`12.9`) -#. Water vapor flux :math:`E_{g}` is updated for :math:`T_{g}^{n+1}` as +#. Water vapor flux :math:`E_{g}` is updated for :math:`T_{g}^{n+1}` + as .. math:: :label: 12.23 E_{g} =-\frac{\rho _{atm} }{r_{aw} } \left[q_{atm} -q_{sat}^{T_{g} } -\frac{\partial q_{sat}^{T_{g} } }{\partial T_{g} } \left(T_{g}^{n+1} -T_{g}^{n} \right)\right] -where the last term on the right side of equation is the change in saturated specific humidity due to the change in :math:`T_{g}` between iterations. +where the last term on the right side of equation is the change in +saturated specific humidity due to the change in :math:`T_{g}` between +iterations. -#. Saturated specific humidity :math:`q_{sat}^{T_{g} }` and its derivative :math:`\frac{dq_{sat}^{T_{g} } }{dT_{g} }` are updated for :math:`T_{g}^{n+1}` (section :numref:`Monin-Obukhov Similarity Theory`). +#. Saturated specific humidity :math:`q_{sat}^{T_{g} }` and its + derivative :math:`\frac{dq_{sat}^{T_{g} } }{dT_{g} }` are updated + for :math:`T_{g}^{n+1}` (section :numref:`Monin-Obukhov Similarity Theory`). -#. Virtual potential temperature scale :math:`\theta _{v*}` (:eq:`5.17`) +#. Virtual potential temperature scale :math:`\theta _{v\*}` (:eq:`5.17`) -#. Wind speed including the convective velocity, :math:`V_{a}` (:eq:`5.24`) +#. Wind speed including the convective velocity, :math:`V_{a}` (:eq:`5.24`) #. Monin-Obukhov length :math:`L` (:eq:`5.49`) -#. Roughness lengths (section :numref:`Surface Properties Lake`). +#. Roughness lengths (:eq:`12.3`, :eq:`12.4`). -Once the four iterations for lake surface temperature have been yielded a tentative solution :math:`T_{g} ^{{'} }`, several restrictions are imposed in order to maintain consistency with the top lake model layer temperature :math:`T_{T}` \ (:ref:`Subin et al. (2012a) `). +Once the four iterations for lake surface temperature have been yielded +a tentative solution :math:`T_{g} ^{{'} }` , several restrictions +are imposed in order to maintain consistency with the top lake model +layer temperature :math:`T_{T}` \ (:ref:`Subin et al. (2012a) `). .. math:: :label: 12.24 \begin{array}{l} {{\rm 1)\; }T_{T} \le T_{f} T_{g} ^{{'} } >T_{m} \Rightarrow T_{g} =T_{T} ,} \\ {{\rm 3)\; }T_{m} >T_{g} ^{{'} } >T_{T} >T_{f} \Rightarrow T_{g} =T_{T} } \end{array} -where :math:`T_{m}` \ is the temperature of maximum liquid water density, 3.85°C (:ref:`Hostetler and Bartlein (1990) `). The first condition requires that, if there is any snow or ice present, the surface temperature is restricted to be less than or equal to freezing. The second and third conditions maintain convective stability in the top lake layer. - -If eq. XXX is applied, the turbulent fluxes :math:`H_{g}` and :math:`E_{g}` are re-evaluated. The emitted longwave radiation and the momentum fluxes are re-evaluated in any case. The final ground heat flux :math:`G` is calculated from the residual of the energy balance eq. XXX in order to precisely conserve energy. XXX This ground heat flux is taken as a prescribed flux boundary condition for the lake temperature solution (section :numref:`Boundary Conditions Lake`). An energy balance check is included at each timestep to insure that eq. XXX is obeyed to within 0.1 W m\ :sup:`-2`. +where :math:`T_{m}` \ is the temperature of maximum liquid water +density, 3.85\ :sup:`o` C (:ref:`Hostetler and Bartlein (1990) `). The +first condition requires that, if there is any snow or ice present, the +surface temperature is restricted to be less than or equal to freezing. +The second and third conditions maintain convective stability in the top +lake layer. + +If eq. XXX is applied, the turbulent fluxes :math:`H_{g}` and +:math:`E_{g}` are re-evaluated. The emitted longwave radiation and +the momentum fluxes are re-evaluated in any case. The final ground heat +flux :math:`G` is calculated from the residual of the energy balance eq. +XXX in order to precisely conserve energy. XXX This ground heat flux +is taken as a prescribed flux boundary condition for the lake +temperature solution (section :numref:`Boundary Conditions Lake`). +An energy balance check is +included at each timestep to insure that eq. XXX is obeyed to within +0.1 W m\ :sup:`-2`. .. _Lake Temperature: @@ -349,55 +484,97 @@ Lake Temperature Introduction ^^^^^^^^^^^^^^^^^^ -The (optional-) snow, lake body (water and/or ice), soil, and bedrock system is unified for the lake temperature solution. The governing equation, similar to that for the snow-soil-bedrock system for vegetated land units (Chapter :numref:`rst_Soil and Snow Temperatures`), is +The (optional-) snow, lake body (water and/or ice), soil, and bedrock +system is unified for the lake temperature solution. The governing +equation, similar to that for the snow-soil-bedrock system for vegetated +land units (Chapter :numref:`rst_Soil and Snow Temperatures`), is .. math:: :label: 12.25 \tilde{c}_{v} \frac{\partial T}{\partial t} =\frac{\partial }{\partial z} \left(\tau \frac{\partial T}{\partial z} \right)-\frac{d\phi }{dz} -where :math:`\tilde{c}_{v}` is the volumetric heat capacity (J m\ :sup:`-3` K\ :sup:`-1`), -:math:`t` is time (s), -*T* is the temperature (K), -:math:`\tau` is the thermal conductivity (W m\ :sup:`-1` K\ :sup:`-1`), and -:math:`\phi` is the solar radiation (W m\ :sup:`-2`) penetrating to depth *z* (m). The system is discretized into *N* layers, where +where :math:`\tilde{c}_{v}` is the volumetric heat capacity (J +m\ :sup:`-3` K\ :sup:`-1`), :math:`t` is time (s), *T* is +the temperature (K), :math:`\tau` is the thermal conductivity (W +m\ :sup:`-1` K\ :sup:`-1`), and :math:`\phi` is the solar +radiation (W m\ :sup:`-2`) penetrating to depth *z* (m). The +system is discretized into *N* layers, where .. math:: :label: 12.26 N=n_{sno} +N_{levlak} +N_{levgrnd} , -:math:`n_{sno}` is the number of actively modeled snow layers at the current timestep (Chapter :numref:`rst_Snow Hydrology`), and -:math:`N_{levgrnd}` \ is as for vegetated land units (Chapter :numref:`rst_Soil and Snow Temperatures`). Energy is conserved as +:math:`n_{sno}` is the number of actively modeled snow layers at the +current timestep (Chapter :numref:`rst_Snow Hydrology`), and +:math:`N_{levgrnd}` \ is as for vegetated land units (Chapter +:numref:`rst_Soil and Snow Temperatures`). Energy is conserved as .. math:: :label: 12.27 \frac{d}{dt} \sum _{j=1}^{N}\left[\tilde{c}_{v,j} (t)\left(T_{j} -T_{f} \right)+L_{j} (t)\right] \Delta z_{j} =G+\left(1-\beta \right)\vec{S}_{g} -where :math:`\tilde{c}_{v,j} (t)`\ is the volumetric heat capacity of the *j*\ th layer (section :numref:`Radiation Penetration`), :math:`L_{j} (t)`\ is the latent heat of fusion per unit volume of the *j*\ th layer (proportional to the mass of liquid water present), and the right-hand side represents the net influx of energy to the lake system. Note that :math:`\tilde{c}_{v,j} (t)` can only change due to phase change (except for changing snow layer mass, which, apart from energy required to melt snow, represents an untracked energy flux in the land model, along with advected energy associated with water flows in general), and this is restricted to occur at :math:`T_{j} =T_{f}` \ in the snow-lake-soil system, allowing eq. to be precisely enforced and justifying the exclusion of :math:`c_{v,j}` from the time derivative in eq.. +where :math:`\tilde{c}_{v,j} (t)`\ is the volumetric heat capacity of +the *j*\ th layer (section :numref:`Radiation Penetration`), +:math:`L_{j} (t)`\ is the latent heat +of fusion per unit volume of the *j*\ th layer (proportional to the mass +of liquid water present), and the right-hand side represents the net +influx of energy to the lake system. Note that +:math:`\tilde{c}_{v,j} (t)` can only change due to phase change (except +for changing snow layer mass, which, apart from energy required to melt +snow, represents an untracked energy flux in the land model, along with +advected energy associated with water flows in general), and this is +restricted to occur at :math:`T_{j} =T_{f}` \ in the snow-lake-soil +system, allowing eq. to be precisely enforced and justifying the +exclusion of :math:`c_{v,j}` from the time derivative in eq. . .. _Overview of Changes from CLM4 2: Overview of Changes from CLM4 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Thermal conductivities include additional eddy diffusivity, beyond the :ref:`Hostetler and Bartlein (1990)` formulation, due to unresolved processes (:ref:`Fang and Stefan 1996`; :ref:`Subin et al. (2012a) `). Lake water is now allowed to freeze by an arbitrary fraction for each layer, which releases latent heat and changes thermal properties. Convective mixing occurs for all lakes, even if frozen. Soil and bedrock are included beneath the lake. The full snow model is used if the snow thickness exceeds a threshold; if there are resolved snow layers, radiation transfer is predicted by the snow-optics submodel (Chapter :numref:`rst_Surface Albedos`), and the remaining radiation penetrating the bottom snow layer is absorbed in the top layer of lake ice; conversely, if there are no snow layers, the solar radiation penetrating the bottom lake layer is absorbed in the top soil layer. The lakes have variable depth, and all physics is assumed valid for arbitrary depth, except for a depth-dependent enhanced mixing (section :numref:`Eddy Diffusivity and Thermal Conductivities`). Finally, a previous sign error in the calculation of eddy diffusivity (specifically, the Brunt-Väisälä frequency term; eq. ) was corrected. +Thermal conductivities include additional eddy diffusivity, beyond the +:ref:`Hostetler and Bartlein (1990)` formulation, +due to unresolved processes (:ref:`Fang and Stefan 1996`; +:ref:`Subin et al. (2012a) `). Lake water is now allowed to +freeze by an arbitrary fraction for each layer, which releases latent +heat and changes thermal properties. Convective mixing occurs for all +lakes, even if frozen. Soil and bedrock are included beneath the lake. +The full snow model is used if the snow thickness exceeds a threshold; +if there are resolved snow layers, radiation transfer is predicted by +the snow-optics submodel (Chapter :numref:`rst_Surface Albedos`), and the remaining radiation +penetrating the bottom snow layer is absorbed in the top layer of lake +ice; conversely, if there are no snow layers, the solar radiation +penetrating the bottom lake layer is absorbed in the top soil layer. The +lakes have variable depth, and all physics is assumed valid for +arbitrary depth, except for a depth-dependent enhanced mixing (section +:numref:`Eddy Diffusivity and Thermal Conductivities`). Finally, a previous sign error in the calculation of eddy +diffusivity (specifically, the Brunt-Väisälä frequency term; eq. ) was +corrected. .. _Boundary Conditions Lake: Boundary Conditions ^^^^^^^^^^^^^^^^^^^^^^^^^ -The top boundary condition, imposed at the top modeled layer :math:`i=j_{top}`, where :math:`j_{top} =-n_{sno} +1`, is the downwards surface flux *G* defined by the energy flux residual during the surface temperature solution (section :numref:`Boundary Conditions Lake`). The bottom boundary condition, imposed at :math:`i=N_{levlak} +N_{levgrnd}`, is zero flux. The 2-m windspeed :math:`u_{2}` \ (m s\ :sup:`-1`) is used in the calculation of eddy diffusivity: +The top boundary condition, imposed at the top modeled layer +:math:`i=j_{top}` , where :math:`j_{top} =-n_{sno} +1`, is the downwards +surface flux *G* defined by the energy flux residual during the surface +temperature solution (section :numref:`Boundary Conditions Lake`). The bottom +boundary condition, imposed at :math:`i=N_{levlak} +N_{levgrnd}` , is zero flux. +The 2-m windspeed :math:`u_{2}` \ (m s\ :sup:`-1`) is used in the +calculation of eddy diffusivity: .. math:: :label: 12.28 u_{2} =\frac{u_{*} }{k} \ln \left(\frac{2}{z_{0m} } \right)\ge 0.1. -where :math:`u_{*}` \ is the friction velocity calculated in section :numref:`Boundary Conditions Lake` and -*k* is the von Karman constant (:numref:`Table Physical Constants`). +where :math:`u_{*}` \ is the friction velocity calculated in section +:numref:`Boundary Conditions Lake` and *k* is the von Karman constant +(:numref:`Table Physical Constants`). .. _Eddy Diffusivity and Thermal Conductivities: @@ -411,10 +588,19 @@ The total eddy diffusivity :math:`K_{W}` (m\ :sup:`2` s\ :sup:`-1`) for liquid K_{W} = m_{d} \left(\kappa _{e} +K_{ed} +\kappa _{m} \right) -where :math:`\kappa _{e}` is due to wind-driven eddies (:ref:`Hostetler and Bartlein (1990)`), -:math:`K_{ed}` is a modest enhanced diffusivity intended to represent unresolved mixing processes (:ref:`Fang and Stefan 1996`), -:math:`\kappa _{m} =\frac{\lambda _{liq} }{c_{liq} \rho _{liq} }` \ is the molecular diffusivity of water (given by the ratio of its thermal conductivity (W m\ :sup:`-1` K\ :sup:`-1`) to the product of its heat capacity (J kg\ :sup:`-1` K\ :sup:`-1`) and density (kg m\ :sup:`-3`), values given in :numref:`Table Physical Constants`), and -:math:`m_{d}` (unitless) is a factor which increases the overall diffusivity for large lakes, intended to represent 3-dimensional mixing processes such as caused by horizontal temperature gradients. As currently implemented, +where :math:`\kappa _{e}` is due to wind-driven eddies +(:ref:`Hostetler and Bartlein (1990)`), +:math:`K_{ed}` is a modest enhanced diffusivity +intended to represent unresolved mixing processes +(:ref:`Fang and Stefan 1996`), +:math:`\kappa _{m} =\frac{\lambda _{liq} }{c_{liq} \rho _{liq} }` \ is +the molecular diffusivity of water (given by the ratio of its thermal +conductivity (W m\ :sup:`-1` K\ :sup:`-1`) to the product of +its heat capacity (J kg\ :sup:`-1` K\ :sup:`-1`) and density +(kg m\ :sup:`-3`), values given in :numref:`Table Physical Constants`), and :math:`m_{d}` +(unitless) is a factor which increases the overall diffusivity for large +lakes, intended to represent 3-dimensional mixing processes such as +caused by horizontal temperature gradients. As currently implemented, .. math:: :label: 12.30 @@ -430,7 +616,18 @@ The wind-driven eddy diffusion coefficient :math:`\kappa _{e,\, i}` (m\ :sup:`2` \kappa _{e,\, i} =\left\{\begin{array}{l} {\frac{kw^{*} z_{i} }{P_{0} \left(1+37Ri^{2} \right)} \exp \left(-k^{*} z_{i} \right)\qquad T_{g} >T_{f} } \\ {0\qquad T_{g} \le T_{f} } \end{array}\right\} -where :math:`P_{0} =1` is the neutral value of the turbulent Prandtl number, :math:`z_{i}` is the node depth (m), the surface friction velocity (m s\ :sup:`-1`) is :math:`w^{*} =0.0012u_{2}`, and :math:`k^{*}` varies with latitude :math:`\phi` as :math:`k^{*} =6.6u_{2}^{-1.84} \sqrt{\left|\sin \phi \right|}`. For the bottom layer, :math:`\kappa _{e,\, N_{levlak} } =\kappa _{e,N_{levlak} -1\, }`. As in :ref:`Hostetler and Bartlein (1990)`, the 2-m wind speed :math:`u_{2}` (m s\ :sup:`-1`) (eq. ) is used to evaluate :math:`w^{*}` and :math:`k^{*}` rather than the 10-m wind used by :ref:`Henderson-Sellers (1985) `. +where :math:`P_{0} =1` is the neutral value of the turbulent Prandtl +number, :math:`z_{i}` is the node depth (m), the surface friction +velocity (m s\ :sup:`-1`) is :math:`w^{*} =0.0012u_{2}` , and +:math:`k^{*}` varies with latitude :math:`\phi` as +:math:`k^{*} =6.6u_{2}^{-1.84} \sqrt{\left|\sin \phi \right|}` . For the +bottom layer, +:math:`\kappa _{e,\, N_{levlak} } =\kappa _{e,N_{levlak} -1\, }` . As in +:ref:`Hostetler and Bartlein (1990)`, +the 2-m wind speed :math:`u_{2}` (m s\ :sup:`-1`) (eq. ) is used to evaluate +:math:`w^{*}` and :math:`k^{*}` rather than the 10-m wind used by +:ref:`Henderson-Sellers (1985) `. + The Richardson number is @@ -446,55 +643,93 @@ where N^{2} =\frac{g}{\rho _{i} } \frac{\partial \rho }{\partial z} -and :math:`g` is the acceleration due to gravity (m s\ :sup:`-2`) (:numref:`Table Physical Constants`), :math:`\rho _{i}` is the density of water (kg m\ :sup:`-3`), and :math:`\frac{\partial \rho }{\partial z}` is approximated as :math:`\frac{\rho _{i+1} -\rho _{i} }{z_{i+1} -z_{i} }`. Note that because here, *z* is increasing downwards (unlike in :ref:`Hostetler and Bartlein (1990)`), eq. contains no negative sign; this is a correction from CLM4. The density of water is (:ref:`Hostetler and Bartlein (1990)`) +and :math:`g` is the acceleration due to gravity (m s\ :sup:`-2`) +(:numref:`Table Physical Constants`), :math:`\rho _{i}` is the density of water (kg +m\ :sup:`-3`), and :math:`\frac{\partial \rho }{\partial z}` is +approximated as +:math:`\frac{\rho _{i+1} -\rho _{i} }{z_{i+1} -z_{i} }` . Note that +because here, *z* is increasing downwards (unlike in :ref:`Hostetler and Bartlein (1990)`), eq. contains no negative sign; this is a correction +from CLM4. The density of water is +(:ref:`Hostetler and Bartlein (1990)`) .. math:: :label: 12.34 \rho _{i} =1000\left(1-1.9549\times 10^{-5} \left|T_{i} -277\right|^{1.68} \right). -The enhanced diffusivity :math:`K_{ed}` is given by (:ref:`Fang and Stefan 1996`) +The enhanced diffusivity :math:`K_{ed}` is given by +(:ref:`Fang and Stefan 1996`) .. math:: :label: 12.35 K_{ed} =1.04\times 10^{-8} \left(N^{2} \right)^{-0.43} ,N^{2} \ge 7.5\times 10^{-5} {\rm s}^{2} -where :math:`N^{2}` \ is calculated as in eq. except for the minimum value imposed in. +where :math:`N^{2}` \ is calculated as in eq. except for the minimum +value imposed in . -The thermal conductivity for the liquid water portion of lake body layer *i*, :math:`\tau _{liq,i}` (W m\ :sup:`-1` K\ :sup:`-1`) is given by +The thermal conductivity for the liquid water portion of lake body layer +*i*, :math:`\tau _{liq,i}` (W m\ :sup:`-1` K\ :sup:`-1`) is +given by .. math:: :label: 12.36 \tau _{liq,i} =K_{W} c_{liq} \rho _{liq} . -The thermal conductivity of the ice portion of lake body layer *i*, :math:`\tau _{ice,eff}` \ (W m\ :sup:`-1` K\ :sup:`-1`), is constant among layers, and is given by +The thermal conductivity of the ice portion of lake body layer *i*, +:math:`\tau _{ice,eff}` \ (W m\ :sup:`-1` K\ :sup:`-1`), is +constant among layers, and is given by .. math:: :label: 12.37 \tau _{ice,eff} =\tau _{ice} \frac{\rho _{ice} }{\rho _{liq} } -where :math:`\tau _{ice}` \ (:numref:`Table Physical Constants`) is the nominal thermal conductivity of ice: :math:`\tau _{ice,eff}` \ is adjusted for the fact that the nominal model layer thicknesses remain constant even while the physical ice thickness exceeds the water thickness. +where :math:`\tau _{ice}` \ (:numref:`Table Physical Constants`) is the nominal thermal +conductivity of ice: :math:`\tau _{ice,eff}` \ is adjusted for the fact +that the nominal model layer thicknesses remain constant even while the +physical ice thickness exceeds the water thickness. -The overall thermal conductivity :math:`\tau _{i}` for layer *i* with ice mass-fraction :math:`I_{i}` is the harmonic mean of the liquid and water fractions, assuming that they will be physically vertically stacked, and is given by +The overall thermal conductivity :math:`\tau _{i}` for layer *i* with +ice mass-fraction :math:`I_{i}` is the harmonic mean of the liquid +and water fractions, assuming that they will be physically vertically +stacked, and is given by .. math:: :label: 12.38 \tau _{i} =\frac{\tau _{ice,eff} \tau _{liq,i} }{\tau _{liq,i} I_{i} +\tau _{ice} \left(1-I_{i} \right)} . -The thermal conductivity of snow, soil, and bedrock layers above and below the lake, respectively, are computed identically to those for vegetated land units (Chapter :numref:`rst_Soil and Snow Temperatures`), except for the adjustment of thermal conductivity for frost heave or excess ice (:ref:`Subin et al., 2012a, Supporting Information`). +The thermal conductivity of snow, soil, and bedrock layers above and +below the lake, respectively, are computed identically to those for +vegetated land units (Chapter :numref:`rst_Soil and Snow Temperatures`), except for the adjustment of thermal +conductivity for frost heave or excess ice (:ref:`Subin et al., 2012a, +Supporting Information`). .. _Radiation Penetration: Radiation Penetration ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -If there are no resolved snow layers, the surface absorption fraction :math:`\beta` is set according to the near-infrared fraction simulated by the atmospheric model. This is apportioned to the surface energy budget (section :numref:`Surface Properties Lake`), and thus no additional radiation is absorbed in the top :math:`z_{a}` (currently 0.6 m) of unfrozen lakes, for which the light extinction coefficient :math:`\eta` (m\ :sup:`-1`) varies between lake columns (eq. ). For frozen lakes (:math:`T_{g} \le T_{f}` ), the remaining :math:`\left(1-\beta \right)\vec{S}_{g}` fraction of surface absorbed radiation that is not apportioned to the surface energy budget is absorbed in the top lake body layer. This is a simplification, as lake ice is partially transparent. If there are resolved snow layers, then the snow optics submodel (Chapter :numref:`rst_Surface Albedos`) is used to calculate the snow layer absorption (except for the absorption predicted for the top layer by the snow optics submodel, which is assigned to the surface energy budget), with the remainder penetrating snow layers absorbed in the top lake body ice layer. - -For unfrozen lakes, the solar radiation remaining at depth :math:`z>z_{a}` in the lake body is given by +If there are no resolved snow layers, the surface absorption fraction :math:`\beta` is set according to the near-infrared fraction simulated +by the atmospheric model. This is apportioned to the surface energy +budget (section :numref:`Surface Properties Lake`), and thus no additional radiation is absorbed in +the top :math:`z_{a}` (currently 0.6 m) of unfrozen lakes, for which +the light extinction coefficient :math:`\eta` (m\ :sup:`-1`) +varies between lake columns (eq. ). For frozen lakes +(:math:`T_{g} \le T_{f}` ), the remaining :math:`\left(1-\beta \right)\vec{S}_{g}` fraction of surface absorbed +radiation that is not apportioned to the surface energy budget is +absorbed in the top lake body layer. This is a simplification, as lake +ice is partially transparent. If there are resolved snow layers, then +the snow optics submodel (Chapter :numref:`rst_Surface Albedos`) is used to calculate the snow layer +absorption (except for the absorption predicted for the top layer by the +snow optics submodel, which is assigned to the surface energy budget), +with the remainder penetrating snow layers absorbed in the top lake body +ice layer. + +For unfrozen lakes, the solar radiation remaining at depth +:math:`z>z_{a}` in the lake body is given by .. math:: :label: 12.39 @@ -509,9 +744,14 @@ For all lake body layers, the flux absorbed by the layer *i*, \phi _{i} =\left(1-\beta \vec{S}_{g} \right)\left[\exp \left\{-\eta \left(z_{i} -\frac{\Delta z_{i} }{2} -z_{a} \right)\right\}-\exp \left\{-\eta \left(z_{i} +\frac{\Delta z_{i} }{2} -z_{a} \right)\right\}\right] . -The argument of each exponent is constrained to be non-negative (so :math:`\phi _{i}` = 0 for layers contained within :math:`{z}_{a}`). The remaining flux exiting the bottom of layer :math:`i=N_{levlak}` is absorbed in the top soil layer. +The argument of each exponent is constrained to be non-negative (so +:math:`\phi _{i}` = 0 for layers contained within :math:`{z}_{a}`). +The remaining flux exiting the bottom of layer :math:`i=N_{levlak}` is +absorbed in the top soil layer. -The light extinction coefficient :math:`\eta` (m\ :sup:`-1`), if not provided as external data, is a function of depth *d* (m) (:ref:`Subin et al. (2012a) `): +The light extinction coefficient :math:`\eta` (m\ :sup:`-1`), if +not provided as external data, is a function of depth *d* (m) +(:ref:`Subin et al. (2012a) `): .. math:: :label: 12.41 @@ -523,50 +763,79 @@ The light extinction coefficient :math:`\eta` (m\ :sup:`-1`), if not provided as Heat Capacities ^^^^^^^^^^^^^^^^^^^^^ -The vertically-integrated heat capacity for each lake layer, :math:`\text{c}_{v,i}` (J m\ :sup:`-2`) is determined by the mass-weighted average over the heat capacities for the water and ice fractions: +The vertically-integrated heat capacity for each lake layer, +:math:`\text{c}_{v,i}` (J m\ :sup:`-2`) is determined by the mass-weighted average over the heat capacities for the +water and ice fractions: .. math:: :label: 12.42 c_{v,i} =\Delta z_{i} \rho _{liq} \left[c_{liq} \left(1-I_{i} \right)+c_{ice} I_{i} \right] . -Note that the density of water is used for both ice and water fractions, as the thickness of the layer is fixed. +Note that the density of water is used for both ice and water fractions, +as the thickness of the layer is fixed. -The total heat capacity :math:`c_{v,i}` for each soil, snow, and bedrock layer (J m\ :sup:`-2`) is determined as for vegetated land units (Chapter :numref:`rst_Soil and Snow Temperatures`), as the sum of the heat capacities for the water, ice, and mineral constituents. +The total heat capacity :math:`c_{v,i}` for each soil, snow, and +bedrock layer (J m\ :sup:`-2`) is determined as for vegetated land +units (Chapter :numref:`rst_Soil and Snow Temperatures`), as the sum of the heat capacities for the water, ice, +and mineral constituents. .. _Crank-Nicholson Solution Lake: Crank-Nicholson Solution ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The solution method for thermal diffusion is similar to that used for soil (Chapter :numref:`rst_Soil and Snow Temperatures`), except that the lake body layers are sandwiched between the snow and soil layers (section :numref:`Introduction Lake`), and radiation flux is absorbed throughout the lake layers. Before solution, layer temperatures :math:`T_{i}` (K), thermal conductivities :math:`\tau _{i}` (W m\ :sup:`-1` K\ :sup:`-1`), heat capacities :math:`c_{v,i}` (J m\ :sup:`-2`), and layer and interface depths from all components are transformed into a uniform set of vectors with length :math:`N=n_{sno} +N_{levlak} +N_{levgrnd}` and consistent units to simplify the solution. Thermal conductivities at layer interfaces are calculated as the harmonic mean of the conductivities of the neighboring layers: +The solution method for thermal diffusion is similar to that used for +soil (Chapter :numref:`rst_Soil and Snow Temperatures`), except that the +lake body layers are sandwiched between the snow and soil layers +(section :numref:`Introduction Lake`), and radiation flux is +absorbed throughout the lake layers. Before solution, layer temperatures +:math:`T_{i}` (K), thermal conductivities :math:`\tau _{i}` (W +m\ :sup:`-1` K\ :sup:`-1`), heat capacities :math:`c_{v,i}` +(J m\ :sup:`-2`), and layer and interface depths from all +components are transformed into a uniform set of vectors with length +:math:`N=n_{sno} +N_{levlak} +N_{levgrnd}` and consistent units to +simplify the solution. Thermal conductivities at layer interfaces are +calculated as the harmonic mean of the conductivities of the neighboring +layers: .. math:: :label: 12.43 \lambda _{i} =\frac{\tau _{i} \tau _{i+1} \left(z_{i+1} -z_{i} \right)}{\tau _{i} \left(z_{i+1} -\hat{z}_{i} \right)+\tau _{i+1} \left(\hat{z}_{i} -z_{i} \right)} , -where :math:`\lambda _{i}` is the conductivity at the interface between layer *i* and layer *i +* 1, -:math:`z_{i}` is the depth of the node of layer *i*, and -:math:`\hat{z}_{i}` is the depth of the interface below layer *i*. Care is taken at the boundaries between snow and lake and between lake and soil. The governing equation is discretized for each layer as +where :math:`\lambda _{i}` is the conductivity at the interface between +layer *i* and layer *i +* 1, :math:`z_{i}` is the depth of the node of +layer *i*, and :math:`\hat{z}_{i}` is the depth of the interface below +layer *i*. Care is taken at the boundaries between snow and lake and +between lake and soil. The governing equation is discretized for each +layer as .. math:: :label: 12.44 \frac{c_{v,i} }{\Delta t} \left(T_{i}^{n+1} -T_{i}^{n} \right)=F_{i-1} -F_{i} +\phi _{i} -where superscripts *n* + 1 and *n* denote values at the end and beginning of the timestep :math:`\Delta t`, respectively, -:math:`F_{i}` (W m\ :sup:`-2`) is the downward heat flux at the bottom of layer *i*, and -:math:`\phi _{i}` is the solar radiation absorbed in layer *i*. +where superscripts *n* + 1 and *n* denote values at the end and +beginning of the timestep :math:`\Delta t`, respectively, :math:`F_{i}` +(W m\ :sup:`-2`) is the downward heat flux at the bottom of layer +*i*, and :math:`\phi _{i}` is the solar radiation absorbed in layer +*i*. -Eq. is solved using the semi-implicit Crank-Nicholson Method, resulting in a tridiagonal system of equations: +Eq. is solved using the semi-implicit Crank-Nicholson Method, resulting +in a tridiagonal system of equations: .. math:: :label: 12.45 \begin{array}{l} {r_{i} =a_{i} T_{i-1}^{n+1} +b_{i} T_{i}^{n+1} +cT_{i+1}^{n+1} ,} \\ {a_{i} =-0.5\frac{\Delta t}{c_{v,i} } \frac{\partial F_{i-1} }{\partial T_{i-1}^{n} } ,} \\ {b_{i} =1+0.5\frac{\Delta t}{c_{v,i} } \left(\frac{\partial F_{i-1} }{\partial T_{i-1}^{n} } +\frac{\partial F_{i} }{\partial T_{i}^{n} } \right),} \\ {c_{i} =-0.5\frac{\Delta t}{c_{v,i} } \frac{\partial F_{i} }{\partial T_{i}^{n} } ,} \\ {r_{i} =T_{i}^{n} +0.5\frac{\Delta t}{c_{v,i} } \left(F_{i-1} -F_{i} \right)+\frac{\Delta t}{c_{v,i} } \phi _{i} .} \end{array} -The fluxes :math:`F_{i}` are defined as follows: for the top layer, :math:`F_{j_{top} -1} =2G;a_{j_{top} } =0`, where *G* is defined as in section :numref:`Boundary Conditions Lake` (the factor of 2 merely cancels out the Crank-Nicholson 0.5 in the equation for :math:`r_{j_{top} }` ). For the bottom layer, :math:`F_{N_{levlak} +N_{levgrnd} } =0`. For all other layers: +The fluxes :math:`F_{i}` are defined as follows: for the top layer, +:math:`F_{j_{top} -1} =2G;a_{j_{top} } =0`, where *G* is defined as in +section :numref:`Boundary Conditions Lake` (the factor of 2 merely cancels +out the Crank-Nicholson 0.5 in the equation for :math:`r_{j_{top} }` ). +For the bottom layer, :math:`F_{N_{levlak} +N_{levgrnd} } =0`. +For all other layers: .. math:: :label: 12.46 @@ -578,32 +847,47 @@ The fluxes :math:`F_{i}` are defined as follows: for the top layer, :math:`F_{j_ Phase Change ^^^^^^^^^^^^^^^^^^ -Phase change in the lake, snow, and soil is done similarly to that done for the soil and snow for vegetated land units (Chapter :numref:`rst_Soil and Snow Temperatures`), except without the allowance for freezing point depression in soil underlying lakes. After the heat diffusion is calculated, phase change occurs in a given layer if the temperature is below freezing and liquid water remains, or if the temperature is above freezing and ice remains. +Phase change in the lake, snow, and soil is done similarly to that done +for the soil and snow for vegetated land units (Chapter :numref:`rst_Soil and Snow Temperatures`), except +without the allowance for freezing point depression in soil underlying +lakes. After the heat diffusion is calculated, phase change occurs in a +given layer if the temperature is below freezing and liquid water +remains, or if the temperature is above freezing and ice remains. -If melting occurs, the available energy for melting, :math:`Q_{avail}` (J m\ :sup:`-2`), is computed as +If melting occurs, the available energy for melting, :math:`Q_{avail}` +(J m\ :sup:`-2`), is computed as .. math:: :label: 12.47 Q_{avail} =\left(T_{i} -T_{f} \right)c_{v,i} -where :math:`T_{i}` is the temperature of the layer after thermal diffusion (section :numref:`Crank-Nicholson Solution Lake`), and -:math:`c_{v,i}` \ is as calculated in section :numref:`Heat Capacities Lake`. The mass of melt in the layer *M* (kg m\ :sup:`-2`) is given by +where :math:`T_{i}` is the temperature of the layer after thermal +diffusion (section :numref:`Crank-Nicholson Solution Lake`), and +:math:`c_{v,i}` \ is as calculated in section +:numref:`Heat Capacities Lake`. The mass of melt in the layer *M* +(kg m\ :sup:`-2`) is given by .. math:: :label: 12.48 M=\min \left\{M_{ice} ,\frac{Q_{avail} }{H_{fus} } \right\} -where :math:`H_{fus}` (J kg\ :sup:`-1`) is the latent heat of fusion of water (:numref:`Table Physical Constants`), and -:math:`M_{ice}` is the mass of ice in the layer: :math:`I_{i} \rho _{liq} \Delta z_{i}` for a lake body layer, or simply the soil / snow ice content state variable (:math:`w_{ice}` ) for a soil / snow layer. The heat remainder, :math:`Q_{rem}` \ is given by +where :math:`H_{fus}` (J kg\ :sup:`-1`) is the latent heat of +fusion of water (:numref:`Table Physical Constants`), and :math:`M_{ice}` is the mass of ice in +the layer: :math:`I_{i} \rho _{liq} \Delta z_{i}` for a lake body +layer, or simply the soil / snow ice content state variable +(:math:`w_{ice}` ) for a soil / snow layer. The heat remainder, +:math:`Q_{rem}` \ is given by .. math:: :label: 12.49 Q_{rem} =Q_{avail} -MH_{fus} . -Finally, the mass of ice in the layer :math:`M_{ice}` is adjusted downwards by :math:`M`, and the temperature :math:`T_{i}` of the layer is adjusted to +Finally, the mass of ice in the layer :math:`M_{ice}` is adjusted +downwards by :math:`M`, and the temperature :math:`T_{i}` of the +layer is adjusted to .. math:: :label: 12.50 @@ -612,25 +896,64 @@ Finally, the mass of ice in the layer :math:`M_{ice}` is adjusted downwards by : where :math:`c'_{v,i} =c_{v,i} +M\left(c_{liq} -c_{ice} \right)`. -If freezing occurs, :math:`Q_{avail}` is again given by but will be negative. The melt :math:`M`, also negative, is given by +If freezing occurs, :math:`Q_{avail}` is again given by but will be +negative. The melt :math:`M`, also negative, is given by .. math:: :label: 12.51 M=\max \left\{-M_{liq} ,\frac{Q_{avail} }{H_{fus} } \right\} -where :math:`M_{liq}` is the mass of water in the layer: :math:`\left(1-I_{i} \right)\rho _{liq} \Delta z_{i}` for a lake body layer, or the soil / snow water content state variable (:math:`w_{liq}` ). The heat remainder :math:`Q_{rem}` is given by eq. and will be negative or zero. Finally, :math:`M_{liq}` is adjusted downwards by :math:`-M` and the temperature is reset according to eq.. +where :math:`M_{liq}` is the mass of water in the layer: +:math:`\left(1-I_{i} \right)\rho _{liq} \Delta z_{i}` for a lake body +layer, or the soil / snow water content state variable +(:math:`w_{liq}` ). The heat remainder :math:`Q_{rem}` is given by eq. +and will be negative or zero. Finally, :math:`M_{liq}` is adjusted +downwards by :math:`-M` and the temperature is reset according to eq. . + +In the presence of nonzero snow water :math:`W_{sno}` without resolved +snow layers over -In the presence of nonzero snow water :math:`W_{sno}` without resolved snow layers over an unfrozen top lake layer, the available energy in the top lake layer :math:`\left(T_{1} -T_{f} \right)c_{v,1}` is used to melt the snow. Similar to above, :math:`W_{sno}` is either completely melted and the remainder of heat returned to the top lake layer, or the available heat is exhausted and the top lake layer is set to freezing. The snow thickness is adjusted downwards in proportion to the amount of melt, maintaining constant density. +an unfrozen top lake layer, the available energy in the top lake layer +:math:`\left(T_{1} -T_{f} \right)c_{v,1}` is used to melt the snow. +Similar to above, :math:`W_{sno}` is either completely melted and the +remainder of heat returned to the top lake layer, or the available heat +is exhausted and the top lake layer is set to freezing. The snow +thickness is adjusted downwards in proportion to the amount of melt, +maintaining constant density. .. _Convection Lake: Convection ^^^^^^^^^^^^^^^^ -Convective mixing is based on :ref:`Hostetler et al.'s (1993, 1994)` coupled lake-atmosphere model, adjusting the lake temperature after diffusion and phase change to maintain a stable density profile. Unfrozen lakes overturn when :math:`\rho _{i} >\rho _{i+1}`, in which case the layer thickness weighted average temperature for layers 1 to :math:`i+1` is applied to layers 1 to :math:`i+1` and the densities are updated. This scheme is applied iteratively to layers :math:`1\le i`), as occasionally these can be induced by heat expelled from the sediments (not present in the original :ref:`Hostetler et al. (1994)` model). Mixing proceeds from the bottom upward in this case (i.e., first mixing layers :math:`i=N_{levlak} -1` and :math:`i=N_{levlak}`, then checking :math:`i=N_{levlak} -2` and :math:`i=N_{levlak} -1` and mixing down to :math:`i=N_{levlak}` if needed, and on to the top), so as not to mix in with warmer over-lying layers.\ - -For frozen lakes, this algorithm is generalized to conserve total enthalpy and ice content, and to maintain ice contiguous at the top of the lake. Thus, an additional mixing criterion is added: the presence of ice in a layer that is below a layer which is not completely frozen. When this occurs, these two lake layers and all those above mix. Total enthalpy *Q* is conserved as +Convective mixing is based on +:ref:`Hostetler et al.’s (1993, 1994)` coupled +lake-atmosphere model, adjusting the lake temperature after diffusion +and phase change to maintain a stable density profile. Unfrozen lakes +overturn when :math:`\rho _{i} >\rho _{i+1}` , in which case the layer +thickness weighted average temperature for layers 1 to :math:`i+1` is +applied to layers 1 to :math:`i+1` and the densities are updated. This +scheme is applied iteratively to layers :math:`1\le i`), as occasionally +these can be induced by +heat expelled from the sediments (not present in the original +:ref:`Hostetler et al. (1994)` model). Mixing proceeds +from the bottom upward in this +case (i.e., first mixing layers :math:`i=N_{levlak} -1` and +:math:`i=N_{levlak}` , then checking :math:`i=N_{levlak} -2` and +:math:`i=N_{levlak} -1` and mixing down to :math:`i=N_{levlak}` if +needed, and on to the top), so as not to mix in with warmer over-lying +layers.\ + +For frozen lakes, this algorithm is generalized to conserve total +enthalpy and ice content, and to maintain ice contiguous at the top of +the lake. Thus, an additional mixing criterion is added: the presence of +ice in a layer that is below a layer which is not completely frozen. +When this occurs, these two lake layers and all those above mix. Total +enthalpy *Q* is conserved as .. math:: :label: 12.52 @@ -644,27 +967,45 @@ Once the average ice fraction :math:`I_{av}` is calculated from \begin{array}{l} {I_{av} =\frac{\sum _{j=1}^{i+1}I_{j} \Delta z_{j} }{Z_{i+1} } ,} \\ {Z_{i+1} =\sum _{j=1}^{i+1}\Delta z_{j} ,} \end{array} -the temperatures are calculated. A separate temperature is calculated for the frozen (:math:`T_{froz}` ) and unfrozen (:math:`T_{unfr}` ) fractions of the mixed layers. If the total heat content *Q* is positive (e.g. some layers will be above freezing), then the extra heat is all assigned to the unfrozen layers, while the fully frozen layers are kept at freezing. Conversely, if :math:`Q < 0`, the heat deficit will all be assigned to the ice, and the liquid layers will be kept at freezing. For the layer that contains both ice and liquid (if present), a weighted average temperature will have to be calculated. +the temperatures are calculated. A separate temperature is calculated +for the frozen (:math:`T_{froz}` ) and unfrozen (:math:`T_{unfr}` ) +fractions of the mixed layers. If the total heat content *Q* is positive +(e.g. some layers will be above freezing), then the extra heat is all +assigned to the unfrozen layers, while the fully frozen layers are kept +at freezing. Conversely, if :math:`Q < 0`, the heat deficit will all +be assigned to the ice, and the liquid layers will be kept at freezing. +For the layer that contains both ice and liquid (if present), a weighted +average temperature will have to be calculated. -If :math:`Q > 0`, then :math:`T_{froz} =T_{f}`, and :math:`T_{unfr}` is given by +If :math:`Q > 0`, then :math:`T_{froz} =T_{f}` , and :math:`T_{unfr}` +is given by .. math:: :label: 12.54 T_{unfr} =\frac{Q}{\rho _{liq} Z_{i+1} \left[\left(1-I_{av} \right)c_{liq} \right]} +T_{f} . -If :math:`Q < 0`, then :math:`T_{unfr} =T_{f}`, and :math:`T_{froz}` is given by +If :math:`Q < 0`, then :math:`T_{unfr} =T_{f}` , and :math:`T_{froz}` +is given by .. math:: :label: 12.55 T_{froz} =\frac{Q}{\rho _{liq} Z_{i+1} \left[I_{av} c_{ice} \right]} +T_{f} . -The ice is lumped together at the top. For each lake layer *j* from 1 to *i* + 1, the ice fraction and temperature are set as follows, where :math:`Z_{j} =\sum _{m=1}^{j}\Delta z_{m}` : +The ice is lumped together at the top. For each lake layer *j* from 1 +to *i* + 1, the ice fraction and temperature are set as follows, where +:math:`Z_{j} =\sum _{m=1}^{j}\Delta z_{m}` : -#. If :math:`Z_{j} \le Z_{i+1} I_{av}`, then :math:`I_{j} =1` and :math:`T_{j} =T_{froz}`. +#. If :math:`Z_{j} \le Z_{i+1} I_{av}` , then :math:`I_{j} =1` and + :math:`T_{j} =T_{froz}` . -#. Otherwise, if :math:`Z_{j-1} 1000{\rm m}`, in which case additional precipitation and frost deposition is added to :math:`q_{snwcp,\, ice}`. - -If there are resolved snow layers, the generalized "evaporation" :math:`E_{g}` (i.e., evaporation, dew, frost, and sublimation) is treated as over other land units, except that the allowed evaporation from the ground is unlimited (though the top snow layer cannot lose more water mass than it contains). If there are no resolved snow layers but :math:`W_{sno} >0` and :math:`E_{g} >0`, sublimation :math:`q_{sub,sno}` \ (kg m\ :sup:`-2` s\ :sup:`-1`) will be given by +All precipitation reaches the ground, as there is no vegetated fraction. +As for other land types, incident snowfall accumulates (with ice mass +:math:`W_{sno}` and thickness :math:`z_{sno}` ) until its thickness +exceeds a minimum thickness :math:`s_{\min }` , at which point a +resolved snow layer is initiated, with water, ice, dissolved aerosol, +snow-grain radius, etc., state variables tracked by the Snow Hydrology +submodel (Chapter :numref:`rst_Snow Hydrology`). The density of fresh snow is +assigned as for other land types (Chapter :numref:`rst_Snow Hydrology`). +Solid precipitation is added immediately +to the snow, while liquid precipitation is added to snow layers, if they +exist, after accounting for dew, frost, and sublimation (below). If +:math:`z_{sno}` exceeds :math:`s_{\min }` after solid precipitation is +added but no snow layers are present, a new snow layer is initiated +immediately, and then dew, frost, and sublimation are accounted for. +Snow-capping is invoked if the snow depth :math:`z_{sno} >1000{\rm m}`, +in which case additional precipitation and frost deposition is added to +:math:`q_{snwcp,\, ice}` . + +If there are resolved snow layers, the generalized “evaporation” +:math:`E_{g}` (i.e., evaporation, dew, frost, and sublimation) is +treated as over other land units, except that the allowed evaporation +from the ground is unlimited (though the top snow layer cannot lose more +water mass than it contains). If there are no resolved snow layers but +:math:`W_{sno} >0` and :math:`E_{g} >0`, sublimation +:math:`q_{sub,sno}` \ (kg m\ :sup:`-2` s\ :sup:`-1`) will be +given by .. math:: :label: 12.60 q_{sub,sno} =\min \left\{E_{g} ,\frac{W_{sno} }{\Delta t} \right\} . -If :math:`E_{g} <0,T_{g} \le T_{f}`, and there are no resolved snow layers or the top snow layer is not unfrozen, then the rate of frost production :math:`q_{frost} =\left|E_{g} \right|`. If :math:`E_{g} <0` but the top snow layer has completely thawed during the Phase Change step of the Lake Temperature solution (section :numref:`Phase Change Lake`), then frost (or dew) is not allowed to accumulate (:math:`q_{frost} =0`), to insure that the layer is eliminated by the Snow Hydrology (Chapter :numref:`rst_Snow Hydrology`) code. (If :math:`T_{g} >T_{f}`, then no snow is present (section :numref:`Surface Flux Solution Lake`), and evaporation or dew deposition is balanced by :math:`q_{rgwl}`.) The snowpack is updated for frost and sublimation: +If :math:`E_{g} <0,T_{g} \le T_{f}` , and there are no resolved snow +layers or the top snow layer is not unfrozen, then the rate of frost +production :math:`q_{frost} =\left|E_{g} \right|`. If :math:`E_{g} <0` +but the top snow layer has completely thawed during the Phase Change step +of the Lake Temperature solution (section :numref:`Phase Change Lake`), then +frost (or dew) is not allowed to accumulate (:math:`q_{frost} =0`), to +insure that the layer is eliminated by the Snow Hydrology +(Chapter :numref:`rst_Snow Hydrology`) code. (If :math:`T_{g} >T_{f}`, +then no snow is present (section :numref:`Surface Flux Solution Lake`), and +evaporation or dew deposition is balanced by :math:`q_{rgwl}` .) The +snowpack is updated for frost and sublimation: .. math:: :label: 12.61 W_{sno} =W_{sno} +\Delta t\left(q_{frost} -q_{sub,sno} \right) . -If there are resolved snow layers, then this update occurs using the Snow Hydrology submodel (Chapter :numref:`rst_Snow Hydrology`). Otherwise, the snow ice mass is updated directly, and :math:`z_{sno}` is adjusted by the same proportion as the snow ice (i.e., maintaining the same density), unless there was no snow before adding the frost, in which case the density is assumed to be 250 kg m\ :sup:`-3`. +If there are resolved snow layers, then this update occurs using the Snow +Hydrology submodel (Chapter :numref:`rst_Snow Hydrology`). Otherwise, the +snow ice mass is updated directly, and :math:`z_{sno}` is adjusted by the same +proportion as the snow ice (i.e., maintaining the same density), unless +there was no snow before adding the frost, in which case the density is +assumed to be 250 kg m\ :sup:`-3`. .. _Soil Hydrology Lake: Soil Hydrology ^^^^^^^^^^^^^^^^^^^^ -The combined water and ice soil volume fraction in a soil layer :math:`\theta _{i}` is given by +The combined water and ice soil volume fraction in a soil layer +:math:`\theta _{i}` is given by .. math:: :label: 12.62 \theta _{i} =\frac{1}{\Delta z_{i} } \left(\frac{w_{ice,i} }{\rho _{ice} } +\frac{w_{liq,i} }{\rho _{liq} } \right) . -If :math:`\theta _{i} <\theta _{sat,i}`, the pore volume fraction at saturation (as may occur when ice melts), then the liquid water mass is adjusted to +If :math:`\theta _{i} <\theta _{sat,i}` , the pore volume fraction at +saturation (as may occur when ice melts), then the liquid water mass is +adjusted to .. math:: :label: 12.63 w_{liq,i} =\left(\theta _{sat,i} \Delta z_{i} -\frac{w_{ice,i} }{\rho _{ice} } \right)\rho _{liq} . -Otherwise, if excess ice is melting and :math:`w_{liq,i} >\theta _{sat,i} \rho _{liq} \Delta z_{i}`, then the water in the layer is reset to +Otherwise, if excess ice is melting and +:math:`w_{liq,i} >\theta _{sat,i} \rho _{liq} \Delta z_{i}` , then the +water in the layer is reset to .. math:: :label: 12.64 w_{liq,i} = \theta _{sat,i} \rho _{liq} \Delta z_{i} -This allows excess ice to be initialized (and begin to be lost only after the pore ice is melted, which is realistic if the excess ice is found in heterogeneous chunks) but irreversibly lost when melt occurs. +This allows excess ice to be initialized (and begin to be lost only +after the pore ice is melted, which is realistic if the excess ice is +found in heterogeneous chunks) but irreversibly lost when melt occurs. .. _Modifications to Snow Layer Logic Lake: Modifications to Snow Layer Logic ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -A thickness difference :math:`z_{lsa} =s_{\min } -\tilde{s}_{\min }` adjusts the minimum resolved snow layer thickness for lake columns as compared to non-lake columns. The value of :math:`z_{lsa}` is chosen to satisfy the CFL condition for the model timestep. By default, :math:`\tilde{s}_{\min }` \ = 1 cm and :math:`s_{\min }` \ = 4 cm. See :ref:`Subin et al. (2012a; including Supporting Information)` for further discussion. - -The rules for combining and sub-dividing snow layers (section :numref:`Snow Layer Combination and Subdivision`) are adjusted for lakes to maintain minimum thicknesses of :math:`s_{\min }` and to increase all target layer thicknesses by :math:`z_{lsa}`. The rules for combining layers are modified by simply increasing layer thickness thresholds by :math:`z_{lsa}`. The rules for dividing snow layers are contained in a separate subroutine that is modified for lakes, and is a function of the number of layers and the layer thicknesses. There are two types of operations: (a) subdividing layers in half, and (b) shifting some volume from higher layers to lower layers (without increasing the layer number). For subdivisions of type (a), the thickness thresholds triggering subdivision are increased by :math:`2z_{lsa}` for lakes. For shifts of type (b), the thickness thresholds triggering the shifts are increased by :math:`z_{lsa}`. At the end of the modified subroutine, a snow ice and liquid balance check are performed. - -In rare instances, resolved snow layers may be present over an unfrozen top lake body layer. In this case, the snow layers may be eliminated if enough heat is present in the top layer to melt the snow: see :ref:`Subin et al. (2012a, Supporting Information) `. +A thickness difference :math:`z_{lsa} =s_{\min } -\tilde{s}_{\min }` +adjusts the minimum resolved snow layer thickness for lake columns as +compared to non-lake columns. The value of :math:`z_{lsa}` is chosen to +satisfy the CFL condition for the model timestep. By default, +:math:`\tilde{s}_{\min }` \ = 1 cm and :math:`s_{\min }` \ = 4 cm. See +:ref:`Subin et al. (2012a; including Supporting Information)` +for further discussion. + +The rules for combining and sub-dividing snow layers (section +:numref:`Snow Layer Combination and Subdivision`) are +adjusted for lakes to maintain minimum thicknesses of :math:`s_{\min }` +and to increase all target layer thicknesses by :math:`z_{lsa}` . The +rules for combining layers are modified by simply increasing layer +thickness thresholds by :math:`z_{lsa}` . The rules for dividing snow +layers are contained in a separate subroutine that is modified for +lakes, and is a function of the number of layers and the layer +thicknesses. There are two types of operations: (a) subdividing layers +in half, and (b) shifting some volume from higher layers to lower layers +(without increasing the layer number). For subdivisions of type (a), the +thickness thresholds triggering subdivision are increased by +:math:`2z_{lsa}` for lakes. For shifts of type (b), the thickness +thresholds triggering the shifts are increased by :math:`z_{lsa}` . At +the end of the modified subroutine, a snow ice and liquid balance check +are performed. + +In rare instances, resolved snow layers may be present over an unfrozen +top lake body layer. In this case, the snow layers may be eliminated if +enough heat is present in the top layer to melt the snow: see +:ref:`Subin et al. (2012a, Supporting Information) `. diff --git a/doc/source/tech_note/Land-Only_Mode/CLM50_Tech_Note_Land-Only_Mode.rst b/doc/source/tech_note/Land-Only_Mode/CLM50_Tech_Note_Land-Only_Mode.rst index 5ee0087fec..9fba6f187c 100644 --- a/doc/source/tech_note/Land-Only_Mode/CLM50_Tech_Note_Land-Only_Mode.rst +++ b/doc/source/tech_note/Land-Only_Mode/CLM50_Tech_Note_Land-Only_Mode.rst @@ -3,27 +3,80 @@ Land-Only Mode ================ -In land-only mode (uncoupled to an atmospheric model), the atmospheric forcing required by CLM (:numref:`Table Atmospheric input to land model`) is supplied by observed datasets. The standard forcing provided with the model is a 110-year (1901-2010) dataset provided by the Global Soil Wetness Project (GSWP3; NEED A REFERENCE). The GSWP3 dataset has a spatial resolution of 0.5° X 0.5° and a temporal resolution of three hours. - -An alternative forcing dataset is also available, CRUNCEP, a 110-year (1901-2010) dataset (CRUNCEP; :ref:`Viovy 2011 `) that is a combination of two existing datasets; the CRU TS3.2 0.5° X 0.5° monthly data covering the period 1901 to 2002 (:ref:`Mitchell and Jones 2005 `) and the NCEP reanalysis 2.5° X 2.5° 6-hourly data covering the period 1948 to 2010. The CRUNCEP dataset has been used to force CLM for studies of vegetation growth, evapotranspiration, and gross primary production (:ref:`Mao et al. 2012 `, :ref:`Mao et al. 2013 `, :ref:`Shi et al. 2013 `) and for the TRENDY (trends in net land-atmosphere carbon exchange over the period 1980-2010) project (:ref:`Piao et al. 2012 `). Version 7 is available here (:ref:`Viovy 2011 `). - -Here, the GSWP3 dataset, which does not include data for particular fields over oceans, lakes, and Antarctica is modified. This missing data is filled with :ref:`Qian et al. (2006) ` data from 1948 that is interpolated by the data atmosphere model to the 0.5° GSWP3 grid. This allows the model to be run over Antarctica and ensures data is available along coastlines regardless of model resolution. - -The forcing data is ingested into a data atmosphere model in three "streams"; precipitation (:math:`P`) (mm s\ :sup:`-1`), solar radiation (:math:`S_{atm}` ) (W m\ :sup:`-2`), and four other fields [atmospheric pressure :math:`P_{atm}` (Pa), atmospheric specific humidity :math:`q_{atm}` (kg kg\ :sup:`-1`), atmospheric temperature :math:`T_{atm}` (K), and atmospheric wind :math:`W_{atm}` (m s\ :sup:`-1`)]. These are separate streams because they are handled differently according to the type of field. In the GSWP3 dataset, the precipitation stream is provided at three hour intervals and the data atmosphere model prescribes the same precipitation rate for each model time step within the three hour period. The four fields that are grouped together in another stream (pressure, humidity, temperature, and wind) are provided at three hour intervals and the data atmosphere model linearly interpolates these fields to the time step of the model. - -The total solar radiation is also provided at three hour intervals. The data is fit to the model time step using a diurnal function that depends on the cosine of the solar zenith angle :math:`\mu` to provide a smoother diurnal cycle of solar radiation and to ensure that all of the solar radiation supplied by the three-hourly forcing data is actually used. The solar radiation at model time step :math:`t_{M}` is +In land-only mode (uncoupled to an atmospheric model), the atmospheric +forcing required by CLM (:numref:`Table Atmospheric input to land model`) +is supplied by observed datasets. The standard forcing provided with the +model is a 110-year (1901-2010) dataset provided by the Global Soil Wetness +Project (GSWP3; NEED A REFERENCE). The GSWP3 dataset has a spatial resolution of +0.5\ :sup:`o` X 0.5\ :sup:`o` and a temporal resolution of three +hours. + +An alternative forcing dataset is also available, CRUNCEP, a 110-year (1901-2010) dataset +(CRUNCEP; :ref:`Viovy 2011 `) that is a combination of two existing datasets; +the CRU TS3.2 0.5\ :sup:`o` X 0.5\ :sup:`o` monthly data covering the period +1901 to 2002 (:ref:`Mitchell and Jones 2005 `) +and the NCEP reanalysis 2.5\ :sup:`o` X 2.5\ :sup:`o` +6-hourly data covering the period 1948 to 2010. The CRUNCEP dataset has +been used to force CLM for studies of vegetation growth, +evapotranspiration, and gross primary production (:ref:`Mao et al. 2012 `, +:ref:`Mao et al. 2013 `, :ref:`Shi et al. 2013 `) +and for the TRENDY (trends in net land-atmosphere carbon exchange over the period +1980-2010) project (:ref:`Piao et al. 2012 `). Version 7 is available +here (:ref:`Viovy 2011 `). + +Here, the GSWP3 dataset, which does not include data for particular fields over oceans, +lakes, and Antarctica is modified. This missing data is filled with +:ref:`Qian et al. (2006) ` data from 1948 that is interpolated by the data atmosphere +model to the 0.5\ :sup:`o` GSWP3 grid. This allows the model +to be run over Antarctica and ensures data is available along coastlines +regardless of model resolution. + +The forcing data is ingested into a data atmosphere model in three +“streams”; precipitation (:math:`P`) (mm s\ :sup:`-1`), solar +radiation (:math:`S_{atm}` ) (W m\ :sup:`-2`), and four other +fields [atmospheric pressure :math:`P_{atm}` (Pa), atmospheric specific +humidity :math:`q_{atm}` (kg kg\ :sup:`-1`), atmospheric +temperature :math:`T_{atm}` (K), and atmospheric wind :math:`W_{atm}` +(m s\ :sup:`-1`)]. These are separate streams because they are +handled differently according to the type of field. In the GSWP3 +dataset, the precipitation stream is provided at three hour intervals and +the data atmosphere model prescribes the same precipitation rate for +each model time step within the three hour period. The four fields that +are grouped together in another stream (pressure, humidity, temperature, +and wind) are provided at three hour intervals and the data atmosphere +model linearly interpolates these fields to the time step of the model. + +The total solar radiation is also provided at three hour intervals. The +data is fit to the model time step using a diurnal function that depends +on the cosine of the solar zenith angle :math:`\mu` to provide a +smoother diurnal cycle of solar radiation and to ensure that all of the +solar radiation supplied by the three-hourly forcing data is actually +used. The solar radiation at model time step :math:`t_{M}` is .. math:: :label: 31.1 - \begin{array}{lr} - S_{atm} \left(t_{M} \right)=\frac{\frac{\Delta t_{FD} }{\Delta t_{M} } S_{atm} \left(t_{FD} \right)\mu \left(t_{M} \right)}{\sum _{i=1}^{\frac{\Delta t_{FD} }{\Delta t_{M} } }\mu \left(t_{M_{i} } \right) } & \qquad {\rm for\; }\mu \left(t_{M} \right)>0.001 \\ - S_{atm} \left(t_{M} \right)=0 & \qquad {\rm for\; }\mu \left(t_{M} \right)\le 0.001 + \begin{array}{lr} + S_{atm} \left(t_{M} \right)=\frac{\frac{\Delta t_{FD} }{\Delta t_{M} } S_{atm} \left(t_{FD} \right)\mu \left(t_{M} \right)}{\sum _{i=1}^{\frac{\Delta t_{FD} }{\Delta t_{M} } }\mu \left(t_{M_{i} } \right) } & \qquad {\rm for\; }\mu \left(t_{M} \right)>0.001 \\ + S_{atm} \left(t_{M} \right)=0 & \qquad {\rm for\; }\mu \left(t_{M} \right)\le 0.001 \end{array} -where :math:`\Delta t_{FD}` is the time step of the forcing data (3 hours :math:`\times` 3600 seconds hour\ :sup:`-1` = 10800 seconds), :math:`\Delta t_{M}` is the model time step (seconds), :math:`S_{atm} \left(t_{FD} \right)` is the three-hourly solar radiation from the forcing data (W m\ :sup:`-2`), and :math:`\mu \left(t_{M} \right)` is the cosine of the solar zenith angle at model time step :math:`t_{M}` (section :numref:`Solar Zenith Angle`). The term in the denominator of equation (1) is the sum of the cosine of the solar zenith angle for each model time step falling within the three hour period. For numerical purposes, :math:`\mu \left(t_{M_{i} } \right)\ge 0.001`. +where :math:`\Delta t_{FD}` is the time step of the forcing data (3 +hours :math:`\times` 3600 seconds hour\ :sup:`-1` = 10800 +seconds), :math:`\Delta t_{M}` is the model time step (seconds), +:math:`S_{atm} \left(t_{FD} \right)` is the three-hourly solar radiation +from the forcing data (W m\ :sup:`-2`), and +:math:`\mu \left(t_{M} \right)` is the cosine of the solar zenith angle +at model time step :math:`t_{M}` (section :numref:`Solar Zenith Angle`). The term in the +denominator of equation (1) is the sum of the cosine of the solar zenith +angle for each model time step falling within the three hour period. For +numerical purposes, :math:`\mu \left(t_{M_{i} } \right)\ge 0.001`. -The total incident solar radiation :math:`S_{atm}` at the model time step :math:`t_{M}` is then split into near-infrared and visible radiation and partitioned into direct and diffuse according to factors derived from one year's worth of hourly CAM output from CAM version cam3\_5\_55 as +The total incident solar radiation :math:`S_{atm}` at the model time +step :math:`t_{M}` is then split into near-infrared and visible +radiation and partitioned into direct and diffuse according to factors +derived from one year’s worth of hourly CAM output from CAM version +cam3\_5\_55 as .. math:: :label: 31.2 @@ -45,14 +98,16 @@ The total incident solar radiation :math:`S_{atm}` at the model time step :math: S_{atm} \, \downarrow _{nir} =\left(1-R_{nir} \right)\left[\left(1-\alpha \right)S_{atm} \right]. -where :math:`\alpha`, the ratio of visible to total incident solar radiation, is assumed to be +where :math:`\alpha` , the ratio of visible to total incident solar +radiation, is assumed to be .. math:: :label: 31.6 \alpha =\frac{S_{atm} \, \downarrow _{vis}^{\mu } +S_{atm} \, \downarrow _{vis}^{} }{S_{atm} } =0.5. -The ratio of direct to total incident radiation in the visible :math:`R_{vis}` is +The ratio of direct to total incident radiation in the visible +:math:`R_{vis}` is .. math:: :label: 31.7 @@ -66,9 +121,21 @@ and in the near-infrared :math:`R_{nir}` is R_{nir} =b_{0} +b_{1} \times \left(1-\alpha \right)S_{atm} +b_{2} \times \left[\left(1-\alpha \right)S_{atm} \right]^{2} +b_{3} \times \left[\left(1-\alpha \right)S_{atm} \right]^{3} \qquad 0.01\le R_{nir} \le 0.99 -where :math:`a_{0} =0.17639,\, a_{1} =0.00380,\, a_{2} =-9.0039\times 10^{-6},\, a_{3} =8.1351\times 10^{-9}` and :math:`b_{0} =0.29548,b_{1} =0.00504,b_{2} =-1.4957\times 10^{-5},b_{3} =1.4881\times 10^{-8}` are coefficients from polynomial fits to the CAM data. - -The additional atmospheric forcing variables required by :numref:`Table Atmospheric input to land model` are derived as follows. The atmospheric reference height :math:`z'_{atm}` (m) is set to 30 m. The directional wind components are derived as :math:`u_{atm} =v_{atm} ={W_{atm} \mathord{\left/ {\vphantom {W_{atm} \sqrt{2} }} \right.} \sqrt{2} }`. The potential temperature :math:`\overline{\theta _{atm} }` (K) is set to the atmospheric temperature :math:`T_{atm}`. The atmospheric longwave radiation :math:`L_{atm} \, \downarrow` (W m\ :sup:`-2`) is derived from the atmospheric vapor pressure :math:`e_{atm}` and temperature :math:`T_{atm}` (:ref:`Idso 1981`) as +where +:math:`a_{0} =0.17639,\, a_{1} =0.00380,\, a_{2} =-9.0039\times 10^{-6} ,\, a_{3} =8.1351\times 10^{-9}` +and +:math:`b_{0} =0.29548,b_{1} =0.00504,b_{2} =-1.4957\times 10^{-5} ,b_{3} =1.4881\times 10^{-8}` +are coefficients from polynomial fits to the CAM data. + +The additional atmospheric forcing variables required by :numref:`Table Atmospheric input to land model` are +derived as follows. The atmospheric reference height :math:`z'_{atm}` +(m) is set to 30 m. The directional wind components are derived as +:math:`u_{atm} =v_{atm} ={W_{atm} \mathord{\left/ {\vphantom {W_{atm} \sqrt{2} }} \right. \kern-\nulldelimiterspace} \sqrt{2} }` . +The potential temperature :math:`\overline{\theta _{atm} }` (K) is set +to the atmospheric temperature :math:`T_{atm}` . The atmospheric +longwave radiation :math:`L_{atm} \, \downarrow` (W m\ :sup:`-2`) +is derived from the atmospheric vapor pressure :math:`e_{atm}` and +temperature :math:`T_{atm}` (:ref:`Idso 1981`) as .. math:: :label: 31.9 @@ -82,7 +149,10 @@ where e_{atm} =\frac{P_{atm} q_{atm} }{0.622+0.378q_{atm} } -and :math:`\sigma` is the Stefan-Boltzmann constant (W m\ :sup:`-2` K\ :sup:`-4`) (:numref:`Table Physical constants`). The fraction of precipitation :math:`P` (mm s\ :sup:`-1`) falling as rain and/or snow is +and :math:`\sigma` is the Stefan-Boltzmann constant (W m\ :sup:`-2` K\ :sup:`-4`) +(:numref:`Table Physical constants`). The fraction of +precipitation :math:`P` (mm s\ :sup:`-1`) falling as rain and/or +snow is .. math:: :label: 31.11 @@ -101,39 +171,85 @@ where f_{P} =0<0.5\left(T_{atm} -T_{f} \right)<1. -The aerosol deposition rates :math:`D_{sp}` (14 rates as described in :numref:`Table Atmospheric input to land model`) are provided by a time-varying, globally-gridded aerosol deposition file developed by :ref:`Lamarque et al. (2010) `. +The aerosol deposition rates :math:`D_{sp}` (14 rates as described in +:numref:`Table Atmospheric input to land model`) are provided by a +time-varying, globally-gridded aerosol deposition file developed by +:ref:`Lamarque et al. (2010) `. -If the user wishes to provide atmospheric forcing data from another source, the data format outlined above will need to be followed with the following exceptions. The data atmosphere model will accept a user-supplied relative humidity :math:`RH` (%) and derive specific humidity :math:`q_{atm}` (kg kg\ :sup:`-1`) from +If the user wishes to provide atmospheric forcing data from another +source, the data format outlined above will need to be followed with the +following exceptions. The data atmosphere model will accept a +user-supplied relative humidity :math:`RH` (%) and derive specific +humidity :math:`q_{atm}` (kg kg\ :sup:`-1`) from .. math:: :label: 31.14 q_{atm} =\frac{0.622e_{atm} }{P_{atm} -0.378e_{atm} } -where the atmospheric vapor pressure :math:`e_{atm}` (Pa) is derived from the water (:math:`T_{atm} >T_{f}` ) or ice (:math:`T_{atm} \le T_{f}` ) saturation vapor pressure :math:`e_{sat}^{T_{atm} }` as :math:`e_{atm} =\frac{RH}{100} e_{sat}^{T_{atm} }` where :math:`T_{f}` is the freezing temperature of water (K) (:numref:`Table Physical constants`), and :math:`P_{atm}` is the pressure at height :math:`z_{atm}` (Pa). The data atmosphere model will also accept a user-supplied dew point temperature :math:`T_{dew}` (K) and derive specific humidity :math:`q_{atm}` from +where the atmospheric vapor pressure :math:`e_{atm}` (Pa) is derived +from the water (:math:`T_{atm} >T_{f}` ) or ice +(:math:`T_{atm} \le T_{f}` ) saturation vapor pressure +:math:`e_{sat}^{T_{atm} }` as +:math:`e_{atm} =\frac{RH}{100} e_{sat}^{T_{atm} }` where :math:`T_{f}` +is the freezing temperature of water (K) (:numref:`Table Physical constants`), and +:math:`P_{atm}` is the pressure at height :math:`z_{atm}` (Pa). The +data atmosphere model will also accept a user-supplied dew point +temperature :math:`T_{dew}` (K) and derive specific humidity +:math:`q_{atm}` from .. math:: :label: 31.15 q_{atm} = \frac{0.622e_{sat}^{T_{dew} } }{P_{atm} -0.378e_{sat}^{T_{dew} } } . -Here, :math:`e_{sat}^{T}`, the saturation vapor pressure as a function of temperature, is derived from :ref:`Lowe's (1977) ` polynomials. If not provided by the user, the atmospheric pressure :math:`P_{atm}` (Pa) is set equal to the standard atmospheric pressure :math:`P_{std} =101325` Pa, and surface pressure :math:`P_{srf}` (Pa) is set equal to\ :math:`P_{atm}`. - -The user may provide the total direct and diffuse solar radiation, :math:`S_{atm} \, \downarrow ^{\mu }` and :math:`S_{atm} \, \downarrow`. These will be time-interpolated using the procedure described above and then each term equally apportioned into the visible and near-infrared wavebands (e.g., :math:`S_{atm} \, \downarrow _{vis}^{\mu } =0.5S_{atm} \, \downarrow ^{\mu }`, :math:`S_{atm} \, \downarrow _{nir}^{\mu } =0.5S_{atm} \, \downarrow ^{\mu }` ). +Here, :math:`e_{sat}^{T}` , the saturation vapor pressure as a function +of temperature, is derived from :ref:`Lowe’s (1977) ` polynomials. If not +provided by the user, the atmospheric pressure :math:`P_{atm}` (Pa) is +set equal to the standard atmospheric pressure :math:`P_{std} =101325` +Pa, and surface pressure :math:`P_{srf}` (Pa) is set equal +to\ :math:`P_{atm}` . + +The user may provide the total direct and diffuse solar radiation, +:math:`S_{atm} \, \downarrow ^{\mu }` and +:math:`S_{atm} \, \downarrow` . These will be time-interpolated using +the procedure described above and then each term equally apportioned +into the visible and near-infrared wavebands (e.g., +:math:`S_{atm} \, \downarrow _{vis}^{\mu } =0.5S_{atm} \, \downarrow ^{\mu }` , +:math:`S_{atm} \, \downarrow _{nir}^{\mu } =0.5S_{atm} \, \downarrow ^{\mu }` ). .. _Anomaly Forcing: Anomaly Forcing ----------------------------- -The 'Anomaly Forcing' atmospheric forcing mode provides a means to drive CLM with projections of future climate conditions without the need for large, high-frequency datasets. From an existing climate simulation spanning both the historical and future time periods, a set of anomalies are created by removing a climatological seasonal cycle based on the end of the historical period from each year of the future time period of the simulation. These anomalies can then be applied to a repeating high-frequency forcing dataset of finite duration (e.g. 10 years). State and flux forcing variables are adjusted using additive and multiplicative anomalies, respectively: +The 'Anomaly Forcing' atmospheric forcing mode provides a means to drive +CLM with projections of future climate conditions without the need for +large, high-frequency datasets. From an existing climate simulation +spanning both the historical and future time periods, a set of anomalies +are created by removing a climatological seasonal cycle based on the end +of the historical period from each year of the future time period of the +simulation. These anomalies can then be applied to a repeating +high-frequency forcing dataset of finite duration (e.g. 10 years). State +and flux forcing variables are adjusted using additive and multiplicative +anomalies, respectively: .. math:: :label: 31.16 - \begin{array}{lr} - S^{'} = S + k_{anomaly} & \quad {\rm state \ variable} \\ - F^{'} = f \times k_{anomaly} & \quad {\rm flux \ variable} + \begin{array}{lr} + S^{'} = S + k_{anomaly} & \quad {\rm state \ variable} \\ + F^{'} = f \times k_{anomaly} & \quad {\rm flux \ variable} \end{array} -where :math:`S^{'}` is the adjusted atmospheric state variable, :math:`S` is the state variable from the high-frequency reference atmospheric forcing dataset, and :math:`k_{anomaly}` is an additive anomaly. Similarly, :math:`F^{'}` is the adjusted atmospheric flux variable, :math:`F` is the flux variable from the high-frequency reference atmospheric forcing dataset, and :math:`k_{anomaly}` is a multiplicative anomaly. State variables are temperature :math:`T_{atm}`, pressure :math:`P_{atm}`, humidity :math:`q_{atm}`, and wind :math:`W_{atm}`. Flux variables are precipitation :math:`P`, atmospheric shortwave radiation :math:`S_{atm} \, \downarrow`, and atmospheric longwave radiation :math:`L_{atm} \, \downarrow`. +where :math:`S^{'}` is the adjusted atmospheric state variable, :math:`S` +is the state variable from the high-frequency reference atmospheric +forcing dataset, and :math:`k_{anomaly}` is an additive anomaly. +Similarly, :math:`F^{'}` is the adjusted atmospheric flux variable, +:math:`F` is the flux variable from the high-frequency reference +atmospheric forcing dataset, and :math:`k_{anomaly}` is a +multiplicative anomaly. State variables are temperature :math:`T_{atm}`, +pressure :math:`P_{atm}`, humidity :math:`q_{atm}`, and wind +:math:`W_{atm}`. Flux variables are precipitation :math:`P`, atmospheric +shortwave radiation :math:`S_{atm} \, \downarrow`, and atmospheric +longwave radiation :math:`L_{atm} \, \downarrow`. diff --git a/doc/source/tech_note/MOSART/CLM50_Tech_Note_MOSART.rst b/doc/source/tech_note/MOSART/CLM50_Tech_Note_MOSART.rst index 3c10cd4507..439de8a7a1 100644 --- a/doc/source/tech_note/MOSART/CLM50_Tech_Note_MOSART.rst +++ b/doc/source/tech_note/MOSART/CLM50_Tech_Note_MOSART.rst @@ -8,14 +8,40 @@ Model for Scale Adaptive River Transport (MOSART) Overview --------- -MOSART is a river transport model designed for applications across local, regional and global scales :ref:`(Li et al., 2013b) `. A major purpose of MOSART is to provide freshwater input for the ocean model in coupled Earth System Models. MOSART also provides an effective way of evaluating and diagnosing the soil hydrology simulated by land surface models through direct comparison of the simulated river flow with observations of natural streamflow at gauging stations :ref:`(Li et al., 2015a)`. Moreover, MOSART provides a modeling framework for representing riverine transport and transformation of energy and biogeochemical fluxes under both natural and human-influenced conditions ( :ref:`(Li et al., 2015b) `. +MOSART is a river transport model designed for applications across local, +regional and global scales :ref:`(Li et al., 2013b) `. A +major purpose of MOSART is to provide freshwater input for the ocean +model in coupled Earth System Models. MOSART also provides an effective +way of evaluating and diagnosing the soil hydrology simulated by land +surface models through direct comparison of the simulated river flow +with observations of natural streamflow at gauging stations +:ref:`(Li et al., 2015a)`. Moreover, MOSART provides a +modeling framework for representing riverine transport and transformation +of energy and biogeochemical fluxes under both natural and human-influenced +conditions ( :ref:`(Li et al., 2015b) `. .. _Routing Processes: Routing Processes ------------------ -MOSART divides each spatial unit such as a lat/lon grid or watershed into three categories of hydrologic units (as shown in :numref:`Figure MOSART conceptual diagram`): hillslopes that convert both surface and subsurface runoff into tributaries, tributaries that discharge into a single main channel, and the main channel that connects the local spatial unit with upstream/downstream units through the river network. MOSART assumes that all the tributaries within a spatial unit can be treated as a single hypothetical sub-network channel with a transport capacity equivalent to all the tributaries combined. Correspondingly, three routing processes are represented in MOSART: 1) hillslope routing: in each spatial unit, surface runoff is routed as overland flow into the sub-network channel, while subsurface runoff generated in the spatial unit directly enters the sub-network channel; 2) sub-network channel routing: the sub-network channel receives water from the hillslopes, routes water through the channel and discharges it into the main channel; 3) main channel routing: the main channel receives water from the sub-network channel and/or inflow, if any, from the upstream spatial units, and discharges the water to its downstream spatial unit or the ocean. +MOSART divides each spatial unit such as a lat/lon grid or watershed into +three categories of hydrologic units (as shown in +:numref:`Figure MOSART conceptual diagram`): hillslopes +that convert both surface and subsurface runoff into tributaries, +tributaries that discharge into a single main channel, and the main channel +that connects the local spatial unit with upstream/downstream units through the +river network. MOSART assumes that all the tributaries within a spatial unit +can be treated as a single hypothetical sub-network channel with a transport +capacity equivalent to all the tributaries combined. Correspondingly, three +routing processes are represented in MOSART: 1) hillslope routing: in each +spatial unit, surface runoff is routed as overland flow into the sub-network +channel, while subsurface runoff generated in the spatial unit directly enters +the sub-network channel; 2) sub-network channel routing: the sub-network channel +receives water from the hillslopes, routes water through the channel and discharges +it into the main channel; 3) main channel routing: the main channel receives water +from the sub-network channel and/or inflow, if any, from the upstream spatial units, +and discharges the water to its downstream spatial unit or the ocean. .. Figure 14.1. MOSART conceptual diagram @@ -25,62 +51,146 @@ MOSART divides each spatial unit such as a lat/lon grid or watershed into three :width: 800px :height: 400px -MOSART only routes positive runoff, although negative runoff can be generated occasionally by the land model (e.g., :math:`q_{gwl}`). Negative runoff in any runoff component including :math:`q_{sur}`, :math:`q_{sub}`, :math:`q_{gwl}` is not routed through MOSART, but instead is mapped directly from the spatial unit where it is generated at any time step to the coupler. - -In MOSART, the travel velocities of water across hillslopes, sub-network and main channel are all estimated using Manning's equation with different levels of simplifications. Generally the Manning's equation is in the form of +MOSART only routes positive runoff, although negative runoff can be generated +occasionally by the land model (e.g., :math:`q_{gwl}`). Negative runoff in any +runoff component including :math:`q_{sur}`, :math:`q_{sub}`, :math:`q_{gwl}` +is not routed through MOSART, but instead is mapped directly from the spatial unit +where it is generated at any time step to the coupler. + +In MOSART, the travel velocities of water across hillslopes, sub-network and main +channel are all estimated using Manning’s equation with different levels of +simplifications. Generally the Manning’s equation is in the form of .. math:: :label: 14.1 - + V = \frac{R^{\frac{2}{3}} S_{f}}{n} -where :math:`V` is the travel velocity (m s :sup:`-1` ), :math:`R` is the hydraulic radius (m). :math:`S_{f}` is the friction slope that accounts for the effects of gravity, friction, inertia and other forces on the water. If the channel slope is steep enough, the gravity force dominates over the others so one can approximate :math:`S_{f}` by the channel bed slope :math:`S`, which is the key assumption underpinning the kinematic wave method. :math:`n` is the Manning's roughness coefficient, which is mainly controlled by surface roughness and sinuosity of the flow path. +where :math:`V` is the travel velocity (m s :sup:`-1` ), :math:`R` is the hydraulic +radius (m). :math:`S_{f}` is the friction slope that accounts for the effects +of gravity, friction, inertia and other forces on the water. If the channel slope +is steep enough, the gravity force dominates over the others so one can approximate +:math:`S_{f}` by the channel bed slope :math:`S` , which is the key assumption +underpinning the kinematic wave method. :math:`n` is the Manning’s roughness +coefficient, which is mainly controlled by surface roughness and sinuosity of the +flow path. -If the water surface is sufficiently large or the water depth :math:`h` is sufficiently shallow, the hydraulic radius can be approximated by the water depth. This is the case for both hillslope and sub-network channel routing. +If the water surface is sufficiently large or the water depth :math:`h` is +sufficiently shallow, the hydraulic radius can be approximated by the water depth. +This is the case for both hillslope and sub-network channel routing. .. math:: :label: 14.2 - + R_{h} = h_{h} R_{t} = h_{t} -Here :math:`R_{h}` (m) and :math:`R_{t}` (m) are hydraulic radius for hillslope and sub-network channel routing respectively, and :math:`h_{h}` (m) and :math:`h_{t}` (m) are water depth during hillslope and sub-network channel routing respectively. - -For the main channel, the hydraulic radius is given by +Here :math:`R_{h}` (m) and :math:`R_{t}` (m) are hydraulic radius for hillslope and +sub-network channel routing respectively, and :math:`h_{h}` (m) and :math:`h_{t}` +(m) are water depth during hillslope and sub-network channel routing respectively. + +For the main channel, the hydraulic radius is given by .. math:: :label: 14.3 - + R_{r} = \frac{A_{r}}{P_{r}} -where :math:`A_{r}` (m :sup:`2` ) is the wetted area defined as the part of the channel cross-section area below the water surface, :math:`P_{r}` (m) is the wetted perimeter, the perimeter confined in the wetted area. - -For hillslopes, sub-network and main channels, a common continuity equation can be written as +where :math:`A_{r}` (m :sup:`2` ) is the wetted area defined as the part of the +channel cross-section area below the water surface, :math:`P_{r}` (m) is the +wetted perimeter, the perimeter confined in the wetted area. + +For hillslopes, sub-network and main channels, a common continuity equation can +be written as .. math:: :label: 14.4 - + \frac{dS}{dt} = Q_{in} - Q_{out} + R -where :math:`Q_{in}` (m :sup:`3` s :sup:`-1` ) is the main channel flow from the upstream grid(s) into the main channel of the current grid, which is zero for hillslope and sub-network routing. :math:`Q_{out}` (m :sup:`3` s :sup:`-1` ) is the outflow rate from hillslope into the sub-network, from the sub-network into the main channel, or from the current main channel to the main channel of its downstream grid (if not the outlet grid) or ocean (if the current grid is the basin outlet). :math:`R` (m :sup:`3` s :sup:`-1` ) is a source term, which could be the surface runoff generation rate for hillslopes, or lateral inflow (from hillslopes) into sub-network channel or water-atmosphere exchange fluxes such as precipitation and evaporation. It is assumed that surface runoff is generated uniformly across all the hillslopes. Currently, MOSART does not exchange water with the atmosphere or return water to the land model so its function is strictly to transport water from runoff generation through the hillslope, tributaries, and main channels to the basin outlets. + +where :math:`Q_{in}` (m :sup:`3` s :sup:`-1` ) is the main channel flow from +the upstream grid(s) into the main channel of the current grid, which is zero for +hillslope and sub-network routing. :math:`Q_{out}` (m :sup:`3` s :sup:`-1` ) is +the outflow rate from hillslope into the sub-network, from the sub-network into +the main channel, or from the current main channel to the main channel of its +downstream grid (if not the outlet grid) or ocean (if the current grid is the +basin outlet). :math:`R` (m :sup:`3` s :sup:`-1` ) is a source term, which +could be the surface +runoff generation rate for hillslopes, or lateral inflow (from hillslopes) into +sub-network channel or water-atmosphere exchange fluxes such as precipitation +and evaporation. It is assumed that surface runoff is generated uniformly +across all the hillslopes. Currently, MOSART does not exchange water with +the atmosphere or return water to the land model so its function is strictly +to transport water from runoff generation through the hillslope, tributaries, +and main channels to the basin outlets. .. _Numerical Solution MOSART: Numerical Solution ---------------------------- -The numerical implementation of MOSART is mainly based on a subcycling scheme and a local time-stepping algorithm. There are two levels of subcycling. For convenience, we denote :math:`T_{inputs}` (s), :math:`T_{mosart}` (s), :math:`T_{hillslope}` (s) and :math:`T_{channel}` (s) as the time steps of runoff inputs (from CLM to MOSART via the flux coupler), MOSART routing, hillslope routing, and channel routing, respectively. The first level of subcycling is between the runoff inputs and MOSART routing. If :math:`T_{inputs}` is 10800s and :math:`T_{mosart}` is 3600s, three MOSART time steps will be invoked each time the runoff inputs are updated. The second level of subcycling is between the hillslope routing and channel routing. This is to account for the fact that the travel velocity of water across hillslopes is usually much slower than that in the channels. :math:`T_{hillslope}` is usually set as the same as :math:`T_{mosart}`, but within each time step of hillslope routing there are a few time steps for channel routing, i.e., :math:`T_{hillslope} = D_{levelH2R} \cdot T_{channel}`. The local time-stepping algorithm is to account for the fact that the travel velocity of water is much faster in some river channels (e.g., with steeper bed slope, narrower channel width) than others. That is, for each channel (either a sub-network or main channel), the final time step of local channel routing is given as :math:`T_{local}=T_{channel}/D_{local}`. :math:`D_{local}` is currently estimated empirically as a function of local channel slope, width, length and upstream drainage area. If MOSART crashes due to a numerical issue, we recommend increasing :math:`D_{levelH2R}` and, if the issue remains, reducing :math:`T_{mosart}`. +The numerical implementation of MOSART is mainly based on a subcycling +scheme and a local time-stepping algorithm. There are two levels of +subcycling. For convenience, we denote :math:`T_{inputs}` (s), +:math:`T_{mosart}` (s), :math:`T_{hillslope}` (s) and +:math:`T_{channel}` (s) as the time steps of runoff inputs (from CLM +to MOSART via the flux coupler), MOSART routing, hillslope routing, and +channel routing, respectively. The first level of subcycling is between +the runoff inputs and MOSART routing. If :math:`T_{inputs}` is 10800s +and :math:`T_{mosart}` is 3600s, three MOSART time steps will be +invoked each time the runoff inputs are updated. The second level of +subcycling is between the hillslope routing and channel routing. This +is to account for the fact that the travel velocity of water across +hillslopes is usually much slower than that in the channels. +:math:`T_{hillslope}` is usually set as the same as :math:`T_{mosart}`, +but within each time step of hillslope routing there are a few time +steps for channel routing, i.e., +:math:`T_{hillslope} = D_{levelH2R} \cdot T_{channel}`. The local +time-stepping algorithm is to account for the fact that the travel +velocity of water is much faster in some river channels (e.g., with +steeper bed slope, narrower channel width) than others. That is, for +each channel (either a sub-network or main channel), the final time +step of local channel routing is given as +:math:`T_{local}=T_{channel}/D_{local}`. :math:`D_{local}` is +currently estimated empirically as a function of local channel slope, +width, length and upstream drainage area. If MOSART crashes due to a +numerical issue, we recommend increasing :math:`D_{levelH2R}` and, if +the issue remains, reducing :math:`T_{mosart}`. .. _Parameters and Input Data: Parameters and Input Data --------------------------------- -MOSART is supported by a comprehensive, global hydrography dataset at 0.5 ° resolution. As such, the fundamental spatial unit of MOSART is a 0.5 ° lat/lon grid. The topographic parameters (such as flow direction, channel length, topographic and channel slopes, etc.) were derived using the Dominant River Tracing (DRT) algorithm (:ref:`Wu et al., 2011`; :ref:`Wu et al. 2012 `). The DRT algorithm produces the topographic parameters in a scale-consistent way to preserve/upscale the key features of a baseline high-resolution hydrography dataset at multiple coarser spatial resolutions. Here the baseline high-resolution hydrography dataset is the 1km resolution Hydrological data and maps based on SHuttle Elevation Derivatives at multiple Scales (HydroSHEDS) (:ref:`Lehner and Döll, 2004 `; :ref:`Lehner et al., 2008 `). The channel geometry parameters, e.g., bankfull width and depth, were estimated from empirical hydraulic geometry relationships as functions of the mean annual discharge. The Manning roughness coefficients for overland and channel flow were calculated as functions of landcover and water depth. For more details on the methodology to derive channel geometry and the Manning's roughness coefficients, please refer to :ref:`Getirana et al. (2012) `. The full list of parameters included in this global hydrography dataset is provided in :numref:`Table MOSART Parameters`. Evaluation of global simulations by MOSART using the aforementioned parameters is described in :ref:`Li et al. (2015b) `. +MOSART is supported by a comprehensive, global hydrography dataset at 0.5 +:sup:`o` resolution. As such, the fundamental spatial unit of MOSART is a 0.5 +:sup:`o` lat/lon grid. The topographic parameters (such as flow direction, +channel length, topographic and channel slopes, etc.) were derived using the +Dominant River Tracing (DRT) algorithm (:ref:`Wu et al., 2011` ; +:ref:`Wu et al. 2012 `). The DRT algorithm produces the topographic +parameters in a scale-consistent way to preserve/upscale the key features of +a baseline high-resolution hydrography dataset at multiple coarser spatial +resolutions. Here the baseline high-resolution hydrography dataset is the +1km resolution Hydrological data and maps based on SHuttle Elevation +Derivatives at multiple Scales (HydroSHEDS) +(:ref:`Lehner and Döll, 2004 ` ; +:ref:`Lehner et al., 2008 `). The channel geometry +parameters, e.g., bankfull width and depth, were estimated from empirical +hydraulic geometry relationships as functions of the mean annual discharge. +The Manning roughness coefficients for overland and channel flow were +calculated as functions of landcover and water depth. For more details +on the methodology to derive channel geometry and the Manning’s roughness +coefficients, please refer to +:ref:`Getirana et al. (2012) ` . The full list of +parameters included in this global hydrography dataset is provided in +:numref:`Table MOSART Parameters`. Evaluation of global simulations +by MOSART using the aforementioned parameters is described in +:ref:`Li et al. (2015b) ` . .. _Table MOSART Parameters: -.. table:: List of parameters in the global hydrography dataset +.. table:: List of parameters in the global hydrography dataset +-------------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------+ | Name | Unit | Description | @@ -107,19 +217,31 @@ MOSART is supported by a comprehensive, global hydrography dataset at 0.5 ° res +-------------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------+ | :math:`W_{t}` | m | The average bankfull width of tributary channels | +-------------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------+ - | :math:`n_{r}` | \- | Manning's roughness coefficient for channel flow routing | + | :math:`n_{r}` | \- | Manning’s roughness coefficient for channel flow routing | +-------------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------+ - | :math:`n_{h}` | \- | Manning's roughness coefficient for overland flow routing | + | :math:`n_{h}` | \- | Manning’s roughness coefficient for overland flow routing | +-------------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------+ + + Difference between CLM5.0 and CLM4.5 ------------------------------------- -1. Routing methods: RTM, a linear reservoir method, is used in CLM4.5 for river routing, whilst in CLM5.0, MOSART is an added option for river routing based on the more physically-based kinematic wave method. +1. Routing methods: RTM, a linear reservoir method, is used in CLM4.5 for +river routing, whilst in CLM5.0, MOSART is an added option for river routing +based on the more physically-based kinematic wave method. + +2. Runoff treatment: In RTM runoff is routed regardless of its sign so +negative streamflow can be simulated at times. MOSART routes only non-negative +runoff and always produces positive streamflow, which is important for +future extensions to model riverine heat and biogeochemical fluxes. -2. Runoff treatment: In RTM runoff is routed regardless of its sign so negative streamflow can be simulated at times. MOSART routes only non-negative runoff and always produces positive streamflow, which is important for future extensions to model riverine heat and biogeochemical fluxes. +3. Input parameters: RTM in CLM4.5 only requires one layer of a spatially varying +variable of channel velocity, whilst MOSART in CLM5.0 requires 13 parameters that +are all available globally at 0.5 :sup:`o` resolution. -3. Input parameters: RTM in CLM4.5 only requires one layer of a spatially varying variable of channel velocity, whilst MOSART in CLM5.0 requires 13 parameters that are all available globally at 0.5 ° resolution. +4. Outputs: RTM only produces streamflow simulation, whilst MOSART +additionally simulates the time-varying channel velocities, channel water depth, and +channel surface water variations. -4. Outputs: RTM only produces streamflow simulation, whilst MOSART additionally simulates the time-varying channel velocities, channel water depth, and channel surface water variations. diff --git a/doc/source/tech_note/Methane/CLM50_Tech_Note_Methane.rst b/doc/source/tech_note/Methane/CLM50_Tech_Note_Methane.rst index 1b3228e6dc..875689558b 100644 --- a/doc/source/tech_note/Methane/CLM50_Tech_Note_Methane.rst +++ b/doc/source/tech_note/Methane/CLM50_Tech_Note_Methane.rst @@ -3,80 +3,187 @@ Methane Model ================= -The representation of processes in the methane biogeochemical model integrated in CLM [CLM4Me; (:ref:`Riley et al. 2011a`)] is based on several previously published models (:ref:`Cao et al. 1996`; :ref:`Petrescu et al. 2010`; :ref:`Tianet al. 2010`; :ref:`Walter et al. 2001`; :ref:`Wania et al. 2010`; :ref:`Zhang et al. 2002`; :ref:`Zhuang et al. 2004`). Although the model has similarities with these precursor models, a number of new process representations and parameterization have been integrated into CLM. - -Mechanistically modeling net surface CH\ :sub:`4` emissions requires representing a complex and interacting series of processes. We first (section :numref:`Methane Model Structure and Flow`) describe the overall model structure and flow of information in the CH\ :sub:`4` model, then describe the methods used to represent: CH\ :sub:`4` mass balance; CH\ :sub:`4` production; ebullition; aerenchyma transport; CH\ :sub:`4` oxidation; reactive transport solution, including boundary conditions, numerical solution, water table interface, etc.; seasonal inundation effects; and impact of seasonal inundation on CH\ :sub:`4` production. +The representation of processes in the methane biogeochemical model +integrated in CLM [CLM4Me; (:ref:`Riley et al. 2011a`)] +is based on several previously published models +(:ref:`Cao et al. 1996`; :ref:`Petrescu et al. 2010`; +:ref:`Tianet al. 2010`; :ref:`Walter et al. 2001`; +:ref:`Wania et al. 2010`; :ref:`Zhang et al. 2002`; +:ref:`Zhuang et al. 2004`). Although the model has similarities +with these precursor models, a number of new process representations and +parameterization have been integrated into CLM. + +Mechanistically modeling net surface CH\ :sub:`4` emissions requires +representing a complex and interacting series of processes. We first +(section :numref:`Methane Model Structure and Flow`) describe the overall +model structure and flow of +information in the CH\ :sub:`4` model, then describe the methods +used to represent: CH\ :sub:`4` mass balance; CH\ :sub:`4` +production; ebullition; aerenchyma transport; CH\ :sub:`4` +oxidation; reactive transport solution, including boundary conditions, +numerical solution, water table interface, etc.; seasonal inundation +effects; and impact of seasonal inundation on CH\ :sub:`4` +production. .. _Methane Model Structure and Flow: Methane Model Structure and Flow ------------------------------------- -The driver routine for the methane biogeochemistry calculations (ch4, in ch4Mod.F) controls the initialization of boundary conditions, inundation, and impact of redox conditions; calls to routines to calculate CH\ :sub:`4` production, oxidation, transport through aerenchyma, ebullition, and the overall mass balance (for unsaturated and saturated soils and, if desired, lakes); resolves changes to CH\ :sub:`4` calculations associated with a changing inundated fraction; performs a mass balance check; and calculates the average gridcell CH\ :sub:`4` production, oxidation, and exchanges with the atmosphere. +The driver routine for the methane biogeochemistry calculations (ch4, in +ch4Mod.F) controls the initialization of boundary conditions, +inundation, and impact of redox conditions; calls to routines to +calculate CH\ :sub:`4` production, oxidation, transport through +aerenchyma, ebullition, and the overall mass balance (for unsaturated +and saturated soils and, if desired, lakes); resolves changes to +CH\ :sub:`4` calculations associated with a changing inundated +fraction; performs a mass balance check; and calculates the average +gridcell CH\ :sub:`4` production, oxidation, and exchanges with +the atmosphere. .. _Governing Mass-Balance Relationship: Governing Mass-Balance Relationship ---------------------------------------- -The model (:numref:`Figure Methane Schematic`) accounts for CH\ :sub:`4` production in the anaerobic fraction of soil (*P*, mol m\ :sup:`-3` s\ :sup:`-1`), ebullition (*E*, mol m\ :sup:`-3` s\ :sup:`-1`), aerenchyma transport (*A*, mol m\ :sup:`-3` s\ :sup:`-1`), aqueous and gaseous diffusion (:math:`{F}_{D}`, mol m\ :sup:`-2` s\ :sup:`-1`), and oxidation (*O*, mol m\ :sup:`-3` s\ :sup:`-1`) via a transient reaction diffusion equation: +The model (:numref:`Figure Methane Schematic`) accounts for CH\ :sub:`4` +production in the anaerobic fraction of soil (*P*, mol m\ :sup:`-3` +s\ :sup:`-1`), ebullition (*E*, mol m\ :sup:`-3` s\ :sup:`-1`), +aerenchyma transport (*A*, mol m\ :sup:`-3` s\ :sup:`-1`), aqueous and +gaseous diffusion (:math:`{F}_{D}`, mol m\ :sup:`-2` s\ :sup:`-1`), and +oxidation (*O*, mol m\ :sup:`-3` s\ :sup:`-1`) via a transient reaction +diffusion equation: .. math:: :label: 24.1 \frac{\partial \left(RC\right)}{\partial t} =\frac{\partial F_{D} }{\partial z} +P\left(z,t\right)-E\left(z,t\right)-A\left(z,t\right)-O\left(z,t\right) -Here *z* (m) represents the vertical dimension, *t* (s) is time, and *R* accounts for gas in both the aqueous and gaseous phases:\ :math:`R = \epsilon _{a} +K_{H} \epsilon _{w}`, with :math:`\epsilon _{a}`, :math:`\epsilon _{w}`, and :math:`K_{H}` (-) the air-filled porosity, water-filled porosity, and partitioning coefficient for the species of interest, respectively, and :math:`C` represents CH\ :sub:`4` or O\ :sub:`2` concentration with respect to water volume (mol m\ :sup:`-3`). - -An analogous version of equation :eq:`24.1` is concurrently solved for O\ :sub:`2`, but with the following differences relative to CH\ :sub:`4`: *P* = *E* = 0 (i.e., no production or ebullition), and the oxidation sink includes the O\ :sub:`2` demanded by methanotrophs, heterotroph decomposers, nitrifiers, and autotrophic root respiration. - -As currently implemented, each gridcell contains an inundated and a non-inundated fraction. Therefore, equation :eq:`24.1` is solved four times for each gridcell and time step: in the inundated and non-inundated fractions, and for CH\ :sub:`4` and O\ :sub:`2`. If desired, the CH\ :sub:`4` and O\ :sub:`2` mass balance equation is solved again for lakes (Chapter 9). For non-inundated areas, the water table interface is defined at the deepest transition from greater than 95% saturated to less than 95% saturated that occurs above frozen soil layers. The inundated fraction is allowed to change at each time step, and the total soil CH\ :sub:`4` quantity is conserved by evolving CH\ :sub:`4` to the atmosphere when the inundated fraction decreases, and averaging a portion of the non-inundated concentration into the inundated concentration when the inundated fraction increases. +Here *z* (m) represents the vertical dimension, *t* (s) is time, and *R* +accounts for gas in both the aqueous and gaseous +phases:\ :math:`R = \epsilon _{a} +K_{H} \epsilon _{w}`, with +:math:`\epsilon _{a}`, :math:`\epsilon _{w}`, and :math:`K_{H}` (-) the air-filled porosity, water-filled +porosity, and partitioning coefficient for the species of interest, +respectively, and :math:`C` represents CH\ :sub:`4` or O\ :sub:`2` concentration with respect to water volume (mol m\ :sup:`-3`). + +An analogous version of equation :eq:`24.1` is concurrently solved for +O\ :sub:`2`, but with the following differences relative to +CH\ :sub:`4`: *P* = *E* = 0 (i.e., no production or ebullition), +and the oxidation sink includes the O\ :sub:`2` demanded by +methanotrophs, heterotroph decomposers, nitrifiers, and autotrophic root +respiration. + +As currently implemented, each gridcell contains an inundated and a +non-inundated fraction. Therefore, equation :eq:`24.1` is solved four times for +each gridcell and time step: in the inundated and non-inundated +fractions, and for CH\ :sub:`4` and O\ :sub:`2`. If desired, +the CH\ :sub:`4` and O\ :sub:`2` mass balance equation is +solved again for lakes (Chapter 9). For non-inundated areas, the water +table interface is defined at the deepest transition from greater than +95% saturated to less than 95% saturated that occurs above frozen soil +layers. The inundated fraction is allowed to change at each time step, +and the total soil CH\ :sub:`4` quantity is conserved by evolving +CH\ :sub:`4` to the atmosphere when the inundated fraction +decreases, and averaging a portion of the non-inundated concentration +into the inundated concentration when the inundated fraction increases. .. _Figure Methane Schematic: .. figure:: image1.png - Schematic representation of biological and physical processes integrated in CLM that affect the net CH\ :sub:`4` - surface flux (:ref:`Riley et al. 2011a`). (left) - Fully inundated portion of a CLM gridcell and (right) variably saturated portion of a gridcell. + Schematic representation of biological and physical + processes integrated in CLM that affect the net CH\ :sub:`4` + surface flux (:ref:`Riley et al. 2011a`). (left) + Fully inundated portion of a + CLM gridcell and (right) variably saturated portion of a gridcell. .. _CH4 Production: CH\ :sub:`4` Production ---------------------------------- -Because CLM does not currently specifically represent wetland plant functional types or soil biogeochemical processes, we used gridcell-averaged decomposition rates as proxies. Thus, the upland (default) heterotrophic respiration is used to estimate the wetland decomposition rate after first dividing off the O\ :sub:`2` limitation. The O\ :sub:`2` consumption associated with anaerobic decomposition is then set to the unlimited version so that it will be reduced appropriately during O\ :sub:`2` competition. CH\ :sub:`4` production at each soil level in the anaerobic portion (i.e., below the water table) of the column is related to the gridcell estimate of heterotrophic respiration from soil and litter (R\ :sub:`H`; mol C m\ :sup:`-2` s\ :sub:`-1`) corrected for its soil temperature (:math:`{T}_{s}`) dependence, soil temperature through a :math:`{A}_{10}` factor (:math:`f_{T}`), pH (:math:`f_{pH}`), redox potential (:math:`f_{pE}`), and a factor accounting for the seasonal inundation fraction (*S*, described below): +Because CLM does not currently specifically represent wetland plant +functional types or soil biogeochemical processes, we used +gridcell-averaged decomposition rates as proxies. Thus, the upland +(default) heterotrophic respiration is used to estimate the wetland +decomposition rate after first dividing off the O\ :sub:`2` +limitation. The O\ :sub:`2` consumption associated with anaerobic +decomposition is then set to the unlimited version so that it will be +reduced appropriately during O\ :sub:`2` competition. +CH\ :sub:`4` production at each soil level in the anaerobic +portion (i.e., below the water table) of the column is related to the +gridcell estimate of heterotrophic respiration from soil and litter +(R\ :sub:`H`; mol C m\ :sup:`-2` s\ :sub:`-1`) corrected for its soil temperature +(:math:`{T}_{s}`) dependence, soil temperature through a +:math:`{A}_{10}` factor (:math:`f_{T}`), pH (:math:`f_{pH}`), +redox potential (:math:`f_{pE}`), and a factor accounting for the +seasonal inundation fraction (*S*, described below): .. math:: :label: 24.2 P=R_{H} f_{CH_{4} } f_{T} f_{pH} f_{pE} S. -Here, :math:`f_{CH_{4} }` is the baseline ratio between CO\ :sub:`2` and CH\ :sub:`4` production (all parameters values are given in :numref:`Table Methane Parameter descriptions`). Currently, :math:`f_{CH_{4} }` is modified to account for our assumptions that methanogens may have a higher Q\ :math:`{}_{10}` than aerobic decomposers; are not N limited; and do not have a low-moisture limitation. - -When the single BGC soil level is used in CLM (Chapter :numref:`rst_Decomposition`), the temperature factor, :math:`f_{T}`, is set to 0 for temperatures equal to or below freezing, even though CLM allows heterotrophic respiration below freezing. However, if the vertically resolved BGC soil column is used, CH\ :sub:`4` production continues below freezing because liquid water stress limits decomposition. The base temperature for the :math:`{Q}_{10}` factor, :math:`{T}_{B}`, is 22°C and effectively modified the base :math:`f_{CH_{4}}` value. - -For the single-layer BGC version, :math:`{R}_{H}` is distributed among soil levels by assuming that 50% is associated with the roots (using the CLM PFT-specific rooting distribution) and the rest is evenly divided among the top 0.28 m of soil (to be consistent with CLM's soil decomposition algorithm). For the vertically resolved BGC version, the prognosed distribution of :math:`{R}_{H}` is used to estimate CH\ :sub:`4` production. - -The factor :math:`f_{pH}` is nominally set to 1, although a static spatial map of *pH* can be used to determine this factor (:ref:`Dunfield et al. 1993`) by applying: +Here, :math:`f_{CH_{4} }` is the baseline ratio between CO\ :sub:`2` +and CH\ :sub:`4` production (all parameters values are given in +:numref:`Table Methane Parameter descriptions`). Currently, :math:`f_{CH_{4} }` +is modified to account for our assumptions that methanogens may have a +higher Q\ :math:`{}_{10}` than aerobic decomposers; are not N limited; +and do not have a low-moisture limitation. + +When the single BGC soil level is used in CLM (Chapter :numref:`rst_Decomposition`), the +temperature factor, :math:`f_{T}` , is set to 0 for temperatures equal +to or below freezing, even though CLM allows heterotrophic respiration +below freezing. However, if the vertically resolved BGC soil column is +used, CH\ :sub:`4` production continues below freezing because +liquid water stress limits decomposition. The base temperature for the +:math:`{Q}_{10}` factor, :math:`{T}_{B}`, is 22\ :sup:`o` C and effectively +modified the base :math:`f_{CH_{4}}` value. + +For the single-layer BGC version, :math:`{R}_{H}` is distributed +among soil levels by assuming that 50% is associated with the roots +(using the CLM PFT-specific rooting distribution) and the rest is evenly +divided among the top 0.28 m of soil (to be consistent with CLM’s soil +decomposition algorithm). For the vertically resolved BGC version, the +prognosed distribution of :math:`{R}_{H}` is used to estimate CH\ :sub:`4` production. + +The factor :math:`f_{pH}` is nominally set to 1, although a static +spatial map of *pH* can be used to determine this factor +(:ref:`Dunfield et al. 1993`) by applying: .. math:: :label: 24.3 f_{pH} =10^{-0.2235pH^{2} +2.7727pH-8.6} . -The :math:`f_{pE}` factor assumes that alternative electron acceptors are reduced with an e-folding time of 30 days after inundation. The default version of the model applies this factor to horizontal changes in inundated area but not to vertical changes in the water table depth in the upland fraction of the gridcell. We consider both :math:`f_{pH}` and :math:`f_{pE}` to be poorly constrained in the model and identify these controllers as important areas for model improvement. +The :math:`f_{pE}` factor assumes that alternative electron acceptors +are reduced with an e-folding time of 30 days after inundation. The +default version of the model applies this factor to horizontal changes +in inundated area but not to vertical changes in the water table depth +in the upland fraction of the gridcell. We consider both :math:`f_{pH}` +and :math:`f_{pE}` to be poorly constrained in the model and identify +these controllers as important areas for model improvement. -As a non-default option to account for CH\ :sub:`4` production in anoxic microsites above the water table, we apply the Arah and Stephen (1998) estimate of anaerobic fraction: +As a non-default option to account for CH\ :sub:`4` production in +anoxic microsites above the water table, we apply the Arah and Stephen +(1998) estimate of anaerobic fraction: .. math:: :label: 24.4 \varphi =\frac{1}{1+\eta C_{O_{2} } } . -Here, :math:`\varphi` is the factor by which production is inhibited above the water table (compared to production as calculated in equation :eq:`24.2`, :math:`C_{O_{2}}` (mol m\ :sup:`-3`) is the bulk soil oxygen concentration, and :math:`\eta` = 400 mol m\ :sup:`-3`. +Here, :math:`\varphi` is the factor by which production is inhibited +above the water table (compared to production as calculated in equation +:eq:`24.2`, :math:`C_{O_{2}}` (mol m\ :sup:`-3`) is the bulk soil oxygen +concentration, and :math:`\eta` = 400 mol m\ :sup:`-3`. -The O\ :sub:`2` required to facilitate the vertically resolved heterotrophic decomposition and root respiration is estimated assuming 1 mol O\ :sub:`2` is required per mol CO\ :sub:`2` produced. The model also calculates the O\ :sub:`2` required during nitrification, and the total O\ :sub:`2` demand is used in the O\ :sub:`2` mass balance solution. +The O\ :sub:`2` required to facilitate the vertically resolved +heterotrophic decomposition and root respiration is estimated assuming 1 +mol O\ :sub:`2` is required per mol CO\ :sub:`2` produced. +The model also calculates the O\ :sub:`2` required during +nitrification, and the total O\ :sub:`2` demand is used in the +O\ :sub:`2` mass balance solution. .. _Table Methane Parameter descriptions: @@ -118,10 +225,16 @@ The O\ :sub:`2` required to facilitate the vertically resolved heterotrophic dec | | :math:`R_{o,\max }` | 1.25 x 10\ :math:`{}^{-5}` | 1.25\ :math:`\times`\ 10\ :math:`{}^{-6}` - 1.25\ :math:`\times`\ 10\ :math:`{}^{-4}` | mol m\ :sup:`-3` s\ :sup:`-1` | Maximum oxidation rate (wetlands) | +--------------+----------------------------+----------------------------------------------+--------------------------------------------------------------------------------------------------+---------------------------------------------+--------------------------------------------------------------------------------------------+ + Ebullition --------------- -Briefly, the simulated aqueous CH\ :sub:`4` concentration in each soil level is used to estimate the expected equilibrium gaseous partial pressure (:math:`C_{e}` ), as a function of temperature and depth below the water table, by first estimating the Henry's law partitioning coefficient (:math:`k_{h}^{C}` ) by the method described in :ref:`Wania et al. (2010)`: +Briefly, the simulated aqueous CH\ :sub:`4` concentration in each +soil level is used to estimate the expected equilibrium gaseous partial +pressure (:math:`C_{e}` ), as a function of temperature and depth below +the water table, by first estimating the Henry’s law partitioning +coefficient (:math:`k_{h}^{C}` ) by the method described in +:ref:`Wania et al. (2010)`: .. math:: :label: 24.5 @@ -138,36 +251,75 @@ Briefly, the simulated aqueous CH\ :sub:`4` concentration in each soil level is C_{e} =\frac{C_{w} R_{g} T}{\theta _{s} k_{H}^{C} p} -where :math:`C_{H}` \ is a constant, :math:`R_{g}` is the universal gas constant, :math:`k_{H}^{s}` is Henry's law partitioning coefficient at standard temperature (:math:`T^{s}` ),\ :math:`C_{w}` \ is local aqueous CH\ :sub:`4` concentration, and *p* is pressure. - -The local pressure is calculated as the sum of the ambient pressure, water pressure down to the local depth, and pressure from surface ponding (if applicable). When the CH\ :sub:`4` partial pressure exceeds 15% of the local pressure (:ref:`Baird et al. 2004`; :ref:`Strack et al. 2006`; :ref:`Wania et al. 2010`), bubbling occurs to remove CH\ :sub:`4` to below this value, modified by the fraction of CH\ :sub:`4` in the bubbles [taken as 57%; (:ref:`Kellner et al. 2006`; :ref:`Wania et al. 2010`)]. Bubbles are immediately added to the surface flux for saturated columns and are placed immediately above the water table interface in unsaturated columns. +where :math:`C_{H}` \ is a constant, :math:`R_{g}` is the universal +gas constant, :math:`k_{H}^{s}` is Henry’s law partitioning coefficient +at standard temperature (:math:`T^{s}` ),\ :math:`C_{w}` \ is local +aqueous CH\ :sub:`4` concentration, and *p* is pressure. + +The local pressure is calculated as the sum of the ambient pressure, +water pressure down to the local depth, and pressure from surface +ponding (if applicable). When the CH\ :sub:`4` partial pressure +exceeds 15% of the local pressure (:ref:`Baird et al. 2004`; :ref:`Strack et al. +2006`; :ref:`Wania et al. 2010`), bubbling occurs to remove CH\ :sub:`4` +to below this value, modified by the fraction of CH\ :sub:`4` in +the bubbles [taken as 57%; (:ref:`Kellner et al. 2006`; +:ref:`Wania et al. 2010`)]. +Bubbles are immediately added to the surface flux for saturated columns +and are placed immediately above the water table interface in +unsaturated columns. .. _Aerenchyma Transport: Aerenchyma Transport ------------------------- -Aerenchyma transport is modeled in CLM as gaseous diffusion driven by a concentration gradient between the specific soil layer and the atmosphere and, if specified, by vertical advection with the transpiration stream. There is evidence that pressure driven flow can also occur, but we did not include that mechanism in the current model. +Aerenchyma transport is modeled in CLM as gaseous diffusion driven by a +concentration gradient between the specific soil layer and the +atmosphere and, if specified, by vertical advection with the +transpiration stream. There is evidence that pressure driven flow can +also occur, but we did not include that mechanism in the current model. The diffusive transport through aerenchyma (*A*, mol m\ :sup:`-2` s\ :sup:`-1`) from each soil layer is represented in the model as: .. math:: :label: 24.8 - A=\frac{C\left(z\right)-C_{a} }{{\raise0.7ex\hbox{$ r_{L} z $}\!\mathord{\left/ {\vphantom {r_{L} z D}} \right.}\!\lower0.7ex\hbox{$ D $}} +r_{a} } pT\rho _{r} , - -where *D* is the free-air gas diffusion coefficient (m\ :sup:`2` s\ :sup:`-1`); *C(z)* (mol m\ :sup:`-3`) is the gaseous concentration at depth *z* (m); :math:`r_{L}` is the ratio of root length to depth; *p* is the porosity (-); *T* is specific aerenchyma area (m\ :sup:`2` m\ :sup:`-2`); :math:`{r}_{a}` is the aerodynamic resistance between the surface and the atmospheric reference height (s m\ :sup:`-1`); and :math:`\rho _{r}` is the rooting density as a function of depth (-). The gaseous concentration is calculated with Henry's law as described in equation :eq:`24.7`. - -Based on the ranges reported in :ref:`Colmer (2003)`, we have chosen baseline aerenchyma porosity values of 0.3 for grass and crop PFTs and 0.1 for tree and shrub PFTs: + A=\frac{C\left(z\right)-C_{a} }{{\raise0.7ex\hbox{$ r_{L} z $}\!\mathord{\left/ {\vphantom {r_{L} z D}} \right. \kern-\nulldelimiterspace}\!\lower0.7ex\hbox{$ D $}} +r_{a} } pT\rho _{r} , + +where *D* is the free-air gas diffusion coefficient (m\ :sup:`2` s\ :sup:`-1`); *C(z)* (mol m\ :sup:`-3`) is the gaseous +concentration at depth *z* (m); :math:`r_{L}` is the ratio of root +length to depth; *p* is the porosity (-); *T* is specific aerenchyma +area (m\ :sup:`2` m\ :sup:`-2`); :math:`{r}_{a}` is the +aerodynamic resistance between the surface and the atmospheric reference +height (s m\ :sup:`-1`); and :math:`\rho _{r}` is the rooting +density as a function of depth (-). The gaseous concentration is +calculated with Henry’s law as described in equation :eq:`24.7`. + +Based on the ranges reported in :ref:`Colmer (2003)`, we have chosen +baseline aerenchyma porosity values of 0.3 for grass and crop PFTs and 0.1 for +tree and shrub PFTs: .. math:: :label: 24.9 T=\frac{4 f_{N} N_{a}}{0.22} \pi R^{2} . -Here :math:`N_{a}` is annual net primary production (NPP, mol m\ :sup:`-2` s\ :sup:`-1`); *R* is the aerenchyma radius (2.9 :math:`\times`\ 10\ :sup:`-3` m); :math:`{f}_{N}` is the belowground fraction of annual NPP; and the 0.22 factor represents the amount of C per tiller. O\ :sub:`2` can also diffuse in from the atmosphere to the soil layer via the reverse of the same pathway, with the same representation as Equation :eq:`24.8` but with the gas diffusivity of oxygen. - -CLM also simulates the direct emission of CH\ :sub:`4` from leaves to the atmosphere via transpiration of dissolved methane. We calculate this flux (:math:`F_{CH_{4} -T}`; mol m\ :math:`{}^{-}`\ :sup:`2` s\ :sup:`-1`) using the simulated soil water methane concentration (:math:`C_{CH_{4},j}` (mol m\ :sup:`-3`)) in each soil layer *j* and the CLM predicted transpiration (:math:`F_{T}` ) for each PFT, assuming that no methane was oxidized inside the plant tissue: +Here :math:`N_{a}` is annual net primary production (NPP, mol +m\ :sup:`-2` s\ :sup:`-1`); *R* is the aerenchyma radius +(2.9 :math:`\times`\ 10\ :sup:`-3` m); :math:`{f}_{N}` is the +belowground fraction of annual NPP; and the 0.22 factor represents the +amount of C per tiller. O\ :sub:`2` can also diffuse in from the +atmosphere to the soil layer via the reverse of the same pathway, with +the same representation as Equation :eq:`24.8` but with the gas diffusivity of +oxygen. + +CLM also simulates the direct emission of CH\ :sub:`4` from leaves +to the atmosphere via transpiration of dissolved methane. We calculate +this flux (:math:`F_{CH_{4} -T}` ; mol m\ :math:`{}^{-}`\ :sup:`2` +s\ :sup:`-1`) using the simulated soil water methane concentration +(:math:`C_{CH_{4} ,j}` (mol m\ :sup:`-3`)) in each soil layer *j* +and the CLM predicted transpiration (:math:`F_{T}` ) for each PFT, +assuming that no methane was oxidized inside the plant tissue: .. math:: :label: 24.10 @@ -179,42 +331,95 @@ CLM also simulates the direct emission of CH\ :sub:`4` from leaves to the atmosp CH\ :sub:`4` Oxidation --------------------------------- -CLM represents CH\ :sub:`4` oxidation with double Michaelis-Menten kinetics (:ref:`Arah and Stephen 1998`; :ref:`Segers 1998`), dependent on both the gaseous CH\ :sub:`4` and O\ :sub:`2` concentrations: +CLM represents CH\ :sub:`4` oxidation with double Michaelis-Menten +kinetics (:ref:`Arah and Stephen 1998`; :ref:`Segers 1998`), +dependent on both the gaseous CH\ :sub:`4` and O\ :sub:`2` concentrations: .. math:: :label: 24.11 R_{oxic} =R_{o,\max } \left[\frac{C_{CH_{4} } }{K_{CH_{4} } +C_{CH_{4} } } \right]\left[\frac{C_{O_{2} } }{K_{O_{2} } +C_{O_{2} } } \right]Q_{10} F_{\vartheta } -where :math:`K_{CH_{4} }` and :math:`K_{O_{2} }` \ are the half saturation coefficients (mol m\ :sup:`-3`) with respect to CH\ :sub:`4` and O\ :sub:`2` concentrations, respectively; :math:`R_{o,\max }` is the maximum oxidation rate (mol m\ :sup:`-3` s\ :sup:`-1`); and :math:`{Q}_{10}` specifies the temperature dependence of the reaction with a base temperature set to 12 °C. The soil moisture limitation factor :math:`F_{\theta }` is applied above the water table to represent water stress for methanotrophs. Based on the data in :ref:`Schnell and King (1996)`, we take :math:`F_{\theta } = {e}^{-P/{P}_{c}}`, where *P* is the soil moisture potential and :math:`{P}_{c} = -2.4 \times {10}^{5}` mm. +where :math:`K_{CH_{4} }` and :math:`K_{O_{2} }` \ are the half +saturation coefficients (mol m\ :sup:`-3`) with respect to +CH\ :sub:`4` and O\ :sub:`2` concentrations, respectively; +:math:`R_{o,\max }` is the maximum oxidation rate (mol +m\ :sup:`-3` s\ :sup:`-1`); and :math:`{Q}_{10}` +specifies the temperature dependence of the reaction with a base +temperature set to 12 :sup:`o` C. The soil moisture limitation +factor :math:`F_{\theta }` is applied above the water table to +represent water stress for methanotrophs. Based on the data in +:ref:`Schnell and King (1996)`, we take +:math:`F_{\theta } = {e}^{-P/{P}_{c}}`, where *P* is the soil moisture +potential and :math:`{P}_{c} = -2.4 \times {10}^{5}` mm. .. _Reactive Transport Solution: Reactive Transport Solution -------------------------------- -The solution to equation :eq:`24.11` is solved in several sequential steps: resolve competition for CH\ :sub:`4` and O\ :sub:`2` (section :numref:`Competition for CH4and O2`); add the ebullition flux into the layer directly above the water table or into the atmosphere; calculate the overall CH\ :sub:`4` or O\ :sub:`2` source term based on production, aerenchyma transport, ebullition, and oxidation; establish boundary conditions, including surface conductance to account for snow, ponding, and turbulent conductances and bottom flux condition (section :numref:`CH4 and O2 Source Terms`); calculate diffusivity (section :numref:`Aqueous and Gaseous Diffusion`); and solve the resulting mass balance using a tridiagonal solver (section :numref:`Crank-Nicholson Solution Methane`). +The solution to equation :eq:`24.11` is solved in several sequential steps: resolve +competition for CH\ :sub:`4` and O\ :sub:`2` (section +:numref:`Competition for CH4and O2`); add the ebullition flux into the +layer directly above the water +table or into the atmosphere; calculate the overall CH\ :sub:`4` +or O\ :sub:`2` source term based on production, aerenchyma +transport, ebullition, and oxidation; establish boundary conditions, +including surface conductance to account for snow, ponding, and +turbulent conductances and bottom flux condition +(section :numref:`CH4 and O2 Source Terms`); calculate diffusivity +(section :numref:`Aqueous and Gaseous Diffusion`); and solve the resulting +mass balance using a tridiagonal solver (section +:numref:`Crank-Nicholson Solution Methane`). .. _Competition for CH4and O2: Competition for CH\ :sub:`4` and O\ :sub:`2` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -For each time step, the unlimited CH\ :sub:`4` and O\ :sub:`2` demands in each model depth interval are computed. If the total demand over a time step for one of the species exceeds the amount available in a particular control volume, the demand from each process associated with the sink is scaled by the fraction required to ensure non-negative concentrations. Since the methanotrophs are limited by both CH\ :sub:`4` and O\ :sub:`2`, the stricter limitation is applied to methanotroph oxidation, and then the limitations are scaled back for the other processes. The competition is designed so that the sinks must not exceed the available concentration over the time step, and if any limitation exists, the sinks must sum to this value. Because the sinks are calculated explicitly while the transport is semi-implicit, negative concentrations can occur after the tridiagonal solution. When this condition occurs for O\ :sub:`2`, the concentrations are reset to zero; if it occurs for CH\ :sub:`4`, the surface flux is adjusted and the concentration is set to zero if the adjustment is not too large. +For each time step, the unlimited CH\ :sub:`4` and +O\ :sub:`2` demands in each model depth interval are computed. If +the total demand over a time step for one of the species exceeds the +amount available in a particular control volume, the demand from each +process associated with the sink is scaled by the fraction required to +ensure non-negative concentrations. Since the methanotrophs are limited +by both CH\ :sub:`4` and O\ :sub:`2`, the stricter +limitation is applied to methanotroph oxidation, and then the +limitations are scaled back for the other processes. The competition is +designed so that the sinks must not exceed the available concentration +over the time step, and if any limitation exists, the sinks must sum to +this value. Because the sinks are calculated explicitly while the +transport is semi-implicit, negative concentrations can occur after the +tridiagonal solution. When this condition occurs for O\ :sub:`2`, +the concentrations are reset to zero; if it occurs for +CH\ :sub:`4`, the surface flux is adjusted and the concentration +is set to zero if the adjustment is not too large. .. _CH4 and O2 Source Terms: CH\ :sub:`4` and O\ :sub:`2` Source Terms ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The overall CH\ :sub:`4` net source term consists of production, oxidation at the base of aerenchyma, transport through aerenchyma, methanotrophic oxidation, and ebullition (either to the control volume above the water table if unsaturated or directly to the atmosphere if saturated). For O\ :sub:`2` below the top control volume, the net source term consists of O\ :sub:`2` losses from methanotrophy, SOM decomposition, and autotrophic respiration, and an O\ :sub:`2` source through aerenchyma. +The overall CH\ :sub:`4` net source term consists of production, +oxidation at the base of aerenchyma, transport through aerenchyma, +methanotrophic oxidation, and ebullition (either to the control volume +above the water table if unsaturated or directly to the atmosphere if +saturated). For O\ :sub:`2` below the top control volume, the net +source term consists of O\ :sub:`2` losses from methanotrophy, SOM +decomposition, and autotrophic respiration, and an O\ :sub:`2` +source through aerenchyma. .. _Aqueous and Gaseous Diffusion: Aqueous and Gaseous Diffusion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -For gaseous diffusion, we adopted the temperature dependence of molecular free-air diffusion coefficients (:math:`{D}_{0}` (m\ :sup:`2` s\ :sup:`-1`)) as described by :ref:`Lerman (1979) ` and applied by :ref:`Wania et al. (2010)` (:numref:`Table Temperature dependence of aqueous and gaseous diffusion`). +For gaseous diffusion, we adopted the temperature dependence of +molecular free-air diffusion coefficients (:math:`{D}_{0}` +(m\ :sup:`2` s\ :sup:`-1`)) as described by +:ref:`Lerman (1979) ` and applied by +:ref:`Wania et al. (2010)` +(:numref:`Table Temperature dependence of aqueous and gaseous diffusion`). .. _Table Temperature dependence of aqueous and gaseous diffusion: @@ -228,51 +433,115 @@ For gaseous diffusion, we adopted the temperature dependence of molecular free-a | Gaseous | 0.1875 + 0.0013\ *T* | 0.1759 + 0.0011\ *T* | +----------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------+ -Gaseous diffusivity in soils also depends on the molecular diffusivity, soil structure, porosity, and organic matter content. :ref:`Moldrup et al. (2003)`, using observations across a range of unsaturated mineral soils, showed that the relationship between effective diffusivity (:math:`D_{e}` (m\ :sup:`2` s\ :sup:`-1`)) and soil properties can be represented as: +Gaseous diffusivity in soils also depends on the molecular diffusivity, +soil structure, porosity, and organic matter content. +:ref:`Moldrup et al. (2003)`, using observations across a +range of unsaturated mineral soils, showed that the relationship between +effective diffusivity (:math:`D_{e}` (m\ :sup:`2` s\ :sup:`-1`)) and soil +properties can be represented as: .. math:: :label: 24.12 - D_{e} =D_{0} \theta _{a}^{2} \left(\frac{\theta _{a} }{\theta _{s} } \right)^{{\raise0.7ex\hbox{$ 3 $}\!\mathord{\left/ {\vphantom {3 b}} \right.}\!\lower0.7ex\hbox{$ b $}} } , + D_{e} =D_{0} \theta _{a}^{2} \left(\frac{\theta _{a} }{\theta _{s} } \right)^{{\raise0.7ex\hbox{$ 3 $}\!\mathord{\left/ {\vphantom {3 b}} \right. \kern-\nulldelimiterspace}\!\lower0.7ex\hbox{$ b $}} } , -where :math:`\theta _{a}` and :math:`\theta _{s}` are the air-filled and total (saturated water-filled) porosities (-), respectively, and *b* is the slope of the water retention curve (-). However, :ref:`Iiyama and Hasegawa (2005)` have shown that the original Millington-Quirk (:ref:`Millington and Quirk 1961`) relationship matched measurements more closely in unsaturated peat soils: +where :math:`\theta _{a}` and :math:`\theta _{s}` are the air-filled +and total (saturated water-filled) porosities (-), respectively, and *b* +is the slope of the water retention curve (-). However, :ref:`Iiyama and +Hasegawa (2005)` have shown that the original Millington-Quirk +(:ref:`Millington and Quirk 1961`) relationship matched +measurements more closely in unsaturated peat soils: .. math:: :label: 24.13 - D_{e} =D_{0} \frac{\theta _{a} ^{{\raise0.7ex\hbox{$ 10 $}\!\mathord{\left/ {\vphantom {10 3}} \right.}\!\lower0.7ex\hbox{$ 3 $}} } }{\theta _{s} ^{2} } + D_{e} =D_{0} \frac{\theta _{a} ^{{\raise0.7ex\hbox{$ 10 $}\!\mathord{\left/ {\vphantom {10 3}} \right. \kern-\nulldelimiterspace}\!\lower0.7ex\hbox{$ 3 $}} } }{\theta _{s} ^{2} } -In CLM, we applied equation :eq:`24.12` for soils with zero organic matter content and equation :eq:`24.13` for soils with more than 130 kg m\ :sup:`-3` organic matter content. A linear interpolation between these two limits is applied for soils with SOM content below 130 kg m\ :sup:`-3`. For aqueous diffusion in the saturated part of the soil column, we applied (:ref:`Moldrup et al. (2003)`): +In CLM, we applied equation :eq:`24.12` for soils with zero organic matter content +and equation :eq:`24.13` for soils with more than 130 kg m\ :sup:`-3` organic +matter content. A linear interpolation between these two limits is +applied for soils with SOM content below 130 kg m\ :sup:`-3`. For +aqueous diffusion in the saturated part of the soil column, we applied +(:ref:`Moldrup et al. (2003)`): .. math:: :label: 24.14 D_{e} =D_{0} \theta _{s} ^{2} . -To simplify the solution, we assumed that gaseous diffusion dominates above the water table interface and aqueous diffusion below the water table interface. Descriptions, baseline values, and dimensions for parameters specific to the CH\ :sub:`4` model are given in :numref:`Table Methane Parameter descriptions`. For freezing or frozen soils below the water table, diffusion is limited to the remaining liquid (CLM allows for some freezing point depression), and the diffusion coefficients are scaled by the volume-fraction of liquid. For unsaturated soils, Henry's law equilibrium is assumed at the interface with the water table. +To simplify the solution, we assumed that gaseous diffusion dominates +above the water table interface and aqueous diffusion below the water +table interface. Descriptions, baseline values, and dimensions for +parameters specific to the CH\ :sub:`4` model are given in +:numref:`Table Methane Parameter descriptions`. For freezing or frozen +soils below the water table, diffusion is limited to the remaining +liquid (CLM allows for some freezing point depression), and the diffusion +coefficients are scaled by the +volume-fraction of liquid. For unsaturated soils, Henry’s law +equilibrium is assumed at the interface with the water table. .. _Boundary Conditions: Boundary Conditions ^^^^^^^^^^^^^^^^^^^^^^^^^^ -We assume the CH\ :sub:`4` and O\ :sub:`2` surface fluxes can be calculated from an effective conductance and a gaseous concentration gradient between the atmospheric concentration and either the gaseous concentration in the first soil layer (unsaturated soils) or in equilibrium with the water (saturated soil\ :math:`w\left(C_{1}^{n} -C_{a} \right)` and :math:`w\left(C_{1}^{n+1} -C_{a} \right)` for the fully explicit and fully implicit cases, respectively (however, see :ref:`Tang and Riley (2013)` for a more complete representation of this process). Here, *w* is the surface boundary layer conductance as calculated in the existing CLM surface latent heat calculations. If the top layer is not fully saturated, the :math:`\frac{D_{m1} }{\Delta x_{m1} }` term is replaced with a series combination: :math:`\left[\frac{1}{w} +\frac{\Delta x_{1} }{D_{1} } \right]^{-1}`, and if the top layer is saturated, this term is replaced with :math:`\left[\frac{K_{H} }{w} +\frac{\frac{1}{2} \Delta x_{1} }{D_{1} } \right]^{-1}`, where :math:`{K}_{H}` is the Henry's law equilibrium constant. - -When snow is present, a resistance is added to account for diffusion through the snow based on the Millington-Quirk expression :eq:`24.13` and CLM's prediction of the liquid water, ice, and air fractions of each snow layer. When the soil is ponded, the diffusivity is assumed to be that of methane in pure water, and the resistance as the ratio of the ponding depth to diffusivity. The overall conductance is taken as the series combination of surface, snow, and ponding resistances. We assume a zero flux gradient at the bottom of the soil column. +We assume the CH\ :sub:`4` and O\ :sub:`2` surface fluxes +can be calculated from an effective conductance and a gaseous +concentration gradient between the atmospheric concentration and either +the gaseous concentration in the first soil layer (unsaturated soils) or +in equilibrium with the water (saturated +soil\ :math:`w\left(C_{1}^{n} -C_{a} \right)` and +:math:`w\left(C_{1}^{n+1} -C_{a} \right)` for the fully explicit and +fully implicit cases, respectively (however, see +:ref:`Tang and Riley (2013)` +for a more complete representation of this process). Here, *w* is the +surface boundary layer conductance as calculated in the existing CLM +surface latent heat calculations. If the top layer is not fully +saturated, the :math:`\frac{D_{m1} }{\Delta x_{m1} }` term is replaced +with a series combination: +:math:`\left[\frac{1}{w} +\frac{\Delta x_{1} }{D_{1} } \right]^{-1}` , +and if the top layer is saturated, this term is replaced with +:math:`\left[\frac{K_{H} }{w} +\frac{\frac{1}{2} \Delta x_{1} }{D_{1} } \right]^{-1}` , +where :math:`{K}_{H}` is the Henry’s law equilibrium constant. + +When snow is present, a resistance is added to account for diffusion +through the snow based on the Millington-Quirk expression :eq:`24.13` +and CLM’s prediction of the liquid water, ice, and air fractions of each +snow layer. When the soil is ponded, the diffusivity is assumed to be +that of methane in pure water, and the resistance as the ratio of the +ponding depth to diffusivity. The overall conductance is taken as the +series combination of surface, snow, and ponding resistances. We assume +a zero flux gradient at the bottom of the soil column. .. _Crank-Nicholson Solution Methane: Crank-Nicholson Solution ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Equation :eq:`24.1` is solved using a Crank-Nicholson solution (:ref:`Press et al., 1992`), which combines fully explicit and implicit representations of the mass balance. The fully explicit decomposition of equation :eq:`24.1` can be written as +Equation :eq:`24.1` is solved using a Crank-Nicholson solution +(:ref:`Press et al., 1992`), +which combines fully explicit and implicit representations of the mass +balance. The fully explicit decomposition of equation :eq:`24.1` can be written as .. math:: :label: 24.15 \frac{R_{j}^{n+1} C_{j}^{n+1} -R_{j}^{n} C_{j}^{n} }{\Delta t} =\frac{1}{\Delta x_{j} } \left[\frac{D_{p1}^{n} }{\Delta x_{p1}^{} } \left(C_{j+1}^{n} -C_{j}^{n} \right)-\frac{D_{m1}^{n} }{\Delta x_{m1}^{} } \left(C_{j}^{n} -C_{j-1}^{n} \right)\right]+S_{j}^{n} , -where *j* refers to the cell in the vertically discretized soil column (increasing downward), *n* refers to the current time step, :math:`\Delta`\ *t* is the time step (s), *p1* is *j+½*, *m1* is *j-½*, and :math:`S_{j}^{n}` is the net source at time step *n* and position *j*, i.e., :math:`S_{j}^{n} =P\left(j,n\right)-E\left(j,n\right)-A\left(j,n\right)-O\left(j,n\right)`. The diffusivity coefficients are calculated as harmonic means of values from the adjacent cells. Equation :eq:`24.15` is solved for gaseous and aqueous concentrations above and below the water table, respectively. The *R* term ensure the total mass balance in both phases is properly accounted for. An analogous relationship can be generated for the fully implicit case by replacing *n* by *n+1* on the *C* and *S* terms of equation :eq:`24.15`. Using an average of the fully implicit and fully explicit relationships gives: +where *j* refers to the cell in the vertically discretized soil column +(increasing downward), *n* refers to the current time step, +:math:`\Delta`\ *t* is the time step (s), *p1* is *j+½*, *m1* is *j-½*, +and :math:`S_{j}^{n}` is the net source at time step *n* and position +*j*, i.e., +:math:`S_{j}^{n} =P\left(j,n\right)-E\left(j,n\right)-A\left(j,n\right)-O\left(j,n\right)`. +The diffusivity coefficients are calculated as harmonic means of values +from the adjacent cells. Equation :eq:`24.15` is solved for gaseous and aqueous +concentrations above and below the water table, respectively. The *R* +term ensure the total mass balance in both phases is properly accounted +for. An analogous relationship can be generated for the fully implicit +case by replacing *n* by *n+1* on the *C* and *S* terms of equation :eq:`24.15`. +Using an average of the fully implicit and fully explicit relationships +gives: .. math:: :label: 24.16 @@ -288,14 +557,21 @@ Equation :eq:`24.16` is solved with a standard tridiagonal solver, i.e.: with coefficients specified in equation :eq:`24.16`. -Two methane balance checks are performed at each timestep to insure that the diffusion solution and the time-varying aggregation over inundated and non-inundated areas strictly conserves methane molecules (except for production minus consumption) and carbon atoms. +Two methane balance checks are performed at each timestep to insure that +the diffusion solution and the time-varying aggregation over inundated +and non-inundated areas strictly conserves methane molecules (except for +production minus consumption) and carbon atoms. .. _Interface between water table and unsaturated zone: Interface between water table and unsaturated zone ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -We assume Henry's Law equilibrium at the interface between the saturated and unsaturated zone and constant flux from the soil element below the interface to the center of the soil element above the interface. In this case, the coefficients are the same as described above, except for the soil element above the interface: +We assume Henry’s Law equilibrium at the interface between the saturated +and unsaturated zone and constant flux from the soil element below the +interface to the center of the soil element above the interface. In this +case, the coefficients are the same as described above, except for the +soil element above the interface: .. math:: \frac{D_{p1} }{\Delta x_{p1} } =\left[K_{H} \frac{\Delta x_{j} }{2D_{j} } +\frac{\Delta x_{j+1} }{2D_{j+1} } \right]^{-1} @@ -322,26 +598,51 @@ and the soil element below the interface: Inundated Fraction Prediction ---------------------------------- -A simplified dynamic representation of spatial inundation based on recent work by :ref:`Prigent et al. (2007)` is used. :ref:`Prigent et al. (2007)` described a multi-satellite approach to estimate the global monthly inundated fraction (:math:`{F}_{i}`) over an equal area grid (0.25 :math:`\circ` \ :math:`\times`\ 0.25\ :math:`\circ` at the equator) from 1993 - 2000. They suggested that the IGBP estimate for inundation could be used as a measure of sensitivity of their detection approach at low inundation. We therefore used the sum of their satellite-derived :math:`{F}_{i}` and the constant IGBP estimate when it was less than 10% to perform a simple inversion for the inundated fraction for methane production (:math:`{f}_{s}`). The method optimized two parameters (:math:`{fws}_{slope}` and :math:`{fws}_{intercept}`) for each grid cell in a simple model based on simulated total water storage (:math:`{TWS}`): +A simplified dynamic representation of spatial inundation +based on recent work by :ref:`Prigent et al. (2007)` is used. :ref:`Prigent et al. (2007)` described a +multi-satellite approach to estimate the global monthly inundated +fraction (:math:`{F}_{i}`) over an equal area grid +(0.25 :math:`\circ` \ :math:`\times`\ 0.25\ :math:`\circ` at the equator) +from 1993 - 2000. They suggested that the IGBP estimate for inundation +could be used as a measure of sensitivity of their detection approach at +low inundation. We therefore used the sum of their satellite-derived +:math:`{F}_{i}` and the constant IGBP estimate when it was less than +10% to perform a simple inversion for the inundated fraction for methane +production (:math:`{f}_{s}`). The method optimized two parameters +(:math:`{fws}_{slope}` and :math:`{fws}_{intercept}`) for each +grid cell in a simple model based on simulated total water storage +(:math:`{TWS}`): .. math:: :label: 24.20 f_{s} =fws_{slope} TWS + fws_{intercept} . -These parameters were evaluated at the 0.5° resolution, and aggregated for coarser simulations. Ongoing work in the hydrology submodel of CLM may alleviate the need for this crude simplification of inundated fraction in future model versions. +These parameters were evaluated at the +0.5\ :sup:`o` resolution, and aggregated for +coarser simulations. Ongoing work in the hydrology +submodel of CLM may alleviate the need for this crude simplification of +inundated fraction in future model versions. .. _Seasonal Inundation: Seasonal Inundation ------------------------ -A simple scaling factor is used to mimic the impact of seasonal inundation on CH\ :sub:`4` production (see appendix B in :ref:`Riley et al. (2011a)` for a discussion of this simplified expression): +A simple scaling factor is used to mimic the impact of +seasonal inundation on CH\ :sub:`4` production (see appendix B in +:ref:`Riley et al. (2011a)` for a discussion of this +simplified expression): .. math:: :label: 24.21 S=\frac{\beta \left(f-\bar{f}\right)+\bar{f}}{f} ,S\le 1. -Here, *f* is the instantaneous inundated fraction, :math:`\bar{f}` is the annual average inundated fraction (evaluated for the previous calendar year) weighted by heterotrophic respiration, and :math:`\beta` is the anoxia factor that relates the fully anoxic decomposition rate to the fully oxygen-unlimited decomposition rate, all other conditions being equal. +Here, *f* is the instantaneous inundated fraction, :math:`\bar{f}` is +the annual average inundated fraction (evaluated for the previous +calendar year) weighted by heterotrophic respiration, and +:math:`\beta` is the anoxia factor that relates the fully anoxic +decomposition rate to the fully oxygen-unlimited decomposition rate, all +other conditions being equal. diff --git a/doc/source/tech_note/Photosynthesis/CLM50_Tech_Note_Photosynthesis.rst b/doc/source/tech_note/Photosynthesis/CLM50_Tech_Note_Photosynthesis.rst index a86b945384..e4f4f63836 100644 --- a/doc/source/tech_note/Photosynthesis/CLM50_Tech_Note_Photosynthesis.rst +++ b/doc/source/tech_note/Photosynthesis/CLM50_Tech_Note_Photosynthesis.rst @@ -6,7 +6,9 @@ Stomatal Resistance and Photosynthesis Summary of CLM5.0 updates relative to the CLM4.5 ----------------------------------------------------- -We describe here the complete photosynthesis and stomatal conductance parameterizations that appear in CLM5.0. Corresponding information for CLM4.5 appeared in the CLM4.5 Technical Note (:ref:`Oleson et al. 2013 `). +We describe here the complete photosynthesis and stomatal conductance parameterizations that +appear in CLM5.0. Corresponding information for CLM4.5 appeared in the +CLM4.5 Technical Note (:ref:`Oleson et al. 2013 `). CLM5 includes the following new changes to photosynthesis and stomatal conductance: @@ -16,30 +18,74 @@ CLM5 includes the following new changes to photosynthesis and stomatal conductan - Leaf N concentration and the fraction of leaf N in Rubisco used to calculate :math:`V_{cmax25}` are determined by the LUNA model (Chapter :numref:`rst_Photosynthetic Capacity`) -- Water stress is applied by the hydraulic conductance model (Chapter :numref:`rst_Plant Hydraulics`) +- Water stress is applied by the hydraulic conductance model (Chapter :numref:`rst_Plant Hydraulics`) + Introduction ----------------------- -Leaf stomatal resistance, which is needed for the water vapor flux (Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`), is coupled to leaf photosynthesis similar to Collatz et al. (:ref:`1991 `, :ref:`1992 `). These equations are solved separately for sunlit and shaded leaves using average absorbed photosynthetically active radiation for sunlit and shaded leaves [:math:`\phi ^{sun}`,\ :math:`\phi ^{sha}` W m\ :sup:`-2` (section :numref:`Solar Fluxes`)] to give sunlit and shaded stomatal resistance (:math:`r_{s}^{sun}`,\ :math:`r_{s}^{sha}` s m\ :sup:`-1`) and photosynthesis (:math:`A^{sun}`,\ :math:`A^{sha}` µmol CO\ :sub:`2` m\ :sup:`-2` s\ :sup:`-1`). Canopy photosynthesis is :math:`A^{sun} L^{sun} +A^{sha} L^{sha}`, where :math:`L^{sun}` and :math:`L^{sha}` are the sunlit and shaded leaf area indices (section :numref:`Solar Fluxes`). Canopy conductance is :math:`\frac{1}{r_{b} +r_{s}^{sun} } L^{sun} +\frac{1}{r_{b} +r_{s}^{sha} } L^{sha}`, where :math:`r_{b}` is the leaf boundary layer resistance (section :numref:`Sensible and Latent Heat Fluxes and Temperature for Vegetated Surfaces`). +Leaf stomatal resistance, which is needed for the water vapor flux +(Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`), +is coupled to leaf photosynthesis similar to Collatz et al. +(:ref:`1991 `, :ref:`1992 `). These equations are solved separately for sunlit and +shaded leaves using average absorbed photosynthetically active radiation +for sunlit and shaded leaves +[:math:`\phi ^{sun}` ,\ :math:`\phi ^{sha}` W m\ :sup:`-2` +(section :numref:`Solar Fluxes`)] to give sunlit and shaded stomatal resistance +(:math:`r_{s}^{sun}` ,\ :math:`r_{s}^{sha}` s m\ :sup:`-1`) and +photosynthesis (:math:`A^{sun}` ,\ :math:`A^{sha}` µmol CO\ :sub:`2` m\ :sup:`-2` s\ :sup:`-1`). Canopy +photosynthesis is :math:`A^{sun} L^{sun} +A^{sha} L^{sha}` , where +:math:`L^{sun}` and :math:`L^{sha}` are the sunlit and shaded leaf +area indices (section :numref:`Solar Fluxes`). Canopy conductance is +:math:`\frac{1}{r_{b} +r_{s}^{sun} } L^{sun} +\frac{1}{r_{b} +r_{s}^{sha} } L^{sha}` , +where :math:`r_{b}` is the leaf boundary layer resistance (section +:numref:`Sensible and Latent Heat Fluxes and Temperature for Vegetated Surfaces`). .. _Stomatal resistance: Stomatal resistance ----------------------- -CLM5 calculates stomatal conductance using the Medlyn stomatal conductance model (:ref:`Medlyn et al. 2011`). Previous versions of CLM calculated leaf stomatal resistance using the Ball-Berry conductance model as described by :ref:`Collatz et al. (1991)` and implemented in global climate models (:ref:`Sellers et al. 1996`). The Medlyn model calculates stomatal conductance (i.e., the inverse of resistance) based on net leaf photosynthesis, the leaf-to-air vapor pressure difference, and the CO\ :sub:`2` concentration at the leaf surface. Leaf stomatal resistance is: +CLM5 calculates stomatal conductance using the Medlyn stomatal conductance model (:ref:`Medlyn et al. 2011`). +Previous versions of CLM calculated leaf stomatal resistance using the Ball-Berry conductance +model as described by :ref:`Collatz et al. (1991)` and implemented in global +climate models (:ref:`Sellers et al. 1996`). The Medlyn model +calculates stomatal conductance (i.e., the inverse of resistance) based on net leaf +photosynthesis, the leaf-to-air vapor pressure difference, and the CO\ :sub:`2` concentration at the leaf surface. +Leaf stomatal resistance is: .. math:: - :label: 9.1 - - \frac{1}{r_{s} } =g_{s} = g_{o} + 1.6(1 + \frac{g_{1} }{\sqrt{D_{s}}}) \frac{A_{n} }{{c_{s} \mathord{\left/ {\vphantom {c_{s} P_{atm} }} \right.} P_{atm} } } - -where :math:`r_{s}` is leaf stomatal resistance (s m\ :sup:`2` :math:`\mu`\ mol\ :sup:`-1`), :math:`g_{o}` is the minimum stomatal conductance (:math:`\mu` mol m :sup:`-2` s\ :sup:`-1`), :math:`A_{n}` is leaf net photosynthesis (:math:`\mu`\ mol CO\ :sub:`2` m\ :sup:`-2` s\ :sup:`-1`), :math:`c_{s}` is the CO\ :sub:`2` partial pressure at the leaf surface (Pa), :math:`P_{atm}` is the atmospheric pressure (Pa), and :math:`D_{s}=(e_{i}-e{_s})/1000` is the leaf-to-air vapor pressure difference at the leaf surface (kPa) where :math:`e_{i}` is the saturation vapor pressure (Pa) evaluated at the leaf temperature :math:`T_{v}`, and :math:`e_{s}` is the vapor pressure at the leaf surface (Pa). :math:`g_{1}` is a plant functional type dependent parameter (:numref:`Table Plant functional type (PFT) stomatal conductance parameters`) and are the same as those used in the CABLE model (:ref:`de Kauwe et al. 2015 `). - -The value for :math:`g_{o}=100` :math:`\mu` mol m :sup:`-2` s\ :sup:`-1` for C\ :sub:`3` and C\ :sub:`4` plants. Photosynthesis is calculated for sunlit (:math:`A^{sun}`) and shaded (:math:`A^{sha}`) leaves to give :math:`r_{s}^{sun}` and :math:`r_{s}^{sha}`. Additionally, soil water influences stomatal resistance through plant hydraulic stress, detailed in the :ref:`rst_Plant Hydraulics` chapter. - -Resistance is converted from units of s m\ :sup:`2` :math:`\mu` mol\ :sup:`-1` to s m\ :sup:`-1` as: 1 s m\ :sup:`-1` = :math:`1\times 10^{-9} R_{gas} \frac{\theta _{atm} }{P_{atm} }` :math:`\mu` mol\ :sup:`-1` m\ :sup:`2` s, where :math:`R_{gas}` is the universal gas constant (J K\ :sup:`-1` kmol\ :sup:`-1`) (:numref:`Table Physical constants`) and :math:`\theta _{atm}` is the atmospheric potential temperature (K). + :label: 9.1 + + \frac{1}{r_{s} } =g_{s} = g_{o} + 1.6(1 + \frac{g_{1} }{\sqrt{D_{s}}}) \frac{A_{n} }{{c_{s} \mathord{\left/ {\vphantom {c_{s} P_{atm} }} \right. \kern-\nulldelimiterspace} P_{atm} } } + +where :math:`r_{s}` is leaf stomatal resistance (s m\ :sup:`2` +:math:`\mu`\ mol\ :sup:`-1`), :math:`g_{o}` is the minimum stomatal conductance +(:math:`\mu` mol m :sup:`-2` s\ :sup:`-1`), :math:`A_{n}` is leaf net +photosynthesis (:math:`\mu`\ mol CO\ :sub:`2` m\ :sup:`-2` +s\ :sup:`-1`), :math:`c_{s}` is the CO\ :sub:`2` partial +pressure at the leaf surface (Pa), :math:`P_{atm}` is the atmospheric +pressure (Pa), and :math:`D_{s}=(e_{i}-e{_s})/1000` is the leaf-to-air vapor pressure difference at the leaf surface (kPa) +where :math:`e_{i}` is the saturation vapor pressure (Pa) evaluated at the leaf temperature +:math:`T_{v}` , and :math:`e_{s}` is the vapor pressure at the leaf surface (Pa). +:math:`g_{1}` is a plant functional type dependent parameter (:numref:`Table Plant functional type (PFT) stomatal conductance parameters`) +and are the same as those used in the CABLE model (:ref:`de Kauwe et al. 2015 `). + +The value for :math:`g_{o}=100` :math:`\mu` mol m :sup:`-2` s\ :sup:`-1` for +C\ :sub:`3` and C\ :sub:`4` plants. +Photosynthesis is calculated for sunlit (:math:`A^{sun}`) and shaded +(:math:`A^{sha}`) leaves to give :math:`r_{s}^{sun}` and +:math:`r_{s}^{sha}`. Additionally, soil water influences stomatal +resistance through plant hydraulic stress, detailed in +the :ref:`rst_Plant Hydraulics` chapter. + +Resistance is converted from units of +s m\ :sup:`2` :math:`\mu` mol\ :sup:`-1` to s m\ :sup:`-1` as: +1 s m\ :sup:`-1` = :math:`1\times 10^{-9} R_{gas} \frac{\theta _{atm} }{P_{atm} }` +:math:`\mu` mol\ :sup:`-1` m\ :sup:`2` s, +where :math:`R_{gas}` is the universal gas constant (J K\ :sup:`-1` +kmol\ :sup:`-1`) (:numref:`Table Physical constants`) and :math:`\theta _{atm}` is the +atmospheric potential temperature (K). .. _Table Plant functional type (PFT) stomatal conductance parameters: @@ -96,82 +142,146 @@ Resistance is converted from units of s m\ :sup:`2` :math:`\mu` mol\ :sup:`-1` t +----------------------------------+-------------------+ | Switchgrass | 1.79 | +----------------------------------+-------------------+ - + .. _Photosynthesis: Photosynthesis ------------------ -Photosynthesis in C\ :sub:`3` plants is based on the model of :ref:`Farquhar et al. (1980)`. Photosynthesis in C\ :sub:`4` plants is based on the model of :ref:`Collatz et al. (1992)`. :ref:`Bonan et al. (2011)` describe the implementation, modified here. In its simplest form, leaf net photosynthesis after accounting for respiration (:math:`R_{d}` ) is +Photosynthesis in C\ :sub:`3` plants is based on the model of +:ref:`Farquhar et al. (1980)`. Photosynthesis in C\ :sub:`4` plants is +based on the model of :ref:`Collatz et al. (1992)`. :ref:`Bonan et al. (2011)` +describe the implementation, modified here. In its simplest form, leaf +net photosynthesis after accounting for respiration (:math:`R_{d}` ) is .. math:: :label: 9.2 A_{n} =\min \left(A_{c} ,A_{j} ,A_{p} \right)-R_{d} . -The RuBP carboxylase (Rubisco) limited rate of carboxylation :math:`A_{c}` (:math:`\mu` \ mol CO\ :sub:`2` m\ :sup:`-2` s\ :sup:`-1`) is +The RuBP carboxylase (Rubisco) limited rate of carboxylation +:math:`A_{c}` (:math:`\mu` \ mol CO\ :sub:`2` m\ :sup:`-2` +s\ :sup:`-1`) is .. math:: :label: 9.3 - A_{c} =\left\{\begin{array}{l} {\frac{V_{c\max } \left(c_{i} -\Gamma _{*} \right)}{c_{i} +K_{c} \left(1+{o_{i} \mathord{\left/ {\vphantom {o_{i} K_{o} }} \right.} K_{o} } \right)} \qquad {\rm for\; C}_{{\rm 3}} {\rm \; plants}} \\ {V_{c\max } \qquad \qquad \qquad {\rm for\; C}_{{\rm 4}} {\rm \; plants}} \end{array}\right\}\qquad \qquad c_{i} -\Gamma _{*} \ge 0. + A_{c} =\left\{\begin{array}{l} {\frac{V_{c\max } \left(c_{i} -\Gamma _{\*} \right)}{c_{i} +K_{c} \left(1+{o_{i} \mathord{\left/ {\vphantom {o_{i} K_{o} }} \right. \kern-\nulldelimiterspace} K_{o} } \right)} \qquad {\rm for\; C}_{{\rm 3}} {\rm \; plants}} \\ {V_{c\max } \qquad \qquad \qquad {\rm for\; C}_{{\rm 4}} {\rm \; plants}} \end{array}\right\}\qquad \qquad c_{i} -\Gamma _{\*} \ge 0. -The maximum rate of carboxylation allowed by the capacity to regenerate RuBP (i.e., the light-limited rate) :math:`A_{j}` (:math:`\mu` \ mol CO\ :sub:`2` m\ :sup:`-2` s\ :sup:`-1`) is +The maximum rate of carboxylation allowed by the capacity to regenerate +RuBP (i.e., the light-limited rate) :math:`A_{j}` (:math:`\mu` \ mol +CO\ :sub:`2` m\ :sup:`-2` s\ :sup:`-1`) is .. math:: :label: 9.4 - A_{j} =\left\{\begin{array}{l} {\frac{J_{x}\left(c_{i} -\Gamma _{*} \right)}{4c_{i} +8\Gamma _{*} } \qquad \qquad {\rm for\; C}_{{\rm 3}} {\rm \; plants}} \\ {\alpha (4.6\phi )\qquad \qquad {\rm for\; C}_{{\rm 4}} {\rm \; plants}} \end{array}\right\}\qquad \qquad c_{i} -\Gamma _{*} \ge 0. + A_{j} =\left\{\begin{array}{l} {\frac{J_{x}\left(c_{i} -\Gamma _{\*} \right)}{4c_{i} +8\Gamma _{\*} } \qquad \qquad {\rm for\; C}_{{\rm 3}} {\rm \; plants}} \\ {\alpha (4.6\phi )\qquad \qquad {\rm for\; C}_{{\rm 4}} {\rm \; plants}} \end{array}\right\}\qquad \qquad c_{i} -\Gamma _{\*} \ge 0. -The product-limited rate of carboxylation for C\ :sub:`3` plants and the PEP carboxylase-limited rate of carboxylation for C\ :sub:`4` plants :math:`A_{p}` (:math:`\mu` \ mol CO\ :sub:`2` m\ :sup:`-2` s\ :sup:`-1`) is +The product-limited rate of carboxylation for C\ :sub:`3` plants +and the PEP carboxylase-limited rate of carboxylation for +C\ :sub:`4` plants :math:`A_{p}` (:math:`\mu` \ mol +CO\ :sub:`2` m\ :sup:`-2` s\ :sup:`-1`) is .. math:: - :label: 9.5 + :label: 9.5 A_{p} =\left\{\begin{array}{l} {3T_{p\qquad } \qquad \qquad {\rm for\; C}_{{\rm 3}} {\rm \; plants}} \\ {k_{p} \frac{c_{i} }{P_{atm} } \qquad \qquad \qquad {\rm for\; C}_{{\rm 4}} {\rm \; plants}} \end{array}\right\}. -In these equations, :math:`c_{i}` is the internal leaf CO\ :sub:`2` partial pressure (Pa) and :math:`o_{i} =0.20P_{atm}` is the O\ :sub:`2` partial pressure (Pa). :math:`K_{c}` and :math:`K_{o}` are the Michaelis-Menten constants (Pa) for CO\ :sub:`2` and O\ :sub:`2`. :math:`\Gamma _{*}` (Pa) is the CO\ :sub:`2` compensation point. :math:`V_{c\max }` is the maximum rate of carboxylation (µmol m\ :sup:`-2` s\ :sup:`-1`, Chapter :numref:`rst_Photosynthetic Capacity`) and :math:`J_{x}` is the electron transport rate (µmol m\ :sup:`-2` s\ :sup:`-1`). :math:`T_{p}` is the triose phosphate utilization rate (µmol m\ :sup:`-2` s\ :sup:`-1`), taken as :math:`T_{p} =0.167V_{c\max }` so that :math:`A_{p} =0.5V_{c\max }` for C\ :sub:`3` plants (as in :ref:`Collatz et al. 1992 `). For C\ :sub:`4` plants, the light-limited rate :math:`A_{j}` varies with :math:`\phi` in relation to the quantum efficiency (:math:`\alpha =0.05` mol CO\ :sub:`2` mol\ :sup:`-1` photon). :math:`\phi` is the absorbed photosynthetically active radiation (W m\ :sup:`-2`) (section :numref:`Solar Fluxes`), which is converted to photosynthetic photon flux assuming 4.6 :math:`\mu` \ mol photons per joule. :math:`k_{p}` is the initial slope of C\ :sub:`4` CO\ :sub:`2` response curve. - -For C\ :sub:`3` plants, the electron transport rate depends on the photosynthetically active radiation absorbed by the leaf. A common expression is the smaller of the two roots of the equation +In these equations, :math:`c_{i}` is the internal leaf +CO\ :sub:`2` partial pressure (Pa) and :math:`o_{i} =0.20P_{atm}` +is the O\ :sub:`2` partial pressure (Pa). :math:`K_{c}` and +:math:`K_{o}` are the Michaelis-Menten constants (Pa) for +CO\ :sub:`2` and O\ :sub:`2`. :math:`\Gamma _{\*}` (Pa) is +the CO\ :sub:`2` compensation point. :math:`V_{c\max }` is the +maximum rate of carboxylation (µmol m\ :sup:`-2` +s\ :sup:`-1`, Chapter :numref:`rst_Photosynthetic Capacity`) +and :math:`J_{x}` is the electron transport rate (µmol +m\ :sup:`-2` s\ :sup:`-1`). :math:`T_{p}` is the triose +phosphate utilization rate (µmol m\ :sup:`-2` s\ :sup:`-1`), +taken as :math:`T_{p} =0.167V_{c\max }` so that +:math:`A_{p} =0.5V_{c\max }` for C\ :sub:`3` plants (as in +:ref:`Collatz et al. 1992 `). For C\ :sub:`4` plants, the light-limited +rate :math:`A_{j}` varies with :math:`\phi` in relation to the quantum +efficiency (:math:`\alpha =0.05` mol CO\ :sub:`2` +mol\ :sup:`-1` photon). :math:`\phi` is the absorbed +photosynthetically active radiation (W m\ :sup:`-2`) (section :numref:`Solar Fluxes`) +, which is converted to photosynthetic photon flux assuming 4.6 +:math:`\mu` \ mol photons per joule. :math:`k_{p}` is the initial slope +of C\ :sub:`4` CO\ :sub:`2` response curve. + +For C\ :sub:`3` plants, the electron transport rate depends on the +photosynthetically active radiation absorbed by the leaf. A common +expression is the smaller of the two roots of the equation .. math:: :label: 9.6 \Theta _{PSII} J_{x}^{2} -\left(I_{PSII} +J_{\max } \right)J_{x}+I_{PSII} J_{\max } =0 -where :math:`J_{\max }` is the maximum potential rate of electron transport (:math:`\mu`\ mol m\ :sup:`-2` s\ :sup:`-1`, Chapter :numref:`rst_Photosynthetic Capacity`), :math:`I_{PSII}` is the light utilized in electron transport by photosystem II (µmol m\ :sup:`-2` s\ :sup:`-1`), and :math:`\Theta _{PSII}` is a curvature parameter. For a given amount of photosynthetically active radiation absorbed by a leaf (:math:`\phi`, W m\ :sup:`-2`), converted to photosynthetic photon flux density with 4.6 :math:`\mu`\ mol J\ :sup:`-1`, the light utilized in electron transport is +where :math:`J_{\max }` is the maximum potential rate of electron +transport (:math:`\mu`\ mol m\ :sup:`-2` s\ :sup:`-1`, Chapter :numref:`rst_Photosynthetic Capacity`), +:math:`I_{PSII}` is the light utilized in electron transport by +photosystem II (µmol m\ :sup:`-2` s\ :sup:`-1`), and +:math:`\Theta _{PSII}` is a curvature parameter. For a given amount of +photosynthetically active radiation absorbed by a leaf (:math:`\phi`, W +m\ :sup:`-2`), converted to photosynthetic photon flux density +with 4.6 :math:`\mu`\ mol J\ :sup:`-1`, the light utilized in +electron transport is .. math:: :label: 9.7 I_{PSII} =0.5\Phi _{PSII} (4.6\phi ) -where :math:`\Phi _{PSII}` is the quantum yield of photosystem II, and the term 0.5 arises because one photon is absorbed by each of the two photosystems to move one electron. Parameter values are :math:`\Theta _{PSII}` \ = 0.7 and :math:`\Phi _{PSII}` \ = 0.85. In calculating :math:`A_{j}` (for both C\ :sub:`3` and C\ :sub:`4` plants), :math:`\phi =\phi ^{sun}` for sunlit leaves and :math:`\phi =\phi ^{sha}` for shaded leaves. +where :math:`\Phi _{PSII}` is the quantum yield of photosystem II, and +the term 0.5 arises because one photon is absorbed by each of the two +photosystems to move one electron. Parameter values are +:math:`\Theta _{PSII}` \ = 0.7 and :math:`\Phi _{PSII}` \ = 0.85. In +calculating :math:`A_{j}` (for both C\ :sub:`3` and +C\ :sub:`4` plants), :math:`\phi =\phi ^{sun}` for sunlit leaves +and :math:`\phi =\phi ^{sha}` for shaded leaves. -The model uses co-limitation as described by :ref:`Collatz et al. (1991, 1992) `. The actual gross photosynthesis rate, :math:`A`, is given by the smaller root of the equations +The model uses co-limitation as described by :ref:`Collatz et al. (1991, 1992) +`. The actual gross photosynthesis rate, :math:`A`, is given by the +smaller root of the equations .. math:: :label: 9.8 \begin{array}{rcl} {\Theta _{cj} A_{i}^{2} -\left(A_{c} +A_{j} \right)A_{i} +A_{c} A_{j} } & {=} & {0} \\ {\Theta _{ip} A^{2} -\left(A_{i} +A_{p} \right)A+A_{i} A_{p} } & {=} & {0} \end{array} . -Values are :math:`\Theta _{cj} =0.98` and :math:`\Theta _{ip} =0.95` for C\ :sub:`3` plants; and :math:`\Theta _{cj} =0.80`\ and :math:`\Theta _{ip} =0.95` for C\ :sub:`4` plants. :math:`A_{i}` is the intermediate co-limited photosynthesis. :math:`A_{n} =A-R_{d}`. +Values are :math:`\Theta _{cj} =0.98` and :math:`\Theta _{ip} =0.95` for +C\ :sub:`3` plants; and :math:`\Theta _{cj} =0.80`\ and +:math:`\Theta _{ip} =0.95` for C\ :sub:`4` plants. +:math:`A_{i}` is the intermediate co-limited photosynthesis. +:math:`A_{n} =A-R_{d}` . -The parameters :math:`K_{c}`, :math:`K_{o}`, and :math:`\Gamma` depend on temperature. Values at 25 °C are :math:`K_{c25} ={\rm 4}0{\rm 4}.{\rm 9}\times 10^{-6} P_{atm}`, :math:`K_{o25} =278.4\times 10^{-3} P_{atm}`, and :math:`\Gamma _{25} {\rm =42}.75\times 10^{-6} P_{atm}`. :math:`V_{c\max }`, :math:`J_{\max }`, :math:`T_{p}`, :math:`k_{p}`, and :math:`R_{d}` also vary with temperature. +The parameters :math:`K_{c}`, :math:`K_{o}`, and :math:`\Gamma` +depend on temperature. Values at 25 :sup:`o` \ C are +:math:`K_{c25} ={\rm 4}0{\rm 4}.{\rm 9}\times 10^{-6} P_{atm}`, +:math:`K_{o25} =278.4\times 10^{-3} P_{atm}`, and +:math:`\Gamma _{25} {\rm =42}.75\times 10^{-6} P_{atm}`. +:math:`V_{c\max }`, :math:`J_{\max }`, :math:`T_{p}`, :math:`k_{p}`, +and :math:`R_{d}` also vary with temperature. -:math:`J_{\max 25}` at 25 :sup:`\o`\ C: is calculated by the LUNA model (Chapter :numref:`rst_Photosynthetic Capacity`) +:math:`J_{\max 25}` at 25 :sup:`\o`\ C: is calculated by the LUNA model (Chapter :numref:`rst_Photosynthetic Capacity`) Parameter values at 25 :sup:`\o`\ C are calculated from :math:`V_{c\max }` \ at 25 -:sup:`\o`\ C:, including: +:sup:`\o`\ C:, including: :math:`T_{p25} =0.167V_{c\max 25}`, and :math:`R_{d25} =0.015V_{c\max 25}` (C\ :sub:`3`) and -:math:`R_{d25} =0.025V_{c\max 25}` (C\ :sub:`4`). +:math:`R_{d25} =0.025V_{c\max 25}` (C\ :sub:`4`). For C\ :sub:`4` plants, :math:`k_{p25} =20000\; V_{c\max 25}`. -However, when the biogeochemistry is active (the default mode), :math:`R_{d25}` is calculated from leaf nitrogen as described in (Chapter :numref:`rst_Plant Respiration`) +However, when the biogeochemistry is active (the default mode), :math:`R_{d25}` is +calculated from leaf nitrogen as described in (Chapter :numref:`rst_Plant Respiration`) -The parameters :math:`V_{c\max 25}`, :math:`J_{\max 25}`, :math:`T_{p25}`, :math:`k_{p25}`, and :math:`R_{d25}` are scaled over the canopy for sunlit and shaded leaves (section :numref:`Canopy scaling`). In C\ :sub:`3` plants, these are adjusted for leaf temperature, :math:`T_{v}` (K), as: +The parameters :math:`V_{c\max 25}`, +:math:`J_{\max 25}`, :math:`T_{p25}`, :math:`k_{p25}`, and +:math:`R_{d25}` are scaled over the canopy for sunlit and shaded leaves +(section :numref:`Canopy scaling`). In C\ :sub:`3` plants, these are adjusted for leaf temperature, +:math:`T_{v}` (K), as: .. math:: :label: 9.9 @@ -190,7 +300,16 @@ and f_{H} \left(T_{v} \right)=\frac{1+\exp \left(\frac{298.15\Delta S-\Delta H_{d} }{298.15\times 0.001R_{gas} } \right)}{1+\exp \left(\frac{\Delta ST_{v} -\Delta H_{d} }{0.001R_{gas} T_{v} } \right)} . -:numref:`Table Temperature dependence parameters for C3 photosynthesis` lists parameter values for :math:`\Delta H_{a}` and :math:`\Delta H_{d}`. :math:`\Delta S` is calculated separately for :math:`V_{c\max }` and :math:`J_{max }` to allow for temperature acclimation of photosynthesis (see equation :eq:`9.16`), and :math:`\Delta S` is 490 J mol :sup:`-1` K :sup:`-1` for :math:`R_d` (:ref:`Bonan et al. 2011`, :ref:`Lombardozzi et al. 2015`). Because :math:`T_{p}` as implemented here varies with :math:`V_{c\max }`, :math:`T_{p}` uses the same temperature parameters as :math:`V_{c\max}`. For C\ :sub:`4` plants, +:numref:`Table Temperature dependence parameters for C3 photosynthesis` +lists parameter values for :math:`\Delta H_{a}` and +:math:`\Delta H_{d}` . :math:`\Delta S` is calculated +separately for :math:`V_{c\max }` and :math:`J_{max }` +to allow for temperature acclimation of photosynthesis (see equation :eq:`9.16`), +and :math:`\Delta S` is 490 J mol :sup:`-1` K :sup:`-1` for :math:`R_d` +(:ref:`Bonan et al. 2011`, :ref:`Lombardozzi et al. 2015`). +Because :math:`T_{p}` as implemented here varies with +:math:`V_{c\max }` , :math:`T_{p}` uses the same temperature parameters as +:math:`V_{c\max}` . For C\ :sub:`4` plants, .. math:: :label: 9.12 @@ -200,15 +319,16 @@ and with :math:`Q_{10} =2`, :math:`s_{1} =0.3`\ K\ :sup:`-1` :math:`s_{2} =313.15` K, -:math:`s_{3} =0.2`\ K\ :sup:`-1`, and -:math:`s_{4} =288.15` K. Additionally, +:math:`s_{3} =0.2`\ K\ :sup:`-1`, and :math:`s_{4} =288.15` K. +Additionally, .. math:: :label: 9.13 R_{d} =R_{d25} \left\{\frac{Q_{10} ^{(T_{v} -298.15)/10} }{1+\exp \left[s_{5} \left(T_{v} -s_{6} \right)\right]} \right\} -with :math:`Q_{10} =2`, :math:`s_{5} =1.3` K\ :sup:`-1` and :math:`s_{6} =328.15`\ K, and +with :math:`Q_{10} =2`, :math:`s_{5} =1.3` +K\ :sup:`-1` and :math:`s_{6} =328.15`\ K, and .. math:: :label: 9.14 @@ -236,41 +356,54 @@ with :math:`Q_{10} =2`. +------------------------+-----------------------------------------------------------------+-----------------------------------------------------------------+ | :math:`K_{o}` | 36380 | – | +------------------------+-----------------------------------------------------------------+-----------------------------------------------------------------+ - | :math:`\Gamma _{*}` | 37830 | – | + | :math:`\Gamma _{\*}` | 37830 | – | +------------------------+-----------------------------------------------------------------+-----------------------------------------------------------------+ -In the model, acclimation is implemented as in :ref:`Kattge and Knorr (2007) `. In this parameterization, :math:`V_{c\max }` and :math:`J_{\max }` vary with the plant growth temperature. This is achieved by allowing :math:`\Delta S`\ to vary with growth temperature according to +In the model, acclimation is +implemented as in :ref:`Kattge and Knorr (2007) `. In this parameterization, +:math:`V_{c\max }` and :math:`J_{\max }` vary with the plant growth temperature. This is +achieved by allowing :math:`\Delta S`\ to vary with growth temperature +according to .. math:: :label: 9.15 \begin{array}{l} {\Delta S=668.39-1.07(T_{10} -T_{f} )\qquad \qquad {\rm for\; }V_{c\max } } \\ {\Delta S=659.70-0.75(T_{10} -T_{f} )\qquad \qquad {\rm for\; }J_{\max } } \end{array} -The effect is to cause the temperature optimum of :math:`V_{c\max }` and :math:`J_{\max }` to increase with warmer temperatures. Additionally, the ratio :math:`J_{\max 25} /V_{c\max 25}` at 25 °C decreases with growth temperature as +The effect is to cause the temperature optimum of :math:`V_{c\max }` +and :math:`J_{\max }` to increase with warmer temperatures. +Additionally, the +ratio :math:`J_{\max 25} /V_{c\max 25}` at 25 :sup:`o`\ C decreases with growth temperature as .. math:: :label: 9.16 J_{\max 25} /V_{c\max 25} =2.59-0.035(T_{10} -T_{f} ). -In these acclimation functions, :math:`T_{10}` is the 10-day mean air temperature (K) and :math:`T_{f}` is the freezing point of water (K). For lack of data, :math:`T_{p}` acclimates similar to :math:`V_{c\max }`. Acclimation is restricted over the temperature range :math:`T_{10} -T_{f} \ge 11`°C and :math:`T_{10} -T_{f} \le 35`°C. +In these acclimation functions, :math:`T_{10}` is the 10-day mean air +temperature (K) and :math:`T_{f}` is the freezing point of water (K). +For lack of data, :math:`T_{p}` acclimates similar to :math:`V_{c\max }`. Acclimation is restricted over the temperature +range :math:`T_{10} -T_{f} \ge 11`\ :sup:`o`\ C and :math:`T_{10} -T_{f} \le 35`\ :sup:`o`\ C. .. _Canopy scaling: Canopy scaling -------------------------------------------- -When LUNA is on, the :math:`V_{c\max 25}` for sun leaves is scaled to the shaded leaves :math:`J_{\max 25}`, :math:`T_{p25}`, :math:`k_{p25}`, and :math:`R_{d25}` scale similarly. +When LUNA is on, the :math:`V_{c\max 25}` for sun leaves is scaled to the shaded leaves +:math:`J_{\max 25}` , :math:`T_{p25}` , :math:`k_{p25}`, and +:math:`R_{d25}` scale similarly. + .. math:: :label: 9.17 - \begin{array}{rcl} - {V_{c\max 25 sha}} & {=} & {V_{c\max 25 sha} \frac{i_{v,sha}}{i_{v,sun}}} \\ + \begin{array}{rcl} + {V_{c\max 25 sha}} & {=} & {V_{c\max 25 sha} \frac{i_{v,sha}}{i_{v,sun}}} \\ {J_{\max 25 sha}} & {=} & {J_{\max 25 sun} \frac{i_{v,sha}}{i_{v,sun}}} \\ - {T_{p sha}} & {=} & {T_{p sun} \frac{i_{v,sha}}{i_{v,sun}}} \end{array} + {T_{p sha}} & {=} & {T_{p sun} \frac{i_{v,sha}}{i_{v,sun}}} \end{array} -Where :math:`i_{v,sun}` and :math:`i_{v,sha}` are the leaf-to-canopy scaling coefficients of the twostream radiation model, calculated as +Where :math:`i_{v,sun}` and :math:`i_{v,sha}` are the leaf-to-canopy scaling coefficients of the twostream radiation model, calculated as .. math:: :label: 9.18 @@ -278,16 +411,22 @@ Where :math:`i_{v,sun}` and :math:`i_{v,sha}` are the leaf-to-canopy scaling coe i_{v,sun} = \frac{(1 - e^{-(k_{n,ext}+k_{b,ext})*lai_e)} / (k_{n,ext}+k_{b,ext})}{f_{sun}*lai_e}\\ i_{v,sha} = \frac{(1 - e^{-(k_{n,ext}+k_{b,ext})*lai_e)} / (k_{n,ext}+k_{b,ext})}{(1 - f_{sun})*lai_e} -k_{n,ext} is the extinction coefficient for N through the canopy (0.3). k_{b,ext} is the direct beam extinction coefficient calculated in the surface albedo routine, and :math:`f_{sun}` is the fraction of sunlit leaves, both derived from Chapter :numref:`rst_Surface Albedos`. +k_{n,ext} is the extinction coefficient for N through the canopy (0.3). k_{b,ext} is the direct beam extinction coefficient calculated in the surface albedo routine, and :math:`f_{sun}` is the fraction of sunlit leaves, both derived from Chapter :numref:`rst_Surface Albedos`. -When LUNA is off, scaling defaults to the mechanism used in CLM4.5. +When LUNA is off, scaling defaults to the mechanism used in CLM4.5. .. _Numerical implementation photosynthesis: Numerical implementation ---------------------------- -The CO\ :sub:`2` partial pressure at the leaf surface, :math:`c_{s}` (Pa), and the vapor pressure at the leaf surface, :math:`e_{s}` (Pa), needed for the stomatal resistance model in equation :eq:`9.1`, and the internal leaf CO\ :sub:`2` partial pressure :math:`c_{i}` (Pa), needed for the photosynthesis model in equations :eq:`9.3`-:eq:`9.5`, are calculated assuming there is negligible capacity to store CO\ :sub:`2` and water vapor at the leaf surface so that +The CO\ :sub:`2` partial pressure at the leaf surface, +:math:`c_{s}` (Pa), and the vapor pressure at the leaf surface, +:math:`e_{s}` (Pa), needed for the stomatal resistance model in +equation :eq:`9.1`, and the internal leaf CO\ :sub:`2` partial pressure +:math:`c_{i}` (Pa), needed for the photosynthesis model in equations :eq:`9.3`-:eq:`9.5`, +are calculated assuming there is negligible capacity to store +CO\ :sub:`2` and water vapor at the leaf surface so that .. math:: :label: 9.19 @@ -297,18 +436,31 @@ The CO\ :sub:`2` partial pressure at the leaf surface, :math:`c_{s}` (Pa), and t and the transpiration fluxes are related as .. math:: - :label: 9.20 + :label: 9.20 \frac{e_{a} -e_{i} }{r_{b} +r_{s} } =\frac{e_{a} -e_{s} }{r_{b} } =\frac{e_{s} -e_{i} }{r_{s} } -where :math:`r_{b}` is leaf boundary layer resistance (s m\ :sup:`2` :math:`\mu` \ mol\ :sup:`-1`) (section :numref:`Sensible and Latent Heat Fluxes and Temperature for Vegetated Surfaces`), the terms 1.4 and 1.6 are the ratios of diffusivity of CO\ :sub:`2` to H\ :sub:`2`\ O for the leaf boundary layer resistance and stomatal resistance, :math:`c_{a} ={\rm CO}_{{\rm 2}} \left({\rm mol\; mol}^{{\rm -1}} \right)`, :math:`P_{atm}` is the atmospheric pressure (Pa), :math:`e_{i}` is the saturation vapor pressure (Pa) evaluated at the leaf temperature :math:`T_{v}`, and :math:`e_{a}` is the vapor pressure of air (Pa). The vapor pressure of air in the plant canopy :math:`e_{a}` (Pa) is determined from +where :math:`r_{b}` is leaf boundary layer resistance (s +m\ :sup:`2` :math:`\mu` \ mol\ :sup:`-1`) (section :numref:`Sensible and Latent Heat Fluxes and Temperature for Vegetated Surfaces`), the +terms 1.4 and 1.6 are the ratios of diffusivity of CO\ :sub:`2` to +H\ :sub:`2`\ O for the leaf boundary layer resistance and stomatal +resistance, +:math:`c_{a} ={\rm CO}_{{\rm 2}} \left({\rm mol\; mol}^{{\rm -1}} \right)`, :math:`P_{atm}` +is the atmospheric pressure (Pa), :math:`e_{i}` is the +saturation vapor pressure (Pa) evaluated at the leaf temperature +:math:`T_{v}` , and :math:`e_{a}` is the vapor pressure of air (Pa). +The vapor pressure of air in the plant canopy :math:`e_{a}` (Pa) is +determined from .. math:: :label: 9.21 e_{a} =\frac{P_{atm} q_{s} }{0.622} -where :math:`q_{s}` is the specific humidity of canopy air (kg kg\ :sup:`-1`, section :numref:`Sensible and Latent Heat Fluxes and Temperature for Vegetated Surfaces`). Equations :eq:`9.19` and :eq:`9.20` are solved for :math:`c_{s}` and :math:`e_{s}` +where :math:`q_{s}` is the specific humidity of canopy air (kg +kg\ :sup:`-1`, section :numref:`Sensible and Latent Heat Fluxes and Temperature for Vegetated Surfaces`). +Equations :eq:`9.19` and :eq:`9.20` are solved for +:math:`c_{s}` and :math:`e_{s}` .. math:: :label: 9.34 @@ -320,14 +472,19 @@ where :math:`q_{s}` is the specific humidity of canopy air (kg kg\ :sup:`-1`, se e_{s} =\frac{e_{a} r_{s} +e_{i} r_{b} }{r_{b} +r_{s} } -In terms of conductance with :math:`g_{s} =1/r_{s}` and :math:`g_{b} =1/r_{b}` +In terms of conductance with +:math:`g_{s} =1/r_{s}` and :math:`g_{b} =1/r_{b}` .. math:: :label: 9.36 e_{s} =\frac{e_{a} g_{b} +e_{i} g_{s} }{g_{b} +g_{s} } . -Substitution of equation :eq:`9.36` into equation :eq:`9.1` gives an expression for the stomatal resistance (:math:`r_{s}`) as a function of photosynthesis (:math:`A_{n}` ) + +Substitution of equation :eq:`9.36` into equation :eq:`9.1` gives an expression for the stomatal +resistance +(:math:`r_{s}`) as a function of photosynthesis +(:math:`A_{n}` ) .. math:: :label: 9.37 @@ -340,7 +497,9 @@ where :label: 9.38 \begin{array}{l} a = 1 \\ + b = -[2(g_{o} * 10^{-6} + d) + \frac{(g_{1}d)^{2}}{g_{b}*10^{-6}D_{l}}] \\ + c = (g_{o}*10^{-6})^{2} + [2g_{o}*10^{-6} + d (1-\frac{g_{1}^{2}} {D_{l}})]d \end{array} and @@ -352,12 +511,22 @@ and D_{l} = \frac {max(e_{i} - e_{a},50)} {1000} -Stomatal conductance, as solved by equation :eq:`9.36` (mol m :sup:`-2` s :sup:`-1`), is the larger of the two roots that satisfy the quadratic equation. Values for :math:`c_{i}` are given by + +Stomatal conductance, as solved by equation :eq:`9.36` (mol m :sup:`-2` s :sup:`-1`), is the larger of the two roots that satisfy the +quadratic equation. Values for :math:`c_{i}` are given by .. math:: :label: 9.40 c_{i} =c_{a} -\left(1.4r_{b} +1.6r_{s} \right)P_{atm} A{}_{n} -The equations for :math:`c_{i}`, :math:`c_{s}`, :math:`r_{s}`, and :math:`A_{n}` are solved iteratively until :math:`c_{i}` converges. :ref:`Sun et al. (2012)` pointed out that the CLM4 numerical approach does not always converge. Therefore, the model uses a hybrid algorithm that combines the secant method and Brent's method to solve for :math:`c_{i}`. The equation set is solved separately for sunlit (:math:`A_{n}^{sun}`, :math:`r_{s}^{sun}` ) and shaded (:math:`A_{n}^{sha}`, :math:`r_{s}^{sha}` ) leaves. +The equations for :math:`c_{i}` , :math:`c_{s}` , :math:`r_{s}` , and +:math:`A_{n}` are solved iteratively until :math:`c_{i}` converges. +:ref:`Sun et al. (2012)` pointed out that the CLM4 numerical approach does not +always converge. Therefore, the model uses a hybrid algorithm that +combines the secant method and Brent’s method to solve for +:math:`c_{i}` . The equation set is solved separately for sunlit +(:math:`A_{n}^{sun}` , :math:`r_{s}^{sun}` ) and shaded +(:math:`A_{n}^{sha}` , :math:`r_{s}^{sha}` ) leaves. + diff --git a/doc/source/tech_note/Photosynthetic_Capacity/CLM50_Tech_Note_Photosynthetic_Capacity.rst b/doc/source/tech_note/Photosynthetic_Capacity/CLM50_Tech_Note_Photosynthetic_Capacity.rst index 68b2853bda..c42d7971a8 100755 --- a/doc/source/tech_note/Photosynthetic_Capacity/CLM50_Tech_Note_Photosynthetic_Capacity.rst +++ b/doc/source/tech_note/Photosynthetic_Capacity/CLM50_Tech_Note_Photosynthetic_Capacity.rst @@ -3,26 +3,45 @@ Photosynthetic Capacity ======================= -The photosynthetic capacity is represented by two key parameters: 1) the maximum rate of carboxylation at 25 °C, :math:`V_{\text{c,max25}}`; and 2) the maximum rate of electron transport at 25 °C, :math:`J_{\text{max25}}`. They are predicted by a mechanistic model of leaf utilization of nitrogen for assimilation (LUNA V1.0) (:ref:`Ali et al. 2016`) based on an optimality hypothesis to nitrogen allocation among light capture, electron transport, carboxylation, respiration and storage. Specifically, the model allocates the nitrogen by maximizing the daily net photosynthetic carbon gain under following two key assumptions: - -- nitrogen allocated for light capture, electron transport and carboxylation are co-limiting; - +The photosynthetic capacity is represented by two key parameters: 1) the maximum rate of carboxylation at +25 :sup:`o`\ C, :math:`V_{\text{c,max25}}`; and 2) the maximum rate of electron transport at +25 :sup:`o`\ C, :math:`J_{\text{max25}}` . They are predicted by a mechanistic model of leaf +utilization of nitrogen for assimilation (LUNA V1.0) (:ref:`Ali et al. 2016`) based on an optimality hypothesis to nitrogen allocation +among light capture, electron transport, carboxylation, respiration and storage. +Specifically, the model allocates the nitrogen by maximizing the daily +net photosynthetic carbon gain under following two key assumptions: + +- nitrogen allocated for light capture, electron transport and carboxylation are co-limiting; - respiratory nitrogen is allocated to maintain dark respiration determined by :math:`V_{\text{c,max}}`. -Compared to traditional photosynthetic capacity models, a key advantage of LUNA is that the model is able to predict the potential acclimation of photosynthetic capacities at different environmental conditions as determined by temperature, radiation, CO :sub:`2` concentrations, day length, and humidity. +Compared to traditional photosynthetic capacity models, a key advantage of LUNA is that the model is able to predict the potential +acclimation of photosynthetic capacities at different environmental conditions as determined by temperature, radiation, +CO :sub:`2` concentrations, day length, and humidity. .. _Model inputs and parameter estimations: Model inputs and parameter estimations ------------------------------------------------------- -The LUNA model includes the following four unitless parameters: +The LUNA model includes the following four unitless parameters: - :math:`J_{maxb0}` , which specifies the baseline proportion of nitrogen allocated for electron transport; -- :math:`J_{maxb1}` , which determines response of electron transport rate to light availability; -- :math:`t_{c,j0}` , which defines the baseline ratio of Rubisco-limited rate to light-limited rate; -- :math:`H` , which determines the response of electron transport rate to relative humidity. +- :math:`J_{maxb1}` , which determines response of electron transport rate to light availability; +- :math:`t_{c,j0}` , which defines the baseline ratio of Rubisco-limited rate to light-limited rate; +- :math:`H` , which determines the response of electron transport rate to relative humidity. + +The above four parameters are estimated by fitting the LUNA model to a global compilation of >800 obervations +located at different biomes, canopy locations, and time of the year from 1993-2013 (Ali et al. 2015). The model inputs +are area-based leaf nitrogen content, leaf mass per unit leaf area and the driving environmental conditions (average of past 10 days) +including temperature, CO :sub:`2` concentrations, daily mean and maximum radiation, relative humidity and day length. +The estimated values in CLM5 for the listed parameters are 0.0311, 0.1745, 0.8054, and 6.0999, repectively. In LUNA V1.0, the estimated +parameter values are for C3 natural vegetations. In view that potentially large differences in photosythetic capacity could exist +between crops and natural vegetations due to human selection and genetic modifications, in CLM5, +the LUNA model are used only for C3 natural vegetations. The photosynthetic capacity for crops and C4 plants are thus +still kept the same as CLM4.5. Namely, it is estimated based on the leaf nitrogen content, fixed RUBISCO allocations for +:math:`V_{c\max 25}` and an adjusting factor to account for the impact of day length. In CLM5, the model simulates both sun-lit and shaded leaves; +however, because the sun-lit and shaded leaves can changes through the day based on the sun angles, +we do not differentiate the photosynthetic capacity difference for sun-lit or shaded leaves. -The above four parameters are estimated by fitting the LUNA model to a global compilation of >800 obervations located at different biomes, canopy locations, and time of the year from 1993-2013 (Ali et al. 2015). The model inputs are area-based leaf nitrogen content, leaf mass per unit leaf area and the driving environmental conditions (average of past 10 days) including temperature, CO :sub:`2` concentrations, daily mean and maximum radiation, relative humidity and day length. The estimated values in CLM5 for the listed parameters are 0.0311, 0.1745, 0.8054, and 6.0999, repectively. In LUNA V1.0, the estimated parameter values are for C3 natural vegetations. In view that potentially large differences in photosythetic capacity could exist between crops and natural vegetations due to human selection and genetic modifications, in CLM5, the LUNA model are used only for C3 natural vegetations. The photosynthetic capacity for crops and C4 plants are thus still kept the same as CLM4.5. Namely, it is estimated based on the leaf nitrogen content, fixed RUBISCO allocations for :math:`V_{c\max 25}` and an adjusting factor to account for the impact of day length. In CLM5, the model simulates both sun-lit and shaded leaves; however, because the sun-lit and shaded leaves can changes through the day based on the sun angles, we do not differentiate the photosynthetic capacity difference for sun-lit or shaded leaves. .. _Model structure: @@ -32,28 +51,39 @@ Model structure Plant Nitrogen '''''''''''''''''''''''''' -The structure of the LUNA model is adapted from :ref:`Xu et al. (2012)`, where the plant nitrogen at the leaf level ( :math:`\text{LNC}_{a}`; gN/ m :sup:`2` leaf) is divided into four pools: structural nitrogen( :math:`N_{\text{str}}`; gN/m :sup:`2` leaf), photosynthetic nitrogen ( :math:`N_{\text{psn}}`; gN/m :sup:`2` leaf), storage nitrogen( :math:`N_{\text{store}}`; gN/m :sup:`2` leaf), and respiratory nitrogen ( :math:`N_{\text{resp}}`; gN/m :sup:`2` leaf). Namely, +The structure of the LUNA model is adapted from :ref:`Xu et al. (2012)`, where the plant nitrogen at the leaf level ( :math:`\text{LNC}_{a}`; gN/ m :sup:`2` leaf) is divided into +four pools: structural nitrogen( :math:`N_{\text{str}}`; gN/m :sup:`2` leaf), +photosynthetic nitrogen ( :math:`N_{\text{psn}}`; gN/m :sup:`2` leaf), +storage nitrogen( :math:`N_{\text{store}}`; gN/m :sup:`2` leaf), +and respiratory nitrogen ( :math:`N_{\text{resp}}`; gN/m :sup:`2` leaf). +Namely, .. math:: :label: 10.1) \text{LNC}_{a} = N_{\text{psn}} + N_{\text{str}}+ N_{\text{store}} + N_{\text{resp}}. -The photosynthetic nitrogen, :math:`N_{\text{psn}}`, is further divided into nitrogen for light capture ( :math:`N_{\text{lc}}`; gN/m :sup:`2` leaf), nitrogen for electron transport ( :math:`N_{\text{et}}`; gN/m :sup:`2` leaf), and nitrogen for carboxylation ( :math:`N_{\text{cb}}`; gN/m :sup:`2` leaf). Namely, +The photosynthetic nitrogen, :math:`N_{\text{psn}}`, is further divided into +nitrogen for light capture ( :math:`N_{\text{lc}}`; gN/m :sup:`2` leaf), +nitrogen for electron transport ( :math:`N_{\text{et}}`; gN/m :sup:`2` leaf), +and nitrogen for carboxylation ( :math:`N_{\text{cb}}`; gN/m :sup:`2` leaf). +Namely, .. math:: :label: 10.2) N_{\text{psn}} =N_{\text{et}} + N_{\text{cb}} + N_{\text{lc}}. -The structural nitrogen, :math:`N_{\text{str}}`, is calculated as the multiplication of leaf mass per unit area (:math:`\text{LMA}`; g biomass/m :sup:`2` leaf), and the structural nitrogen content (:math:`\text{SNC}`; gN/g biomass). Namely, +The structural nitrogen, :math:`N_{\text{str}}`, is calculated as the +multiplication of leaf mass per unit area (:math:`\text{LMA}`; g biomass/m :sup:`2` leaf), and the structural nitrogen content (:math:`\text{SNC}`; gN/g biomass). Namely, .. math:: :label: 10.3) N_{\text{str}} = \text{SNC} \cdot \text{LMA} -where :math:`\text{SNC}` is set to be fixed at 0.002 (gN/g biomass), based on data on C:N ratio from dead wood (White etal.,2000), and :math:`\text{LMA}` is the inverse of specific leaf area at the canopy top (:math:`SLA_{\text{0}}`), a PFT-level parameter (:numref:`Table Plant functional type (PFT) leaf N parameters`). +where :math:`\text{SNC}` is set to be fixed at 0.002 (gN/g biomass), based on data on C:N ratio from dead wood (White etal.,2000), +and :math:`\text{LMA}` is the inverse of specific leaf area at the canopy top (:math:`SLA_{\text{0}}`), a PFT-level parameter (:numref:`Table Plant functional type (PFT) leaf N parameters`). .. _Table Plant functional type (PFT) leaf N parameters: @@ -111,25 +141,37 @@ where :math:`\text{SNC}` is set to be fixed at 0.002 (gN/g biomass), based on da | Switchgrass | 0.0490 | 0.2930 | +----------------------------------+--------------------------+--------------------------+ -Notes: :math:`SLA_{\text{0}}` is the specific leaf area at the canopy top (m :sup:`2` leaf/g biomass), and :math:`N_{\text{cb}}` is the fraction of leaf nitrogen in Rubisco (g N in Rubisco g :sup:`-1` N) +Notes: :math:`SLA_{\text{0}}` is the specific leaf area at the canopy top (m :sup:`2` leaf/g biomass), +and :math:`N_{\text{cb}}` is the fraction of leaf nitrogen in Rubisco (g N in Rubisco g :sup:`-1` N) -We assume that plants optimize their nitrogen allocations (i.e., :math:`N_{\text{store}}`, :math:`N_{\text{resp}}`, :math:`N_{\text{lc}}`, :math:`N_{\text{et}}`, :math:`N_{\text{cb}}`) to maximize the photosynthetic carbon gain, defined as the gross photosynthesis ( :math:`A` ) minus the maintenance respiration for photosynthetic enzymes ( :math:`R_{\text{psn}}` ), under specific environmental conditions and given plant's strategy of leaf nitrogen use. Namely, the solutions of nitrogen allocations \{ :math:`N_{\text{store}}`, :math:`N_{\text{resp}}`, :math:`N_{\text{lc}}`, :math:`N_{\text{et}}`, :math:`N_{\text{cb}}` \} can be estimated as follows, +We assume that plants optimize their nitrogen allocations (i.e., :math:`N_{\text{store}}`, :math:`N_{\text{resp}}`, :math:`N_{\text{lc}}`, :math:`N_{\text{et}}`, :math:`N_{\text{cb}}`) to maximize the photosynthetic carbon gain, defined as +the gross photosynthesis ( :math:`A` ) minus the maintenance respiration for +photosynthetic enzymes ( :math:`R_{\text{psn}}` ), under specific +environmental conditions and given plant's strategy of leaf nitrogen +use. Namely, the solutions of nitrogen allocations \{ :math:`N_{\text{store}}`, :math:`N_{\text{resp}}`, :math:`N_{\text{lc}}`, :math:`N_{\text{et}}`, :math:`N_{\text{cb}}` \} can be estimated as follows, .. math:: :label: 10.4) \left\{\hat{N}_{\text{{store}}}, \hat{N}_{\text{{resp}}}, \hat{\mathrm{N}}_{\text{lc}}, \hat{N}_{\text{et}}, \hat{\mathrm{N}}_{\text{cb}} - \right\} = \underset{\mathrm{N}_{\text{store}}\,+\,\mathrm{N}_{\text{resp}}\,+\,\mathrm{N}_{\text{lc}}\,+\,\mathrm{N}_{\text{et}}\,+\,\mathrm{N}_{\text{cb}}\,<\text{FNC}_{\mathrm{a}}}{\text{argmax}} (A-R_{\text{psn}}), + \right\} = \underset{\mathrm{N}_{\text{store}}\,+\,\mathrm{N}_{\text{resp}}\,+\,\mathrm{N}_{\text{lc}}\,+\,\mathrm{N}_{\text{et}}\,+\,\mathrm{N}_{\text{cb}}\,<\text{FNC}_{\mathrm{a}}}{\text{argmax}} (A-R_{\text{psn}}), -where :math:`\text{FNC}_{a}` is the functional nitrogen content defined as the total leaf nitrogen content ( :math:`\text{LNC}_{a}`) minus the structural nitrogen content ( :math:`N_{\text{str}}` ). +where :math:`\text{FNC}_{a}` is the functional nitrogen content defined as the total leaf nitrogen content ( :math:`\text{LNC}_{a}`) minus the structural nitrogen content ( :math:`N_{\text{str}}` ). -The gross photosynthesis, :math:`A`, was calculated with a coupled leaf gas exchange model based on the :ref:`Farquhar et al. (1980)` model of photosynthesis and Ball--Berry-type stomatal conductance model (Ball et al. 1987). The maintenance respiration for photosynthetic enzymes, :math:`R_{\text{psn}}`, is calculated by the multiplication of total photosynthetic nitrogen ( :math:`N_{\text{psn}}` ) and the maintenance respiration cost for photosynthetic enzymes. +The gross photosynthesis, :math:`A`, was calculated with a coupled leaf gas exchange model based on the :ref:`Farquhar et al. (1980)` model of +photosynthesis and Ball--Berry-type stomatal conductance model (Ball et al. 1987). The maintenance respiration for photosynthetic enzymes, :math:`R_{\text{psn}}`, is +calculated by the multiplication of total photosynthetic nitrogen ( :math:`N_{\text{psn}}` ) and the maintenance respiration cost for photosynthetic enzymes. Maximum electron transport rate ''''''''''''''''''''''''''''''''' -In the LUNA model, the maximum electron transport rate ( :math:`J_{\text{max}}`; :math:`{\mu} mol` electron / m :sup:`2`/s) is simulated to have a baseline allocation of nitrogen and additional nitrogen allocation to change depending on the average daytime photosynthetic active radiation (PAR; :math:`{\mu} mol` electron / m :sup:`2`/s), day length (hours) and air humidity. Specifically, the LUNA model has +In the LUNA model, the maximum electron transport rate +( :math:`J_{\text{max}}`; :math:`{\mu} mol` electron / m :sup:`2`/s) +is simulated to have a baseline allocation of nitrogen and additional +nitrogen allocation to change depending on the average daytime +photosynthetic active radiation (PAR; :math:`{\mu} mol` electron / m :sup:`2`/s), day length (hours) and air humidity. +Specifically, the LUNA model has .. math:: :label: 10.5) @@ -145,14 +187,30 @@ The baseline electron transport rate, :math:`J_{\text{max}0}`, is calculated as J_{\text{max}0} = J_{\text{max}b0}{\text{FNC}}_{\mathrm{a}}{\text{NUE}}_{J_{\text{{max}}}} -where :math:`J_{\text{max}b0}` (unitless) is the baseline proportion of nitrogen allocated for electron transport rate. :math:`{\text{NUE}}_{J_{\text{{max}}}}` ( :math:`{\mu} mol` electron /s/g N) is the nitrogen use efficiency of :math:`J_{\text{{max}}}`. :math:`J_{\text{max}b1}` (unitless) is a coefficient determining the response of the electron transport rate to amount of absorbed light (i.e., :math:`\alpha \text{PAR}`). :math:`f\left(\text{day length} \right)` is a function specifies the impact of day length (hours) on :math:`J_{\text{max}}` in view that longer day length has been demonstrated by previous studies to alter :math:`V_{\mathrm{c}\text{max}25}` and :math:`J_{\text{max}25}` (Bauerle et al. 2012; Comstock and Ehleringer 1986) through photoperiod sensing and regulation (e.g., Song et al. 2013). Following Bauerle et al. (2012), :math:`f\left(\text{day length} \right)` is simulated as follows, + +where :math:`J_{\text{max}b0}` (unitless) is the baseline proportion of nitrogen +allocated for electron transport rate. :math:`{\text{NUE}}_{J_{\text{{max}}}}` ( :math:`{\mu} mol` electron /s/g N) +is the nitrogen use efficiency of :math:`J_{\text{{max}}}`. :math:`J_{\text{max}b1}` (unitless) is a coefficient determining the response of the electron +transport rate to amount of absorbed light (i.e., :math:`\alpha \text{PAR}`). +:math:`f\left(\text{day length} \right)` is a function specifies the impact of day +length (hours) on :math:`J_{\text{max}}` in view that longer day length has been demonstrated by previous studies to alter :math:`V_{\mathrm{c}\text{max}25}` and +:math:`J_{\text{max}25}` (Bauerle et al. 2012; Comstock and Ehleringer 1986) through photoperiod sensing and regulation (e.g., Song et al. 2013). +Following Bauerle et al. (2012), :math:`f\left(\text{day length} \right)` is simulated as follows, .. math:: :label: 10.7) f\left(\text{day length} \right) = \left(\frac{\text{day length}}{12} \right)^{2}. -:math:`f\left(\text{humidity} \right)` represents the impact of air humidity on :math:`J_{\text{{max}}}`. We assume that higher humidity leads to higher :math:`J_{\text{{max}}}` with less water limiation on stomta opening and that low relative humidity has a stronger impact on nitrogen allocation due to greater water limitation. When relative humidity (RH; unitless) is too low, we assume that plants are physiologically unable to reallocate nitrogen. We therefore assume that there exists a critical value of relative humidity ( :math:`RH_{0} = 0.25`; unitless), below which there is no optimal nitrogen allocation. Based on the above assumptions, we have +:math:`f\left(\text{humidity} \right)` represents the impact of air humidity on +:math:`J_{\text{{max}}}`. We assume that higher humidity leads to higher +:math:`J_{\text{{max}}}` with less water limiation on stomta opening and that low +relative humidity has a stronger impact on nitrogen allocation due to greater +water limitation. When relative humidity (RH; unitless) is too low, we assume +that plants are physiologically unable to reallocate nitrogen. We therefore +assume that there exists a critical value of relative humidity ( :math:`RH_{0} = +0.25`; unitless), below which there is no optimal nitrogen allocation. Based +on the above assumptions, we have .. math:: :label: 10.8) @@ -161,16 +219,24 @@ where :math:`J_{\text{max}b0}` (unitless) is the baseline proportion of nitrogen \right) = \left(1-\mathrm{e}^{\left(-H \frac{\text{max}\left(\text{RH}-{\text{RH}}_{0}, 0 \right)}{1-\text{RH}_{0}} \right)} \right), + where :math:`H` (unitless) specifies the impact of relative humidity on electron transport rate. -The efficiency of light energy absorption (unitless), :math:`\alpha`, is calculated depending on the amount of nitrogen allocated for light capture, :math:`\mathrm{N}_{\text{lc}}`. Following Niinemets and Tenhunen (1997), the LUNA model has, +The efficiency of light energy absorption (unitless), :math:`\alpha`, is calculated +depending on the amount of nitrogen allocated for light capture, +:math:`\mathrm{N}_{\text{lc}}`. Following Niinemets and Tenhunen (1997), the LUNA model has, .. math:: :label: 10.9) \alpha =\frac{0.292}{1+\frac{0.076}{\mathrm{N}_{\text{lc}}C_{b}}} -where 0.292 is the conversion factor from photon to electron. :math:`C_{b}` is the conversion factor (1.78) from nitrogen to chlorophyll. After we estimate :math:`J_{\text{{max}}}`, the actual electron transport rate with the daily maximum radiation ( :math:`J_{x}`) can be calculated using the empirical expression of leaf (1937), + +where 0.292 is the conversion factor from photon to electron. :math:`C_{b}` +is the conversion factor (1.78) from nitrogen to chlorophyll. After we +estimate :math:`J_{\text{{max}}}`, the actual electron transport rate with +the daily maximum radiation ( :math:`J_{x}`) can be calculated using the +empirical expression of leaf (1937), .. math:: :label: 10.10) @@ -178,82 +244,127 @@ where 0.292 is the conversion factor from photon to electron. :math:`C_{b}` is t J_{x} = \frac{\alpha \text{PAR}_{\text{max}}} {\left(1 + \frac{\alpha^{2}{\text{PAR}}_{\text{{max}}}^{2}}{J_{\text{{max}}}^{2}} \right)^{0.5}} -where :math:`\text{PAR}_{\text{{max}}}` ( :math:`\mu mol`/m :sup:`2`/s) is the maximum photosynthetically active radiation during the day. + +where :math:`\text{PAR}_{\text{{max}}}` ( :math:`\mu mol`/m :sup:`2`/s) is the +maximum photosynthetically active radiation during the day. Maximum rate of carboxylation '''''''''''''''''''''''''''''' -The maximum rate of carboxylation at 25°C varies with foliage nitrogen concentration and specific leaf area and is calculated as in :ref:`Thornton and Zimmermann (2007)`. At 25°C, +The maximum rate of carboxylation at 25\ :sup:`o`\ C varies with +foliage nitrogen concentration and specific leaf area and is calculated +as in :ref:`Thornton and Zimmermann (2007)`. At 25ºC, .. math:: :label: 10.11) V_{c\max 25} = N_{cb} NUE_{V_{c\max 25}} -where :math:`N_{cb}` is nitrogen for carboxylation (g N m\ :sup:`-2` leaf, :numref:`Table Plant functional type (PFT) leaf N parameters`), and :math:`NUE_{V_{c\max 25}}` = 47.3 x 6.25 and is the nitrogen use efficiency for :math:`V_{c\max 25}`. The constant 47.3 is the specific Rubisco activity ( :math:`\mu` mol CO\ :sub:`2` g\ :sup:`-1` Rubisco s\ :sup:`-1`) measured at 25°C, and the constant 6.25 is the nitrogen binding factor for Rubisco (g Rubisco g\ :sup:`-1` N; :ref:`Rogers 2014`). +where :math:`N_{cb}` is nitrogen for carboxylation (g N m\ :sup:`-2` leaf, +:numref:`Table Plant functional type (PFT) leaf N parameters`), +and :math:`NUE_{V_{c\max 25}}` = 47.3 x 6.25 and is the nitrogen use efficiency for :math:`V_{c\max 25}`. +The constant 47.3 is the specific Rubisco activity ( :math:`\mu` mol CO\ :sub:`2` g\ :sup:`-1` Rubisco s\ :sup:`-1`) +measured at 25\ :sup:`o`\ C, and the constant 6.25 is the nitrogen binding factor for Rubisco +(g Rubisco g\ :sup:`-1` N; :ref:`Rogers 2014`). -:math:`V_{c\max 25}` additionally varies with daylength (:math:`DYL`) using the function :math:`f(DYL)`, which introduces seasonal variation to :math:`V_{c\max }` +:math:`V_{c\max 25}` additionally varies with daylength (:math:`DYL`) +using the function :math:`f(DYL)`, which introduces seasonal variation +to :math:`V_{c\max }` .. math:: - :label: 10.12) + :label: 10.12) f\left(DYL\right)=\frac{\left(DYL\right)^{2} }{\left(DYL_{\max } \right)^{2} } -with :math:`0.01\le f\left(DYL\right)\le 1`. Daylength (seconds) is given by +with :math:`0.01\le f\left(DYL\right)\le 1`. Daylength (seconds) is +given by .. math:: - :label: 10.13) + :label: 10.13) DYL=2\times 13750.9871\cos ^{-1} \left[\frac{-\sin \left(lat\right)\sin \left(decl\right)}{\cos \left(lat\right)\cos \left(decl\right)} \right] -where :math:`lat` (latitude) and :math:`decl` (declination angle) are from section :numref:`Solar Zenith Angle`. Maximum daylength (:math:`DYL_{\max }` ) is calculated similarly but using the maximum declination angle for present-day orbital geometry (:math:`\pm`\ 23.4667° [:math:`\pm`\ 0.409571 radians], positive for Northern Hemisphere latitudes and negative for Southern Hemisphere). +where :math:`lat` (latitude) and :math:`decl` (declination angle) are +from section :numref:`Solar Zenith Angle`. Maximum daylength (:math:`DYL_{\max }` ) is calculated +similarly but using the maximum declination angle for present-day +orbital geometry (:math:`\pm`\ 23.4667º [:math:`\pm`\ 0.409571 radians], +positive for Northern Hemisphere latitudes and negative for Southern +Hemisphere). Implementation of Photosynthetic Capacity '''''''''''''''''''''''''''''''''''''''''' -Based on :ref:`Farquhar et al. (1980)` and Wullschleger (1993), we can calculate the electron-limited photosynthetic rate under daily maximum radiation ( :math:`W_{jx}`) and the Rubisco-limited photosynthetic rate ( :math:`W_{\mathrm{c}}`) as follows, +Based on :ref:`Farquhar et al. (1980)` and Wullschleger (1993), we can calculate the +electron-limited photosynthetic rate under daily maximum radiation ( :math:`W_{jx}`) +and the Rubisco-limited photosynthetic rate ( :math:`W_{\mathrm{c}}`) as follows, + .. math:: :label: 10.14) - W_{J_{x}} = K_{j}J_{x} , + W_{J_{x}} = K_{j}J_{x} , .. math:: :label: 10.15) W_{\mathrm{c}} = K_{\mathrm{c}} V_{{\mathrm{c}, \text{max}}}, -where :math:`K_{j}` and :math:`K_{\mathrm{c}}` as the conversion factors for :math:`J_{x}` and :math:`V_{{\mathrm{c}, \text{max}}}` ( :math:`V_{{\mathrm{c}, \text{max}}}` to :math:`W_{\mathrm{c}}` and :math:`J_{x}` to :math:`W_{J_{x}}`), respectively. Based on :ref:`Xu et al. (2012)`, Maire et al. (2012) and Walker et al. (2014), we assume that :math:`W_{\mathrm{c}}` is proportional to :math:`W_{J_{x}}`. Specifically, we have + +where :math:`K_{j}` and :math:`K_{\mathrm{c}}` as the conversion factors for +:math:`J_{x}` and :math:`V_{{\mathrm{c}, \text{max}}}` ( :math:`V_{{\mathrm{c}, \text{max}}}` to +:math:`W_{\mathrm{c}}` and :math:`J_{x}` to :math:`W_{J_{x}}`), respectively. Based on +:ref:`Xu et al. (2012)`, Maire et al. (2012) and Walker et al. (2014), we +assume that :math:`W_{\mathrm{c}}` is proportional to +:math:`W_{J_{x}}`. Specifically, we have .. math:: :label: 10.16) W_{\mathrm{c}}=t_{\alpha}t_{\mathrm{c}, j0}W_{J_{x}} -where :math:`t_{\mathrm{c}, j0}` is the baseline ratio of :math:`W_{\mathrm{c}}` to :math:`W_{J_{x}}`. We recognize that this ratio may change depending on the nitrogen use efficiency of carboxylation and electron transport (Ainsworth and Rogers 2007), therefore the LUNA model has the modification factor, :math:`t_{\alpha}`, to adjust baseline the ratio depending on the nitrogen use efficiency for electron vs carboxylation (:ref:`Ali et al. 2016`). + +where :math:`t_{\mathrm{c}, j0}` is the baseline ratio of :math:`W_{\mathrm{c}}` to +:math:`W_{J_{x}}`. We recognize that this ratio may change depending on the +nitrogen use efficiency of carboxylation and electron transport (Ainsworth and Rogers 2007), +therefore the LUNA model has the modification factor, :math:`t_{\alpha}`, to adjust baseline +the ratio depending on the nitrogen use efficiency for electron vs carboxylation (:ref:`Ali et al. 2016`). Total Respiration ''''''''''''''''''' -Following :ref:`Collatz et al. (1991)`, the total respiration ( :math:`R_{\mathrm{t}}`) is calculated in proportion to :math:`V_{\text{c,max}}`, +Following :ref:`Collatz et al. (1991)`, the total respiration ( :math:`R_{\mathrm{t}}`) is +calculated in proportion to :math:`V_{\text{c,max}}`, .. math:: :label: 10.17) R_{\mathrm{t}} = 0.015 V_{\text{c,max}}. + Accounting for the daytime and nighttime temperature, the daily respirations is calculated as follows, + .. math:: :label: 10.18) + R_{\text{td}}={R}_{\mathrm{t}} [D_{\text{day}} + D_{\text{night}} f_{\mathrm{r}}{(T_{\text{night}})/f_{\mathrm{r}}{(T_{\text{day}})}}], -where :math:`D_{\text{day}}` and :math:`D_{\text{night}}` are daytime and nighttime durations in seconds. :math:`f_{\mathrm{r}}(T_{\text{night}})` and :math:`f_{\mathrm{r}}(T_{\text{day}})` are the temperature response functions for respiration (see Appendix B in :ref:`Ali et al. (2016)` for details). + +where :math:`D_{\text{day}}` and :math:`D_{\text{night}}` are daytime and +nighttime durations in seconds. :math:`f_{\mathrm{r}}(T_{\text{night}})` and +:math:`f_{\mathrm{r}}(T_{\text{day}})` are the temperature response functions for +respiration (see Appendix B in :ref:`Ali et al. (2016)` for details). + .. _Numerical scheme: Numerical scheme --------------------------------------------------------- -The LUNA model searches for the "optimal" nitrogen allocations for maximum net photosynthetic carbon gain by incrementally increase the nitrogen allocated for light capture (i.e., :math:`N_{\text{lc}}`) (see :ref:`Ali et al. (2016)` for details). We assume that plants only optimize the nitrogen allocation when they can grow (i.e., GPP>0.0). If GPP become zero under stress, then the LUNA model assume a certain amount of enzyme will decay at daily rates of 0.1, in view that the half-life time for photosynthetic enzymes are short (~7 days) (Suzuki et al. 2001). To avoid unrealistic low values of photosynthetic capacity, the decay is only limited to 50 percent of the original enzyme levels. +The LUNA model searches for the "optimal" nitrogen allocations for maximum net photosynthetic carbon gain +by incrementally increase the nitrogen allocated for light capture (i.e., :math:`N_{\text{lc}}`) (see :ref:`Ali et al. (2016)` for details). +We assume that plants only optimize the nitrogen allocation when they can grow (i.e., GPP>0.0). +If GPP become zero under stress, then the LUNA model assume a certain amount of enzyme will decay at daily rates of 0.1, +in view that the half-life time for photosynthetic enzymes are short (~7 days) (Suzuki et al. 2001). +To avoid unrealistic low values of photosynthetic capacity, the decay is only limited to 50 percent of the original enzyme levels. diff --git a/doc/source/tech_note/Plant_Hydraulics/CLM50_Tech_Note_Plant_Hydraulics.rst b/doc/source/tech_note/Plant_Hydraulics/CLM50_Tech_Note_Plant_Hydraulics.rst index 18a4fe1fdc..2d8843510a 100644 --- a/doc/source/tech_note/Plant_Hydraulics/CLM50_Tech_Note_Plant_Hydraulics.rst +++ b/doc/source/tech_note/Plant_Hydraulics/CLM50_Tech_Note_Plant_Hydraulics.rst @@ -13,24 +13,30 @@ Roots Vertical Root Distribution --------------------------- -The root fraction :math:`r_{i}` in each soil layer depends on the plant functional type +The root fraction :math:`r_{i}` in each soil layer depends on the plant +functional type .. math:: :label: 11.1 - r_{i} = - \begin{array}{lr} - \left(\beta^{z_{h,\, i-1} \cdot 100} - \beta^{z_{h,\, i} \cdot 100} \right) & \qquad {\rm for\; }1 \le i \le N_{levsoi} + r_{i} = + \begin{array}{lr} + \left(\beta^{z_{h,\, i-1} \cdot 100} - \beta^{z_{h,\, i} \cdot 100} \right) & \qquad {\rm for\; }1 \le i \le N_{levsoi} \end{array} -where :math:`z_{h,\, i}` (m) is the depth from the soil surface to the interface between layers :math:`i` and :math:`i+1` (:math:`z_{h,\, 0}`, the soil surface) (section :numref:`Vertical Discretization`), the factor of 100 converts from m to cm, and :math:`\beta` is a plant-dependent root distribution parameter adopted from :ref:`Jackson et al. (1996)` (:numref:`Table Plant functional type root distribution parameters`). +where :math:`z_{h,\, i}` (m) is the depth from the soil surface to the +interface between layers :math:`i` and :math:`i+1` (:math:`z_{h,\, 0}` , +the soil surface) (section :numref:`Vertical Discretization`), the factor of 100 +converts from m to cm, and :math:`\beta` is a plant-dependent root +distribution parameter adopted from :ref:`Jackson et al. (1996)` +(:numref:`Table Plant functional type root distribution parameters`). .. rootfr(p,lev) = ( & beta ** (col%zi(c,lev-1)*m_to_cm) - & beta ** (col%zi(c,lev)*m_to_cm) ) -.. 0, 0.976, 0.943, 0.943, 0.993, 0.966, 0.993, 0.966, 0.943, 0.964, 0.964, - 0.914, 0.914, 0.943, 0.943, 0.943, 0.943, 0.943, 0.943, 0.943, 0.943, +.. 0, 0.976, 0.943, 0.943, 0.993, 0.966, 0.993, 0.966, 0.943, 0.964, 0.964, + 0.914, 0.914, 0.943, 0.943, 0.943, 0.943, 0.943, 0.943, 0.943, 0.943, .. _Table Plant functional type root distribution parameters: @@ -95,20 +101,24 @@ where :math:`z_{h,\, i}` (m) is the depth from the soil surface to the interface +----------------------------------+------------------+ | Switchgrass I | 0.943 | +----------------------------------+------------------+ - + .. _Root Spacing: Root Spacing ----------------------------- -To determine the conductance along the soil to root pathway (section :numref:`Soil-to-root`) an estimate of the spacing between the roots within a soil layer is required. The distance between roots :math:`dx_{root,i}` (m) is calculated by assuming that roots are distributed uniformly throughout the soil (:ref:`Gardner 1960`) +To determine the conductance along the soil to root pathway (section +:numref:`Soil-to-root`) an estimate of the spacing between the roots within +a soil layer is required. The distance between roots :math:`dx_{root,i}` (m) +is calculated by assuming that roots are distributed uniformly throughout +the soil (:ref:`Gardner 1960`) .. math:: :label: 11.12 dx_{root,i} = \left(\pi \cdot L_i\right)^{- \frac{1}{2}} -where :math:`L_{i}` is the root length density (m m :sup:`-3`) +where :math:`L_{i}` is the root length density (m m :sup:`-3`) .. math:: :label: 11.13 @@ -122,9 +132,11 @@ where :math:`L_{i}` is the root length density (m m :sup:`-3`) B_{root,i} = \frac{c\_to\_b \cdot C_{fineroot} \cdot r_{i}}{dz_{i}} -where :math:`c\_to\_b = 2` (kg biomass kg carbon :sup:`-1`) and :math:`C_{fineroot}` is the amount of fine root carbon (kg m :sup:`-2`). +where :math:`c\_to\_b = 2` (kg biomass kg carbon :sup:`-1`) and +:math:`C_{fineroot}` is the amount of fine root carbon (kg m :sup:`-2`). -:math:`\rho_{root}` is the root density (kg m :sup:`-3`), and :math:`{CA}_{root}` is the fine root cross sectional area (m :sup:`2`) +:math:`\rho_{root}` is the root density (kg m :sup:`-3`), and +:math:`{CA}_{root}` is the fine root cross sectional area (m :sup:`2`) .. math:: :label: 11.15 @@ -138,9 +150,20 @@ where :math:`r_{root}` is the root radius (m). Plant Hydraulic Stress ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The Plant Hydraulic Stress (PHS) routine explicitly models water transport through the vegetation according to a simple hydraulic framework following Darcy's Law for porous media flow equations influenced by :ref:`Bonan et al. (2014) `, :ref:`Chuang et al. (2006) `, :ref:`Sperry et al. (1998) `, :ref:`Sperry and Love (2015) `, :ref:`Williams et al (1996) `. - -PHS solves for the vegetation water potential that matches water supply with transpiration demand. Water supply is modeled according to the circuit analog in :numref:`Figure Plant hydraulic circuit`. Transpiration demand is modeled relative to maximum transpiration by a transpiration loss function dependent on leaf water potential. +The Plant Hydraulic Stress (PHS) routine explicitly models water transport +through the vegetation according to a simple hydraulic framework following +Darcy's Law for porous media flow equations influenced by +:ref:`Bonan et al. (2014) `, +:ref:`Chuang et al. (2006) `, +:ref:`Sperry et al. (1998) `, +:ref:`Sperry and Love (2015) `, +:ref:`Williams et al (1996) `. + +PHS solves for the vegetation water potential that matches water supply with +transpiration demand. Water supply is modeled according to the circuit analog +in :numref:`Figure Plant hydraulic circuit`. Transpiration demand is modeled +relative to maximum transpiration by a transpiration loss function dependent +on leaf water potential. .. _Figure Plant hydraulic circuit: @@ -153,29 +176,47 @@ PHS solves for the vegetation water potential that matches water supply with tra Plant Water Supply ----------------------- -The supply equations are used to solve for vegetation water potential forced by transpiration demand and the set of layer-by-layer soil water potentials. The water supply is discretized into segments: soil-to-root, root-to-stem, and stem-to-leaf. There are typically several (1-49) soil-to-root flows operating in parallel, one per soil layer. There are two stem-to-leaf flows operating in parallel, corresponding to the sunlit and shaded "leaves". +The supply equations are used to solve for vegetation water potential forced +by transpiration demand and the set of layer-by-layer soil water potentials. +The water supply is discretized into segments: soil-to-root, root-to-stem, and +stem-to-leaf. There are typically several (1-49) soil-to-root flows operating +in parallel, one per soil layer. There are two stem-to-leaf flows operating in +parallel, corresponding to the sunlit and shaded "leaves". -In general the water fluxes (e.g. soil-to-root, root-to-stem, etc.) are modeled according to Darcy's Law for porous media flow as: +In general the water fluxes (e.g. soil-to-root, root-to-stem, etc.) are +modeled according to Darcy's Law for porous media flow as: .. math:: :label: 11.101 q = kA\left( \psi_1 - \psi_2 \right) -:math:`q` is the flux of water (mmH\ :sub:`2`\ O/s) spanning the segment between :math:`\psi_1` and :math:`\psi_2` +:math:`q` is the flux of water (mmH\ :sub:`2`\ O/s) spanning the segment +between :math:`\psi_1` and :math:`\psi_2` :math:`k` is the hydraulic conductance (s\ :sup:`-1`\ ) -:math:`A` is the area basis (m\ :sup:`2`\ /m\ :sup:`2`\ ) relating the conducting area basis to ground area :math:`\psi_1 - \psi_2` is the gradient in water potential (mmH\ :sub:`2`\ O) across the segment The segments in :numref:`Figure Plant hydraulic circuit` have variable resistance, as the water potentials become lower, hydraulic conductance decreases. This is captured by multiplying the maximum segment conductance by a sigmoidal function capturing the percent loss of conductivity. The function uses two parameters to fit experimental vulnerability curves: the water potential at 50% loss of conductivity (:math:`p50`) and a shape fitting parameter (:math:`c_k`). +:math:`A` is the area basis (m\ :sup:`2`\ /m\ :sup:`2`\ ) relating the +conducting area basis to ground area + +:math:`\psi_1 - \psi_2` is the gradient in water potential (mmH\ :sub:`2`\ O) +across the segment + +The segments in :numref:`Figure Plant hydraulic circuit` have variable resistance, +as the water potentials become lower, hydraulic conductance decreases. This is +captured by multiplying the maximum segment conductance by a sigmoidal function +capturing the percent loss of conductivity. The function uses two parameters to +fit experimental vulnerability curves: the water potential at 50% loss of +conductivity (:math:`p50`) and a shape fitting parameter (:math:`c_k`). .. math:: :label: 11.102 - + k=k_{max}\cdot 2^{-\left(\dfrac{\psi_1}{p50}\right)^{c_k}} -:math:`k_{max}` is the maximum segment conductance (s\ :sup:`-1`\ ) +:math:`k_{max}` is the maximum segment conductance (s\ :sup:`-1`\ ) -:math:`p50` is the water potential at 50% loss of conductivity (mmH\ :sub:`2`\ O) +:math:`p50` is the water potential at 50% loss of conductivity (mmH\ :sub:`2`\ O) :math:`\psi_1` is the water potential of the lower segment terminus (mmH\ :sub:`2`\ O) @@ -184,26 +225,40 @@ In general the water fluxes (e.g. soil-to-root, root-to-stem, etc.) are modeled Stem-to-leaf '''''''''''''''''''''''' -The area basis and conductance parameterization varies by segment. There are two stem-to-leaf fluxes in parallel, from stem to sunlit leaf and from stem to shaded leaf (:math:`q_{1a}` and :math:`q_{1a}`). The water flux from stem-to-leaf is the product of the segment conductance, the conducting area basis, and the water potential gradient from stem to leaf. Stem-to-leaf conductance is defined as the maximum conductance multiplied by the percent of maximum conductance, as calculated by the sigmoidal vulnerability curve. The maximum conductance is a PFT parameter representing the maximum conductance of water from stem to leaf per unit leaf area. This parameter can be defined separately for sunlit and shaded segments and should already include the appropriate length scaling (in other words this is a conductance, not conductivity). The water potential gradient is the difference between leaf water potential and stem water potential. There is no gravity term, assuming a negligible difference in height across the segment. The area basis is the leaf area index (either sunlit or shaded). - -.. math:: +The area basis and conductance parameterization varies by segment. There +are two stem-to-leaf fluxes in parallel, from stem to sunlit leaf and from +stem to shaded leaf (:math:`q_{1a}` and :math:`q_{1a}`). The water flux from +stem-to-leaf is the product of the segment conductance, the conducting area +basis, and the water potential gradient from stem to leaf. Stem-to-leaf +conductance is defined as the maximum conductance multiplied by the percent +of maximum conductance, as calculated by the sigmoidal vulnerability curve. +The maximum conductance is a PFT parameter representing the maximum +conductance of water from stem to leaf per unit leaf area. This parameter +can be defined separately for sunlit and shaded segments and should already +include the appropriate length scaling (in other words this is a conductance, +not conductivity). The water potential gradient is the difference between +leaf water potential and stem water potential. There is no gravity term, +assuming a negligible difference in height across the segment. The area +basis is the leaf area index (either sunlit or shaded). + +.. math:: :label: 11.103 - q_{1a}=k_{1a}\cdot\mbox{LAI}_{sun}\cdot\left(\psi_{stem}-\psi_{sunleaf} \right) + q_{1a}=k_{1a}\cdot\mbox{LAI}_{sun}\cdot\left(\psi_{stem}-\psi_{sunleaf} \right) -.. math:: +.. math:: :label: 11.104 - q_{1b}=k_{1b}\cdot\mbox{LAI}_{shade}\cdot\left(\psi_{stem}-\psi_{shadeleaf} \right) + q_{1b}=k_{1b}\cdot\mbox{LAI}_{shade}\cdot\left(\psi_{stem}-\psi_{shadeleaf} \right) -.. math:: +.. math:: :label: 11.105 - k_{1a}=k_{1a,max}\cdot 2^{-\left(\dfrac{\psi_{stem}}{p50_1}\right)^{c_k}} + k_{1a}=k_{1a,max}\cdot 2^{-\left(\dfrac{\psi_{stem}}{p50_1}\right)^{c_k}} .. math:: :label: 11.106 - + k_{1b}=k_{1b,max}\cdot 2^{-\left(\dfrac{\psi_{stem}}{p50_1}\right)^{c_k}} Variables: @@ -237,11 +292,22 @@ Parameters: Root-to-stem '''''''''''''''''''''''' -There is one root-to-stem flux. This represents a flux from the root collar to the upper branch reaches. The water flux from root-to-stem is the product of the segment conductance, the conducting area basis, and the water potential gradient from root to stem. Root-to-stem conductance is defined as the maximum conductance multiplied by the percent of maximum conductance, as calculated by the sigmoidal vulnerability curve (two parameters). The maximum conductance is defined as the maximum root-to-stem conductivity per unit stem area (PFT parameter) divided by the length of the conducting path, which is taken to be the vegetation height. The area basis is the stem area index. The gradient in water potential is the difference between the root water potential and the stem water potential less the difference in gravitational potential. +There is one root-to-stem flux. This represents a flux from the root collar +to the upper branch reaches. The water flux from root-to-stem is the product +of the segment conductance, the conducting area basis, and the water +potential gradient from root to stem. Root-to-stem conductance is defined +as the maximum conductance multiplied by the percent of maximum conductance, +as calculated by the sigmoidal vulnerability curve (two parameters). The +maximum conductance is defined as the maximum root-to-stem conductivity per +unit stem area (PFT parameter) divided by the length of the conducting path, +which is taken to be the vegetation height. The area basis is the stem area +index. The gradient in water potential is the difference between the root +water potential and the stem water potential less the difference in +gravitational potential. .. math:: :label: 11.107 - + q_2=k_2 \cdot SAI \cdot \left( \psi_{root} - \psi_{stem} - \Delta \psi_z \right) .. math:: @@ -274,13 +340,38 @@ Parameters: Soil-to-root '''''''''''''''''''''''' -There are several soil-to-root fluxes operating in parallel (one for each root-containing soil layer). Each represents a flux from the given soil layer to the root collar. The water flux from soil-to-root is the product of the segment conductance, the conducting area basis, and the water potential gradient from soil to root. The area basis is a proxy for root area index, defined as the summed leaf and stem area index multiplied by the root-to-shoot ratio (PFT parameter) multiplied by the layer root fraction. The root fraction comes from an empirical root profile (section :numref:`Vertical Root Distribution`). - -The gradient in water potential is the difference between the soil water potential and the root water potential less the difference in gravitational potential. There is only one root water potential to which all soil layers are connected in parallel. A soil-to-root flux can be either positive (vegetation water uptake) or negative (water deposition), depending on the relative values of the root and soil water potentials. This allows for the occurrence of hydraulic redistribution where water moves through vegetation tissue from one soil layer to another. - -Soil-to-root conductance is the result of two resistances in series, first across the soil-root interface and then through the root tissue. The root tissue conductance is defined as the maximum conductance multiplied by the percent of maximum conductance, as calculated by the sigmoidal vulnerability curve. The maximum conductance is defined as the maximum root-tissue conductivity (PFT parameter) divided by the length of the conducting path, which is taken to be the soil layer depth plus lateral root length. - -The soil-root interface conductance is defined as the soil conductivity divided by the conducting length from soil to root. The soil conductivity varies by soil layer and is calculated based on soil potential and soil properties, via the Brooks-Corey theory. The conducting length is determined from the characteristic root spacing (section :numref:`Root Spacing`). +There are several soil-to-root fluxes operating in parallel (one for each +root-containing soil layer). Each represents a flux from the given soil +layer to the root collar. The water flux from soil-to-root is the product +of the segment conductance, the conducting area basis, and the water +potential gradient from soil to root. The area basis is a proxy for root +area index, defined as the summed leaf and stem area index multiplied by +the root-to-shoot ratio (PFT parameter) multiplied by the layer root +fraction. The root fraction comes from an empirical root profile (section +:numref:`Vertical Root Distribution`). + +The gradient in water potential is the difference between the soil water +potential and the root water potential less the difference in gravitational +potential. There is only one root water potential to which all soil layers +are connected in parallel. A soil-to-root flux can be either positive +(vegetation water uptake) or negative (water deposition), depending on the +relative values of the root and soil water potentials. This allows for the +occurrence of hydraulic redistribution where water moves through vegetation +tissue from one soil layer to another. + +Soil-to-root conductance is the result of two resistances in series, first +across the soil-root interface and then through the root tissue. The root +tissue conductance is defined as the maximum conductance multiplied by the +percent of maximum conductance, as calculated by the sigmoidal vulnerability +curve. The maximum conductance is defined as the maximum root-tissue +conductivity (PFT parameter) divided by the length of the conducting path, +which is taken to be the soil layer depth plus lateral root length. + +The soil-root interface conductance is defined as the soil conductivity +divided by the conducting length from soil to root. The soil conductivity +varies by soil layer and is calculated based on soil potential and soil +properties, via the Brooks-Corey theory. The conducting length is determined +from the characteristic root spacing (section :numref:`Root Spacing`). .. math:: :label: 11.109 @@ -290,7 +381,7 @@ The soil-root interface conductance is defined as the soil conductivity divided .. math:: :label: 11.110 - k_{3,i}=\dfrac{k_{r,i} \cdot k_{s,i}}{k_{r,i}+k_{s,i}} + k_{3,i}=\dfrac{k_{r,i} \cdot k_{s,i}}{k_{r,i}+k_{s,i}} .. math:: :label: 11.111 @@ -302,10 +393,11 @@ The soil-root interface conductance is defined as the soil conductivity divided RAI=\left(LAI+SAI \right) \cdot r_i \cdot f_{root-leaf} + .. math:: :label: 11.113 - k_{s,i} = \dfrac{k_{soil,i}}{dx_{root,i}} + k_{s,i} = \dfrac{k_{soil,i}}{dx_{root,i}} Variables: @@ -315,7 +407,7 @@ Variables: :math:`LAI` = total leaf area index (m2/m2) -:math:`SAI` = stem area index (m2/m2) +:math:`SAI` = stem area index (m2/m2) :math:`\psi_{soil,i}` = water potential in soil layer :math:`i` (mmH\ :sub:`2`\ O) @@ -340,27 +432,35 @@ Parameters: Plant Water Demand ----------------------- -Plant water demand depends on stomatal conductance, which is described in section :numref:`Stomatal resistance`. Here we describe the influence of PHS and the coupling of vegetation water demand and supply. PHS models vegetation water demand as transpiration attenuated by a transpiration loss function based on leaf water potential. Sunlit leaf transpiration is modeled as the maximum sunlit leaf transpiration multiplied by the percent of maximum transpiration as modeled by the sigmoidal loss function. The same follows for shaded leaf transpiration. Maximum stomatal conductance is calculated from the Medlyn model :ref:`(Medlyn et al. 2011) ` absent water stress and used to calculate the maximum transpiration (see section :numref:`Sensible and Latent Heat Fluxes and Temperature for Vegetated Surfaces`). Water stress is calculated as the ratio of attenuated stomatal conductance to maximum stomatal conductance. Water stress is calculated with distinct values for sunlit and shaded leaves. Vegetation water stress is calculated based on leaf water potential and is used to attenuate photosynthesis (see section :numref:`Photosynthesis`) +Plant water demand depends on stomatal conductance, which is described in section :numref:`Stomatal resistance`. +Here we describe the influence of PHS and the coupling of vegetation water demand and supply. +PHS models vegetation water demand as transpiration attenuated by a transpiration loss function based on leaf water potential. +Sunlit leaf transpiration is modeled as the maximum sunlit leaf transpiration multiplied by the percent of maximum transpiration as modeled by the sigmoidal loss function. +The same follows for shaded leaf transpiration. +Maximum stomatal conductance is calculated from the Medlyn model :ref:`(Medlyn et al. 2011) ` absent water stress and used to calculate the maximum transpiration (see section :numref:`Sensible and Latent Heat Fluxes and Temperature for Vegetated Surfaces`). +Water stress is calculated as the ratio of attenuated stomatal conductance to maximum stomatal conductance. +Water stress is calculated with distinct values for sunlit and shaded leaves. +Vegetation water stress is calculated based on leaf water potential and is used to attenuate photosynthesis (see section :numref:`Photosynthesis`) .. math:: :label: 11.201 - E_{sun} = E_{sun,max} \cdot 2^{-\left(\dfrac{\psi_{sunleaf}}{p50_e}\right)^{c_k}} + E_{sun} = E_{sun,max} \cdot 2^{-\left(\dfrac{\psi_{sunleaf}}{p50_e}\right)^{c_k}} .. math:: :label: 11.202 - E_{shade} = E_{shade,max} \cdot 2^{-\left(\dfrac{\psi_{shadeleaf}}{p50_e}\right)^{c_k}} + E_{shade} = E_{shade,max} \cdot 2^{-\left(\dfrac{\psi_{shadeleaf}}{p50_e}\right)^{c_k}} .. math:: :label: 11.203 - \beta_{t,sun} = \dfrac{g_{s,sun}}{g_{s,sun,\beta_t=1}} + \beta_{t,sun} = \dfrac{g_{s,sun}}{g_{s,sun,\beta_t=1}} .. math:: :label: 11.204 - \beta_{t,shade} = \dfrac{g_{s,shade}}{g_{s,shade,\beta_t=1}} + \beta_{t,shade} = \dfrac{g_{s,shade}}{g_{s,shade,\beta_t=1}} :math:`E_{sun}` = sunlit leaf transpiration (mm/s) @@ -372,11 +472,11 @@ Plant water demand depends on stomatal conductance, which is described in sectio :math:`\psi_{sunleaf}` = sunlit leaf water potential (mmH\ :sub:`2`\ O) -:math:`\psi_{shadeleaf}` = shaded leaf water potential (mmH\ :sub:`2`\ O) +:math:`\psi_{shadeleaf}` = shaded leaf water potential (mmH\ :sub:`2`\ O) -:math:`\beta_{t,sun}` = sunlit transpiration water stress (-) +:math:`\beta_{t,sun}` = sunlit transpiration water stress (-) -:math:`\beta_{t,shade}` = shaded transpiration water stress (-) +:math:`\beta_{t,shade}` = shaded transpiration water stress (-) :math:`g_{s,sun}` = stomatal conductance of water corresponding to :math:`E_{sun}` @@ -391,7 +491,7 @@ Plant water demand depends on stomatal conductance, which is described in sectio Vegetation Water Potential ----------------------------- -Both plant water supply and demand are functions of vegetation water potential. PHS explicitly models root, stem, shaded leaf, and sunlit leaf water potential at each timestep. PHS iterates to find the vegetation water potential :math:`\psi` (vector) that satisfies continuity between the non-linear vegetation water supply and demand (equations :eq:`11.103`, :eq:`11.104`, :eq:`11.107`, :eq:`11.109`, :eq:`11.201`, :eq:`11.202`). +Both plant water supply and demand are functions of vegetation water potential. PHS explicitly models root, stem, shaded leaf, and sunlit leaf water potential at each timestep. PHS iterates to find the vegetation water potential :math:`\psi` (vector) that satisfies continuity between the non-linear vegetation water supply and demand (equations :eq:`11.103`, :eq:`11.104`, :eq:`11.107`, :eq:`11.109`, :eq:`11.201`, :eq:`11.202`). .. math:: :label: 11.301 @@ -411,12 +511,20 @@ Both plant water supply and demand are functions of vegetation water potential. PHS finds the water potentials that match supply and demand. In the plant water transport equations :eq:`11.302`, the demand terms (left-hand side) are decreasing functions of absolute leaf water potential. As absolute leaf water potential becomes larger, water stress increases, causing a decrease in transpiration demand. The supply terms (right-hand side) are increasing functions of absolute leaf water potential. As absolute leaf water potential becomes larger, the gradients in water potential increase, causing an increase in vegetation water supply. PHS takes a Newton's method approach to iteratively solve for the vegetation water potentials that satisfy continuity :eq:`11.302`. + + .. _PHS Numerical Implementation: Numerical Implementation -------------------------------- -The four plant water potential nodes are ( :math:`\psi_{root}`, :math:`\psi_{xylem}`, :math:`\psi_{shadeleaf}`, :math:`\psi_{sunleaf}`). The fluxes between each pair of nodes are labeled in Figure 1. :math:`E_{sun}` and :math:`E_{sha}` are the transpiration from sunlit and shaded leaves, respectively. We use the circuit-analog model to calculate the vegetation water potential ( :math:`\psi`) for the four plant nodes, forced by soil matric potential and unstressed transpiration. The unstressed transpiration is acquired by running the photosynthesis model with :math:`\beta_t=1`. The unstressed transpiration flux is attenuated based on the leaf-level vegetation water potential. Using the attenuated transpiration, we solve for :math:`g_{s,stressed}` and output :math:`\beta_t=\dfrac{g_{s,stressed}}{g_{s,unstressed}}`. +The four plant water potential nodes are ( :math:`\psi_{root}`, :math:`\psi_{xylem}`, :math:`\psi_{shadeleaf}`, :math:`\psi_{sunleaf}`). +The fluxes between each pair of nodes are labeled in Figure 1. +:math:`E_{sun}` and :math:`E_{sha}` are the transpiration from sunlit and shaded leaves, respectively. +We use the circuit-analog model to calculate the vegetation water potential ( :math:`\psi`) for the four plant nodes, forced by soil matric potential and unstressed transpiration. +The unstressed transpiration is acquired by running the photosynthesis model with :math:`\beta_t=1`. +The unstressed transpiration flux is attenuated based on the leaf-level vegetation water potential. +Using the attenuated transpiration, we solve for :math:`g_{s,stressed}` and output :math:`\beta_t=\dfrac{g_{s,stressed}}{g_{s,unstressed}}`. The continuity of water flow through the system yields four equations @@ -430,23 +538,25 @@ The continuity of water flow through the system yields four equations q_2&=\sum_{i=1}^{nlevsoi}{q_{3,i}} \end{aligned} -We seek the set of vegetation water potential values, + +We seek the set of vegetation water potential values, .. math:: :label: 11.402 - \psi=\left[ \begin {array}{c} + \psi=\left[ \begin {array}{c} \psi_{sunleaf}\cr\psi_{shadeleaf}\cr\psi_{stem}\cr\psi_{root} - \end {array} \right] + \end {array} \right] -that satisfies these equations, as forced by the soil moisture and atmospheric state. Each flux on the schematic can be represented in terms of the relevant water potentials. Defining the transpiration fluxes: +that satisfies these equations, as forced by the soil moisture and atmospheric state. +Each flux on the schematic can be represented in terms of the relevant water potentials. Defining the transpiration fluxes: .. math:: :label: 11.403 \begin{aligned} E_{sun} &= E_{sun,max} \cdot 2^{-\left(\dfrac{\psi_{sunleaf}}{p50_e}\right)^{c_k}} \\ - E_{shade} &= E_{shade,max} \cdot 2^{-\left(\dfrac{\psi_{shadeleaf}}{p50_e}\right)^{c_k}} + E_{shade} &= E_{shade,max} \cdot 2^{-\left(\dfrac{\psi_{shadeleaf}}{p50_e}\right)^{c_k}} \end{aligned} Defining the water supply fluxes: @@ -461,7 +571,11 @@ Defining the water supply fluxes: q_{soil}&=\sum_{i=1}^{nlevsoi}{q_{3,i}}=\sum_{i=1}^{nlevsoi}{k_{3,i}\cdot RAI\cdot\left(\psi_{soil,i}-\psi_{root} + \Delta\psi_{z,i} \right)} \end{aligned} -We're looking to find the vector :math:`\psi` that fits with soil and atmospheric forcings while satisfying water flow continuity. Due to the model non-linearity, we use a linearized explicit approach, iterating with Newton's method. The initial guess is the solution for :math:`\psi` (vector) from the previous time step. The general framework, from iteration `m` to `m+1` is: +We're looking to find the vector :math:`\psi` +that fits with soil and atmospheric forcings while satisfying water flow continuity. +Due to the model non-linearity, we use a linearized explicit approach, iterating with Newton's method. +The initial guess is the solution for :math:`\psi` (vector) from the previous time step. +The general framework, from iteration `m` to `m+1` is: .. math:: :label: 11.405 @@ -533,11 +647,11 @@ Introducing the notation: \Delta\psi_{shadeleaf} \cr \Delta\psi_{stem} \cr \Delta\psi_{root} - \end {array} \right] + \end {array} \right] .. math:: :label: 11.412 - + A= \left[ \begin {array}{cccc} \dfrac{\delta q_{1a}}{\delta \psi_{sun}}-\dfrac{\delta E_{sun}}{\delta \psi_{sun}}&0&\dfrac{\delta q_{1a}}{\delta \psi_{stem}}&0\cr @@ -572,30 +686,40 @@ Now we compute all the entries for :math:`A` and :math:`b` based on the soil moi \psi_{m+1}=\psi_m+\Delta\psi -We iterate until :math:`b\to 0`, signifying water flux balance through the system. The result is a final set of water potentials ( :math:`\psi_{root}`, :math:`\psi_{xylem}`, :math:`\psi_{shadeleaf}`, :math:`\psi_{sunleaf}`) satisfying non-divergent water flux through the system. The magnitude of the water flux is driven by soil matric potential and unstressed ( :math:`\beta_t=1`) transpiration. +We iterate until :math:`b\to 0`, signifying water flux balance through the system. The result is a final set of water potentials ( :math:`\psi_{root}`, :math:`\psi_{xylem}`, :math:`\psi_{shadeleaf}`, :math:`\psi_{sunleaf}`) satisfying non-divergent water flux through the system. +The magnitude of the water flux is driven by soil matric potential and unstressed ( :math:`\beta_t=1`) transpiration. -We use the transpiration solution (corresponding to the final solution for :math:`\psi`) to compute stomatal conductance. The stomatal conductance is then used to compute :math:`\beta_t`. +We use the transpiration solution (corresponding to the final solution for :math:`\psi`) to compute stomatal conductance. The stomatal conductance is then used to compute :math:`\beta_t`. .. math:: :label: 11.416 - \beta_{t,sun} = \dfrac{g_{s,sun}}{g_{s,sun,\beta_t=1}} + \beta_{t,sun} = \dfrac{g_{s,sun}}{g_{s,sun,\beta_t=1}} .. math:: :label: 11.417 - \beta_{t,shade} = \dfrac{g_{s,shade}}{g_{s,shade,\beta_t=1}} + \beta_{t,shade} = \dfrac{g_{s,shade}}{g_{s,shade,\beta_t=1}} -The :math:`\beta_t` values are used in the Photosynthesis module (see section :numref:`Photosynthesis`) to apply water stress. The solution for :math:`\psi` is saved as a new variable (vegetation water potential) and is indicative of plant water status. The soil-to-root fluxes :math:`\left( q_{3,1},q_{3,2},\mbox{...},q_{3,n}\right)` are used as the soil transpiration sink in the Richards' equation subsurface flow equations (see section :numref:`Soil Water`). +The :math:`\beta_t` values are used in the Photosynthesis module (see section :numref:`Photosynthesis`) to apply water stress. +The solution for :math:`\psi` is saved as a new variable (vegetation water potential) and is indicative of plant water status. +The soil-to-root fluxes :math:`\left( q_{3,1},q_{3,2},\mbox{...},q_{3,n}\right)` are used as the soil transpiration sink in the Richards' equation subsurface flow equations (see section :numref:`Soil Water`). .. _Flow Diagram of Leaf Flux Calculations: Flow Diagram of Leaf Flux Calculations: ------------------------------------------- -PHS runs nested in the loop that solves for sensible and latent heat fluxes and temperature for vegetated surfaces (see section :numref:`Sensible and Latent Heat Fluxes and Temperature for Vegetated Surfaces`). The scheme iterates for convergence of leaf temperature (:math:`T_l`), transpiration water stress (:math:`\beta_t`), and intercellular CO2 concentration (:math:`c_i`). PHS is forced by maximum transpiration (absent water stress, :math:`\beta_t=1`), whereby we first solve for assimilation, stomatal conductance, and intercellular CO2 with :math:`\beta_{t,sun}` and :math:`\beta_{t,shade}` both set to 1. This involves iterating to convergence of :math:`c_i` (see section :numref:`Photosynthesis`). +PHS runs nested in the loop that solves for sensible and latent heat fluxes and temperature for vegetated surfaces (see section :numref:`Sensible and Latent Heat Fluxes and Temperature for Vegetated Surfaces`). +The scheme iterates for convergence of leaf temperature (:math:`T_l`), transpiration water stress (:math:`\beta_t`), and intercellular CO2 concentration (:math:`c_i`). +PHS is forced by maximum transpiration (absent water stress, :math:`\beta_t=1`), whereby we first solve for assimilation, stomatal conductance, and intercellular CO2 with :math:`\beta_{t,sun}` and :math:`\beta_{t,shade}` both set to 1. +This involves iterating to convergence of :math:`c_i` (see section :numref:`Photosynthesis`). -Next, using the solutions for :math:`E_{sun,max}` and :math:`E_{shade,max}`, PHS solves for :math:`\psi`, :math:`\beta_{t,sun}`, and :math:`\beta_{t,shade}`. The values for :math:`\beta_{t,sun}`, and :math:`\beta_{t,shade}` are inputs to the photosynthesis routine, which now solves for attenuated photosynthesis and stomatal conductance (reflecting water stress). Again this involves iterating to convergence of :math:`c_i`. Non-linearities between :math:`\beta_t` and transpiration require also iterating to convergence of :math:`\beta_t`. The outermost level of iteration works towards convergence of leaf temperature, reflecting leaf surface energy balance. +Next, using the solutions for :math:`E_{sun,max}` and :math:`E_{shade,max}`, PHS solves for :math:`\psi`, :math:`\beta_{t,sun}`, and :math:`\beta_{t,shade}`. +The values for :math:`\beta_{t,sun}`, and :math:`\beta_{t,shade}` are inputs to the photosynthesis routine, which now solves for attenuated photosynthesis and stomatal conductance (reflecting water stress). +Again this involves iterating to convergence of :math:`c_i`. +Non-linearities between :math:`\beta_t` and transpiration require also iterating to convergence of :math:`\beta_t`. +The outermost level of iteration works towards convergence of leaf temperature, reflecting leaf surface energy balance. .. _Figure PHS Flow Diagram: diff --git a/doc/source/tech_note/Plant_Mortality/CLM50_Tech_Note_Plant_Mortality.rst b/doc/source/tech_note/Plant_Mortality/CLM50_Tech_Note_Plant_Mortality.rst index a60b6000b5..4c2cb71a26 100644 --- a/doc/source/tech_note/Plant_Mortality/CLM50_Tech_Note_Plant_Mortality.rst +++ b/doc/source/tech_note/Plant_Mortality/CLM50_Tech_Note_Plant_Mortality.rst @@ -3,459 +3,501 @@ Plant Mortality =================== -Plant mortality as described here applies to perennial vegetation types, and is intended to represent the death of individuals from a stand of plants due to the aggregate of processes such as wind throw, insect attack, disease, extreme temperatures or drought, and age-related decline in vigor. These processes are referred to in aggregate as "gap-phase" mortality. Mortality due to fire and anthropogenic land cover change are treated separately (see Chapters :numref:`rst_Fire` and :numref:`rst_Transient Landcover Change`, respectively). +Plant mortality as described here applies to perennial vegetation types, +and is intended to represent the death of individuals from a stand of +plants due to the aggregate of processes such as wind throw, insect +attack, disease, extreme temperatures or drought, and age-related +decline in vigor. These processes are referred to in aggregate as +“gap-phase” mortality. Mortality due to fire and anthropogenic land +cover change are treated separately (see Chapters :numref:`rst_Fire` and :numref:`rst_Transient Landcover Change`, +respectively). Mortality Fluxes Leaving Vegetation Pools ---------------------------------------------- -Whole-plant mortality is parameterized very simply, assuming a mortality rate of 2% yr\ :sup:`-1` for all vegetation types. This is clearly a gross oversimplification of an important process, and additional work is required to better constrain this process in different climate zones (:ref:`Keller et al. 2004`; :ref:`Sollins 1982`), for different species mixtures (:ref:`Gomes et al. 2003`), and for different size and age classes (:ref:`Busing 2005`; :ref:`Law et al. 2003`). Literature values for forest mortality rates range from at least 0.7% to 3.0% yr\ :sup:`-1`. Taking the annual rate of mortality (*am*, proportion yr\ :sup:`-1`) as 0.02, a mortality rate per second (*m*) is calculated as :math:`m={am\mathord{\left/ {\vphantom {am \left(365\cdot 86400\right)}} \right.} \left(365\cdot 86400\right)}`. All vegetation carbon and nitrogen pools for display, storage, and transfer are affected at rate *m*, with mortality fluxes out of vegetation pools eventually merged to the column level and deposited in litter pools. Mortality (*mort*) fluxes out of displayed vegetation carbon and nitrogen pools are - -.. math:: - :label: 33.1) +Whole-plant mortality is parameterized very simply, assuming a mortality +rate of 2% yr\ :sup:`-1` for all vegetation types. This is clearly +a gross oversimplification of an important process, and additional work +is required to better constrain this process in different climate zones +(:ref:`Keller et al. 2004`; :ref:`Sollins 1982`), for different species mixtures +(:ref:`Gomes et al. 2003`), and for different size and age classes (:ref:`Busing +2005`; :ref:`Law et al. 2003`). Literature values for forest mortality rates +range from at least 0.7% to 3.0% yr\ :sup:`-1`. Taking the annual +rate of mortality (*am*, proportion yr\ :sup:`-1`) as 0.02, a +mortality rate per second (*m*) is calculated as +:math:`m={am\mathord{\left/ {\vphantom {am \left(365\cdot 86400\right)}} \right. \kern-\nulldelimiterspace} \left(365\cdot 86400\right)}` . +All vegetation carbon and nitrogen pools for display, storage, and +transfer are affected at rate *m*, with mortality fluxes out of +vegetation pools eventually merged to the column level and deposited in +litter pools. Mortality (*mort*) fluxes out of displayed vegetation +carbon and nitrogen pools are + +.. math:: + :label: 33.1) CF_{leaf\_ mort} =CS_{leaf} m .. math:: - :label: 33.2) + :label: 33.2) CF_{froot\_ mort} =CS_{froot} m .. math:: - :label: 33.3) + :label: 33.3) CF_{livestem\_ mort} =CS_{livestem} m .. math:: - :label: 33.4) + :label: 33.4) CF_{deadstem\_ mort} =CS_{deadstem} m .. math:: - :label: 33.5) + :label: 33.5) CF_{livecroot\_ mort} =CS_{livecroot} m .. math:: - :label: 33.6) + :label: 33.6) CF_{deadcroot\_ mort} =CS_{deadcroot} m .. math:: - :label: 33.7) + :label: 33.7) NF_{leaf\_ mort} =NS_{leaf} m .. math:: - :label: 33.8) + :label: 33.8) NF_{froot\_ mort} =NS_{froot} m .. math:: - :label: 33.9) + :label: 33.9) NF_{livestem\_ mort} =NS_{livestem} m .. math:: - :label: 33.10) + :label: 33.10) NF_{deadstem\_ mort} =NS_{deadstem} m .. math:: - :label: 33.11) + :label: 33.11) NF_{livecroot\_ mort} =NS_{livecroot} m .. math:: - :label: 33.12) + :label: 33.12) NF_{deadcroot\_ mort} =NS_{deadcroot} m .. math:: - :label: 33.13) + :label: 33.13) NF_{retrans\_ mort} =NS_{retrans} m. -where CF are carbon fluxes, CS is carbon storage, NF are nitrogen fluxes, NS is nitrogen storage, *croot* refers to coarse roots, *froot* refers to fine roots, and *retrans* refers to retranslocated. +where CF are carbon fluxes, CS is carbon storage, NF are nitrogen +fluxes, NS is nitrogen storage, *croot* refers to coarse roots, *froot* +refers to fine roots, and *retrans* refers to retranslocated. Mortality fluxes out of carbon and nitrogen storage (*stor)* pools are .. math:: - :label: 33.14) + :label: 33.14) CF_{leaf\_ stor\_ mort} =CS_{leaf\_ stor} m .. math:: - :label: 33.15) + :label: 33.15) CF_{froot\_ stor\_ mort} =CS_{froot\_ stor} m .. math:: - :label: 33.16) + :label: 33.16) CF_{livestem\_ stor\_ mort} =CS_{livestem\_ stor} m .. math:: - :label: 33.17) + :label: 33.17) CF_{deadstem\_ stor\_ mort} =CS_{deadstem\_ stor} m .. math:: - :label: 33.18) + :label: 33.18) CF_{livecroot\_ stor\_ mort} =CS_{livecroot\_ stor} m .. math:: - :label: 33.19) + :label: 33.19) CF_{deadcroot\_ stor\_ mort} =CS_{deadcroot\_ stor} m .. math:: - :label: 33.20) + :label: 33.20) CF_{gresp\_ stor\_ mort} =CS_{gresp\_ stor} m .. math:: - :label: 33.21) + :label: 33.21) NF_{leaf\_ stor\_ mort} =NS_{leaf\_ stor} m .. math:: - :label: 33.22) + :label: 33.22) NF_{froot\_ stor\_ mort} =NS_{froot\_ stor} m .. math:: - :label: 33.23) + :label: 33.23) NF_{livestem\_ stor\_ mort} =NS_{livestem\_ stor} m .. math:: - :label: 33.24) + :label: 33.24) NF_{deadstem\_ stor\_ mort} =NS_{deadstem\_ stor} m .. math:: - :label: 33.25) + :label: 33.25) NF_{livecroot\_ stor\_ mort} =NS_{livecroot\_ stor} m .. math:: - :label: 33.26) + :label: 33.26) NF_{deadcroot\_ stor\_ mort} =NS_{deadcroot\_ stor} m where *gresp* refers to growth respiration. -Mortality fluxes out of carbon and nitrogen transfer (*xfer)* growth pools are +Mortality fluxes out of carbon and nitrogen transfer (*xfer)* growth +pools are .. math:: - :label: 33.27) + :label: 33.27) CF_{leaf\_ xfer\_ mort} =CS_{leaf\_ xfer} m .. math:: - :label: 33.28) + :label: 33.28) CF_{froot\_ xfer\_ mort} =CS_{froot\_ xfer} m .. math:: - :label: 33.29) + :label: 33.29) CF_{livestem\_ xfer\_ mort} =CS_{livestem\_ xfer} m .. math:: - :label: 33.30) + :label: 33.30) CF_{deadstem\_ xfer\_ mort} =CS_{deadstem\_ xfer} m .. math:: - :label: 33.31) + :label: 33.31) CF_{livecroot\_ xfer\_ mort} =CS_{livecroot\_ xfer} m .. math:: - :label: 33.32) + :label: 33.32) CF_{deadcroot\_ xfer\_ mort} =CS_{deadcroot\_ xfer} m .. math:: - :label: 33.33) + :label: 33.33) CF_{gresp\_ xfer\_ mort} =CS_{gresp\_ xfer} m .. math:: - :label: 33.34) + :label: 33.34) NF_{leaf\_ xfer\_ mort} =NS_{leaf\_ xfer} m .. math:: - :label: 33.35) + :label: 33.35) NF_{froot\_ xfer\_ mort} =NS_{froot\_ xfer} m .. math:: - :label: 33.36) + :label: 33.36) NF_{livestem\_ xfer\_ mort} =NS_{livestem\_ xfer} m .. math:: - :label: 33.37) + :label: 33.37) NF_{deadstem\_ xfer\_ mort} =NS_{deadstem\_ xfer} m .. math:: - :label: 33.38) + :label: 33.38) NF_{livecroot\_ xfer\_ mort} =NS_{livecroot\_ xfer} m .. math:: - :label: 33.39) + :label: 33.39) NF_{deadcroot\_ xfer\_ mort} =NS_{deadcroot\_ xfer} m Mortality Fluxes Merged to the Column Level ------------------------------------------------ -Analogous to the treatment of litterfall fluxes, mortality fluxes leaving the vegetation pools are merged to the column level according to the weighted distribution of PFTs on the column (:math:`wcol_{p}` ), and deposited in litter and coarse woody debris pools, which are defined at the column level. Carbon and nitrogen fluxes from mortality of displayed leaf and fine root into litter pools are calculated as +Analogous to the treatment of litterfall fluxes, mortality fluxes +leaving the vegetation pools are merged to the column level according to +the weighted distribution of PFTs on the column (:math:`wcol_{p}` ), and +deposited in litter and coarse woody debris pools, which are defined at +the column level. Carbon and nitrogen fluxes from mortality of displayed +leaf and fine root into litter pools are calculated as .. math:: - :label: 33.40) + :label: 33.40) CF_{leaf\_ mort,lit1} =\sum _{p=0}^{npfts}CF_{leaf\_ mort} f_{lab\_ leaf,p} wcol_{p} .. math:: - :label: 33.41) + :label: 33.41) CF_{leaf\_ mort,lit2} =\sum _{p=0}^{npfts}CF_{leaf\_ mort} f_{cel\_ leaf,p} wcol_{p} .. math:: - :label: 33.42) + :label: 33.42) CF_{leaf\_ mort,lit3} =\sum _{p=0}^{npfts}CF_{leaf\_ mort} f_{lig\_ leaf,p} wcol_{p} .. math:: - :label: 33.43) + :label: 33.43) CF_{froot\_ mort,lit1} =\sum _{p=0}^{npfts}CF_{froot\_ mort} f_{lab\_ froot,p} wcol_{p} .. math:: - :label: 33.44) + :label: 33.44) CF_{froot\_ mort,lit2} =\sum _{p=0}^{npfts}CF_{froot\_ mort} f_{cel\_ froot,p} wcol_{p} .. math:: - :label: 33.45) + :label: 33.45) CF_{froot\_ mort,lit3} =\sum _{p=0}^{npfts}CF_{froot\_ mort} f_{lig\_ froot,p} wcol_{p} .. math:: - :label: 33.46) + :label: 33.46) NF_{leaf\_ mort,lit1} =\sum _{p=0}^{npfts}NF_{leaf\_ mort} f_{lab\_ leaf,p} wcol_{p} .. math:: - :label: 33.47) + :label: 33.47) NF_{leaf\_ mort,lit2} =\sum _{p=0}^{npfts}NF_{leaf\_ mort} f_{cel\_ leaf,p} wcol_{p} .. math:: - :label: 33.48) + :label: 33.48) NF_{leaf\_ mort,lit3} =\sum _{p=0}^{npfts}NF_{leaf\_ mort} f_{lig\_ leaf,p} wcol_{p} .. math:: - :label: 33.49) + :label: 33.49) NF_{froot\_ mort,lit1} =\sum _{p=0}^{npfts}NF_{froot\_ mort} f_{lab\_ froot,p} wcol_{p} .. math:: - :label: 33.50) + :label: 33.50) NF_{froot\_ mort,lit2} =\sum _{p=0}^{npfts}NF_{froot\_ mort} f_{cel\_ froot,p} wcol_{p} .. math:: - :label: 33.51) + :label: 33.51) NF_{froot\_ mort,lit3} =\sum _{p=0}^{npfts}NF_{froot\_ mort} f_{lig\_ froot,p} wcol_{p} . -where *lab* refers to labile, *cel* refers to cellulose, and *lig* refers to lignin. Carbon and nitrogen mortality fluxes from displayed live and dead stem and coarse root pools are merged to the column level and deposited in the coarse woody debris (*cwd*) pools: +where *lab* refers to labile, *cel* refers to cellulose, and *lig* +refers to lignin. Carbon and nitrogen mortality fluxes from displayed +live and dead stem and coarse root pools are merged to the column level +and deposited in the coarse woody debris (*cwd*) pools: .. math:: - :label: 33.52) + :label: 33.52) CF_{livestem\_ mort,cwd} =\sum _{p=0}^{npfts}CF_{livestem\_ mort} wcol_{p} .. math:: - :label: 33.53) + :label: 33.53) CF_{deadstem\_ mort,cwd} =\sum _{p=0}^{npfts}CF_{deadstem\_ mort} wcol_{p} .. math:: - :label: 33.54) + :label: 33.54) CF_{livecroot\_ mort,cwd} =\sum _{p=0}^{npfts}CF_{livecroot\_ mort} wcol_{p} .. math:: - :label: 33.55) + :label: 33.55) CF_{deadcroot\_ mort,cwd} =\sum _{p=0}^{npfts}CF_{deadcroot\_ mort} wcol_{p} .. math:: - :label: 33.56) + :label: 33.56) NF_{livestem\_ mort,cwd} =\sum _{p=0}^{npfts}NF_{livestem\_ mort} wcol_{p} .. math:: - :label: 33.57) + :label: 33.57) NF_{deadstem\_ mort,cwd} =\sum _{p=0}^{npfts}NF_{deadstem\_ mort} wcol_{p} .. math:: - :label: 33.58) + :label: 33.58) NF_{livecroot\_ mort,cwd} =\sum _{p=0}^{npfts}NF_{livecroot\_ mort} wcol_{p} .. math:: - :label: 33.59) + :label: 33.59) NF_{deadcroot\_ mort,cwd} =\sum _{p=0}^{npfts}NF_{deadcroot\_ mort} wcol_{p} -All vegetation storage and transfer pools for carbon and nitrogen are assumed to exist as labile pools within the plant (e.g. as carbohydrate stores, in the case of carbon pools). This assumption applies to storage and transfer pools for both non-woody and woody tissues. The mortality fluxes from these pools are therefore assumed to be deposited in the labile litter pools (:math:`{CS}_{lit1}`, :math:`{NS}_{lit1}`), after being merged to the column level. Carbon mortality fluxes out of storage and transfer pools are: +All vegetation storage and transfer pools for carbon and nitrogen are +assumed to exist as labile pools within the plant (e.g. as carbohydrate +stores, in the case of carbon pools). This assumption applies to storage +and transfer pools for both non-woody and woody tissues. The mortality +fluxes from these pools are therefore assumed to be deposited in the +labile litter pools (:math:`{CS}_{lit1}`, :math:`{NS}_{lit1}`), +after being merged to the column level. Carbon mortality fluxes out of +storage and transfer pools are: .. math:: - :label: 33.60) + :label: 33.60) CF_{leaf\_ stor\_ mort,lit1} =\sum _{p=0}^{npfts}CF_{leaf\_ stor\_ mort} wcol_{p} .. math:: - :label: 33.61) + :label: 33.61) CF_{froot\_ stor\_ mort,lit1} =\sum _{p=0}^{npfts}CF_{froot\_ stor\_ mort} wcol_{p} .. math:: - :label: 33.62) + :label: 33.62) CF_{livestem\_ stor\_ mort,lit1} =\sum _{p=0}^{npfts}CF_{livestem\_ stor\_ mort} wcol_{p} .. math:: - :label: 33.63) + :label: 33.63) CF_{deadstem\_ stor\_ mort,lit1} =\sum _{p=0}^{npfts}CF_{deadstem\_ stor\_ mort} wcol_{p} .. math:: - :label: 33.64) + :label: 33.64) CF_{livecroot\_ stor\_ mort,lit1} =\sum _{p=0}^{npfts}CF_{livecroot\_ stor\_ mort} wcol_{p} .. math:: - :label: 33.65) + :label: 33.65) CF_{deadcroot\_ stor\_ mort,lit1} =\sum _{p=0}^{npfts}CF_{deadcroot\_ stor\_ mort} wcol_{p} .. math:: - :label: 33.66) + :label: 33.66) CF_{gresp\_ stor\_ mort,lit1} =\sum _{p=0}^{npfts}CF_{gresp\_ stor\_ mort} wcol_{p} .. math:: - :label: 33.67) + :label: 33.67) CF_{leaf\_ xfer\_ mort,lit1} =\sum _{p=0}^{npfts}CF_{leaf\_ xfer\_ mort} wcol_{p} .. math:: - :label: 33.68) + :label: 33.68) CF_{froot\_ xfer\_ mort,lit1} =\sum _{p=0}^{npfts}CF_{froot\_ xfer\_ mort} wcol_{p} .. math:: - :label: 33.69) + :label: 33.69) CF_{livestem\_ xfer\_ mort,lit1} =\sum _{p=0}^{npfts}CF_{livestem\_ xfer\_ mort} wcol_{p} .. math:: - :label: 33.70) + :label: 33.70) CF_{deadstem\_ xfer\_ mort,lit1} =\sum _{p=0}^{npfts}CF_{deadstem\_ xfer\_ mort} wcol_{p} .. math:: - :label: 33.71) + :label: 33.71) CF_{livecroot\_ xfer\_ mort,lit1} =\sum _{p=0}^{npfts}CF_{livecroot\_ xfer\_ mort} wcol_{p} .. math:: - :label: 33.72) + :label: 33.72) CF_{deadcroot\_ xfer\_ mort,lit1} =\sum _{p=0}^{npfts}CF_{deadcroot\_ xfer\_ mort} wcol_{p} .. math:: - :label: 33.73) + :label: 33.73) CF_{gresp\_ xfer\_ mort,lit1} =\sum _{p=0}^{npfts}CF_{gresp\_ xfer\_ mort} wcol_{p} . -Nitrogen mortality fluxes out of storage and transfer pools, including the storage pool for retranslocated nitrogen, are calculated as: +Nitrogen mortality fluxes out of storage and transfer pools, including +the storage pool for retranslocated nitrogen, are calculated as: .. math:: - :label: 33.74) + :label: 33.74) NF_{leaf\_ stor\_ mort,lit1} =\sum _{p=0}^{npfts}NF_{leaf\_ stor\_ mort} wcol_{p} .. math:: - :label: 33.75) + :label: 33.75) NF_{froot\_ stor\_ mort,lit1} =\sum _{p=0}^{npfts}NF_{froot\_ stor\_ mort} wcol_{p} .. math:: - :label: 33.76) + :label: 33.76) NF_{livestem\_ stor\_ mort,lit1} =\sum _{p=0}^{npfts}NF_{livestem\_ stor\_ mort} wcol_{p} .. math:: - :label: 33.77) + :label: 33.77) NF_{deadstem\_ stor\_ mort,lit1} =\sum _{p=0}^{npfts}NF_{deadstem\_ stor\_ mort} wcol_{p} .. math:: - :label: 33.78) + :label: 33.78) NF_{livecroot\_ stor\_ mort,lit1} =\sum _{p=0}^{npfts}NF_{livecroot\_ stor\_ mort} wcol_{p} .. math:: - :label: 33.79) + :label: 33.79) NF_{deadcroot\_ stor\_ mort,lit1} =\sum _{p=0}^{npfts}NF_{deadcroot\_ stor\_ mort} wcol_{p} .. math:: - :label: 33.80) + :label: 33.80) NF_{retrans\_ mort,lit1} =\sum _{p=0}^{npfts}NF_{retrans\_ mort} wcol_{p} .. math:: - :label: 33.81) + :label: 33.81) NF_{leaf\_ xfer\_ mort,lit1} =\sum _{p=0}^{npfts}NF_{leaf\_ xfer\_ mort} wcol_{p} .. math:: - :label: 33.82) + :label: 33.82) NF_{froot\_ xfer\_ mort,lit1} =\sum _{p=0}^{npfts}NF_{froot\_ xfer\_ mort} wcol_{p} .. math:: - :label: 33.83) + :label: 33.83) NF_{livestem\_ xfer\_ mort,lit1} =\sum _{p=0}^{npfts}NF_{livestem\_ xfer\_ mort} wcol_{p} .. math:: - :label: 33.84) + :label: 33.84) NF_{deadstem\_ xfer\_ mort,lit1} =\sum _{p=0}^{npfts}NF_{deadstem\_ xfer\_ mort} wcol_{p} .. math:: - :label: 33.85) + :label: 33.85) NF_{livecroot\_ xfer\_ mort,lit1} =\sum _{p=0}^{npfts}NF_{livecroot\_ xfer\_ mort} wcol_{p} .. math:: - :label: 33.86) + :label: 33.86) NF_{deadcroot\_ xfer\_ mort,lit1} =\sum _{p=0}^{npfts}NF_{deadcroot\_ xfer\_ mort} wcol_{p} . + diff --git a/doc/source/tech_note/Plant_Respiration/CLM50_Tech_Note_Plant_Respiration.rst b/doc/source/tech_note/Plant_Respiration/CLM50_Tech_Note_Plant_Respiration.rst index a9b7650bc4..8ec6f1d1fb 100644 --- a/doc/source/tech_note/Plant_Respiration/CLM50_Tech_Note_Plant_Respiration.rst +++ b/doc/source/tech_note/Plant_Respiration/CLM50_Tech_Note_Plant_Respiration.rst @@ -9,12 +9,17 @@ CLM5 includes changes to plant respiration including Autotrophic Respiration ---------------------------- -The model treats maintenance and growth respiration fluxes separately, even though it is difficult to measure them as separate fluxes (Lavigne and Ryan, 1997; Sprugel et al., 1995). Maintenance respiration is defined as the carbon cost to support the metabolic activity of existing live tissue, while growth respiration is defined as the additional carbon cost for the synthesis of new growth. +The model treats maintenance and growth respiration fluxes separately, +even though it is difficult to measure them as separate fluxes (Lavigne +and Ryan, 1997; Sprugel et al., 1995). Maintenance respiration is +defined as the carbon cost to support the metabolic activity of existing +live tissue, while growth respiration is defined as the additional +carbon cost for the synthesis of new growth. Maintenance Respiration ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Atkin et al. (2016) propose a model for leaf respiration that is based on the leaf nitrogen content per unit area (:math:`NS_{narea}` (gN m :sup:`2` leaf), with an intercept parameter that is PFT dependant, and an acclimation term that depends upon the average temperature of the previous 10 day period :math:`t_{2m,10days}`, in Celsius. +Atkin et al. (2016) propose a model for leaf respiration that is based on the leaf nitrogen content per unit area (:math:`NS_{narea}` (gN m :sup:`2` leaf), with an intercept parameter that is PFT dependant, and an acclimation term that depends upon the average temperature of the previous 10 day period :math:`t_{2m,10days}`, in Celsius. .. math:: :label: 17.46) @@ -24,28 +29,33 @@ Atkin et al. (2016) propose a model for leaf respiration that is based on the le The temperature dependance of leaf maintenance (dark) respiration is described in Chapter :numref:`rst_Stomatal Resistance and Photosynthesis`. .. math:: - :label: 17.47) + :label: 17.47) CF_{mr\_ livestem} \_ =NS_{livestem} MR_{base} MR_{Q10} ^{(T_{2m} -20)/10} .. math:: - :label: 17.48) + :label: 17.48) CF_{mr\_ livecroot} \_ =NS_{livecroot} MR_{base} MR_{Q10} ^{(T_{2m} -20)/10} .. math:: - :label: 17.49) + :label: 17.49) CF_{mr\_ froot} \_ =\sum _{j=1}^{nlevsoi}NS_{froot} rootfr_{j} MR_{base} MR_{Q10} ^{(Ts_{j} -20)/10} -where :math:`MR_{q10}` (= 2.0) is the temperature sensitivity for maintenance respiration, :math:`T_{2m}` (°C) is the air temperature at 2m height, :math:`Ts_{j}`* (°C) is the soil temperature at level *j*, and :math:`rootfr_{j}` is the fraction of fine roots distributed in soil level *j*. +where :math:`MR_{q10}` (= 2.0) is +the temperature sensitivity for maintenance respiration, +:math:`T_{2m}` (:sup:`o`\ C) is the air temperature at 2m +height, :math:`Ts_{j}`* (:sup:`o`\ C) is the soil +temperature at level *j*, and :math:`rootfr_{j}` is the fraction +of fine roots distributed in soil level *j*. .. table:: Atkin leaf respiration model intercept values. - ======================== ============= + ======================== ============= Plant functional type :math:`i_{atkin}` - ======================== ============= - NET Temperate 1.499 + ======================== ============= + NET Temperate 1.499 NET Boreal 1.499 NDT Boreal 1.499 BET Tropical 1.756 @@ -55,26 +65,53 @@ where :math:`MR_{q10}` (= 2.0) is the temperature sensitivity for maintenance re BDT boreal 1.756 BES temperate 2.075 BDS temperate 2.075 - BDS boreal 2.075 + BDS boreal 2.075 C\ :sub:`3` arctic grass 2.196 C\ :sub:`3` grass 2.196 C\ :sub:`4` grass 2.196 - ======================== ============= + ======================== ============= -Note that, for woody vegetation, maintenance respiration costs are not calculated for the dead stem and dead coarse root components. These components are assumed to consist of dead xylem cells, with no metabolic function. By separating the small live component of the woody tissue (ray parenchyma, phloem, and sheathing lateral meristem cells) from the larger fraction of dead woody tissue, it is reasonable to assume a common base maintenance respiration rate for all live tissue types. +Note that, for woody vegetation, maintenance respiration costs are not +calculated for the dead stem and dead coarse root components. These +components are assumed to consist of dead xylem cells, with no metabolic +function. By separating the small live component of the woody tissue +(ray parenchyma, phloem, and sheathing lateral meristem cells) from the +larger fraction of dead woody tissue, it is reasonable to assume a +common base maintenance respiration rate for all live tissue types. The total maintenance respiration cost is then given as: .. math:: - :label: 17.50) + :label: 17.50) CF_{mr} =CF_{mr\_ leaf} +CF_{mr\_ froot} +CF_{mr\_ livestem} +CF_{mr\_ livecroot} . Growth Respiration ^^^^^^^^^^^^^^^^^^^^^^^^^ -Growth respiration is calculated as a factor of 0.11 times the total carbon allocation to new growth (:math:`CF_{growth}`, after allocating carbon for N acquisition, Chapter :numref:`rst_FUN`.) on a given timestep, based on construction costs for a range of woody and non-woody tissues, with estimates of the growth respiration flux revised downswards following (Atkin et al. 2017). For new carbon and nitrogen allocation that enters storage pools for subsequent display, it is not clear what fraction of the associated growth respiration should occur at the time of initial allocation, and what fraction should occur later, at the time of display of new growth from storage. Eddy covariance estimates of carbon fluxes in forest ecosystems suggest that the growth respiration associated with transfer of allocated carbon and nitrogen from storage into displayed tissue is not significant (Churkina et al., 2003), and so it is assumed in CLM that all of the growth respiration cost is incurred at the time of initial allocation, regardless of the fraction of allocation that is displayed immediately (i.e. regardless of the value of :math:`f_{cur}`, section 13.5). This behavior is parameterized in such a way that if future research suggests that some fraction of the growth respiration cost should be incurred at the time of display from storage, a simple parameter modification will effect the change. [1]_ +Growth respiration is calculated as a factor of 0.11 times the total +carbon allocation to new growth (:math:`CF_{growth}`, after allocating carbon for N acquisition, +Chapter :numref:`rst_FUN`.) on a given timestep, based on construction costs +for a range of woody and non-woody tissues, with estimates of the growth +respiration flux revised downswards following (Atkin et al. 2017). For new +carbon and nitrogen allocation that enters storage pools for subsequent +display, it is not clear what fraction of the associated growth +respiration should occur at the time of initial allocation, and what +fraction should occur later, at the time of display of new growth from +storage. Eddy covariance estimates of carbon fluxes in forest ecosystems +suggest that the growth respiration associated with transfer of +allocated carbon and nitrogen from storage into displayed tissue is not +significant (Churkina et al., 2003), and so it is assumed in CLM that +all of the growth respiration cost is incurred at the time of initial +allocation, regardless of the fraction of allocation that is displayed +immediately (i.e. regardless of the value of :math:`f_{cur}`, +section 13.5). This behavior is parameterized in such a way that if +future research suggests that some fraction of the growth respiration +cost should be incurred at the time of display from storage, a simple +parameter modification will effect the change. [1]_ .. [1] - Parameter :math:`\text{grpnow}` in routines CNGResp and CNAllocation, currently set to 1.0, could be changed to a smaller value to transfer some portion (1 - :math:`\text{grpnow}` ) of the growth respiration forward in time to occur at the time of growth display from storage. + Parameter :math:`\text{grpnow}` in routines CNGResp and CNAllocation, currently set to 1.0, could be changed to a smaller + value to transfer some portion (1 - :math:`\text{grpnow}` ) of the growth respiration forward in time to occur at the time of growth + display from storage. diff --git a/doc/source/tech_note/Radiative_Fluxes/CLM50_Tech_Note_Radiative_Fluxes.rst b/doc/source/tech_note/Radiative_Fluxes/CLM50_Tech_Note_Radiative_Fluxes.rst index 6bf7c0d9d3..5e368456ba 100644 --- a/doc/source/tech_note/Radiative_Fluxes/CLM50_Tech_Note_Radiative_Fluxes.rst +++ b/doc/source/tech_note/Radiative_Fluxes/CLM50_Tech_Note_Radiative_Fluxes.rst @@ -3,7 +3,11 @@ Radiative Fluxes =================== -The net radiation at the surface is :math:`\left(\vec{S}_{v} +\vec{S}_{g} \right)-\left(\vec{L}_{v} +\vec{L}_{g} \right)`, where :math:`\vec{S}` is the net solar flux absorbed by the vegetation ("v") and the ground ("g") and :math:`\vec{L}` is the net longwave flux (positive toward the atmosphere) (W m\ :sup:`-2`). +The net radiation at the surface is +:math:`\left(\vec{S}_{v} +\vec{S}_{g} \right)-\left(\vec{L}_{v} +\vec{L}_{g} \right)`, +where :math:`\vec{S}` is the net solar flux absorbed by the vegetation +(“v”) and the ground (“g”) and :math:`\vec{L}` is the net longwave flux +(positive toward the atmosphere) (W m\ :sup:`-2`). .. _Solar Fluxes: @@ -13,22 +17,35 @@ Solar Fluxes :numref:`Figure Radiation Schematic` illustrates the direct beam and diffuse fluxes in the canopy. :math:`I\, \uparrow _{\Lambda }^{\mu }` and -:math:`I\, \uparrow _{\Lambda }` are the upward diffuse fluxes, per unit incident direct beam and diffuse flux (section :numref:`Canopy Radiative Transfer`). +:math:`I\, \uparrow _{\Lambda }` are the upward diffuse fluxes, per +unit incident direct beam and diffuse flux (section :numref:`Canopy Radiative Transfer`). :math:`I\, \downarrow _{\Lambda }^{\mu }` and -:math:`I\, \downarrow _{\Lambda }` \ are the downward diffuse fluxes below the vegetation per unit incident direct beam and diffuse radiation (section :numref:`Canopy Radiative Transfer`). The direct beam flux transmitted through the canopy, per unit incident flux, is :math:`e^{-K\left(L+S\right)}`. -:math:`\vec{I}_{\Lambda }^{\mu }` and :math:`\vec{I}_{\Lambda }^{}` are the fluxes absorbed by the vegetation, per unit incident direct beam and diffuse radiation (section :numref:`Canopy Radiative Transfer`). -:math:`\alpha _{g,\, \Lambda }^{\mu }` and -:math:`\alpha _{g,\, \Lambda }` are the direct beam and diffuse ground albedos (section :numref:`Ground Albedos`). -:math:`L` and :math:`S` are the exposed leaf area index and stem area index (section :numref:`Phenology and vegetation burial by snow`). -:math:`K` is the optical depth of direct beam per unit leaf and stem area (section :numref:`Canopy Radiative Transfer`). +:math:`I\, \downarrow _{\Lambda }` \ are the downward diffuse fluxes +below the vegetation per unit incident direct beam and diffuse radiation +(section :numref:`Canopy Radiative Transfer`). The direct beam flux +transmitted through the canopy, per +unit incident flux, is :math:`e^{-K\left(L+S\right)}` . +:math:`\vec{I}_{\Lambda }^{\mu }` and :math:`\vec{I}_{\Lambda }^{}` +are the fluxes absorbed by the vegetation, per unit incident direct beam +and diffuse radiation (section :numref:`Canopy Radiative Transfer`). +:math:`\alpha _{g,\, \Lambda }^{\mu }` and +:math:`\alpha _{g,\, \Lambda }` are the direct beam and diffuse ground +albedos (section :numref:`Ground Albedos`). :math:`L` and :math:`S` are the exposed leaf area +index and stem area index (section :numref:`Phenology and vegetation burial by snow`). +:math:`K` is the optical +depth of direct beam per unit leaf and stem area (section :numref:`Canopy Radiative Transfer`). .. _Figure Radiation Schematic: .. figure:: image1.png - Schematic diagram of (a) direct beam radiation, (b) diffuse solar radiation, and (c) longwave radiation absorbed, transmitted, and reflected by vegetation and ground. + Schematic diagram of (a) direct beam radiation, (b) diffuse + solar radiation, and (c) longwave radiation absorbed, transmitted, and + reflected by vegetation and ground. + +For clarity, terms involving :math:`T^{n+1} -T^{n}` are not shown in +(c). -For clarity, terms involving :math:`T^{n+1} -T^{n}` are not shown in (c). The total solar radiation absorbed by the vegetation and ground is @@ -42,7 +59,13 @@ The total solar radiation absorbed by the vegetation and ground is \begin{array}{l} {\vec{S}_{g} =\sum _{\Lambda }S_{atm} \, \downarrow _{\Lambda }^{\mu } e^{-K\left(L+S\right)} \left(1-\alpha _{g,\, \Lambda }^{\mu } \right) +} \\ {\qquad \left(S_{atm} \, \downarrow _{\Lambda }^{\mu } I\downarrow _{\Lambda }^{\mu } +S_{atm} \downarrow _{\Lambda } I\downarrow _{\Lambda } \right)\left(1-\alpha _{g,\, \Lambda } \right)} \end{array} -where :math:`S_{atm} \, \downarrow _{\Lambda }^{\mu }` and :math:`S_{atm} \, \downarrow _{\Lambda }` are the incident direct beam and diffuse solar fluxes (W m\ :sup:`-2`). For non-vegetated surfaces, :math:`e^{-K\left(L+S\right)} =1`, :math:`\overrightarrow{I}_{\Lambda }^{\mu } =\overrightarrow{I}_{\Lambda } =0`, :math:`I\, \downarrow _{\Lambda }^{\mu } =0`, and :math:`I\, \downarrow _{\Lambda } =1`, so that +where :math:`S_{atm} \, \downarrow _{\Lambda }^{\mu }` and +:math:`S_{atm} \, \downarrow _{\Lambda }` are the incident direct beam +and diffuse solar fluxes (W m\ :sup:`-2`). For non-vegetated +surfaces, :math:`e^{-K\left(L+S\right)} =1`, +:math:`\overrightarrow{I}_{\Lambda }^{\mu } =\overrightarrow{I}_{\Lambda } =0`, +:math:`I\, \downarrow _{\Lambda }^{\mu } =0`, and +:math:`I\, \downarrow _{\Lambda } =1`, so that .. math:: :label: 4.3 @@ -58,67 +81,117 @@ Solar radiation is conserved as where the latter term in parentheses is reflected solar radiation. -Photosynthesis and transpiration depend non-linearly on solar radiation, via the light response of stomata. The canopy is treated as two leaves (sunlit and shaded) and the solar radiation in the visible waveband (:math:`<` 0.7 µm) absorbed by the vegetation is apportioned to the sunlit and shaded leaves (section :numref:`Canopy Radiative Transfer`). The absorbed photosynthetically active (visible waveband) radiation averaged over the sunlit canopy (per unit plant area) is +Photosynthesis and transpiration depend non-linearly on solar radiation, +via the light response of stomata. The canopy is treated as two leaves +(sunlit and shaded) and the solar radiation in the visible waveband +(:math:`<` 0.7 µm) absorbed by the vegetation is apportioned to the +sunlit and shaded leaves (section :numref:`Canopy Radiative Transfer`). +The absorbed photosynthetically +active (visible waveband) radiation averaged over the sunlit canopy (per +unit plant area) is .. math:: :label: 4.5 - \phi ^{sun} ={\left(\vec{I}_{sun,vis}^{\mu } S_{atm} \downarrow _{vis}^{\mu } +\vec{I}_{sun,vis}^{} S_{atm} \downarrow _{vis}^{} \right)\mathord{\left/ {\vphantom {\left(\vec{I}_{sun,vis}^{\mu } S_{atm} \downarrow _{vis}^{\mu } +\vec{I}_{sun,vis}^{} S_{atm} \downarrow _{vis}^{} \right) L^{sun} }} \right.} L^{sun} } + \phi ^{sun} ={\left(\vec{I}_{sun,vis}^{\mu } S_{atm} \downarrow _{vis}^{\mu } +\vec{I}_{sun,vis}^{} S_{atm} \downarrow _{vis}^{} \right)\mathord{\left/ {\vphantom {\left(\vec{I}_{sun,vis}^{\mu } S_{atm} \downarrow _{vis}^{\mu } +\vec{I}_{sun,vis}^{} S_{atm} \downarrow _{vis}^{} \right) L^{sun} }} \right. \kern-\nulldelimiterspace} L^{sun} } -and the absorbed radiation for the average shaded leaf (per unit plant area) is +and the absorbed radiation for the average shaded leaf (per unit plant +area) is .. math:: :label: 4.6 - \phi ^{sha} ={\left(\vec{I}_{sha,vis}^{\mu } S_{atm} \downarrow _{vis}^{\mu } +\vec{I}_{sha,vis}^{} S_{atm} \downarrow _{vis}^{} \right)\mathord{\left/ {\vphantom {\left(\vec{I}_{sha,vis}^{\mu } S_{atm} \downarrow _{vis}^{\mu } +\vec{I}_{sha,vis}^{} S_{atm} \downarrow _{vis}^{} \right) L^{sha} }} \right.} L^{sha} } + \phi ^{sha} ={\left(\vec{I}_{sha,vis}^{\mu } S_{atm} \downarrow _{vis}^{\mu } +\vec{I}_{sha,vis}^{} S_{atm} \downarrow _{vis}^{} \right)\mathord{\left/ {\vphantom {\left(\vec{I}_{sha,vis}^{\mu } S_{atm} \downarrow _{vis}^{\mu } +\vec{I}_{sha,vis}^{} S_{atm} \downarrow _{vis}^{} \right) L^{sha} }} \right. \kern-\nulldelimiterspace} L^{sha} } -with :math:`L^{sun}` and :math:`L^{sha}` the sunlit and shaded plant area index, respectively. The sunlit plant area index is +with :math:`L^{sun}` and :math:`L^{sha}` the sunlit and shaded plant +area index, respectively. The sunlit plant area index is .. math:: :label: 4.7 L^{sun} =\frac{1-e^{-K(L+S)} }{K} -and the shaded leaf area index is :math:`L^{sha} =(L+S)-L^{sun}`. In calculating :math:`L^{sun}`, +and the shaded leaf area index is :math:`L^{sha} =(L+S)-L^{sun}` . In +calculating :math:`L^{sun}` , .. math:: :label: 4.8 K=\frac{G\left(\mu \right)}{\mu } -where :math:`G\left(\mu \right)` and :math:`\mu` are parameters in the two-stream approximation (section :numref:`Canopy Radiative Transfer`). - -The model uses the two-stream approximation to calculate radiative transfer of direct and diffuse radiation through a canopy that is differentiated into leaves that are sunlit and those that are shaded (section :numref:`Canopy Radiative Transfer`). The two-stream equations are integrated over all plant area (leaf and stem area) in the canopy. The model has an optional (though not supported) multi-layer canopy, as described by :ref:`Bonan et al. (2012) `. The multi-layer model is only intended to address the non-linearity of light profiles, photosynthesis, and stomatal conductance in the plant canopy. - -In the multi-layer canopy, canopy-integrated radiative fluxes are calculated from the two-stream approximation. The model additionally derives the light profile with depth in the canopy by taking the derivatives of the absorbed radiative fluxes with respect to plant area index (:math:`L'=L+S`) and evaluating them incrementally through the canopy with cumulative plant area index (:math:`x`). The terms :math:`{d\vec{I}_{sun,\Lambda }^{\mu } (x)\mathord{\left/ {\vphantom {d\vec{I}_{sun,\Lambda }^{\mu } (x) dL'}} \right.} dL'}` and :math:`{d\vec{I}_{sun,\Lambda }^{} (x)\mathord{\left/ {\vphantom {d\vec{I}_{sun,\Lambda }^{} (x) dL'}} \right.} dL'}` are the direct beam and diffuse solar radiation, respectively, absorbed by the sunlit fraction of the canopy (per unit plant area) at a depth defined by the cumulative plant area index :math:`x`; :math:`{d\vec{I}_{sha,\Lambda }^{\mu } (x)\mathord{\left/ {\vphantom {d\vec{I}_{sha,\Lambda }^{\mu } (x) dL'}} \right.} dL'}` \ and :math:`{d\vec{I}_{sha,\Lambda }^{} (x)\mathord{\left/ {\vphantom {d\vec{I}_{sha,\Lambda }^{} (x) dL'}} \right.} dL'}` are the corresponding fluxes for the shaded fraction of the canopy at depth :math:`x`. These fluxes are normalized by the sunlit or shaded fraction at depth :math:`x`, defined by :math:`f_{sun} =\exp \left(-Kx\right)`, to give fluxes per unit sunlit or shaded plant area at depth :math:`x`. +where :math:`G\left(\mu \right)` and :math:`\mu` are parameters in the +two-stream approximation (section :numref:`Canopy Radiative Transfer`). + +The model uses the two-stream approximation to calculate radiative +transfer of direct and diffuse radiation through a canopy that is +differentiated into leaves that are sunlit and those that are shaded +(section :numref:`Canopy Radiative Transfer`). The two-stream equations +are integrated over all plant +area (leaf and stem area) in the canopy. The model has an optional +(though not supported) multi-layer canopy, as described by +:ref:`Bonan et al. (2012) `. +The multi-layer model is only intended to address the +non-linearity of light profiles, photosynthesis, and stomatal +conductance in the plant canopy. + +In the multi-layer canopy, canopy-integrated radiative fluxes are +calculated from the two-stream approximation. The model additionally +derives the light profile with depth in the canopy by taking the +derivatives of the absorbed radiative fluxes with respect to plant area +index (:math:`L'=L+S`) and evaluating them incrementally through the +canopy with cumulative plant area index (:math:`x`). The terms +:math:`{d\vec{I}_{sun,\Lambda }^{\mu } (x)\mathord{\left/ {\vphantom {d\vec{I}_{sun,\Lambda }^{\mu } (x) dL'}} \right. \kern-\nulldelimiterspace} dL'}` +and +:math:`{d\vec{I}_{sun,\Lambda }^{} (x)\mathord{\left/ {\vphantom {d\vec{I}_{sun,\Lambda }^{} (x) dL'}} \right. \kern-\nulldelimiterspace} dL'}` +are the direct beam and diffuse solar radiation, respectively, absorbed +by the sunlit fraction of the canopy (per unit plant area) at a depth +defined by the cumulative plant area index :math:`x`; +:math:`{d\vec{I}_{sha,\Lambda }^{\mu } (x)\mathord{\left/ {\vphantom {d\vec{I}_{sha,\Lambda }^{\mu } (x) dL'}} \right. \kern-\nulldelimiterspace} dL'}` \ and +:math:`{d\vec{I}_{sha,\Lambda }^{} (x)\mathord{\left/ {\vphantom {d\vec{I}_{sha,\Lambda }^{} (x) dL'}} \right. \kern-\nulldelimiterspace} dL'}` +are the corresponding fluxes for the shaded fraction of the canopy at +depth :math:`x`. These fluxes are normalized by the sunlit or shaded +fraction at depth :math:`x`, defined by +:math:`f_{sun} =\exp \left(-Kx\right)`, to give fluxes per unit sunlit +or shaded plant area at depth :math:`x`. .. _Longwave Fluxes: Longwave Fluxes ------------------- -The net longwave radiation (W m\ :sup:`-2`) (positive toward the atmosphere) at the surface is +The net longwave radiation (W m\ :sup:`-2`) (positive toward the +atmosphere) at the surface is .. math:: :label: 4.9 \vec{L}=L\, \uparrow -L_{atm} \, \downarrow -where :math:`L\, \uparrow` is the upward longwave radiation from the surface and :math:`L_{atm} \, \downarrow` is the downward atmospheric longwave radiation (W m\ :sup:`-2`). The radiative temperature :math:`T_{rad}` (K) is defined from the upward longwave radiation as +where :math:`L\, \uparrow` is the upward longwave radiation from the +surface and :math:`L_{atm} \, \downarrow` is the downward atmospheric +longwave radiation (W m\ :sup:`-2`). The radiative temperature +:math:`T_{rad}` (K) is defined from the upward longwave radiation as .. math:: :label: 4.10 - T_{rad} =\left(\frac{L\, \uparrow }{\sigma } \right)^{{1\mathord{\left/ {\vphantom {1 4}} \right.} 4} } + T_{rad} =\left(\frac{L\, \uparrow }{\sigma } \right)^{{1\mathord{\left/ {\vphantom {1 4}} \right. \kern-\nulldelimiterspace} 4} } -where :math:`\sigma` is the Stefan-Boltzmann constant (W\ m\ :sup:`-2` K\ :sup:`-4`) (:numref:`Table Physical constants`). With reference to :numref:`Figure Radiation Schematic`, the upward longwave radiation from the surface to the atmosphere is +where :math:`\sigma` is the Stefan-Boltzmann constant (W\ m\ :sup:`-2` K\ :sup:`-4`) (:numref:`Table Physical constants`). With reference to +:numref:`Figure Radiation Schematic`, the upward longwave radiation from the surface to the atmosphere is .. math:: :label: 4.11 \begin{array}{l} {L\, \uparrow =\delta _{veg} L_{vg} \, \uparrow +\left(1-\delta _{veg} \right)\left(1-\varepsilon _{g} \right)L_{atm} \, \downarrow +} \\ {\qquad \left(1-\delta _{veg} \right)\varepsilon _{g} \sigma \left(T_{g}^{n} \right)^{4} +4\varepsilon _{g} \sigma \left(T_{g}^{n} \right)^{3} \left(T_{g}^{n+1} -T_{g}^{n} \right)} \end{array} -where :math:`L_{vg} \, \uparrow` is the upward longwave radiation from the vegetation/soil system for exposed leaf and stem area :math:`L+S\ge 0.05`, :math:`\delta _{veg}` is a step function and is zero for :math:`L+S<0.05` and one otherwise, :math:`\varepsilon _{g}` is the ground emissivity, and :math:`T_{g}^{n+1}` and :math:`T_{g}^{n}` are the snow/soil surface temperatures at the current and previous time steps, respectively (:ref:`rst_Soil and Snow Temperatures`). +where :math:`L_{vg} \, \uparrow` is the upward longwave radiation from +the vegetation/soil system for exposed leaf and stem area +:math:`L+S\ge 0.05`, :math:`\delta _{veg}` is a step function and is +zero for :math:`L+S<0.05` and one otherwise, :math:`\varepsilon _{g}` +is the ground emissivity, and :math:`T_{g}^{n+1}` and +:math:`T_{g}^{n}` are the snow/soil surface temperatures at the current +and previous time steps, respectively (:ref:`rst_Soil and Snow Temperatures`). For non-vegetated surfaces, the above equation reduces to @@ -127,9 +200,14 @@ For non-vegetated surfaces, the above equation reduces to L\, \uparrow =\left(1-\varepsilon _{g} \right)L_{atm} \, \downarrow +\varepsilon _{g} \sigma \left(T_{g}^{n} \right)^{4} +4\varepsilon _{g} \sigma \left(T_{g}^{n} \right)^{3} \left(T_{g}^{n+1} -T_{g}^{n} \right) -where the first term is the atmospheric longwave radiation reflected by the ground, the second term is the longwave radiation emitted by the ground, and the last term is the increase (decrease) in longwave radiation emitted by the ground due to an increase (decrease) in ground temperature. +where the first term is the atmospheric longwave radiation reflected by +the ground, the second term is the longwave radiation emitted by the +ground, and the last term is the increase (decrease) in longwave +radiation emitted by the ground due to an increase (decrease) in ground +temperature. -For vegetated surfaces, the upward longwave radiation from the surface reduces to +For vegetated surfaces, the upward longwave radiation from the surface +reduces to .. math:: :label: 4.13 @@ -143,7 +221,25 @@ where \begin{array}{l} {L_{vg} \, \uparrow =\left(1-\varepsilon _{g} \right)\left(1-\varepsilon _{v} \right)\left(1-\varepsilon _{v} \right)L_{atm} \, \downarrow } \\ {\qquad \qquad +\varepsilon _{v} \left[1+\left(1-\varepsilon _{g} \right)\left(1-\varepsilon _{v} \right)\right]\sigma \left(T_{v}^{n} \right)^{3} \left[T_{v}^{n} +4\left(T_{v}^{n+1} -T_{v}^{n} \right)\right]} \\ {\qquad \qquad +\varepsilon _{g} \left(1-\varepsilon _{v} \right)\sigma \left(T_{g}^{n} \right)^{4} } \\ {\qquad =\left(1-\varepsilon _{g} \right)\left(1-\varepsilon _{v} \right)\left(1-\varepsilon _{v} \right)L_{atm} \, \downarrow } \\ {\qquad \qquad +\varepsilon _{v} \sigma \left(T_{v}^{n} \right)^{4} } \\ {\qquad \qquad +\varepsilon _{v} \left(1-\varepsilon _{g} \right)\left(1-\varepsilon _{v} \right)\sigma \left(T_{v}^{n} \right)^{4} } \\ {\qquad \qquad +4\varepsilon _{v} \sigma \left(T_{v}^{n} \right)^{3} \left(T_{v}^{n+1} -T_{v}^{n} \right)} \\ {\qquad \qquad +4\varepsilon _{v} \left(1-\varepsilon _{g} \right)\left(1-\varepsilon _{v} \right)\sigma \left(T_{v}^{n} \right)^{3} \left(T_{v}^{n+1} -T_{v}^{n} \right)} \\ {\qquad \qquad +\varepsilon _{g} \left(1-\varepsilon _{v} \right)\sigma \left(T_{g}^{n} \right)^{4} } \end{array} -where :math:`\varepsilon _{v}` is the vegetation emissivity and :math:`T_{v}^{n+1}` and :math:`T_{v}^{n}` are the vegetation temperatures at the current and previous time steps, respectively (:ref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`). The first term in the equation above is the atmospheric longwave radiation that is transmitted through the canopy, reflected by the ground, and transmitted through the canopy to the atmosphere. The second term is the longwave radiation emitted by the canopy directly to the atmosphere. The third term is the longwave radiation emitted downward from the canopy, reflected by the ground, and transmitted through the canopy to the atmosphere. The fourth term is the increase (decrease) in longwave radiation due to an increase (decrease) in canopy temperature that is emitted by the canopy directly to the atmosphere. The fifth term is the increase (decrease) in longwave radiation due to an increase (decrease) in canopy temperature that is emitted downward from the canopy, reflected from the ground, and transmitted through the canopy to the atmosphere. The last term is the longwave radiation emitted by the ground and transmitted through the canopy to the atmosphere. +where :math:`\varepsilon _{v}` is the vegetation emissivity and +:math:`T_{v}^{n+1}` and :math:`T_{v}^{n}` are the vegetation +temperatures at the current and previous time steps, respectively +(:ref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`). +The first term in the equation above is the atmospheric +longwave radiation that is transmitted through the canopy, reflected by +the ground, and transmitted through the canopy to the atmosphere. The +second term is the longwave radiation emitted by the canopy directly to +the atmosphere. The third term is the longwave radiation emitted +downward from the canopy, reflected by the ground, and transmitted +through the canopy to the atmosphere. The fourth term is the increase +(decrease) in longwave radiation due to an increase (decrease) in canopy +temperature that is emitted by the canopy directly to the atmosphere. +The fifth term is the increase (decrease) in longwave radiation due to +an increase (decrease) in canopy temperature that is emitted downward +from the canopy, reflected from the ground, and transmitted through the +canopy to the atmosphere. The last term is the longwave radiation +emitted by the ground and transmitted through the canopy to the +atmosphere. The upward longwave radiation from the ground is @@ -152,42 +248,59 @@ The upward longwave radiation from the ground is L_{g} \, \uparrow =\left(1-\varepsilon _{g} \right)L_{v} \, \downarrow +\varepsilon _{g} \sigma \left(T_{g}^{n} \right)^{4} -where :math:`L_{v} \, \downarrow` is the downward longwave radiation below the vegetation +where :math:`L_{v} \, \downarrow` is the downward longwave radiation +below the vegetation .. math:: :label: 4.16 L_{v} \, \downarrow =\left(1-\varepsilon _{v} \right)L_{atm} \, \downarrow +\varepsilon _{v} \sigma \left(T_{v}^{n} \right)^{4} +4\varepsilon _{v} \sigma \left(T_{v}^{n} \right)^{3} \left(T_{v}^{n+1} -T_{v}^{n} \right). -The net longwave radiation flux for the ground is (positive toward the atmosphere) +The net longwave radiation flux for the ground is (positive toward the +atmosphere) .. math:: :label: 4.17 \vec{L}_{g} =\varepsilon _{g} \sigma \left(T_{g}^{n} \right)^{4} -\delta _{veg} \varepsilon _{g} L_{v} \, \downarrow -\left(1-\delta _{veg} \right)\varepsilon _{g} L_{atm} \, \downarrow . -The above expression for :math:`\vec{L}_{g}` is the net longwave radiation forcing that is used in the soil temperature calculation (:ref:`rst_Soil and Snow Temperatures`). Once updated soil temperatures have been obtained, the term :math:`4\varepsilon _{g} \sigma \left(T_{g}^{n} \right)^{3} \left(T_{g}^{n+1} -T_{g}^{n} \right)` is added to :math:`\vec{L}_{g}` to calculate the ground heat flux (section :numref:`Update of Ground Sensible and Latent Heat Fluxes`) +The above expression for :math:`\vec{L}_{g}` is the net longwave +radiation forcing that is used in the soil temperature calculation +(:ref:`rst_Soil and Snow Temperatures`). Once updated soil +temperatures have been obtained, the term +:math:`4\varepsilon _{g} \sigma \left(T_{g}^{n} \right)^{3} \left(T_{g}^{n+1} -T_{g}^{n} \right)` +is added to :math:`\vec{L}_{g}` to calculate the ground heat flux +(section :numref:`Update of Ground Sensible and Latent Heat Fluxes`) -The net longwave radiation flux for vegetation is (positive toward the atmosphere) +The net longwave radiation flux for vegetation is (positive toward the +atmosphere) .. math:: :label: 4.18 \vec{L}_{v} =\left[2-\varepsilon _{v} \left(1-\varepsilon _{g} \right)\right]\varepsilon _{v} \sigma \left(T_{v} \right)^{4} -\varepsilon _{v} \varepsilon _{g} \sigma \left(T_{g}^{n} \right)^{4} -\varepsilon _{v} \left[1+\left(1-\varepsilon _{g} \right)\left(1-\varepsilon _{v} \right)\right]L_{atm} \, \downarrow . -These equations assume that absorptivity equals emissivity. The emissivity of the ground is +These equations assume that absorptivity equals emissivity. The +emissivity of the ground is .. math:: :label: 4.19 \varepsilon _{g} =\varepsilon _{soi} \left(1-f_{sno} \right)+\varepsilon _{sno} f_{sno} -where :math:`\varepsilon _{soi} =0.96` for soil, 0.97 for glacier, :math:`\varepsilon _{sno} =0.97`, and :math:`f_{sno}` is the fraction of ground covered by snow (section :numref:`Snow Covered Area Fraction`). The vegetation emissivity is +where :math:`\varepsilon _{soi} =0.96` for soil, 0.97 for glacier, +:math:`\varepsilon _{sno} =0.97`, and :math:`f_{sno}` +is the fraction of ground covered by snow +(section :numref:`Snow Covered Area Fraction`). The +vegetation emissivity is .. math:: :label: 4.20 - \varepsilon _{v} =1-e^{-{\left(L+S\right)\mathord{\left/ {\vphantom {\left(L+S\right) \bar{\mu }}} \right.} \bar{\mu }} } + \varepsilon _{v} =1-e^{-{\left(L+S\right)\mathord{\left/ {\vphantom {\left(L+S\right) \bar{\mu }}} \right. \kern-\nulldelimiterspace} \bar{\mu }} } -where :math:`L` and :math:`S` are the leaf and stem area indices (section :numref:`Phenology and vegetation burial by snow`) and :math:`\bar{\mu }=1` is the average inverse optical depth for longwave radiation. +where :math:`L` and :math:`S` are the leaf and stem area indices +(section :numref:`Phenology and vegetation burial by snow`) and +:math:`\bar{\mu }=1` is the average inverse optical +depth for longwave radiation. diff --git a/doc/source/tech_note/References/CLM50_Tech_Note_References.rst b/doc/source/tech_note/References/CLM50_Tech_Note_References.rst index a1f84e055b..46b835a76d 100644 --- a/doc/source/tech_note/References/CLM50_Tech_Note_References.rst +++ b/doc/source/tech_note/References/CLM50_Tech_Note_References.rst @@ -5,59 +5,88 @@ References .. _Aberetal1990: -Aber, J.D., Melillo, J.M. and McClaugherty, C.A., 1990. Predicting long-term patterns of mass loss, nitrogen dynamics, and soil organic matter formation from initial fime litter chemistry in temperate forest ecosystems. Canadian Journal of Botany, 68: 2201-2208. +Aber, J.D., Melillo, J.M. and McClaugherty, C.A., 1990. Predicting +long-term patterns of mass loss, nitrogen dynamics, and soil organic +matter formation from initial fime litter chemistry in temperate forest +ecosystems. Canadian Journal of Botany, 68: 2201-2208. .. _Aberetal2003: -Aber, J.D., Goodale, C.L., Ollinger, S.V., Smith, M.-L., Magill, A.H., Martin, M.E., Hallett, R.A., and Stoddard, J.L. 2003. Is nitrogen deposition altering the nitrogen status of northeastern forests? BioScience 53:375-389. +Aber, J.D., Goodale, C.L., Ollinger, S.V., Smith, M.-L., Magill, A.H., +Martin, M.E., Hallett, R.A., and Stoddard, J.L. 2003. Is nitrogen +deposition altering the nitrogen status of northeastern forests? +BioScience 53:375-389. .. _Alietal2016: -Ali, A. A., C. Xu, A. Rogers, R. A. Fisher, S. D. Wullschleger, E. Massoud, J. A. Vrugt, J. D. Muss, N. McDowell, and J. Fisher, 2016: A global scale mechanistic model of photosynthetic capacity (LUNA V1. 0). Geosci. Mod. Dev., 9:587-606. +Ali, A. A., C. Xu, A. Rogers, R. A. Fisher, S. D. Wullschleger, E. Massoud, J. A. Vrugt, J. D. Muss, N. McDowell, +and J. Fisher, 2016: A global scale mechanistic model of +photosynthetic capacity (LUNA V1. 0). Geosci. Mod. Dev., 9:587-606. .. _Allenetal2005: -Allen, C.B., Will, R.E., and Jacobson, M.A. 2005. Production efficiency and radiation use efficiency of four tree species receiving irrigation and fertilization. Forest Science 51:556-569. +Allen, C.B., Will, R.E., and Jacobson, M.A. 2005. Production efficiency +and radiation use efficiency of four tree species receiving irrigation +and fertilization. Forest Science 51:556-569. .. _Anderson1976: -Anderson, E.A. 1976. A point energy and mass balance model of a snow cover. NOAA Technical Report NWS 19, Office of Hydrology, National Weather Service, Silver Spring, MD. +Anderson, E.A. 1976. A point energy and mass balance model of a snow +cover. NOAA Technical Report NWS 19, Office of Hydrology, National +Weather Service, Silver Spring, MD. .. _Andréetal1986: -André, J.-C., Goutorbe, J.-P., and Perrier, A. 1986. HAPEX-MOBILHY: A hydrologic atmosphere experiment for the study of water budget and evaporation flux at the climatic scale. Bull. Amer. Meteor. Soc. 67:138-144. +André, J.-C., Goutorbe, J.-P., and Perrier, A. 1986. HAPEX-MOBILHY: A +hydrologic atmosphere experiment for the study of water budget and +evaporation flux at the climatic scale. Bull. Amer. Meteor. Soc. +67:138-144. .. _AndrénPaustian1987: -Andrén, O. and Paustian, K., 1987. Barley straw decomposition in the field: a comparison of models. Ecology 68:1190-1200. +Andrén, O. and Paustian, K., 1987. Barley straw decomposition in the +field: a comparison of models. Ecology 68:1190-1200. .. _ArahStephen1998: -Arah, J.R.M. and Stephen, K.D., 1998. A model of the processes leading to methane emission from peatland. Atmos. Environ. 32:3257-3264. +Arah, J.R.M. and Stephen, K.D., 1998. A model of the processes leading +to methane emission from peatland. Atmos. Environ. 32:3257-3264. .. _ArahVinten1995: -Arah, J. and Vinten, A., 1995. Simplified models of anoxia and denitrification in aggregated and simple-structured soils. European Journal of Soil Science 46:507-517. +Arah, J. and Vinten, A., 1995. Simplified models of anoxia and +denitrification in aggregated and simple-structured soils. European +Journal of Soil Science 46:507-517. .. _Arendtetal2012: -Arendt, A., et al. 2012. Randolph Glacier Inventory: A Dataset of Global Glacier Outlines Version: 1.0, Global Land Ice Measurements from Space, Boulder Colorado, USA. Digital Media. +Arendt, A., et al. 2012. Randolph Glacier Inventory: A Dataset of Global +Glacier Outlines Version: 1.0, Global Land Ice Measurements from Space, +Boulder Colorado, USA. Digital Media. .. _AroraBoer2005: -Arora, V.K. and Boer, G.J. 2005. Fire as an interactive component of dynamic vegetation models. J. Geophys. Res. 110:G02008. DOI:10.1029/2005JG000042. +Arora, V.K. and Boer, G.J. 2005. Fire as an interactive component of +dynamic vegetation models. J. Geophys. Res. 110:G02008. +DOI:10.1029/2005JG000042. .. _Arya2001: -Arya, S.P. 2001. Introduction to Meteorology. Academic Press, San Diego, CA. +Arya, S.P. 2001. Introduction to Meteorology. Academic Press, San Diego, +CA. .. _Asneretal1998: -Asner, G.P., Wessman, C.A., Schimel, D.S., and Archer, S. 1998. Variability in leaf and litter optical properties: implications for BRDF model inversions using AVHRR, MODIS, and MISR. Remote Sens. Environ. 63:243-257. +Asner, G.P., Wessman, C.A., Schimel, D.S., and Archer, S. 1998. +Variability in leaf and litter optical properties: implications for BRDF +model inversions using AVHRR, MODIS, and MISR. Remote Sens. Environ. +63:243-257. .. _AxelssonAxelsson1986: -Axelsson, E., and Axelsson, B. 1986. Changes in carbon allocation patterns in spruce and pine trees following irrigation and fertilization. Tree Phys. 2:189-204. +Axelsson, E., and Axelsson, B. 1986. Changes in carbon allocation +patterns in spruce and pine trees following irrigation and +fertilization. Tree Phys. 2:189-204. .. _Atkin2016: @@ -65,87 +94,130 @@ Atkin OK, Bloomfield KJ, Reich PB, Tjoelker MG, Asner GP, Bonal D et al (2015) G .. _Atkin2017: -Leaf Respiration in Terrestrial Biosphere Models. In Plant Respiration: Metabolic Fluxes and Carbon Balance, Advances in Photosynthesis and Respiration 43, G. Tcherkez, J. Ghashghaie (eds.) Springer International Publishing AG 2017 +Leaf Respiration in Terrestrial Biosphere Models. In Plant Respiration: Metabolic Fluxes and Carbon Balance, Advances +in Photosynthesis and Respiration 43, G. Tcherkez, J. Ghashghaie (eds.) Springer International Publishing AG 2017 .. _BadgerandDirmeyer2015: -Badger, A.M., and Dirmeyer, P.A., 2015. Climate response to Amazon forest replacement by heterogeneous crop cover. Hydrol. Earth. Syst. Sci. 19:4547- 4557. +Badger, A.M., and Dirmeyer, P.A., 2015. Climate response to Amazon forest +replacement by heterogeneous crop cover. Hydrol. Earth. Syst. Sci. 19:4547- +4557. .. _Bairdetal2004: -Baird, A.J., Beckwith, C.W., Waldron, S. and Waddington, J.M., 2004. Ebullition of methane-containing gas bubbles from near-surface Sphagnum peat. Geophys. Res. Lett. 31. DOI:10.1029/2004GL021157. +Baird, A.J., Beckwith, C.W., Waldron, S. and Waddington, J.M., 2004. +Ebullition of methane-containing gas bubbles from near-surface Sphagnum +peat. Geophys. Res. Lett. 31. DOI:10.1029/2004GL021157. .. _Baldocchietal2001: -Baldocchi, D., et al. 2001. FLUXNET: A new tool to study the temporal and spatial variability of ecosystem-scale carbon dioxide, water vapor, and energy flux densities. Bull. Amer. Meteor. Soc. 82:2415-2433. +Baldocchi, D., et al. 2001. FLUXNET: A new tool to study the temporal +and spatial variability of ecosystem-scale carbon dioxide, water vapor, +and energy flux densities. Bull. Amer. Meteor. Soc. 82:2415-2433. .. _Barbottinetal2005: -Barbottin, A., Lecomte, C., Bouchard, C., and Jeuffroy, M.-H. 2005. Nitrogen remobilization during grain filling in wheat: Genotypic and environmental effects. Crop Sci. 45:1141-1150. +Barbottin, A., Lecomte, C., Bouchard, C., and Jeuffroy, M.-H. 2005. +Nitrogen remobilization during grain filling in wheat: Genotypic and +environmental effects. Crop Sci. 45:1141-1150. .. _Batjes2006: -Batjes, N.H., 2006. ISRIC-WISE derived soil properties on a 5 by 5 arc-minutes global grid. Report 2006/02 (available through : http://www.isric.org) +Batjes, N.H., 2006. ISRIC-WISE derived soil properties on a 5 by 5 +arc-minutes global grid. Report 2006/02 (available through : +http://www.isric.org) .. _Berger1978a: -Berger, A.L. 1978a. Long-term variations of daily insolation and quaternary climatic changes. J. Atmos. Sci. 35:2362-2367. +Berger, A.L. 1978a. Long-term variations of daily insolation and +quaternary climatic changes. J. Atmos. Sci. 35:2362-2367. .. _Berger1978b: -Berger, A.L. 1978b. A simple algorithm to compute long-term variations of daily or monthly insolation. Contribution de l'Institut d'Astronomie et de Géophysique, Université Catholique de Louvain, Louvain-la-Neuve, No. 18. +Berger, A.L. 1978b. A simple algorithm to compute long-term variations +of daily or monthly insolation. Contribution de l’Institut d’Astronomie +et de Géophysique, Université Catholique de Louvain, Louvain-la-Neuve, +No. 18. .. _Bergeretal1993: -Berger, A., Loutre, M.-F., and Tricot, C. 1993. Insolation and Earth's orbital periods. J. Geophys. Res. 98:10341-10362. +Berger, A., Loutre, M.-F., and Tricot, C. 1993. Insolation and Earth’s +orbital periods. J. Geophys. Res. 98:10341-10362. .. _BerkowitzBalberg1992: -Berkowitz, B., and Balberg, I. 1992. Percolation approach to the problem of hydraulic conductivity in porous media. Transport in Porous Media 9:275–286. +Berkowitz, B., and Balberg, I. 1992. Percolation approach to the problem +of hydraulic conductivity in porous media. Transport in Porous Media +9:275–286. .. _BevenKirkby1979: -Beven, K.J., and Kirkby, M.J. 1979. A physically based variable contributing area model of basin hydrology. Hydrol. Sci. Bull. 24:43-69. +Beven, K.J., and Kirkby, M.J. 1979. A physically based variable +contributing area model of basin hydrology. Hydrol. Sci. Bull. 24:43-69. .. _BohrenHuffman1983: -Bohren, C. F., and Huffman, D. R. 1983. Absorption and scattering of light by small particles. John Wiley & Sons, New York, NY. +Bohren, C. F., and Huffman, D. R. 1983. Absorption and scattering of +light by small particles. John Wiley & Sons, New York, NY. .. _Bonan1996: -Bonan, G.B. 1996. A land surface model (LSM version 1.0) for ecological, hydrological, and atmospheric studies: Technical description and user's guide. NCAR Technical Note NCAR/TN-417+STR, National Center for Atmospheric Research, Boulder, CO, 150 pp. +Bonan, G.B. 1996. A land surface model (LSM version 1.0) for ecological, +hydrological, and atmospheric studies: Technical description and user’s +guide. NCAR Technical Note NCAR/TN-417+STR, National Center for +Atmospheric Research, Boulder, CO, 150 pp. .. _Bonan1998: -Bonan, G.B. 1998. The land surface climatology of the NCAR Land Surface Model coupled to the NCAR Community Climate Model. J. Climate 11:1307-1326. +Bonan, G.B. 1998. The land surface climatology of the NCAR Land Surface +Model coupled to the NCAR Community Climate Model. J. Climate +11:1307-1326. .. _Bonan2002: -Bonan, G.B. 2002. Ecological Climatology: Concepts and Applications. Cambridge University Press. +Bonan, G.B. 2002. Ecological Climatology: Concepts and Applications. +Cambridge University Press. .. _Bonanetal2002a: -Bonan, G.B., Oleson, K.W., Vertenstein, M., Levis, S., Zeng, X., Dai, Y., Dickinson, R.E., and Yang, Z.-L. 2002a. The land surface climatology of the Community Land Model coupled to the NCAR Community Climate Model. J. Climate 15: 3123-3149. +Bonan, G.B., Oleson, K.W., Vertenstein, M., Levis, S., Zeng, X., Dai, +Y., Dickinson, R.E., and Yang, Z.-L. 2002a. The land surface climatology +of the Community Land Model coupled to the NCAR Community Climate Model. +J. Climate 15: 3123-3149. .. _Bonanetal2002b: -Bonan, G.B., Levis, S., Kergoat, L., and Oleson, K.W. 2002b. Landscapes as patches of plant functional types: An integrating concept for climate and ecosystem models. Global Biogeochem. Cycles 16: 5.1-5.23. +Bonan, G.B., Levis, S., Kergoat, L., and Oleson, K.W. 2002b. Landscapes +as patches of plant functional types: An integrating concept for climate +and ecosystem models. Global Biogeochem. Cycles 16: 5.1-5.23. .. _BonanLevis2006: -Bonan, G.B., and Levis, S. 2006. Evaluating aspects of the Community Land and Atmosphere Models (CLM3 and CAM3) using a dynamic global vegetation model. J. Climate 19:2290-2301. +Bonan, G.B., and Levis, S. 2006. Evaluating aspects of the Community +Land and Atmosphere Models (CLM3 and CAM3) using a dynamic global +vegetation model. J. Climate 19:2290-2301. .. _Bonanetal2011: -Bonan, G.B., Lawrence P.J., Oleson K.W., Levis S., Jung M., Reichstein M., Lawrence, D.M., and Swenson, S.C. 2011. Improving canopy processes in the Community Land Model (CLM4) using global flux fields empirically inferred from FLUXNET data. J. Geophys. Res. 116, G02014. DOI:10.1029/2010JG001593. +Bonan, G.B., Lawrence P.J., Oleson K.W., Levis S., Jung M., Reichstein +M., Lawrence, D.M., and Swenson, S.C. 2011. Improving canopy processes +in the Community Land Model (CLM4) using global flux fields empirically +inferred from FLUXNET data. J. Geophys. Res. 116, G02014. +DOI:10.1029/2010JG001593. .. _Bonanetal2012: -Bonan, G. B., Oleson, K.W., Fisher, R.A., Lasslop, G., and Reichstein, M. 2012. Reconciling leaf physiological traits and canopy flux data: Use of the TRY and FLUXNET databases in the Community Land Model version 4, J. Geophys. Res., 117, G02026. DOI:10.1029/2011JG001913. +Bonan, G. B., Oleson, K.W., Fisher, R.A., Lasslop, G., and Reichstein, +M. 2012. Reconciling leaf physiological traits and canopy flux data: Use +of the TRY and FLUXNET databases in the Community Land Model version 4, +J. Geophys. Res., 117, G02026. DOI:10.1029/2011JG001913. .. _Bonanetal2014: -Bonan, G.B., Williams, M., Fisher, R.A., and Oleson, K.W. 2014. Modeling stomatal conductance in the earth system: linking leaf water-use efficiency and water transport along the soil–plant–atmosphere continuum, Geosci. Model Dev., 7, 2193-2222, doi:10.5194/gmd-7-2193-2014. +Bonan, G.B., Williams, M., Fisher, R.A., and Oleson, K.W. 2014. Modeling +stomatal conductance in the earth system: linking leaf water-use +efficiency and water transport along the soil–plant–atmosphere continuum, +Geosci. Model Dev., 7, 2193-2222, doi:10.5194/gmd-7-2193-2014. .. _botta2000: @@ -153,11 +225,15 @@ Botta, A et al., 2000. A global prognostic scheme of leaf onset using satellite .. _Brownetal1997: -Brown J., Ferrians O. J. Jr, Heginbottom J. A. and Melnikov E. S. 1997. Circum-Arctic Map of Permafrost and Ground-Ice Conditions (Boulder, CO: National Snow and Ice Data Center) version 2, DOI: 10.3133/cp45 +Brown J., Ferrians O. J. Jr, Heginbottom J. A. and Melnikov E. S. 1997. + Circum-Arctic Map of Permafrost and Ground-Ice Conditions +(Boulder, CO: National Snow and Ice Data Center) version 2, +DOI: 10.3133/cp45 .. _Brun1989: -Brun, E. 1989. Investigation of wet-snow metamorphism in respect of liquid water content. Ann. Glaciol. 13:22-26. +Brun, E. 1989. Investigation of wet-snow metamorphism in respect of +liquid water content. Ann. Glaciol. 13:22-26. .. _Brunkeetal2016: @@ -169,15 +245,19 @@ Brzostek, E. R., J. B. Fisher, and R. P. Phillips, 2014. Modeling the carbon cos .. _BugmannSolomon2000: -Bugmann, H., and Solomon, A.M. 2000. Explaining forest composition and biomass across multiple biogeographical regions. Ecol. Appl. 10:95-114. +Bugmann, H., and Solomon, A.M. 2000. Explaining forest composition and +biomass across multiple biogeographical regions. Ecol. Appl. 10:95-114. .. _Busing2005: -Busing, R.T. 2005. Tree mortality, canopy turnover, and woody detritus in old cove forests of the southern Appalachians. Ecology 86:73-84. +Busing, R.T. 2005. Tree mortality, canopy turnover, and woody detritus +in old cove forests of the southern Appalachians. Ecology 86:73-84. .. _Buzanetal2015: -Buzan, J.R., Oleson, K., and Huber, M. 2015: Implementation and comparison of a suite of heat stress metrics within the Community Land Model version 4.5, Geosci. Model Dev., 8, 151-170, doi:10.5194/gmd-8-151-2015. +Buzan, J.R., Oleson, K., and Huber, M. 2015: Implementation and +comparison of a suite of heat stress metrics within the Community Land +Model version 4.5, Geosci. Model Dev., 8, 151-170, doi:10.5194/gmd-8-151-2015. .. _byram1959: @@ -185,67 +265,105 @@ Byram, G.M., 1959. Combustion of forest fuels. In Forest fire: control and use.( .. _CampbellNorman1998: -Campbell, G.S., and Norman, J.M. 1998. An Introduction to Environmental Biophysics (2:math:`{}^{nd}` edition). Springer-Verlag, New York. +Campbell, G.S., and Norman, J.M. 1998. An Introduction to Environmental +Biophysics (2:math:`{}^{nd}` edition). Springer-Verlag, New York. .. _Castilloetal2012: -Castillo, G., Kendra, C., Levis, S., and Thornton, P. 2012. Evaluation of the new CNDV option of the Community Land Model: effects of dynamic vegetation and interactive nitrogen on CLM4 means and variability. J. Climate 25:3702–3714. +Castillo, G., Kendra, C., Levis, S., and Thornton, P. 2012. Evaluation +of the new CNDV option of the Community Land Model: effects of dynamic +vegetation and interactive nitrogen on CLM4 means and variability. J. +Climate 25:3702–3714. .. _Caoetal1996: -Cao, M., Marshall, S. and Gregson, K., 1996. Global carbon exchange and methane emissions from natural wetlands: Application of a process-based model. J. Geophys. Res. 101(D9):14,399-14,414. +Cao, M., Marshall, S. and Gregson, K., 1996. Global carbon exchange and +methane emissions from natural wetlands: Application of a process-based +model. J. Geophys. Res. 101(D9):14,399-14,414. .. _Chengetal2019: -Cheng, Y. et al., 2019. Parameterizing perennial bioenergy crops in Version 5 of the Community Land Model Based on Site‐Level Observations in the Central Midwestern United States. Journal of Advances in Modeling Earth Systems, 2(2013), 1–24. https://doi.org/10.1029/2019MS001719 +Cheng, Y. et al., 2019. Parameterizing perennial bioenergy +crops in Version 5 of the Community Land Model Based on Site‐Level +Observations in the Central Midwestern United States. +Journal of Advances in Modeling Earth Systems, +2(2013), 1–24. https://doi.org/10.1029/2019MS001719 .. _Chuangetal2006: -Chuang Y.L., Oren R., Bertozzi A.L, Phillips N., Katul G.G. 2006. The porous media model for the hydraulic system of a conifer tree: Linking sap flux data to transpiration rate, Ecological Modelling, 191, 447-468, doi:10.1016/j.ecolmodel.2005.03.027. +Chuang Y.L., Oren R., Bertozzi A.L, Phillips N., Katul G.G. 2006. The +porous media model for the hydraulic system of a conifer tree: Linking +sap flux data to transpiration rate, Ecological Modelling, 191, 447-468, +doi:10.1016/j.ecolmodel.2005.03.027. .. _Churkinaetal2003: -Churkina, G. et al., 2003. Analyzing the ecosystem carbon dynamics of four European coniferous forests using a biogeochemistry model. Ecosystems, 6: 168-184. +Churkina, G. et al., 2003. Analyzing the ecosystem carbon dynamics of +four European coniferous forests using a biogeochemistry model. +Ecosystems, 6: 168-184. .. _CIESIN2005: -CIESIN: Gridded population of the world version 3 (GPWv3), 2005. Population density grids, Technical report, Socioeconomic Data and Applications Center (SEDAC), Columbia University, Palisades, New York, USA. +CIESIN: Gridded population of the world version 3 (GPWv3), 2005. +Population density grids, Technical report, Socioeconomic Data and +Applications Center (SEDAC), Columbia University, Palisades, New York, +USA. .. _ClappHornberger1978: -Clapp, R.B., and Hornberger, G.M. 1978. Empirical equations for some soil hydraulic properties. Water Resour. Res. 14:601-604. +Clapp, R.B., and Hornberger, G.M. 1978. Empirical equations for some +soil hydraulic properties. Water Resour. Res. 14:601-604. .. _ClauserHuenges1995: -Clauser, C., and Huenges, E. 1995. Thermal conductivity of rocks and minerals. pp. 105-126. In: T. J. Ahrens (editor) Rock Physics and Phase Relations: A Handbook of Physical Constants. Washington, D.C. +Clauser, C., and Huenges, E. 1995. Thermal conductivity of rocks and +minerals. pp. 105-126. In: T. J. Ahrens (editor) Rock Physics and Phase +Relations: A Handbook of Physical Constants. Washington, D.C. .. _Clevelandetal1999: -Cleveland, C.C., Townsend, A.R., Schimel, D.S., Fisher, H., Howarth, R.W., Hedin, L.O., Perakis, S.S., Latty, E.F., Von Fischer, J.C., Elseroad, A., and Wasson, M.F. 1999. Global patterns of terrestrial biological nitrogen (N2) fixation in natural ecosystems. Global Biogeochem. Cycles 13:623-645. +Cleveland, C.C., Townsend, A.R., Schimel, D.S., Fisher, H., Howarth, +R.W., Hedin, L.O., Perakis, S.S., Latty, E.F., Von Fischer, J.C., +Elseroad, A., and Wasson, M.F. 1999. Global patterns of terrestrial +biological nitrogen (N2) fixation in natural ecosystems. Global +Biogeochem. Cycles 13:623-645. .. _Collatzetal1991: -Collatz, G.J., Ball, J.T., Grivet, C., and Berry, J.A. 1991. Physiological and environmental regulation of stomatal conductance, photosynthesis, and transpiration: A model that includes a laminar boundary layer. Agric. For. Meteor. 54:107-136. +Collatz, G.J., Ball, J.T., Grivet, C., and Berry, J.A. 1991. +Physiological and environmental regulation of stomatal conductance, +photosynthesis, and transpiration: A model that includes a laminar +boundary layer. Agric. For. Meteor. 54:107-136. .. _Collatzetal1992: -Collatz, G.J., Ribas-Carbo, M., and Berry, J.A. 1992. Coupled photosynthesis-stomatal conductance model for leaves of C\ :math:`{}_{4}` plants. Aust. J. Plant Physiol. 19:519-538. +Collatz, G.J., Ribas-Carbo, M., and Berry, J.A. 1992. Coupled +photosynthesis-stomatal conductance model for leaves of +C\ :math:`{}_{4}` plants. Aust. J. Plant Physiol. 19:519-538. .. _Colmer2003: -Colmer, T.D., 2003. Long-distance transport of gases in plants: a perspective on internal aeration and radial oxygen loss from roots. Plant Cell and Environment 26:17-36. +Colmer, T.D., 2003. Long-distance transport of gases in plants: a +perspective on internal aeration and radial oxygen loss from roots. +Plant Cell and Environment 26:17-36. .. _Conwayetal1996: -Conway, H., Gades, A., and Raymond, C.F. 1996. Albedo of dirty snow during conditions of melt. Water Resour. Res. 32:1713-1718. +Conway, H., Gades, A., and Raymond, C.F. 1996. Albedo of dirty snow +during conditions of melt. Water Resour. Res. 32:1713-1718. .. _Cosbyetal1984: -Cosby, B.J., Hornberger, G.M., Clapp, R.B., and Ginn, T.R. 1984. A statistical exploration of the relationships of soil moisture characteristics to the physical properties of soils. Water Resour. Res. 20:682-690. +Cosby, B.J., Hornberger, G.M., Clapp, R.B., and Ginn, T.R. 1984. A +statistical exploration of the relationships of soil moisture +characteristics to the physical properties of soils. Water Resour. Res. +20:682-690. .. _Crawfordetal1982: -Crawford, T. W., Rendig, V. V., and Broadent, F. E. 1982. Sources, fluxes, and sinks of nitrogen during early reproductive growth of maize (Zea mays L.). Plant Physiol. 70:1645-1660. +Crawford, T. W., Rendig, V. V., and Broadent, F. E. 1982. Sources, +fluxes, and sinks of nitrogen during early reproductive growth of maize +(Zea mays L.). Plant Physiol. 70:1645-1660. .. _Dahlinetal2015: @@ -253,111 +371,168 @@ Dahlin, K., R. Fisher, and P. Lawrence, 2015: Environmental drivers of drought d .. _DaiZeng1997: -Dai, Y., and Zeng, Q. 1997. A land surface model (IAP94) for climate studies. Part I: formulation and validation in off-line experiments. Adv. Atmos. Sci. 14:433-460. +Dai, Y., and Zeng, Q. 1997. A land surface model (IAP94) for climate +studies. Part I: formulation and validation in off-line experiments. +Adv. Atmos. Sci. 14:433-460. .. _Daietal2001: -Dai, Y., et al. 2001. Common Land Model: Technical documentation and user's guide [Available online at http://climate.eas.gatech.edu/dai/clmdoc.pdf]. +Dai, Y., et al. 2001. Common Land Model: Technical documentation and +user’s guide [Available online at +http://climate.eas.gatech.edu/dai/clmdoc.pdf]. .. _Daietal2003: -Dai, Y., Zeng, X., Dickinson, R.E., Baker, I., Bonan, G.B., Bosilovich, M.G., Denning, A.S., Dirmeyer, P.A., Houser, P.R., Niu, G., Oleson, K.W., Schlosser, C.A., and Yang, Z.-L. 2003. The Common Land Model. Bull. Amer. Meteor. Soc. 84:1013-1023. +Dai, Y., Zeng, X., Dickinson, R.E., Baker, I., Bonan, G.B., Bosilovich, +M.G., Denning, A.S., Dirmeyer, P.A., Houser, P.R., Niu, G., Oleson, +K.W., Schlosser, C.A., and Yang, Z.-L. 2003. The Common Land Model. +Bull. Amer. Meteor. Soc. 84:1013-1023. .. _Daietal2004: -Dai, Y., Dickinson, R.E., and Wang, Y.-P. 2004. A two-big-leaf model for canopy temperature, photosynthesis, and stomatal conductance. J. Climate 17:2281-2299. +Dai, Y., Dickinson, R.E., and Wang, Y.-P. 2004. A two-big-leaf model for +canopy temperature, photosynthesis, and stomatal conductance. J. Climate +17:2281-2299. .. _DaiTrenberth2002: -Dai, A., and Trenberth, K.E. 2002. Estimates of freshwater discharge from continents: Latitudinal and seasonal variations. J. Hydrometeor. 3:660-687. +Dai, A., and Trenberth, K.E. 2002. Estimates of freshwater discharge +from continents: Latitudinal and seasonal variations. J. Hydrometeor. +3:660-687. .. _DeFriesetal2000: -DeFries, R.S., Hansen, M.C., Townshend, J.R.G., Janetos, A.C., and Loveland, T.R. 2000. A new global 1-km dataset of percentage tree cover derived from remote sensing. Global Change Biol. 6:247-254. +DeFries, R.S., Hansen, M.C., Townshend, J.R.G., Janetos, A.C., and +Loveland, T.R. 2000. A new global 1-km dataset of percentage tree cover +derived from remote sensing. Global Change Biol. 6:247-254. .. _DegensSparling1996: -Degens, B. and Sparling, G., 1996. Changes in aggregation do not correspond with changes in labile organic C fractions in soil amended with :math:`{}^{14}`\ C-glucose. Soil Biology and Biochemistry, 28(4/5): 453-462. +Degens, B. and Sparling, G., 1996. Changes in aggregation do not +correspond with changes in labile organic C fractions in soil amended +with :math:`{}^{14}`\ C-glucose. Soil Biology and Biochemistry, 28(4/5): +453-462. .. _deKauwe2015: -de Kauwe, D.A., Kala, J., Lin, Y.-S., Pitman, A.J., Medlyn, B.E., Duursma, R.A., Abramowitz, G., Wang, Y.-P., Miralles, D.G. 2015. A test of an optimal stomatal conductance scheme within the CABLE land surface model. Geosci. Model Dev. 8(2):431-452. +de Kauwe, D.A., Kala, J., Lin, Y.-S., Pitman, A.J., Medlyn, B.E., Duursma, R.A., +Abramowitz, G., Wang, Y.-P., Miralles, D.G. 2015. A test of an optimal stomatal +conductance scheme within the CABLE land surface model. Geosci. Model Dev. +8(2):431-452. .. _deVries1963: -de Vries, D.A. 1963. Thermal Properties of Soils. In: W.R. van Wijk (editor) Physics of the Plant Environment. North-Holland, Amsterdam. +de Vries, D.A. 1963. Thermal Properties of Soils. In: W.R. van Wijk +(editor) Physics of the Plant Environment. North-Holland, Amsterdam. .. _Dickinson1983: -Dickinson, R.E. 1983. Land surface processes and climate-surface albedos and energy balance. Adv. Geophys. 25:305-353. +Dickinson, R.E. 1983. Land surface processes and climate-surface albedos +and energy balance. Adv. Geophys. 25:305-353. .. _Dickinsonetal1993: -Dickinson, R.E., Henderson-Sellers, A., and Kennedy, P.J. 1993. Biosphere-Atmosphere Transfer Scheme (BATS) version 1e as coupled to the NCAR Community Climate Model. NCAR Technical Note NCAR/TN-387+STR. National Center for Atmospheric Research, Boulder, CO. +Dickinson, R.E., Henderson-Sellers, A., and Kennedy, P.J. 1993. +Biosphere-Atmosphere Transfer Scheme (BATS) version 1e as coupled to the +NCAR Community Climate Model. NCAR Technical Note NCAR/TN-387+STR. +National Center for Atmospheric Research, Boulder, CO. .. _Dickinsonetal2006: -Dickinson, R.E., Oleson, K.W., Bonan, G., Hoffman, F., Thornton, P., Vertenstein, M., Yang, Z.-L., and Zeng, X. 2006. The Community Land Model and its climate statistics as a component of the Community Climate System Model. J. Climate 19:2302-2324. +Dickinson, R.E., Oleson, K.W., Bonan, G., Hoffman, F., Thornton, P., +Vertenstein, M., Yang, Z.-L., and Zeng, X. 2006. The Community Land +Model and its climate statistics as a component of the Community Climate +System Model. J. Climate 19:2302-2324. .. _Dingman2002: -Dingman, S.L. 2002. Physical Hydrology. Second Edition. Prentice Hall, NJ. +Dingman, S.L. 2002. Physical Hydrology. Second Edition. Prentice Hall, +NJ. .. _Dirmeyeretal1999: -Dirmeyer, P.A., Dolman, A.J., and Sato, N. 1999. The pilot phase of the Global Soil Wetness Project. Bull. Amer. Meteor. Soc. 80:851-878. +Dirmeyer, P.A., Dolman, A.J., and Sato, N. 1999. The pilot phase of the +Global Soil Wetness Project. Bull. Amer. Meteor. Soc. 80:851-878. .. _Dobsonetal2000: -Dobson, J.E., Bright, E.A., Coleman, P.R., Durfee, R.C., and Worley, B.A. 2000. LandScan: A global population database for estimating populations at risk. Photogramm. Eng. Rem. Sens. 66:849-857. +Dobson, J.E., Bright, E.A., Coleman, P.R., Durfee, R.C., and Worley, +B.A. 2000. LandScan: A global population database for estimating +populations at risk. Photogramm. Eng. Rem. Sens. 66:849-857. .. _DormanSellers1989: -Dorman, J.L., and Sellers, P.J. 1989. A global climatology of albedo, roughness length and stomatal resistance for atmospheric general circulation models as represented by the simple biosphere model (SiB). J. Appl. Meteor. 28:833-855. +Dorman, J.L., and Sellers, P.J. 1989. A global climatology of albedo, +roughness length and stomatal resistance for atmospheric general +circulation models as represented by the simple biosphere model (SiB). +J. Appl. Meteor. 28:833-855. .. _Doughertyetal1994: -Dougherty, R.L., Bradford, J.A., Coyne, P.I., and Sims, P.L. 1994. Applying an empirical model of stomatal conductance to three C4 grasses. Agric. For. Meteor. 67:269-290. +Dougherty, R.L., Bradford, J.A., Coyne, P.I., and Sims, P.L. 1994. +Applying an empirical model of stomatal conductance to three C4 grasses. +Agric. For. Meteor. 67:269-290. .. _Drewniaketal2013: -Drewniak, B., Song, J., Prell, J., Kotamarthi, V.R., and Jacob, R. 2013. Modeling agriculture in the Community Land Model. Geosci. Model Dev. 6:495-515. DOI:10.5194/gmd-6-495-2013. +Drewniak, B., Song, J., Prell, J., Kotamarthi, V.R., and Jacob, R. 2013. +Modeling agriculture in the Community Land Model. Geosci. Model Dev. +6:495-515. DOI:10.5194/gmd-6-495-2013. .. _Dunfieldetal1993: -Dunfield, P., Knowles, R., Dumont, R. and Moore, T.R., 1993. Methane Production and Consumption in Temperate and Sub-Arctic Peat Soils - Response to Temperature and Ph. Soil Biology & Biochemistry 25:321-326. +Dunfield, P., Knowles, R., Dumont, R. and Moore, T.R., 1993. Methane +Production and Consumption in Temperate and Sub-Arctic Peat Soils - +Response to Temperature and Ph. Soil Biology & Biochemistry 25:321-326. .. _EntekhabiEagleson1989: -Entekhabi, D., and Eagleson, P.S. 1989. Land surface hydrology parameterization for atmospheric general circulation models including subgrid scale spatial variability. J. Climate 2:816-831. +Entekhabi, D., and Eagleson, P.S. 1989. Land surface hydrology +parameterization for atmospheric general circulation models including +subgrid scale spatial variability. J. Climate 2:816-831. .. _FangStefan1996: -Fang, X. and Stefan, H.G., 1996. Long-term lake water temperature and ice cover simulations/measurements. Cold Regions Science and Technology 24:289-304. +Fang, X. and Stefan, H.G., 1996. Long-term lake water temperature and +ice cover simulations/measurements. Cold Regions Science and Technology +24:289-304. .. _Farouki1981: -Farouki, O.T. 1981. The thermal properties of soils in cold regions. Cold Regions Sci. and Tech. 5:67-75. +Farouki, O.T. 1981. The thermal properties of soils in cold regions. +Cold Regions Sci. and Tech. 5:67-75. .. _Farquharetal1980: -Farquhar, G.D., von Caemmerer, S., and Berry, J.A. 1980. A biochemical model of photosynthetic CO\ :sub:`2` assimilation in leaves of C\ :math:`{}_{3}` species. Planta 149:78-90. +Farquhar, G.D., von Caemmerer, S., and Berry, J.A. 1980. A biochemical +model of photosynthetic CO\ :sub:`2` assimilation in leaves of +C\ :math:`{}_{3}` species. Planta 149:78-90. .. _FarquharvonCaemmerer1982: -Farquhar, G.D., and von Caemmerer, S. 1982. Modeling of photosynthetic response to environmental conditions. pp. 549-587. In: O.L. Lange, P.S. Nobel, C.B. Osmond, and H. Zeigler (editors) Encyclopedia of Plant Physiology. Vol. 12B. Physiological Plant Ecology. II. Water Relations and Carbon Assimilation. Springer-Verlag, New York. +Farquhar, G.D., and von Caemmerer, S. 1982. Modeling of photosynthetic +response to environmental conditions. pp. 549-587. In: O.L. Lange, P.S. +Nobel, C.B. Osmond, and H. Zeigler (editors) Encyclopedia of Plant +Physiology. Vol. 12B. Physiological Plant Ecology. II. Water Relations +and Carbon Assimilation. Springer-Verlag, New York. .. _FeddemaKauffman2016: -Feddema, J., Kauffman, B. 2016. Urban Properties Tool (Version 1.2). NCAR THESIS Tools Library. Retrieved from: https://svn-iam-thesis-release.cgd.ucar.edu/urban_properties/. doi:10.5065/D6R78CMT. +Feddema, J., Kauffman, B. 2016. Urban Properties Tool (Version 1.2). +NCAR THESIS Tools Library. Retrieved from: https://svn-iam-thesis-release.cgd.ucar.edu/urban_properties/. +doi:10.5065/D6R78CMT. .. _Ferrari1999: -Ferrari, J.B., 1999. Fine-scale patterns of leaf litterfall and nitrogen cycling in an old-growth forest. Canadian Journal of Forest Research, 29: 291-302. +Ferrari, J.B., 1999. Fine-scale patterns of leaf litterfall and nitrogen +cycling in an old-growth forest. Canadian Journal of Forest Research, +29: 291-302. .. _FirestoneDavidson1989: -Firestone, M.K. and Davidson, E.A. 1989. Exchange of Trace Gases between Terrestrial Ecosystems and the Atmosphere. In: M.O. Andreae and D.S. Schimel (Editors). John Wiley and Sons, pp. 7-21. +Firestone, M.K. and Davidson, E.A. 1989. Exchange of Trace Gases between +Terrestrial Ecosystems and the Atmosphere. In: M.O. Andreae and D.S. +Schimel (Editors). John Wiley and Sons, pp. 7-21. .. _Fisheretal2010: @@ -373,19 +548,25 @@ Fisher, R.A., C.D. Koven, W.R.L. Anderegg, et al., 2018: Vegetation demographics .. _FlannerZender2005: -Flanner, M.G., and Zender. C.S. 2005. Snowpack radiative heating: Influence on Tibetan Plateau climate. Geophys. Res. Lett. 32:L06501. DOI:10.1029/2004GL022076. +Flanner, M.G., and Zender. C.S. 2005. Snowpack radiative heating: +Influence on Tibetan Plateau climate. Geophys. Res. Lett. 32:L06501. +DOI:10.1029/2004GL022076. .. _FlannerZender2006: -Flanner, M.G., and Zender, C.S. 2006. Linking snowpack microphysics and albedo evolution. J. Geophys. Res. 111:D12208. DOI:10.1029/2005JD006834. +Flanner, M.G., and Zender, C.S. 2006. Linking snowpack microphysics and +albedo evolution. J. Geophys. Res. 111:D12208. DOI:10.1029/2005JD006834. .. _Flanneretal2007: -Flanner, M.G., Zender, C.S., Randerson, J.T., and Rasch, P.J. 2007. Present day climate forcing and response from black carbon in snow. J. Geophys. Res. 112:D11202. DOI:10.1029/2006JD008003. +Flanner, M.G., Zender, C.S., Randerson, J.T., and Rasch, P.J. 2007. +Present day climate forcing and response from black carbon in snow. J. +Geophys. Res. 112:D11202. DOI:10.1029/2006JD008003. .. _Flatauetal1992: -Flatau, P.J., Walko, R.L., and Cotton, W.R. 1992. Polynomial fits to saturation vapor pressure. J. Appl. Meteor. 31:1507-1513. +Flatau, P.J., Walko, R.L., and Cotton, W.R. 1992. Polynomial fits to +saturation vapor pressure. J. Appl. Meteor. 31:1507-1513. .. _foley1996: @@ -393,11 +574,16 @@ Foley, J.A. et al., 1996. An integrated biosphere model of land surface processe .. _Friedl,etal2002: -Friedl, M.A., McIver, D.K., Hodges, J.C.F., Zhang, X.Y., Muchoney, D., Strahler, A.H., Woodcock, C.E., Gopal, S., Schneider, A., Cooper, A., Baccini, A., Gao, F., and Schaaf, C. 2002. Global land cover mapping from MODIS: algorithms and early results. Remote Sens. Environ. 83:287-302. +Friedl, M.A., McIver, D.K., Hodges, J.C.F., Zhang, X.Y., Muchoney, D., +Strahler, A.H., Woodcock, C.E., Gopal, S., Schneider, A., Cooper, A., +Baccini, A., Gao, F., and Schaaf, C. 2002. Global land cover mapping +from MODIS: algorithms and early results. Remote Sens. Environ. +83:287-302. .. _Frolkingetal2001: -Frolking, S., et al. 2001. Modeling Northern Peatland Decomposition and Peat Accumulation. Ecosystems. 4:479-498. +Frolking, S., et al. 2001. Modeling Northern Peatland Decomposition and +Peat Accumulation. Ecosystems. 4:479-498. .. _fyllas2014: @@ -405,31 +591,46 @@ Fyllas, N.M. et al., 2014. Analysing Amazonian forest productivity using a new i .. _Gallaisetal2006: -Gallais, A., Coque, M. Quillere, I., Prioul, J., and Hirel, B. 2006. Modeling postsilking nitrogen fluxes in maize (Zea mays) using 15N-labeling field experiments. New Phytologist 172:696-707. +Gallais, A., Coque, M. Quillere, I., Prioul, J., and Hirel, B. 2006. +Modeling postsilking nitrogen fluxes in maize (Zea mays) using +15N-labeling field experiments. New Phytologist 172:696-707. .. _Gallaisetal2007: -Gallais, A., Coque, M., Gouis, J. L., Prioul, J. L., Hirel, B., and Quillere, I. 2007. Estimating the proportion of nitrogen remobilization and of postsilking nitrogen uptake allocated to maize kernels by Nitrogen-15 labeling. Crop Sci. 47:685-693. +Gallais, A., Coque, M., Gouis, J. L., Prioul, J. L., Hirel, B., and +Quillere, I. 2007. Estimating the proportion of nitrogen remobilization +and of postsilking nitrogen uptake allocated to maize kernels by +Nitrogen-15 labeling. Crop Sci. 47:685-693. .. _Gallowayetal2004: -Galloway, J.N., et al. 2004. Nitrogen cycles: past, present, and future. Biogeochem. 70:153-226. +Galloway, J.N., et al. 2004. Nitrogen cycles: past, present, and future. +Biogeochem. 70:153-226. .. _Garciaetal1988: -Garcia, R.L., Kanemasu, E.T., Blad, B.L., Bauer, A., Hatfield, J.L., Major, D.A., Reginato, R.J., and Hubbard, K.G. 1988. Interception and use efficiency of light in winter wheat under different nitrogen regimes. Agric. For. Meteor. 44:175-186. +Garcia, R.L., Kanemasu, E.T., Blad, B.L., Bauer, A., Hatfield, J.L., +Major, D.A., Reginato, R.J., and Hubbard, K.G. 1988. Interception and +use efficiency of light in winter wheat under different nitrogen +regimes. Agric. For. Meteor. 44:175-186. .. _Gardner1960: -Gardner, W. R. 1960. Dynamic aspects of water availability to plants, Soil Sci., 89, 63–73. +Gardner, W. R. 1960. Dynamic aspects of water availability to plants, +Soil Sci., 89, 63–73. .. _Gashetal1996: -Gash, J.H.C., Nobre, C.A., Roberts, J.M., and Victoria, R.L. 1996. An overview of ABRACOS. pp. 1-14. In: J.H.C. Gash, C.A. Nobre, J.M. Roberts, and R.L. Victoria (editors) Amazonian Deforestation and Climate. John Wiley and Sons, Chichester, England. +Gash, J.H.C., Nobre, C.A., Roberts, J.M., and Victoria, R.L. 1996. An +overview of ABRACOS. pp. 1-14. In: J.H.C. Gash, C.A. Nobre, J.M. +Roberts, and R.L. Victoria (editors) Amazonian Deforestation and +Climate. John Wiley and Sons, Chichester, England. .. _Getiranaetal2012: -Getirana, A. C. V., A. Boone, D. Yamazaki, B. Decharme, F. Papa, and N. Mognard. 2012. The hydrological modeling and analysis platform (HyMAP): Evaluation in the Amazon basin, J. Hydrometeorol., 13, 1641-1665. +Getirana, A. C. V., A. Boone, D. Yamazaki, B. Decharme, F. Papa, and +N. Mognard. 2012. The hydrological modeling and analysis platform +(HyMAP): Evaluation in the Amazon basin, J. Hydrometeorol., 13, 1641-1665. .. _Ghimireetal2016: @@ -437,31 +638,49 @@ Ghimire, B., W. J. Riley, C. D. Koven, M. Mu, and J. T. Randerson, 2016: Represe .. _Gholzetal1985: -Gholz, H.L., Perry, C.S., Cropper, W.P., Jr. and Hendry, L.C., 1985. Litterfall, decomposition, and nitrogen and phosphorous dynamics in a chronosequence of slash pine (*Pinus elliottii*) plantations. Forest Science, 31: 463-478. +Gholz, H.L., Perry, C.S., Cropper, W.P., Jr. and Hendry, L.C., 1985. +Litterfall, decomposition, and nitrogen and phosphorous dynamics in a +chronosequence of slash pine (*Pinus elliottii*) plantations. Forest +Science, 31: 463-478. .. _Giglioetal2006: -Giglio, L., Csiszar, I., and Justice, C.O. 2006. Global distribution and seasonality of active fires as observed with the Terra and Aqua Moderate Resolution Imaging Spectroradiometer (MODIS) sensors. J. Geophys. Res. 111:G02016. DOI:10.1029/2005JG000142. +Giglio, L., Csiszar, I., and Justice, C.O. 2006. Global distribution and +seasonality of active fires as observed with the Terra and Aqua Moderate +Resolution Imaging Spectroradiometer (MODIS) sensors. J. Geophys. Res. +111:G02016. DOI:10.1029/2005JG000142. .. _GlobalSoilDataTask2000: -Global Soil Data Task 2000. Global soil data products CD-ROM (IGBP-DIS). International Geosphere-Biosphere Programme-Data and Information Available Services [Available online at http://www.daac.ornl.gov]. +Global Soil Data Task 2000. Global soil data products CD-ROM (IGBP-DIS). +International Geosphere-Biosphere Programme-Data and Information +Available Services [Available online at http://www.daac.ornl.gov]. .. _Gomesetal2003: -Gomes, E.P.C., Mantovani, W., and Kageyama, P.Y. 2003. Mortality and recruitment of trees in a secondary montane rain forest in southeastern Brazil. Brazilian Journal of Biology 63:47-60. +Gomes, E.P.C., Mantovani, W., and Kageyama, P.Y. 2003. Mortality and +recruitment of trees in a secondary montane rain forest in southeastern +Brazil. Brazilian Journal of Biology 63:47-60. .. _Goszetal1973: -Gosz, J.R., Likens, G.E., and Bormann, F.H. 1973. Nutrient release from decomposing leaf and branch litter in the Hubbard Brook Forest, New Hampshire. Ecological Monographs 43:173-191. +Gosz, J.R., Likens, G.E., and Bormann, F.H. 1973. Nutrient release from +decomposing leaf and branch litter in the Hubbard Brook Forest, New +Hampshire. Ecological Monographs 43:173-191. .. _GotangcoCastilloetal2012: -Gotangco Castillo C., Levis S., and Thornton P. 2012. Evaluation of the new CNDV option of the Community Land Model: Effects of dynamic vegetation and interactive nitrogen on CLM4 means and variability. J. Climate 25:3702-3714. DOI:10.1175/JCLID-11-00372.1. +Gotangco Castillo C., Levis S., and Thornton P. 2012. Evaluation of the +new CNDV option of the Community Land Model: Effects of dynamic +vegetation and interactive nitrogen on CLM4 means and variability. J. +Climate 25:3702-3714. DOI:10.1175/JCLID-11-00372.1. .. _Grahametal1999: -Graham, S.T., Famiglietti, J.S., and Maidment, D.R. 1999. Five-minute, 1/2°, and 1° data sets of continental watersheds and river networks for use in regional and global hydrologic and climate system modeling studies. Water Resour. Res. 35:583-587. +Graham, S.T., Famiglietti, J.S., and Maidment, D.R. 1999. Five-minute, +1/2º, and 1º data sets of continental watersheds and river networks for +use in regional and global hydrologic and climate system modeling +studies. Water Resour. Res. 35:583-587. .. _Gravenetal2017: @@ -469,71 +688,118 @@ Graven, H., C. E. Allison, D. M. Etheridge, S. Hammer, R. F. Keeling, I. Levin, .. _GrenfellWarren1999: -Grenfell, T.C., and Warren, S.G. 1999. Representation of a nonspherical ice particle by a collection of independent spheres for scattering and absorption of radiation. J. Geophys. Res. 104(D24):37697-37709. +Grenfell, T.C., and Warren, S.G. 1999. Representation of a nonspherical +ice particle by a collection of independent spheres for scattering and +absorption of radiation. J. Geophys. Res. 104(D24):37697-37709. .. _delGrossoetal2000: -del Grosso, S.J., et al. 2000. General model for N2O and N2 gas emissions from soils due to dentrification. Global Biogeochem. Cycles 14:1045-1060. +del Grosso, S.J., et al. 2000. General model for N2O and N2 gas +emissions from soils due to dentrification. Global Biogeochem. Cycles +14:1045-1060. .. _Guentheretal1995: -Guenther, A., Hewitt, C.N., Erickson, D., Fall, R., Geron, C., Graedel, T., Harley, P., Klinger, L., Lerdau, M., McKay, W.A., Pierce, T., Scholes, B., Steinbrecher, R., Tallamraju, R., Taylor, J., and Zimmerman, P. 1995. A global model of natural volatile organic compound emissions. J. Geophys. Res. 100:8873-8892. +Guenther, A., Hewitt, C.N., Erickson, D., Fall, R., Geron, C., Graedel, +T., Harley, P., Klinger, L., Lerdau, M., McKay, W.A., Pierce, T., +Scholes, B., Steinbrecher, R., Tallamraju, R., Taylor, J., and +Zimmerman, P. 1995. A global model of natural volatile organic compound +emissions. J. Geophys. Res. 100:8873-8892. .. _Guentheretal2006: -Guenther, A., Karl, T., Harley, P., Wiedinmyer, C., Palmer. P.I., and Geron, C. 2006. Estimates of global terrestrial isoprene emissions using MEGAN (Model of Emissions of Gases and Aerosols from Nature). Atmos. Chem. Phys. 6:3181–3210. +Guenther, A., Karl, T., Harley, P., Wiedinmyer, C., Palmer. P.I., and +Geron, C. 2006. Estimates of global terrestrial isoprene emissions using +MEGAN (Model of Emissions of Gases and Aerosols from Nature). Atmos. +Chem. Phys. 6:3181–3210. .. _Guentheretal2012: -Guenther, A. B., Jiang, X., Heald, C. L., Sakulyanontvittaya, T., Duhl, T., Emmons, L. K., & Wang, X., 2012. The Model of Emissions of Gases and Aerosols from Nature version 2.1 (MEGAN2.1): an extended and updated framework for modeling biogenic emissions, Geosci. Model Dev., 5, 1471–1492. DOI:10.5194. +Guenther, A. B., Jiang, X., Heald, C. L., Sakulyanontvittaya, T., Duhl, +T., Emmons, L. K., & Wang, X., 2012. The Model of Emissions of Gases and +Aerosols from Nature version 2.1 (MEGAN2.1): an extended and updated +framework for modeling biogenic emissions, Geosci. Model Dev., 5, +1471–1492. DOI:10.5194. .. _Hacketal2006: -Hack, J.J., Caron, J.M., Yeager, S.G., Oleson, K.W., Holland, M.M., Truesdale, J.E., and Rasch, P.J. 2006. Simulation of the global hydrological cycle in the CCSM Community Atmosphere Model version 3 (CAM3): mean features. J. Climate 19:2199-2221. +Hack, J.J., Caron, J.M., Yeager, S.G., Oleson, K.W., Holland, M.M., +Truesdale, J.E., and Rasch, P.J. 2006. Simulation of the global +hydrological cycle in the CCSM Community Atmosphere Model version 3 +(CAM3): mean features. J. Climate 19:2199-2221. .. _Hansenetal2003: -Hansen, M., DeFries, R.S., Townshend, J.R.G., Carroll, M., Dimiceli, C., and Sohlberg, R.A. 2003. Global percent tree cover at a spatial resolution of 500 meters: first results of the MODIS vegetation continuous fields algorithm. Earth Interactions 7:1-15. +Hansen, M., DeFries, R.S., Townshend, J.R.G., Carroll, M., Dimiceli, C., +and Sohlberg, R.A. 2003. Global percent tree cover at a spatial +resolution of 500 meters: first results of the MODIS vegetation +continuous fields algorithm. Earth Interactions 7:1-15. .. _Hastingsetal1999: -Hastings, D.A., Dunbar, P.K., Elphingstone, G.M., Bootz, M., Murakami, H., Maruyama, H., Masaharu, H., Holland, P., Payne, J., Bryant, N.A., Logan, T.L., Muller, J.-P., Schreier, G., and MacDonald, J.S., eds., 1999. The Global Land One-kilometer Base Elevation (GLOBE) Digital Elevation Model, Version 1.0. National Oceanic and Atmospheric Administration, National Geophysical Data Center, 325 Broadway, Boulder, Colorado 80305-3328, U.S.A. +Hastings, D.A., Dunbar, P.K., Elphingstone, G.M., Bootz, M., Murakami, +H., Maruyama, H., Masaharu, H., Holland, P., Payne, J., Bryant, N.A., +Logan, T.L., Muller, J.-P., Schreier, G., and MacDonald, J.S., eds., +1999. The Global Land One-kilometer Base Elevation (GLOBE) Digital +Elevation Model, Version 1.0. National Oceanic and Atmospheric +Administration, National Geophysical Data Center, 325 Broadway, Boulder, +Colorado 80305-3328, U.S.A. .. _Healdetal2008: -Heald, C.L., Henze, D.K., Horowitz, L.W., Feddema, J., Lamarque, J.-F., Guenther, A., Hess, P.G., Vitt, F., Seinfeld, J.H., Goldstein, A.H., and Fung, I. 2008. Predicted change in global secondary organic aerosol concentrations in response to future climate, emissions, and land use change. J. Geophys. Res. 113:D05211. DOI:10.1029/2007JD009092. +Heald, C.L., Henze, D.K., Horowitz, L.W., Feddema, J., Lamarque, J.-F., +Guenther, A., Hess, P.G., Vitt, F., Seinfeld, J.H., Goldstein, A.H., and +Fung, I. 2008. Predicted change in global secondary organic aerosol +concentrations in response to future climate, emissions, and land use +change. J. Geophys. Res. 113:D05211. DOI:10.1029/2007JD009092. .. _Healdetal2009: -Heald, C.L., Wilkinson, M.J., Monson, R.K., Alo, C.A., Wang, G.L., and Guenther, A. 2009. Response of isoprene emission to ambient CO\ :sub:`2` changes and implications for global budgets. Global Change Biol. 15:1127-1140. DOI:10.1111/j.1365-2486.2008.01802.x +Heald, C.L., Wilkinson, M.J., Monson, R.K., Alo, C.A., Wang, G.L., and +Guenther, A. 2009. Response of isoprene emission to ambient +CO\ :sub:`2` changes and implications for global budgets. Global +Change Biol. 15:1127-1140. DOI:10.1111/j.1365-2486.2008.01802.x .. _Henderson-Sellers1985: -Henderson-Sellers, B. 1985. New formulation of eddy diffusion thermocline models. Appl. Math. Modelling 9:441-446. +Henderson-Sellers, B. 1985. New formulation of eddy diffusion +thermocline models. Appl. Math. Modelling 9:441-446. .. _Henderson-Sellers1986: -Henderson-Sellers, B. 1986. Calculating the surface energy balance for lake and reservoir modeling: A review. Rev. Geophys. 24:625-649. +Henderson-Sellers, B. 1986. Calculating the surface energy balance for +lake and reservoir modeling: A review. Rev. Geophys. 24:625-649. .. _Henderson-Sellersetal1993: -Henderson-Sellers, A., Yang, Z.-L., and Dickinson, R.E. 1993. The project for intercomparison of land-surface parameterization schemes. Bull. Amer. Meteor. Soc. 74: 1335-1349. +Henderson-Sellers, A., Yang, Z.-L., and Dickinson, R.E. 1993. The +project for intercomparison of land-surface parameterization schemes. +Bull. Amer. Meteor. Soc. 74: 1335-1349. .. _HostetlerBartlein1990: -Hostetler, S.W., and Bartlein, P.J. 1990. Simulation of lake evaporation with application to modeling lake level variations of Harney-Malheur Lake, Oregon. Water Resour. Res. 26:2603-2612. +Hostetler, S.W., and Bartlein, P.J. 1990. Simulation of lake evaporation +with application to modeling lake level variations of Harney-Malheur +Lake, Oregon. Water Resour. Res. 26:2603-2612. .. _Hostetleretal1993: -Hostetler, S.W., Bates, G.T., and Giorgi, F. 1993. Interactive coupling of a lake thermal model with a regional climate model. J. Geophys. Res. 98:5045-5057. +Hostetler, S.W., Bates, G.T., and Giorgi, F. 1993. Interactive coupling +of a lake thermal model with a regional climate model. J. Geophys. Res. +98:5045-5057. .. _Hostetleretal1994: -Hostetler, S.W., Giorgi, F., Bates, G.T., and Bartlein, P.J. 1994. Lake-atmosphere feedbacks associated with paleolakes Bonneville and Lahontan. Science 263:665-668. +Hostetler, S.W., Giorgi, F., Bates, G.T., and Bartlein, P.J. 1994. +Lake-atmosphere feedbacks associated with paleolakes Bonneville and +Lahontan. Science 263:665-668. .. _Houetal2012: -Hou, Z., Huang, M., Leung, L.R., Lin, G., and Ricciuto, D.M. 2012. Sensitivity of surface flux simulations to hydrologic parameters based on an uncertainty quantification framework applied to the Community Land Model. J. Geophys. Res. 117:D15108. +Hou, Z., Huang, M., Leung, L.R., Lin, G., and Ricciuto, D.M. 2012. +Sensitivity of surface flux simulations to hydrologic parameters based +on an uncertainty quantification framework applied to the Community Land +Model. J. Geophys. Res. 117:D15108. .. _Houltonetal2008: @@ -541,111 +807,176 @@ Houlton, B.Z., Wang, Y.P., Vitousek, P.M. and Field, C.B., 2008. A unifying fram .. _HuangLiang2006: -Huang, M., and Liang, X. 2006. On the assessment of the impact of reducing parameters and identification of parameter uncertainties for a hydrologic model with applications to ungauged basins. J. Hydrol. 320:37-61. +Huang, M., and Liang, X. 2006. On the assessment of the impact of +reducing parameters and identification of parameter uncertainties for a +hydrologic model with applications to ungauged basins. J. Hydrol. +320:37-61. .. _Hugeliusetal2012: -Hugelius, G., C. Tarnocai, G. Broll, J.G. Canadell, P. Kuhry, adn D.K. Swanson, 2012. The Northern Circumpolar Soil Carbon Database: spatially distributed datasets of soil coverage and soil carbon storage in the northern permafrost regions. Earth Syst. Sci. Data Discuss., 5, 707-733 (available online at (http://dev1.geo.su.se/bbcc/dev/ncscd/). +Hugelius, G., C. Tarnocai, G. Broll, J.G. Canadell, P. Kuhry, adn D.K. +Swanson, 2012. The Northern Circumpolar Soil Carbon Database: spatially +distributed datasets of soil coverage and soil carbon storage in the +northern permafrost regions. Earth Syst. Sci. Data Discuss., 5, 707-733 +(available online at (http://dev1.geo.su.se/bbcc/dev/ncscd/). .. _Huntetal1988: -Hunt, H.W., Ingham, E.R., Coleman, D.C., Elliott, E.T., and Reid, C.P.P. 1988. Nitrogen limitation of production and decomposition in prairie, mountain meadow, and pine forest. Ecology 69:1009-1016. +Hunt, H.W., Ingham, E.R., Coleman, D.C., Elliott, E.T., and Reid, C.P.P. +1988. Nitrogen limitation of production and decomposition in prairie, +mountain meadow, and pine forest. Ecology 69:1009-1016. .. _HuntRunning1992: -Hunt, E.R., Jr. and Running, S.W., 1992. Simulated dry matter yields for aspen and spruce stands in the north american boreal forest. Canadian Journal of Remote Sensing, 18: 126-133. +Hunt, E.R., Jr. and Running, S.W., 1992. Simulated dry matter yields for +aspen and spruce stands in the north american boreal forest. Canadian +Journal of Remote Sensing, 18: 126-133. .. _Huntetal1996: -Hunt, E.R., Jr. et al., 1996. Global net carbon exchange and intra-annual atmospheric CO\ :sub:`2` concentrations predicted by an ecosystem process model and three-dimensional atmospheric transport model. Global Biogeochemical Cycles, 10: 431-456. +Hunt, E.R., Jr. et al., 1996. Global net carbon exchange and +intra-annual atmospheric CO\ :sub:`2` concentrations predicted by +an ecosystem process model and three-dimensional atmospheric transport +model. Global Biogeochemical Cycles, 10: 431-456. .. _Hurttetal2006: -Hurtt, G.C., Frolking, S., Fearon, M.G., Moore, B., Shevliakova, E., Malyshev, S., Pacala, S.W., and Houghton, R.A. 2006. The underpinnings of land-use history: three centuries of global gridded land-use transitions, wood-harvest activity, and resulting secondary lands. Global Change Biol. 12:1208-1229. +Hurtt, G.C., Frolking, S., Fearon, M.G., Moore, B., Shevliakova, E., +Malyshev, S., Pacala, S.W., and Houghton, R.A. 2006. The underpinnings +of land-use history: three centuries of global gridded land-use +transitions, wood-harvest activity, and resulting secondary lands. +Global Change Biol. 12:1208-1229. .. _Hurttetal2011: -Hurtt, G.C., et al. 2011. Harmonization of land-use scenarios for the period 1500-2100: 600 years of global gridded annual land-use transitions, wood harvest, and resulting secondary lands. Climatic Change 109:117-161. DOI:10.1007/s10584-011-0153-2. +Hurtt, G.C., et al. 2011. Harmonization of land-use scenarios for the +period 1500-2100: 600 years of global gridded annual land-use +transitions, wood harvest, and resulting secondary lands. Climatic +Change 109:117-161. DOI:10.1007/s10584-011-0153-2. .. _Idso1981: -Idso, S.B. 1981. A set of equations for full spectrum and 8- to 14-\ :math:`\mu` \ m and 10.5- to 12.5-\ :math:`\mu` \ m thermal radiation from cloudless skies. Water Resour. Res. 17:295-304. +Idso, S.B. 1981. A set of equations for full spectrum and 8- to +14-\ :math:`\mu` \ m and 10.5- to 12.5-\ :math:`\mu` \ m thermal +radiation from cloudless skies. Water Resour. Res. 17:295-304. .. _IiyamaHasegawa2005: -Iiyama, I. and Hasegawa, S., 2005. Gas diffusion coefficient of undisturbed peat soils. Soil Science and Plant Nutrition 51:431-435. +Iiyama, I. and Hasegawa, S., 2005. Gas diffusion coefficient of +undisturbed peat soils. Soil Science and Plant Nutrition 51:431-435. .. _Jacksonetal1996: -Jacksonetal1996: E., and Schulze, E. D. 1996. A global analysis of root distributions for terrestrial biomes Oecologia 108:389–411. DOI:10.1007/BF00333714. +Jacksonetal1996: +E., and Schulze, E. D. 1996. A global analysis of root distributions for +terrestrial biomes Oecologia 108:389–411. DOI:10.1007/BF00333714. .. _Jacksonetal2010: -Jackson, T.L., Feddema, J.J., Oleson, K.W., Bonan, G.B., and Bauer, J.T. 2010. Parameterization of urban characteristics for global climate modeling. Annals of the Association of American Geographers. 100:848-865. +Jackson, T.L., Feddema, J.J., Oleson, K.W., Bonan, G.B., and Bauer, J.T. +2010. Parameterization of urban characteristics for global climate +modeling. Annals of the Association of American Geographers. +100:848-865. .. _JenkinsonColeman2008: -Jenkinson, D. and Coleman, K. 2008. The turnover of organic carbon in subsoils. Part 2. Modelling carbon turnover. European Journal of Soil Science 59:400-413. +Jenkinson, D. and Coleman, K. 2008. The turnover of organic carbon in +subsoils. Part 2. Modelling carbon turnover. European Journal of Soil +Science 59:400-413. .. _Jordan1991: -Jordan, R. 1991. A One-dimensional Temperature Model for a Snow Cover: Technical Documentation for SNTHERM.89. U.S. Army Cold Regions Research and Engineering Laboratory, Special Report 91-16. +Jordan, R. 1991. A One-dimensional Temperature Model for a Snow Cover: +Technical Documentation for SNTHERM.89. U.S. Army Cold Regions Research +and Engineering Laboratory, Special Report 91-16. .. _KattgeKnorr2007: -Kattge, J., and Knorr, W. 2007. Temperature acclimation in a biochemical model of photosynthesis: a reanalysis of data from 36 species. Plant Cell Environ. 30:1176-1190. DOI:10.1111/j.1365-3040.2007.01690.x. +Kattge, J., and Knorr, W. 2007. Temperature acclimation in a biochemical +model of photosynthesis: a reanalysis of data from 36 species. Plant +Cell Environ. 30:1176-1190. DOI:10.1111/j.1365-3040.2007.01690.x. .. _Kattgeetal2009: -Kattge, J., Knorr, W., Raddatz, T., and Wirth C. 2009: Quantifying photosynthetic capacity and its relationship to leaf nitrogen content for global–scale terrestrial biosphere models. Global Change Biol. 15:976–991. +Kattge, J., Knorr, W., Raddatz, T., and Wirth C. 2009: Quantifying +photosynthetic capacity and its relationship to leaf nitrogen content +for global–scale terrestrial biosphere models. Global Change Biol. +15:976–991. .. _Kavetskietal2002: -Kavetski, D., Binning, P. and Sloan, S.W., 2002. Noniterative time stepping schemes with adaptive truncation error control for the solution of Richards equation. Water Resources Research, 38(10). +Kavetski, D., Binning, P. and Sloan, S.W., 2002. Noniterative time +stepping schemes with adaptive truncation error control for the +solution of Richards equation. Water Resources Research, 38(10). .. _Kelleretal2004: -Keller, M., Palace, M., Asner, G.P., Pereira, R., Jr. and Silva, J.N.M., 2004. Coarse woody debris in undisturbed and logged forests in the eastern Brazilian Amazon. Global Change Biology, 10: 784-795. +Keller, M., Palace, M., Asner, G.P., Pereira, R., Jr. and Silva, J.N.M., +2004. Coarse woody debris in undisturbed and logged forests in the +eastern Brazilian Amazon. Global Change Biology, 10: 784-795. .. _Kellneretal2006: -Kellner, E., Baird, A.J., Oosterwoud, M., Harrison, K. and Waddington, J.M., 2006. Effect of temperature and atmospheric pressure on methane (CH4) ebullition from near-surface peats. Geophys. Res. Lett. 33. DOI:10.1029/2006GL027509. +Kellner, E., Baird, A.J., Oosterwoud, M., Harrison, K. and Waddington, +J.M., 2006. Effect of temperature and atmospheric pressure on methane +(CH4) ebullition from near-surface peats. Geophys. Res. Lett. 33. +DOI:10.1029/2006GL027509. .. _Kimballetal1997: -Kimball, J.S., Thornton, P.E., White, M.A. and Running, S.W. 1997. Simulating forest productivity and surface-atmosphere exchange in the BOREAS study region. Tree Physiology 17:589-599. +Kimball, J.S., Thornton, P.E., White, M.A. and Running, S.W. 1997. +Simulating forest productivity and surface-atmosphere exchange in the +BOREAS study region. Tree Physiology 17:589-599. .. _Kohyamaetal2001: -Kohyama, T., Suzuki, E., Partomihardjo, T., and Yamada, T. 2001. Dynamic steady state of patch-mosaic tree size structure of a mixed diptocarp forest regulated by local crowding. Ecological Research 16:85-98. +Kohyama, T., Suzuki, E., Partomihardjo, T., and Yamada, T. 2001. Dynamic +steady state of patch-mosaic tree size structure of a mixed diptocarp +forest regulated by local crowding. Ecological Research 16:85-98. .. _Kourzeneva2009: -Kourzeneva, E., 2009. Global dataset for the parameterization of lakes in Numerical Weather Prediction and Climate modeling. ALADIN Newsletter, No 37, July-December, 2009, F. Bouttier and C. Fischer, Eds., Meteo-France, Toulouse, France, 46-53. +Kourzeneva, E., 2009. Global dataset for the parameterization of lakes +in Numerical Weather Prediction and Climate modeling. ALADIN Newsletter, +No 37, July-December, 2009, F. Bouttier and C. Fischer, Eds., +Meteo-France, Toulouse, France, 46-53. .. _Kourzeneva2010: -Kourzeneva, E., 2010: External data for lake parameterization in Numerical Weather Prediction and climate modeling. Boreal Environment Research, 15, 165-177. +Kourzeneva, E., 2010: External data for lake parameterization in +Numerical Weather Prediction and climate modeling. Boreal Environment +Research, 15, 165-177. .. _Kourzenevaetal2012: -Kourzeneva, E., Asensio, H., Martin, E. and Faroux, S., 2012. Global gridded dataset of lake coverage and lake depth for use in numerical weather prediction and climate modelling. Tellus A 64. +Kourzeneva, E., Asensio, H., Martin, E. and Faroux, S., 2012. Global +gridded dataset of lake coverage and lake depth for use in numerical +weather prediction and climate modelling. Tellus A 64. .. _Kovenetal2009: -Koven, C., et al. 2009. On the formation of high-latitude soil carbon stocks: The effects of cryoturbation and insulation by organic matter in a land surface model. Geophys. Res. Lett. 36: L21501. +Koven, C., et al. 2009. On the formation of high-latitude soil carbon +stocks: The effects of cryoturbation and insulation by organic matter in +a land surface model. Geophys. Res. Lett. 36: L21501. .. _Kovenetal2011: -Koven, C.D., et al. 2011. Permafrost carbon-climate feedbacks accelerate global warming. Proceedings of the National Academy of Sciences 108:14769-14774. +Koven, C.D., et al. 2011. Permafrost carbon-climate feedbacks accelerate +global warming. Proceedings of the National Academy of Sciences +108:14769-14774. .. _Kovenetal2013: -Koven, C.D. et al. 2013. The effect of vertically-resolved soil biogeochemistry and alternate soil C and N models on C dynamics of CLM4. Biogeosciences Discussions 10:7201-7256. +Koven, C.D. et al. 2013. The effect of vertically-resolved soil +biogeochemistry and alternate soil C and N models on C dynamics of CLM4. +Biogeosciences Discussions 10:7201-7256. .. _Kovenetal2015: -Koven, C.D. et al. 2015. Permafrost carbon-climate feedback is sensitive to deep soil carbon decomposability but not deep soil nitrogen dynamics. Proceedings of the National Academies of Science, 112, 12, 3752-3757, doi:10.1073/pnas.1415123112 +Koven, C.D. et al. 2015. Permafrost carbon-climate feedback is +sensitive to deep soil carbon decomposability but not deep soil +nitrogen dynamics. Proceedings of the National Academies of Science, +112, 12, 3752-3757, doi:10.1073/pnas.1415123112 .. _Kovenetal2017: @@ -657,147 +988,238 @@ Kucharik, C.J., J.M. Norman, and S.T. Gower, 1998. Measurements of branch area a .. _Kuchariketal2000: -Kucharik, C.J., Foley, J.A., Delire, C., Fisher, V.A., Coe, M.T., Lenters, J.D., Young-Molling, C., and Ramankutty, N. 2000. Testing the performance of a dynamic global ecosystem model: water balance, carbon balance, and vegetation structure. Global Biogeochem. Cycles 14: 795–825. +Kucharik, C.J., Foley, J.A., Delire, C., Fisher, V.A., Coe, M.T., +Lenters, J.D., Young-Molling, C., and Ramankutty, N. 2000. Testing the +performance of a dynamic global ecosystem model: water balance, carbon +balance, and vegetation structure. Global Biogeochem. Cycles 14: +795–825. .. _KucharikBrye2003: -Kucharik, C.J., and Brye, K.R. 2003. Integrated BIosphere Simulator (IBIS) yield and nitrate loss predictions for Wisconsin maize receiving varied amounts of nitrogen fertilizer. Journal of Environmental Quality 32: 247–268. +Kucharik, C.J., and Brye, K.R. 2003. Integrated BIosphere Simulator +(IBIS) yield and nitrate loss predictions for Wisconsin maize receiving +varied amounts of nitrogen fertilizer. Journal of Environmental Quality +32: 247–268. .. _Laddetal2992: -Ladd, J.N., Jocteur-Monrozier, L. and Amato, M., 1992. Carbon turnover and nitrogen transformations in an alfisol and vertisol amended with [U-:math:`{}^{14}`\ C] glucose and [:math:`{}^{15}`\ N] ammonium sulfate. Soil Biology and Biochemistry, 24: 359-371. +Ladd, J.N., Jocteur-Monrozier, L. and Amato, M., 1992. Carbon turnover +and nitrogen transformations in an alfisol and vertisol amended with +[U-:math:`{}^{14}`\ C] glucose and [:math:`{}^{15}`\ N] ammonium +sulfate. Soil Biology and Biochemistry, 24: 359-371. .. _Lamarqueetal2010: -Lamarque, J.-F., et al. 2010. Historical (1850-2000) gridded anthropogenic and biomass burning emissions of reactive gases and aerosols: methodology and application. Atmos. Chem. Phys. Discuss. 10:4963-5019. DOI:10.5194/acpd-10-4963-2010. +Lamarque, J.-F., et al. 2010. Historical (1850-2000) gridded +anthropogenic and biomass burning emissions of reactive gases and +aerosols: methodology and application. Atmos. Chem. Phys. Discuss. +10:4963-5019. DOI:10.5194/acpd-10-4963-2010. .. _Larcher1995: -Larcher, W. 1995. Physiological Plant Ecology, Springer-Verlag, Berlin Heidelberg. +Larcher, W. 1995. Physiological Plant Ecology, Springer-Verlag, Berlin +Heidelberg. .. _LavigneRyan1997: -Lavigne, M.B., and Ryan, M.G. 1997. Growth and maintenance respiration rates of aspen, black spruce, and jack pine stems at northern and southern BOREAS sites. Tree Phys. 17:543-551. +Lavigne, M.B., and Ryan, M.G. 1997. Growth and maintenance respiration +rates of aspen, black spruce, and jack pine stems at northern and +southern BOREAS sites. Tree Phys. 17:543-551. .. _Lawetal2003: -Law, B.E., Sun, O.J., Campbell, J., Van Tuyl, S. and Thornton, P.E. 2003. Changes in carbon storage and fluxes in a chronosequence of ponderosa pine. Global Change Biology, 9: 510-514. +Law, B.E., Sun, O.J., Campbell, J., Van Tuyl, S. and Thornton, P.E. +2003. Changes in carbon storage and fluxes in a chronosequence of +ponderosa pine. Global Change Biology, 9: 510-514. .. _Lawrenceetal2007: -Lawrence, D.M., Thornton, P.E., Oleson, K.W., and Bonan, G.B. 2007. The partitioning of evapotranspiration into transpiration, soil evaporation, and canopy evaporation in a GCM: Impacts on land-atmosphere interaction. J. Hydrometeor. 8:862-880. +Lawrence, D.M., Thornton, P.E., Oleson, K.W., and Bonan, G.B. 2007. The +partitioning of evapotranspiration into transpiration, soil evaporation, +and canopy evaporation in a GCM: Impacts on land-atmosphere interaction. +J. Hydrometeor. 8:862-880. .. _LawrenceSlater2008: -Lawrence, D.M., and Slater, A.G. 2008. Incorporating organic soil into a global climate model. Clim. Dyn. 30. DOI:10.1007/s00382-007-0278-1. +Lawrence, D.M., and Slater, A.G. 2008. Incorporating organic soil into a +global climate model. Clim. Dyn. 30. DOI:10.1007/s00382-007-0278-1. .. _Lawrenceetal2008: -Lawrence, D.M., Slater, A.G., Romanovsky, V.E., and Nicolsky, D.J. 2008. The sensitivity of a model projection of near-surface permafrost degradation to soil column depth and inclusion of soil organic matter. J. Geophys. Res. 113:F02011. DOI:10.1029/2007JF000883. +Lawrence, D.M., Slater, A.G., Romanovsky, V.E., and Nicolsky, D.J. 2008. +The sensitivity of a model projection of near-surface permafrost +degradation to soil column depth and inclusion of soil organic matter. +J. Geophys. Res. 113:F02011. DOI:10.1029/2007JF000883. .. _Lawrenceetal2011: -Lawrence, D.M., K.W. Oleson, M.G. Flanner, P.E. Thornton, S.C. Swenson, P.J. Lawrence, X. Zeng, Z.-L. Yang, S. Levis, K. Sakaguchi, G.B. Bonan, and A.G. Slater, 2011. Parameterization improvements and functional and structural advances in version 4 of the Community Land Model. J. Adv. Model. Earth Sys. 3. DOI:10.1029/2011MS000045. +Lawrence, D.M., K.W. Oleson, M.G. Flanner, P.E. Thornton, S.C. Swenson, +P.J. Lawrence, X. Zeng, Z.-L. Yang, S. Levis, K. Sakaguchi, G.B. Bonan, +and A.G. Slater, 2011. Parameterization improvements and functional and +structural advances in version 4 of the Community Land Model. J. Adv. +Model. Earth Sys. 3. DOI:10.1029/2011MS000045. .. _Lawrenceetal2016: -Lawrence, D.M., Hurtt, G.C., Arneth, A., Brovkin, V., Calvin, K.V., Jones, A.D., Jones, C.D., Lawrence, P.J., de Noblet-Ducoudré, N., Pongratz, J., Seneviratne, S.I., and Shevliakova, E. 2016. The Land Use Model Intercomparison Project (LUMIP) contribution to CMIP6: rationale and experimental design. Geosci. Model Dev. 9:2973-2998. DOI:10.5194/gmd-9-2973-2016. +Lawrence, D.M., Hurtt, G.C., Arneth, A., Brovkin, V., Calvin, K.V., +Jones, A.D., Jones, C.D., Lawrence, P.J., de Noblet-Ducoudré, N., Pongratz, +J., Seneviratne, S.I., and Shevliakova, E. 2016. The Land Use Model +Intercomparison Project (LUMIP) contribution to CMIP6: rationale +and experimental design. Geosci. Model Dev. 9:2973-2998. +DOI:10.5194/gmd-9-2973-2016. .. _LawrenceChase2007: -Lawrence, P.J., and Chase, T.N. 2007. Representing a MODIS consistent land surface in the Community Land Model (CLM 3.0). J. Geophys. Res. 112:G01023. DOI:10.1029/2006JG000168. +Lawrence, P.J., and Chase, T.N. 2007. Representing a MODIS consistent +land surface in the Community Land Model (CLM 3.0). J. Geophys. Res. +112:G01023. DOI:10.1029/2006JG000168. .. _LawrenceChase2010: -Lawrence, P.J., and Chase, T.N. 2010. Investigating the climate impacts of global land cover change in the Community Climate System Model. Int. J. Climatol. 30:2066-2087. DOI:10.1002/joc.2061. +Lawrence, P.J., and Chase, T.N. 2010. Investigating the climate impacts +of global land cover change in the Community Climate System Model. Int. +J. Climatol. 30:2066-2087. DOI:10.1002/joc.2061. .. _Lawrenceetal2012: -Lawrence, P.J., et al. 2012. Simulating the biogeochemical and biogeophysical impacts of transient land cover change and wood harvest in the Community Climate System Model (CCSM4) from 1850 to 2100. J. Climate 25:3071-3095. DOI:10.1175/JCLI-D-11-00256.1. +Lawrence, P.J., et al. 2012. Simulating the biogeochemical and +biogeophysical impacts of transient land cover change and wood harvest +in the Community Climate System Model (CCSM4) from 1850 to 2100. J. +Climate 25:3071-3095. DOI:10.1175/JCLI-D-11-00256.1. .. _LehnerDoll2004: -Lehner, B. and Döll, P., 2004. Development and validation of a global database of lakes, reservoirs and wetlands, J. Hydrol., 296, 1–22. +Lehner, B. and Döll, P., 2004. Development and validation of a global +database of lakes, reservoirs and wetlands, J. Hydrol., 296, 1–22. .. _Leeetal2014: -Lee, H., Swenson, S.C., Slater A.G. and Lawrence D.M., 2014. Effects of excess ground ice on projections of permafrost in a warming climate. Environmental Research Letters 9:12 124006. DOI: 10.1088/1748-9326/9/12/124006 +Lee, H., Swenson, S.C., Slater A.G. and Lawrence D.M., 2014. Effects +of excess ground ice on projections of permafrost in a warming climate. +Environmental Research Letters 9:12 124006. DOI: 10.1088/1748-9326/9/12/124006 .. _Lehneretal2008: -Lehner, B., Verdin, K. and Jarvis, A., 2008. New global hydrograhy derived from spaceborne elevation data. Eos Trans., AGU, 89, 93 – 94. +Lehner, B., Verdin, K. and Jarvis, A., 2008. New global hydrograhy +derived from spaceborne elevation data. Eos Trans., AGU, 89, 93 – 94. .. _LePageetal2010: -Le Page, Y., van der Werf, G.R., Morton, D.C., and Pereira, J.M.C. 2010. Modeling fire-driven deforestation potential in Amazonia under current and projected climate conditions. J. Geophys. Res. 115:G03012. DOI:10.1029/2009JG001190. +Le Page, Y., van der Werf, G.R., Morton, D.C., and Pereira, J.M.C. 2010. +Modeling fire-driven deforestation potential in Amazonia under current +and projected climate conditions. J. Geophys. Res. 115:G03012. +DOI:10.1029/2009JG001190. .. _Lerman1979: -Lerman, A., 1979. Geochemical processes: Water and sediment environments. John Wiley and Sons, New York, N.Y. +Lerman, A., 1979. Geochemical processes: Water and sediment +environments. John Wiley and Sons, New York, N.Y. .. _Lettsetal2000: -Letts, M.G., Roulet, N.T., Comer, N.T., Skarupa, M.R., and Verseghy, D.L. 2000. Parametrization of peatland hydraulic properties for the Canadian Land Surface Scheme. Atmos.-Ocean 38:141-160. +Letts, M.G., Roulet, N.T., Comer, N.T., Skarupa, M.R., and Verseghy, +D.L. 2000. Parametrization of peatland hydraulic properties for the +Canadian Land Surface Scheme. Atmos.-Ocean 38:141-160. .. _Levisetal2003: -Levis, S., Wiedinmyer, C., Bonan, G.B., and Guenther, A. 2003. Simulating biogenic volatile organic compound emissions in the Community Climate System Model. J. Geophys. Res. 108:4659. DOI:10.1029/2002JD003203. +Levis, S., Wiedinmyer, C., Bonan, G.B., and Guenther, A. 2003. +Simulating biogenic volatile organic compound emissions in the Community +Climate System Model. J. Geophys. Res. 108:4659. +DOI:10.1029/2002JD003203. .. _Levisetal2004: -Levis, S., Bonan, G.B., Vertenstein, M., and Oleson, K.W. 2004. The community land model's dynamic global vegetation model (CLM-DGVM): technical description and user's guide. NCAR Technical Note NCAR/TN-459+STR. National Center for Atmospheric Research, Boulder, Colorado. 50 pp. +Levis, S., Bonan, G.B., Vertenstein, M., and Oleson, K.W. 2004. The +community land model’s dynamic global vegetation model (CLM-DGVM): +technical description and user’s guide. NCAR Technical Note +NCAR/TN-459+STR. National Center for Atmospheric Research, Boulder, +Colorado. 50 pp. .. _Levisetal2009: -Levis, S., Thornton, P., Bonan, G., and Kucharik, C. 2009. Modeling land use and land management with the Community Land Model. iLeaps newsletter, No. 7. +Levis, S., Thornton, P., Bonan, G., and Kucharik, C. 2009. Modeling land +use and land management with the Community Land Model. iLeaps +newsletter, No. 7. .. _Levisetal2012: -Levis, S., Bonan, G., Kluzek, E., Thornton, P., Jones, A., Sacks, W., and Kucharik, C 2012. Interactive crop management in the Community Earth System Model (CESM1): Seasonal influences on land-atmosphere fluxes. J. Climate 25: 4839-4859. DOI:10.1175/JCLI-D-11-00446.1. +Levis, S., Bonan, G., Kluzek, E., Thornton, P., Jones, A., Sacks, W., +and Kucharik, C 2012. Interactive crop management in the Community Earth +System Model (CESM1): Seasonal influences on land-atmosphere fluxes. J. +Climate 25: 4839-4859. DOI:10.1175/JCLI-D-11-00446.1. .. _Levisetal2016: -Levis, S., Badger, A., Drewniak, B., Nevison, C., Ren, X. 2016. CLMcrop yields and water requirements: avoided impacts by choosing RCP 4.5 over 8.5. Climatic Change. DOI:10.1007/s10584-016-1654-9. +Levis, S., Badger, A., Drewniak, B., Nevison, C., Ren, X. 2016. CLMcrop +yields and water requirements: avoided impacts by choosing RCP 4.5 over 8.5. +Climatic Change. DOI:10.1007/s10584-016-1654-9. .. _Lietal2000: -Li, C., Aber, J., Stange, F., Butterbach-Bahl, K. and Papen, H. 2000. A process-oriented model of N2O and NO emissions from forest soils: 1. Model development. J. Geophys. Res. 105(D4):4369-4384. +Li, C., Aber, J., Stange, F., Butterbach-Bahl, K. and Papen, H. 2000. A +process-oriented model of N2O and NO emissions from forest soils: 1. +Model development. J. Geophys. Res. 105(D4):4369-4384. .. _Lietal2012a: -Li, F., Zeng, X.-D., and Levis, S. 2012a. A process-based fire parameterization of intermediate complexity in a Dynamic Global Vegetation Model. Biogeosciences 9:2761-2780. +Li, F., Zeng, X.-D., and Levis, S. 2012a. A process-based fire +parameterization of intermediate complexity in a Dynamic Global +Vegetation Model. Biogeosciences 9:2761-2780. .. _Lietal2012b: -Li, F., Zeng, X. D., and Levis, S. 2012b. Corrigendum to "A process-based fire parameterization of intermediate complexity in a Dynamic Global Vegetation Model" published in Biogeosciences, 9, 2761–2780, 2012". Biogeosciences 9: 4771-4772. +Li, F., Zeng, X. D., and Levis, S. 2012b. Corrigendum to “A +process-based fire parameterization of intermediate complexity in a +Dynamic Global Vegetation Model” published in Biogeosciences, 9, +2761–2780, 2012”. Biogeosciences 9: 4771-4772. .. _Lietal2013a: -Li, F., Levis, S., and Ward, D. S. 2013a. Quantifying the role of fire in the Earth system – Part 1: Improved global fire modeling in the Community Earth System Model (CESM1). Biogeosciences 10:2293-2314. +Li, F., Levis, S., and Ward, D. S. 2013a. Quantifying the role of fire +in the Earth system – Part 1: Improved global fire modeling in the +Community Earth System Model (CESM1). Biogeosciences 10:2293-2314. .. _LiLawrence2017: -Li, F., and Lawrence, D. 2017. Role of fire in the global land water budget during the 20th century through changing ecosystems. J. Clim. 30: 1894-1908. +Li, F., and Lawrence, D. 2017. Role of fire in the global land water +budget during the 20th century through changing ecosystems. +J. Clim. 30: 1894-1908. .. _Lietal2013b: -Li, H.-Y., Huang, M., Tesfa, T., Ke, Y., Sun, Y., Liu, Y., and Leung, L. R. 2013b. A subbasin-based framework to represent land surface processes in an Earth System Model, Geosci. Model Dev. Discuss. 6:2699-2730. DOI:10.5194/gmdd-6-2699-2013. +Li, H.-Y., Huang, M., Tesfa, T., Ke, Y., Sun, Y., Liu, Y., and Leung, L. +R. 2013b. A subbasin-based framework to represent land surface processes +in an Earth System Model, Geosci. Model Dev. Discuss. 6:2699-2730. +DOI:10.5194/gmdd-6-2699-2013. .. _Lietal2011: -Li, H., Huang, M., Wigmosta, M.S., Ke, Y., Coleman, A.M., Leung, L.R., Wang, A., and Ricciuto, D.M. 2011. Evaluating runoff simulations from the Community Land Model 4.0 using observations from flux towers and a mountainous watershed. J. Geophys. Res. 116:D24120. DOI:10.1029/2011JD016276. +Li, H., Huang, M., Wigmosta, M.S., Ke, Y., Coleman, A.M., Leung, L.R., +Wang, A., and Ricciuto, D.M. 2011. Evaluating runoff simulations from +the Community Land Model 4.0 using observations from flux towers and a +mountainous watershed. J. Geophys. Res. 116:D24120. +DOI:10.1029/2011JD016276. .. _Lietal2015a: -Li, H., L. Leung, A. Getirana, M. Huang, H. Wu, Y. Xu, J. Guo and N. Voisin. 2015a. Evaluating global streamflow simulations by a physically-based routing model coupled with the Community Land Model, J. of Hydromet., 16(2):948-971, doi: 10.1175/JHM-D-14-0079.1 +Li, H., L. Leung, A. Getirana, M. Huang, H. Wu, Y. Xu, J. Guo and +N. Voisin. 2015a. Evaluating global streamflow simulations by a +physically-based routing model coupled with the Community Land Model, +J. of Hydromet., 16(2):948-971, doi: 10.1175/JHM-D-14-0079.1 .. _Lietal2015b: -Li, H., L. Leung, T. Tesfa, N. Voisin, M. Hejazi, L. Liu, Y. Liu, J. Rice, H. Wu, and X. Yang. 2015. Modeling stream temperature in the Anthropocene: An earth system modeling approach, J. Adv. Model. Earth Syst., 7, doi:10.1002/2015MS000471. +Li, H., L. Leung, T. Tesfa, N. Voisin, M. Hejazi, L. Liu, Y. Liu, +J. Rice, H. Wu, and X. Yang. 2015. Modeling stream temperature in the +Anthropocene: An earth system modeling approach, J. Adv. Model. +Earth Syst., 7, doi:10.1002/2015MS000471. .. _Liangetal1994: -Liang, X., Lettenmaier, D.P., Wood, E.F., and Burges, S.J. 1994. A simple hydrologically based model of land surface water and energy fluxes for GSMs. J. Geophys. Res. 99(D7):14,415–14,428. +Liang, X., Lettenmaier, D.P., Wood, E.F., and Burges, S.J. 1994. A +simple hydrologically based model of land surface water and energy +fluxes for GSMs. J. Geophys. Res. 99(D7):14,415–14,428. .. _lichstein2011: @@ -805,67 +1227,99 @@ Lichstein, J.W. and S.W. Pacala, 2011. Local diversity in heterogeneous landscap .. _LipscombSacks2012: -Lipscomb, W., and Sacks, W. 2012. The CESM land ice model documentation and user's guide. 46 pp. [Available online at http://www.cesm.ucar.edu/models/cesm1.1/cism/]. +Lipscomb, W., and Sacks, W. 2012. The CESM land ice model documentation +and user’s guide. 46 pp. [Available online at +http://www.cesm.ucar.edu/models/cesm1.1/cism/]. .. _lischke2006: Lischke, H. et al., 2006. TreeMig: a forest-landscape model for simulating spatio-temporal patterns from stand to landscape scale. Ecological Modelling 199.4, pp. 409-420. 41 + .. _LloydTaylor1994: -Lloyd, J. and Taylor, J.A., 1994. On the temperature dependence of soil respiration. Functional Ecology, 8: 315-323. +Lloyd, J. and Taylor, J.A., 1994. On the temperature dependence of soil +respiration. Functional Ecology, 8: 315-323. .. _Lloydetal2010: -Lloyd, J., et al. 2010. Optimisation of photosynthetic carbon gain and within-canopy gradients of associated foliar traits for Amazon forest trees. Biogeosci. 7:1833-1859. DOI:10.5194/bg-7-1833-2010. +Lloyd, J., et al. 2010. Optimisation of photosynthetic carbon gain and +within-canopy gradients of associated foliar traits for Amazon forest +trees. Biogeosci. 7:1833-1859. DOI:10.5194/bg-7-1833-2010. .. _Lobelletal2006: -Lobell, D.B., Bala, G., and Duffy, P.B. 2006. Biogeophysical impacts of cropland management changes on climate. Geophys. Res. Lett. 33:L06708. DOI:10.1029/2005GL025492. +Lobell, D.B., Bala, G., and Duffy, P.B. 2006. Biogeophysical impacts of +cropland management changes on climate. Geophys. Res. Lett. 33:L06708. +DOI:10.1029/2005GL025492. .. _Lombardozzietal2015: -Lombardozzi, D.L., Bonan, G.B., Smith, N.G., Dukes, J.S. 2015. Temperature acclimation of photosynthesis and respiration: A key uncertainty in the carbon cycle-climate feedback. Geophys. Res. Lett. 42:8624-8631. +Lombardozzi, D.L., Bonan, G.B., Smith, N.G., Dukes, J.S. 2015. Temperature +acclimation of photosynthesis and respiration: A key uncertainty in the +carbon cycle-climate feedback. Geophys. Res. Lett. 42:8624-8631. .. _Lovelandetal2000: -Loveland, T.R., Reed, B.C., Brown, J.F., Ohlen, D.O., Zhu, Z., Yang, L., and Merchant, J.W. 2000. Development of a global land cover characteristics database and IGBP DISCover from 1 km AVHRR data. Int. J. Remote Sens. 21:1303-1330. +Loveland, T.R., Reed, B.C., Brown, J.F., Ohlen, D.O., Zhu, Z., Yang, L., +and Merchant, J.W. 2000. Development of a global land cover +characteristics database and IGBP DISCover from 1 km AVHRR data. Int. J. +Remote Sens. 21:1303-1330. .. _Lowe1977: -Lowe, P.R. 1977. An approximating polynomial for the computation of saturation vapor pressure. J. Appl. Meteor. 16:100-103. +Lowe, P.R. 1977. An approximating polynomial for the computation of +saturation vapor pressure. J. Appl. Meteor. 16:100-103. .. _Luoetal2006: -Luo, Y., Hui, D., and Zhang, D. 2006. Elevated CO2 stimulates net accumulations of carbon and nitrogen in land ecosystems: a meta-analysis. Ecology 87:53-63. +Luo, Y., Hui, D., and Zhang, D. 2006. Elevated CO2 stimulates net +accumulations of carbon and nitrogen in land ecosystems: a +meta-analysis. Ecology 87:53-63. .. _Magilletal1997: -Magill, A.H. et al., 1997. Biogeochemical response of forest ecosystems to simulated chronic nitrogen deposition. Ecological Applications, 7: 402-415. +Magill, A.H. et al., 1997. Biogeochemical response of forest ecosystems +to simulated chronic nitrogen deposition. Ecological Applications, 7: +402-415. .. _Mahowaldetal2006: -Mahowald, N.M., Muhs, D.R., Levis, S., Rasch, P.J., Yoshioka, M., Zender, C.S., and Luo, C. 2006. Change in atmospheric mineral aerosols in response to climate: last glacial period, pre-industrial, modern and doubled CO\ :sub:`2` climates. J. Geophys. Res\ *.* 111:D10202. DOI:10.1029/2005JD006653. +Mahowald, N.M., Muhs, D.R., Levis, S., Rasch, P.J., Yoshioka, M., +Zender, C.S., and Luo, C. 2006. Change in atmospheric mineral aerosols +in response to climate: last glacial period, pre-industrial, modern and +doubled CO\ :sub:`2` climates. J. Geophys. Res\ *.* 111:D10202. +DOI:10.1029/2005JD006653. .. _Makela2002: -Makela, A. 2002. Derivation of stem taper from the pipe model theory in a carbon balance framework. Tree Phys. 22:891-905. +Makela, A. 2002. Derivation of stem taper from the pipe model theory in +a carbon balance framework. Tree Phys. 22:891-905. .. _Maoetal2012: -Mao, J., Thornton, P.E., Shi, X., Zhao, M., and Post, W.M. 2012. Remote sensing evaluation of CLM4 GPP for the period 2000 to 2009. J. Climate 25:5327-5342. +Mao, J., Thornton, P.E., Shi, X., Zhao, M., and Post, W.M. 2012. Remote +sensing evaluation of CLM4 GPP for the period 2000 to 2009. J. Climate +25:5327-5342. .. _Maoetal2013: -Mao, J., Shi, X., Thornton, P.E., Hoffman, F.M., Zhu, Z., and Ranga B. Myneni, R.B. 2013. Global latitudinal-asymmetric vegetation growth trends and their driving mechanisms: 1982-2009. Remote Sensing 5:1484-1497. +Mao, J., Shi, X., Thornton, P.E., Hoffman, F.M., Zhu, Z., and Ranga B. +Myneni, R.B. 2013. Global latitudinal-asymmetric vegetation growth +trends and their driving mechanisms: 1982-2009. Remote Sensing +5:1484-1497. .. _Martinetal1980: -Martin, J.P., Haider, K. and Kassim, G., 1980. Biodegradation and stabilization after 2 years of specific crop, lignin, and polysaccharide carbons in soils. Soil Science Society of America Journal 44:1250-1255. +Martin, J.P., Haider, K. and Kassim, G., 1980. Biodegradation and +stabilization after 2 years of specific crop, lignin, and polysaccharide +carbons in soils. Soil Science Society of America Journal 44:1250-1255. .. _Maryetal1993: -Mary, B., Fresneau, C., Morel, J.L. and Mariotti, A., 1993. C and N cycling during decomposition of root mucilage, roots and glucose in soil. Soil Biology and Biochemistry 25:1005-1014. +Mary, B., Fresneau, C., Morel, J.L. and Mariotti, A., 1993. C and N +cycling during decomposition of root mucilage, roots and glucose in +soil. Soil Biology and Biochemistry 25:1005-1014. .. _Mcdowelletal2013: @@ -873,44 +1327,52 @@ McDowell, N.G. et al., 2013. Evaluating theories of drought-induced vegetation m .. _McGuireetal1992: -McGuire, A.D., Melillo, J.M., Joyce, L.A., Kicklighter, D.W., Grace, A.L., Moore III, B., and Vorosmarty, C.J. 1992. Interactions between carbon and nitrogen dynamics in estimating net primary productivity for potential vegetation in North America. Global Biogeochem. Cycles 6:101-124. +McGuire, A.D., Melillo, J.M., Joyce, L.A., Kicklighter, D.W., Grace, +A.L., Moore III, B., and Vorosmarty, C.J. 1992. Interactions between +carbon and nitrogen dynamics in estimating net primary productivity for +potential vegetation in North America. Global Biogeochem. Cycles +6:101-124. .. _Medlynetal2011: -Medlyn, B.E., Duursma, R.A., Eamus, D., Ellsworth, D.S., Prentice, I.C., Barton, C.V.M., Crous, K.Y., De Angelis, P., Freeman, M., and Wingate, L., 2011. Reconciling the optimal and empirical approaches to modelling stomatal conductance. Global Change Biology, 17: 2134–2144. doi:10.1111/j.1365-2486.2010.02375.x - -.. _Meieretal2022: - -Meier, R., Davin, E. L., Bonan, G. B., Lawrence, D. M., Hu, X., -Duveiller, G., Prigent, C., and Seneviratne, S. I., 2022. Impacts of a -revised surface roughness parameterization in the Community Land Model -5.1, Geosci. Model Dev., 15, 2365–2393, -https://doi.org/10.5194/gmd-15-2365-2022 - +Medlyn, B.E., Duursma, R.A., Eamus, D., Ellsworth, D.S., Prentice, I.C., +Barton, C.V.M., Crous, K.Y., De Angelis, P., Freeman, M., and +Wingate, L., 2011. Reconciling the optimal and empirical approaches to +modelling stomatal conductance. Global Change Biology, 17: 2134–2144. +doi:10.1111/j.1365-2486.2010.02375.x .. _MelzerOLeary1987: -Melzer, E., and O'Leary, M.H. 1987. Anapleurotic CO2 Fixation by Phosphoenolpyruvate Carboxylase in C3 Plants. Plant. Physiol. 84:58. +Melzer, E., and O’Leary, M.H. 1987. Anapleurotic CO2 Fixation by +Phosphoenolpyruvate Carboxylase in C3 Plants. Plant. Physiol. 84:58. .. _Milleretal1994: -Miller, J.R., Russell, G.L., and Caliri, G. 1994. Continental-scale river flow in climate models. J. Climate 7:914-928. +Miller, J.R., Russell, G.L., and Caliri, G. 1994. Continental-scale +river flow in climate models. J. Climate 7:914-928. .. _MillingtonQuirk1961: -Millington, R. and Quirk, J.P., 1961. Permeability of Porous Solids. Transactions of the Faraday Society 57:1200-1207. +Millington, R. and Quirk, J.P., 1961. Permeability of Porous Solids. +Transactions of the Faraday Society 57:1200-1207. .. _Mironovetal2010: -Mironov, D. et al., 2010. Implementation of the lake parameterisation scheme FLake into the numerical weather prediction model COSMO. Boreal Environment Research 15:218-230. +Mironov, D. et al., 2010. Implementation of the lake parameterisation +scheme FLake into the numerical weather prediction model COSMO. Boreal +Environment Research 15:218-230. .. _MitchellJones2005: -Mitchell, T.D., and Jones, P.D. 2005. An improved method of constructing a database of monthly climate observations and associated high-resolution grids. Int. J. Climatol. 25:693-712. +Mitchell, T.D., and Jones, P.D. 2005. An improved method of constructing +a database of monthly climate observations and associated +high-resolution grids. Int. J. Climatol. 25:693-712. .. _Moldrupetal2003: -Moldrup, P. et al. 2003. Modeling diffusion and reaction in soils: X. A unifying model for solute and gas diffusivity in unsaturated soil. Soil Science 168:321-337. +Moldrup, P. et al. 2003. Modeling diffusion and reaction in soils: X. A +unifying model for solute and gas diffusivity in unsaturated soil. Soil +Science 168:321-337. .. _mc_2001: @@ -918,39 +1380,62 @@ Moorcroft, P.R., G.C. Hurtt, and S.W. Pacala, 2001. A method for scaling vegetat .. _Mynenietal2002: -Myneni, R.B., et al. 2002. Global products of vegetation leaf area and fraction absorbed PAR from year one of MODIS data. Remote Sens. Environ. 83:214-231. +Myneni, R.B., et al. 2002. Global products of vegetation leaf area and +fraction absorbed PAR from year one of MODIS data. Remote Sens. Environ. +83:214-231. .. _Neffetal2005: -Neff, J.C., Harden, J.W. and Gleixner, G. 2005. Fire effects on soil organic matter content, composition, and nutrients in boreal interior Alaska. Canadian Journal of Forest Research-Revue Canadienne De Recherche Forestiere 35:2178-2187. +Neff, J.C., Harden, J.W. and Gleixner, G. 2005. Fire effects on soil +organic matter content, composition, and nutrients in boreal interior +Alaska. Canadian Journal of Forest Research-Revue Canadienne De +Recherche Forestiere 35:2178-2187. .. _Neitschetal2005: -Neitsch, S.L., Arnold, J.G., Kiniry, J.R., and Williams J.R. 2005. Soil and Water Assessment Tool, Theoretical Documentation: Version 2005. Temple, TX. USDA Agricultural Research Service and Texas A&M Blackland Research Center. +Neitsch, S.L., Arnold, J.G., Kiniry, J.R., and Williams J.R. 2005. Soil +and Water Assessment Tool, Theoretical Documentation: Version 2005. +Temple, TX. USDA Agricultural Research Service and Texas A&M Blackland +Research Center. .. _NegronJuarezetal2015: -Negron-Juarez, R. Koven, C.D., Riley, W.J., Knox, R.G., Chambers, J.Q. 2015. Environmental Research Letters 10:064017. DOI:10.1088/1748-9326/10/6/064017. +Negron-Juarez, R. Koven, C.D., Riley, W.J., Knox, R.G., Chambers, J.Q. +2015. Environmental Research Letters 10:064017. DOI:10.1088/1748-9326/10/6/064017. .. _NemaniRunning1996: -Nemani, R.R., and Running, S.W. 1996. Implementation of a hierarchical global vegetation classification in ecosystem function models. J. Veg. Sci. 7:337-346. +Nemani, R.R., and Running, S.W. 1996. Implementation of a hierarchical +global vegetation classification in ecosystem function models. J. Veg. +Sci. 7:337-346. .. _Niinemetstal1998: -Niinemets, U., Kull, O., and Tenhunen, J.D. 1998. An analysis of light effects on foliar morphology, physiology, and light interception in temperate deciduous woody species of contrasting shade tolerance. Tree Phys. 18:681-696. +Niinemets, U., Kull, O., and Tenhunen, J.D. 1998. An analysis of light +effects on foliar morphology, physiology, and light interception in +temperate deciduous woody species of contrasting shade tolerance. Tree +Phys. 18:681-696. .. _Niuetal2005: -Niu, G.-Y., Yang, Z.-L., Dickinson, R.E., and Gulden, L.E. 2005. A simple TOPMODEL-based runoff parameterization (SIMTOP) for use in global climate models. J. Geophys. Res. 110:D21106. DOI:10.1029/2005JD006111. +Niu, G.-Y., Yang, Z.-L., Dickinson, R.E., and Gulden, L.E. 2005. A +simple TOPMODEL-based runoff parameterization (SIMTOP) for use in global +climate models. J. Geophys. Res. 110:D21106. DOI:10.1029/2005JD006111. .. _NiuYang2006: -Niu, G.-Y., and Yang, Z.-L. 2006. Effects of frozen soil on snowmelt runoff and soil water storage at a continental scale. J. Hydrometeor. 7:937-952. +Niu, G.-Y., and Yang, Z.-L. 2006. Effects of frozen soil on snowmelt +runoff and soil water storage at a continental scale. J. Hydrometeor. +7:937-952. -Niu, G.-Y., Yang, Z.-L., Dickinson, R.E., Gulden, L.E., and Su, H. 2007. Development of a simple groundwater model for use in climate models and evaluation with Gravity Recovery and Climate Experiment data. J. Geophys. Res. 112:D07103. DOI:10.1029/2006JD007522. +Niu, G.-Y., Yang, Z.-L., Dickinson, R.E., Gulden, L.E., and Su, H. 2007. +Development of a simple groundwater model for use in climate models and +evaluation with Gravity Recovery and Climate Experiment data. J. +Geophys. Res. 112:D07103. DOI:10.1029/2006JD007522. -Niu, G.-Y., and Yang, Z.-L. 2007. An observation-based formulation of snow cover fraction and its evaluation over large North American river basins. J. Geophys. Res. 112:D21101. DOI:10.1029/2007JD008674. +Niu, G.-Y., and Yang, Z.-L. 2007. An observation-based formulation of +snow cover fraction and its evaluation over large North American river +basins. J. Geophys. Res. 112:D21101. DOI:10.1029/2007JD008674. .. _norman1979: @@ -958,95 +1443,147 @@ Norman, J.M., 1979. Modeling the complete crop canopy. Modification of the Aeria .. _Oikawaetal2005: -Oikawa, S., Hikosaka, K. and Hirose, T., 2005. Dynamics of leaf area and nitrogen in the canopy of an annual herb, Xanthium canadense. Oecologia, 143: 517-526. +Oikawa, S., Hikosaka, K. and Hirose, T., 2005. Dynamics of leaf area and +nitrogen in the canopy of an annual herb, Xanthium canadense. Oecologia, +143: 517-526. .. _Oke1987: -Oke, T. 1987. Boundary Layer Climates (2:math:`{}^{nd}` edition). Routledge, London and New York. +Oke, T. 1987. Boundary Layer Climates (2:math:`{}^{nd}` edition). +Routledge, London and New York. .. _OlesonBonan2000: -Oleson, K.W., and Bonan, G.B. 2000. The effects of remotely-sensed plant functional type and leaf area index on simulations of boreal forest surface fluxes by the NCAR land surface model. J. Hydrometeor. 1:431-446. +Oleson, K.W., and Bonan, G.B. 2000. The effects of remotely-sensed plant +functional type and leaf area index on simulations of boreal forest +surface fluxes by the NCAR land surface model. J. Hydrometeor. +1:431-446. .. _Olesonetal2004: -Oleson, K.W., Dai, Y., Bonan, G., Bosilovich, M., Dickinson, R., Dirmeyer, P., Hoffman, F., Houser, P., Levis, S., Niu, G.-Y., Thornton, P., Vertenstein, M., Yang, Z.-L., and Zeng. X. 2004. Technical description of the Community Land Model (CLM). NCAR Technical Note NCAR/TN-461+STR. National Center for Atmospheric Research, Boulder, Colorado. 173 pp. +Oleson, K.W., Dai, Y., Bonan, G., Bosilovich, M., Dickinson, R., +Dirmeyer, P., Hoffman, F., Houser, P., Levis, S., Niu, G.-Y., Thornton, +P., Vertenstein, M., Yang, Z.-L., and Zeng. X. 2004. Technical +description of the Community Land Model (CLM). NCAR Technical Note +NCAR/TN-461+STR. National Center for Atmospheric Research, Boulder, +Colorado. 173 pp. .. _Olesonetal2008a: -Oleson, K.W., Niu, G.-Y., Yang, Z.-L., Lawrence, D.M., Thornton, P.E., Lawrence, P.J., Stöckli, R., Dickinson, R.E., Bonan, G.B., Levis, S., Dai, A., and Qian, T. 2008a. Improvements to the Community Land Model and their impact on the hydrological cycle. J. Geophys. Res. 113:G01021. DOI:10.1029/2007JG000563. +Oleson, K.W., Niu, G.-Y., Yang, Z.-L., Lawrence, D.M., Thornton, P.E., +Lawrence, P.J., Stöckli, R., Dickinson, R.E., Bonan, G.B., Levis, S., +Dai, A., and Qian, T. 2008a. Improvements to the Community Land Model +and their impact on the hydrological cycle. J. Geophys. Res. 113:G01021. +DOI:10.1029/2007JG000563. .. _Olesonetal2008b: -Oleson, K.W., Bonan, G.B., Feddema, J., Vertenstein, M., and Grimmond, C.S.B. 2008b. An urban parameterization for a global climate model. 1. Formulation and evaluation for two cities. J. Appl. Meteor. Clim. 47:1038-1060. +Oleson, K.W., Bonan, G.B., Feddema, J., Vertenstein, M., and Grimmond, +C.S.B. 2008b. An urban parameterization for a global climate model. 1. +Formulation and evaluation for two cities. J. Appl. Meteor. Clim. +47:1038-1060. .. _Olesonetal2008c: -Oleson, K.W., Bonan, G.B., Feddema, J., and Vertenstein, M. 2008c. An urban parameterization for a global climate model. 2. Sensitivity to input parameters and the simulated urban heat island in offline simulations. J. Appl. Meteor. Clim. 47:1061-1076. +Oleson, K.W., Bonan, G.B., Feddema, J., and Vertenstein, M. 2008c. An +urban parameterization for a global climate model. 2. Sensitivity to +input parameters and the simulated urban heat island in offline +simulations. J. Appl. Meteor. Clim. 47:1061-1076. .. _Olesonetal2010a: -Oleson, K.W., et al. 2010a. Technical description of version 4.0 of the Community Land model (CLM). NCAR Technical Note NCAR/TN-478+STR, National Center for Atmospheric Research, Boulder, CO, 257 pp. +Oleson, K.W., et al. 2010a. Technical description of version 4.0 of the +Community Land model (CLM). NCAR Technical Note NCAR/TN-478+STR, +National Center for Atmospheric Research, Boulder, CO, 257 pp. .. _Olesonetal2010b: -Oleson, K.W., Bonan, G.B., Feddema, J., Vertenstein, M., and Kluzek, E. 2010b. Technical description of an urban parameterization for the Community Land Model (CLMU). NCAR Technical Note NCAR/TN-480+STR, National Center for Atmospheric Research, Boulder, CO, 169 pp. +Oleson, K.W., Bonan, G.B., Feddema, J., Vertenstein, M., and Kluzek, E. +2010b. Technical description of an urban parameterization for the +Community Land Model (CLMU). NCAR Technical Note NCAR/TN-480+STR, +National Center for Atmospheric Research, Boulder, CO, 169 pp. .. _Olesonetal2013: -Oleson, K.W., et al. 2013. Technical description of version 4.5 of the Community Land Model (CLM). NCAR Technical Note NCAR/TN-503+STR, National Center for Atmospheric Research, Boulder, CO, 420 pp. +Oleson, K.W., et al. 2013. Technical description of version 4.5 of the +Community Land Model (CLM). NCAR Technical Note NCAR/TN-503+STR, +National Center for Atmospheric Research, Boulder, CO, 420 pp. .. _OlesonFeddema2018: -Oleson, K.W., and Feddema, J. 2018. Parameterization and surface data improvements and new capabilities for the Community Land Model Urban (CLMU). JAMES, submitted. +Oleson, K.W., and Feddema, J. 2018. Parameterization and surface data +improvements and new capabilities for the Community Land Model +Urban (CLMU). JAMES, submitted. .. _Olson1963: -Olson, J.S., 1963. Energy storage and the balance of producers and decomposers in ecological systems. Ecology 44:322-331. +Olson, J.S., 1963. Energy storage and the balance of producers and +decomposers in ecological systems. Ecology 44:322-331. .. _Olsonetal2001: -Olson, D.M., Dinerstein, E., Wikramanayake, E.D., Burgess, N.D., Powell, G.V.N., Underwood, E.C., D'Amico, J.A., Itoua, I., Strand, H. E., Morrison, J. C., Loucks, C. J., Allnutt, T. F., Ricketts, T. H., Kura, Y., Lamoreux, J. F., Wettengel, W. W., Heda, P., and Kassem, K. R., 2001. Terrestrial ecoregions of the world a new map of life on earth, Bioscience, 51, 933–938. +Olson, D.M., Dinerstein, E., Wikramanayake, E.D., Burgess, N.D., Powell, +G.V.N., Underwood, E.C., D’Amico, J.A., Itoua, I., Strand, H. E., +Morrison, J. C., Loucks, C. J., Allnutt, T. F., Ricketts, T. H., Kura, +Y., Lamoreux, J. F., Wettengel, W. W., Heda, P., and Kassem, K. R., +2001. Terrestrial ecoregions of the world a new map of life on earth, +Bioscience, 51, 933–938. .. _OrchardCook1983: -Orchard, V.A. and Cook, F.J., 1983. Relationship between soil respiration and soil moisture. Soil Biology and Biochemistry, 15: 447-453. +Orchard, V.A. and Cook, F.J., 1983. Relationship between soil +respiration and soil moisture. Soil Biology and Biochemistry, 15: +447-453. .. _Owen1964: -Owen, P.R. 1964. Saltation of uniform grains in air. J. Fluid Mech\ *.* 20:225-242. +Owen, P.R. 1964. Saltation of uniform grains in air. J. Fluid Mech\ *.* +20:225-242. .. _Ozdoganetal2010: -Ozdogan, M., Rodell, M., Beaudoing, H.K., and Toll, D.L. 2010. Simulating the effects of irrigation over the United States in a land surface model based on satellite-derived agricultural data. Journal of Hydrometeorology 11:171-184. +Ozdogan, M., Rodell, M., Beaudoing, H.K., and Toll, D.L. 2010. +Simulating the effects of irrigation over the United States in a land +surface model based on satellite-derived agricultural data. Journal of +Hydrometeorology 11:171-184. .. _Pageetal2002: -Page, S.E., Siegert, F., Rieley, J.O., Boehm, H-D.V., Jaya, A., and Limin, S. 2002. The amount of carbon released from peat and forest fires in Indonesia in 1997. Nature 420:61-65. +Page, S.E., Siegert, F., Rieley, J.O., Boehm, H-D.V., Jaya, A., and +Limin, S. 2002. The amount of carbon released from peat and forest fires +in Indonesia in 1997. Nature 420:61-65. .. _PanofskyDutton1984: -Panofsky, H.A., and Dutton, J.A. 1984. Atmospheric Turbulence: Models and Methods for Engineering Applications. John Wiley and Sons, New York. +Panofsky, H.A., and Dutton, J.A. 1984. Atmospheric Turbulence: Models +and Methods for Engineering Applications. John Wiley and Sons, New York. .. _Partonetal1988: -Parton, W., Stewart, J. and Cole, C., 1988. Dynamics of C, N, P And S in Grassland Soils - A Model. Biogeochemistry 5:109-131. +Parton, W., Stewart, J. and Cole, C., 1988. Dynamics of C, N, P And S in +Grassland Soils - A Model. Biogeochemistry 5:109-131. .. _Partonetal1993: -Parton, W.J., et al. 1993. Observations and modeling of biomass and soil organic matter dynamics for the grassland biome worlwide. Global Biogeochemical Cycles 7:785-809. +Parton, W.J., et al. 1993. Observations and modeling of biomass and soil +organic matter dynamics for the grassland biome worlwide. Global +Biogeochemical Cycles 7:785-809. .. _Partonetal1996: -Parton, W. et al. 1996. Generalized model for N2 and N2O production from nitrification and denitrification. Global Biogeochemical Cycles 10:401-412. +Parton, W. et al. 1996. Generalized model for N2 and N2O production from +nitrification and denitrification. Global Biogeochemical Cycles +10:401-412. .. _Partonetal2001: -Parton, W.J. et al. 2001. Generalized model for NOx and N2O emissions from soils. J. Geophys. Res. 106(D15):17403-17419. +Parton, W.J. et al. 2001. Generalized model for NOx and N2O emissions +from soils. J. Geophys. Res. 106(D15):17403-17419. .. _Paterson1994: -Paterson, W.S.B., 1994. The Physics of Glaciers. Elsevier Science Inc., New York, 480 pp. +Paterson, W.S.B., 1994. The Physics of Glaciers. Elsevier Science Inc., +New York, 480 pp. .. _Pelletieretal2016: @@ -1058,7 +1595,8 @@ Peterson, D.L. and K.C. Ryan, 1986. Modeling postfire conifer mortality for long .. _Petrescuetal2010: -Petrescu, A.M.R. et al. 2010. Modeling regional to global CH4 emissions of boreal and arctic wetlands. Global Biogeochemical Cycles, 24(GB4009). +Petrescu, A.M.R. et al. 2010. Modeling regional to global CH4 emissions +of boreal and arctic wetlands. Global Biogeochemical Cycles, 24(GB4009). .. _pfeiffer2013: @@ -1066,39 +1604,56 @@ Pfeiffer, M., A. Spessa, and J.O. Kaplan, 2013. A model for global biomass burni .. _Philip1957: -Philip, J.R. 1957. Evaporation, and moisture and heat fields in the soil. J. Meteor. 14:354-366. +Philip, J.R. 1957. Evaporation, and moisture and heat fields in the +soil. J. Meteor. 14:354-366. .. _Piaoetal2012: -Piao, S.L., et al. 2012. The carbon budget of terrestrial ecosystems in East Asia over the last two decades. Biogeosciences 9:3571-3586. +Piao, S.L., et al. 2012. The carbon budget of terrestrial ecosystems in +East Asia over the last two decades. Biogeosciences 9:3571-3586. .. _Pivovarov1972: -Pivovarov, A.A., 1972. Thermal Conditions in Freezing Lakes and Reservoirs. John Wiley, New York. +Pivovarov, A.A., 1972. Thermal Conditions in Freezing Lakes and +Reservoirs. John Wiley, New York. .. _Pollmeretal1979: -Pollmer, W.G., Eberhard, D., Klein, D., and Dhillon, B.S. 1979. Genetic control of nitrogen uptake and translocation in maize. Crop Sci. 19:82-86. +Pollmer, W.G., Eberhard, D., Klein, D., and Dhillon, B.S. 1979. Genetic +control of nitrogen uptake and translocation in maize. Crop Sci. +19:82-86. .. _Pomeroyetal1998: -Pomeroy, J. W., D. M. Gray, K. R. Shook, B. Toth, R. L. H. Essery, A. Pietroniro, and N. Hedstrom. 1998. An evaluation of snow accumulation and ablation processes for land surface modelling. Hydrol. Process. 12:2339–2367. +Pomeroy, J. W., D. M. Gray, K. R. Shook, B. Toth, R. L. H. Essery, +A. Pietroniro, and N. Hedstrom. 1998. An evaluation of snow accumulation +and ablation processes for land surface modelling. Hydrol. Process. 12:2339–2367. .. _Portmannetal2010: -Portmann, F.T., Siebert, S., and Döll, P. 2010. MIRCA2000 - Global monthly irrigated and rainfed crop areas around the year 2000: A new high-resolution data set for agricultural and hydrological modeling. Global Biogeochem. Cycles. 24, GB1011. DOI:10.1029/2008GB003435. +Portmann, F.T., Siebert, S., and Döll, P. 2010. MIRCA2000 - Global +monthly irrigated and rainfed crop areas around the year 2000: A new +high-resolution data set for agricultural and hydrological modeling. +Global Biogeochem. Cycles. 24, GB1011. DOI:10.1029/2008GB003435. .. _Pressetal1992: -Press, W.H., Teukolsky, S.A., Vetterling, W.T., and Flannery, B.P. 1992. Numerical Recipes in FORTRAN: The Art of Scientific Computing. Cambridge University Press, New York. +Press, W.H., Teukolsky, S.A., Vetterling, W.T., and Flannery, B.P. 1992. +Numerical Recipes in FORTRAN: The Art of Scientific Computing. Cambridge +University Press, New York. .. _Prigentetal2007: -Prigent, C., Papa, F., Aires, F., Rossow, W.B. and Matthews, E. 2007. Global inundation dynamics inferred from multiple satellite observations, 1993-2000. J. Geophys. Res. 112(D12). +Prigent, C., Papa, F., Aires, F., Rossow, W.B. and Matthews, E. 2007. +Global inundation dynamics inferred from multiple satellite +observations, 1993-2000. J. Geophys. Res. 112(D12). .. _Pritchardetal2008: -Pritchard, M.S., Bush, A.B.G., and Marshall, S.J. 2008. Neglecting ice-atmosphere interactions underestimates ice sheet melt in millennial-scale deglaciation simulations. Geophys. Res. Lett. ** 35:L01503. DOI:10.1029/2007GL031738. +Pritchard, M.S., Bush, A.B.G., and Marshall, S.J. 2008. Neglecting +ice-atmosphere interactions underestimates ice sheet melt in +millennial-scale deglaciation simulations. Geophys. Res. Lett. ** +35:L01503. DOI:10.1029/2007GL031738. .. _purves2008: @@ -1110,35 +1665,55 @@ Qian, T et al., 2006. Simulation of global land surface conditions from 1948 to .. _RamankuttyFoley1998: -Ramankutty, N., and Foley, J. A., 1998. Characterizing patterns of global land use: An analysis of global croplands data. Global Biogeochemical Cycles, 12, 667-685. +Ramankutty, N., and Foley, J. A., 1998. Characterizing patterns of +global land use: An analysis of global croplands data. Global +Biogeochemical Cycles, 12, 667-685. .. _Ramankuttyetal2008: -Ramankutty, N., Evan, A., Monfreda, C., and Foley, J.A. 2008. Farming the Planet. Part 1: The Geographic Distribution of Global Agricultural Lands in the Year 2000. Global Biogeochem. Cycles. 22:GB1003. DOI:10.1029/2007GB002952. +Ramankutty, N., Evan, A., Monfreda, C., and Foley, J.A. 2008. Farming +the Planet. Part 1: The Geographic Distribution of Global Agricultural +Lands in the Year 2000. Global Biogeochem. Cycles. 22:GB1003. +DOI:10.1029/2007GB002952. .. _Randlettetal1996: -Randlett, D.L., Zak, D.R., Pregitzer, K.S., and Curtis, P.S. 1996. Elevated atmospheric carbon dioxide and leaf litter chemistry: Influences on microbial respiration and net nitrogen mineralization. Soil Sci. Soc. Am. J. 60:1571-1577. +Randlett, D.L., Zak, D.R., Pregitzer, K.S., and Curtis, P.S. 1996. +Elevated atmospheric carbon dioxide and leaf litter chemistry: +Influences on microbial respiration and net nitrogen mineralization. +Soil Sci. Soc. Am. J. 60:1571-1577. .. _Rastetteretal1991: -Rastetter, E.B., Ryan, M.G., Shaver, G.R., Melillo, J.M., Nadelhoffer, K.J., Hobbie, J.E., and Aber, J.D. 1991. A general biogeochemical model describing the responses of the C and N cycles in terrestrial ecosystems to changes in CO2, climate and N deposition. Tree Phys. 9:101-126. +Rastetter, E.B., Ryan, M.G., Shaver, G.R., Melillo, J.M., Nadelhoffer, +K.J., Hobbie, J.E., and Aber, J.D. 1991. A general biogeochemical model +describing the responses of the C and N cycles in terrestrial ecosystems +to changes in CO2, climate and N deposition. Tree Phys. 9:101-126. .. _Rastneretal2012: -Rastner, P., Bolch, T., Mölg, N., Machguth, H., and Paul, F., 2012. The first complete glacier inventory for the whole of Greenland, The Cryosphere Discuss., 6, 2399-2436, 10.5194/tcd-6-2399-2012. +Rastner, P., Bolch, T., Mölg, N., Machguth, H., and Paul, F., 2012. The +first complete glacier inventory for the whole of Greenland, The +Cryosphere Discuss., 6, 2399-2436, 10.5194/tcd-6-2399-2012. .. _Rileyetal2011a: -Riley, W. J., Z. M. Subin, D. M. Lawrence, S. C. Swenson, M. S. Torn, L. Meng, N. Mahowald, and P. Hess, 2011a. Barriers to predicting global terrestrial methane fluxes: Analyses using a methane biogeochemistry model integrated in CESM. Biogeosciences, 8, 1925–1953. DOI:10.5194/bg-8-1925-2011. +Riley, W. J., Z. M. Subin, D. M. Lawrence, S. C. Swenson, M. S. Torn, L. +Meng, N. Mahowald, and P. Hess, 2011a. Barriers to predicting global +terrestrial methane fluxes: Analyses using a methane biogeochemistry +model integrated in CESM. Biogeosciences, 8, 1925–1953. +DOI:10.5194/bg-8-1925-2011. .. _Rileyetal2011b: -Riley, W.J. et al. 2011b. CLM4Me, a Methane Biogeochemistry Model Integrated in CESM, Land and Biogeochemistry Model Working Group Meeting, Boulder, CO. +Riley, W.J. et al. 2011b. CLM4Me, a Methane Biogeochemistry Model +Integrated in CESM, Land and Biogeochemistry Model Working Group +Meeting, Boulder, CO. .. _Roeschetal2001: -Roesch, A., M. Wild, H. Gilgen, and A. Ohmura. 2001. A new snow cover fraction parametrization for the ECHAM4 GCM, Clim. Dyn., 17:933–946. +Roesch, A., M. Wild, H. Gilgen, and A. Ohmura. 2001. A new snow cover +fraction parametrization for the ECHAM4 GCM, Clim. Dyn., 17:933–946. .. _Rogers2014: @@ -1150,35 +1725,55 @@ Rogers, A., B. E. Medlyn, J. S. Dukes, G. Bonan, S. Caemmerer, M. C. Dietze, J. .. _Ryan1991: -Ryan, M. G. 1991. A simple method for estimating gross carbon budgets for vegetation in forest ecosystems. Tree Phys. 9:255-266. +Ryan, M. G. 1991. A simple method for estimating gross carbon budgets +for vegetation in forest ecosystems. Tree Phys. 9:255-266. .. _RunningCoughlan1988: -Running, S.W. and Coughlan, J.C., 1988. A general model of forest ecosystem processes for regional applications. I. Hydrological balance, canopy gas exchange and primary production processes. Ecological Modelling, 42: 125-154. +Running, S.W. and Coughlan, J.C., 1988. A general model of forest +ecosystem processes for regional applications. I. Hydrological balance, +canopy gas exchange and primary production processes. Ecological +Modelling, 42: 125-154. .. _Runningetal1989: -Running, S.W. et al., 1989. Mapping regional forest evapotranspiration and photosynthesis by coupling satellite data with ecosystem simlation. Ecology, 70: 1090-1101. +Running, S.W. et al., 1989. Mapping regional forest evapotranspiration +and photosynthesis by coupling satellite data with ecosystem simlation. +Ecology, 70: 1090-1101. .. _RunningGower1991: -Running, S.W. and Gower, S.T., 1991. FOREST BGC, A general model of forest ecosystem processes for regional applications. II. Dynamic carbon allocation and nitrogen budgets. Tree Physiology, 9: 147-160. +Running, S.W. and Gower, S.T., 1991. FOREST BGC, A general model of +forest ecosystem processes for regional applications. II. Dynamic carbon +allocation and nitrogen budgets. Tree Physiology, 9: 147-160. .. _RunningHunt1993: -Running, S.W. and Hunt, E.R., Jr., 1993. Generalization of a forest ecosystem process model for other biomes, BIOME-BGC, and an applicationfor global-scale models. In: J.R. Ehleringer and C. Field (Editors), Scaling Physiological Processes: Leaf to Globe. Academic Press, San Diego, CA, pp. 141-158. +Running, S.W. and Hunt, E.R., Jr., 1993. Generalization of a forest +ecosystem process model for other biomes, BIOME-BGC, and an +applicationfor global-scale models. In: J.R. Ehleringer and C. Field +(Editors), Scaling Physiological Processes: Leaf to Globe. Academic +Press, San Diego, CA, pp. 141-158. .. _Sacksetal2009: -Sacks, W. J., Cook, B. I., Buenning, N., Levis, S., and Helkowski, J. H. 2009. Effects of global irrigation on the near-surface climate. Climate Dyn., 33, 159–175. DOI:10.1007/s00382-008-0445-z. +Sacks, W. J., Cook, B. I., Buenning, N., Levis, S., and Helkowski, J. H. +2009. Effects of global irrigation on the near-surface climate. Climate +Dyn., 33, 159–175. DOI:10.1007/s00382-008-0445-z. .. _Saggaretal1994: -Saggar, S., Tate, K.R., Feltham, C.W., Childs, C.W. and Parshotam, A., 1994. Carbon turnover in a range of allophanic soils amended with :math:`{}^{14}`\ C-labelled glucose. Soil Biology and Biochemistry, 26: 1263-1271. +Saggar, S., Tate, K.R., Feltham, C.W., Childs, C.W. and Parshotam, A., +1994. Carbon turnover in a range of allophanic soils amended with +:math:`{}^{14}`\ C-labelled glucose. Soil Biology and Biochemistry, 26: +1263-1271. .. _Sakaguchietal2009: -Sakaguchi, K., and Zeng, X. 2009. Effects of soil wetness, plant litter, and under-canopy atmospheric stability on ground evaporation in the Community Land Model (CLM3.5). J. Geophys. Res. 114:D01107. DOI:10.1029/2008JD010834. +Sakaguchi, K., and Zeng, X. 2009. Effects of soil wetness, plant litter, +and under-canopy atmospheric stability on ground evaporation in the +Community Land Model (CLM3.5). J. Geophys. Res. 114:D01107. +DOI:10.1029/2008JD010834. .. _sato2007: @@ -1186,43 +1781,64 @@ Sato, H., A. Itoh, and T. Kohyama, 2007. SEIB-DGVM: A new Dynamic Global Vegetat .. _Schaafetal2002: -Schaaf, C.B., Gao, F., Strahler, A.H., Lucht, W., Li, X., Tsang, T., Strugnell, N.C., Zhang, X., Jin, Y., and Muller, J.-P. 2002. First operational BRDF, albedo nadir reflectance products from MODIS. Remote Sens. Environ. 83:135-148. +Schaaf, C.B., Gao, F., Strahler, A.H., Lucht, W., Li, X., Tsang, T., +Strugnell, N.C., Zhang, X., Jin, Y., and Muller, J.-P. 2002. First +operational BRDF, albedo nadir reflectance products from MODIS. Remote +Sens. Environ. 83:135-148. .. _Schlesinger1997: -Schlesinger, W.H., 1997. Biogeochemistry: an analysis of global change. Academic Press, London, 588 pp. +Schlesinger, W.H., 1997. Biogeochemistry: an analysis of global change. +Academic Press, London, 588 pp. .. _SchnellKing1996: -Schnell, S. and King, G.M., 1996. Responses of methanotrophic activity in soils and cultures to water stress. Applied and Environmental Microbiology 62:3203-3209. +Schnell, S. and King, G.M., 1996. Responses of methanotrophic activity +in soils and cultures to water stress. Applied and Environmental +Microbiology 62:3203-3209. .. _Segers1998: -Segers, R., 1998. Methane production and methane consumption: a review of processes underlying wetland methane fluxes. Biogeochemistry 41:23-51. +Segers, R., 1998. Methane production and methane consumption: a review +of processes underlying wetland methane fluxes. Biogeochemistry +41:23-51. .. _Sellers1985: -Sellers, P.J. 1985. Canopy reflectance, photosynthesis and transpiration. Int. J. Remote Sens. 6:1335-1372. +Sellers, P.J. 1985. Canopy reflectance, photosynthesis and +transpiration. Int. J. Remote Sens. 6:1335-1372. .. _Sellersetal1986: -Sellers, P.J., Mintz, Y., Sud, Y.C., and Dalcher, A. 1986. A simple biosphere model (SiB) for use within general circulation models. J. Atmos. Sci. 43:505-531. +Sellers, P.J., Mintz, Y., Sud, Y.C., and Dalcher, A. 1986. A simple +biosphere model (SiB) for use within general circulation models. J. +Atmos. Sci. 43:505-531. .. _Sellersetal1988: -Sellers, P.J., Hall, F.G., Asrar, G., Strebel, D.E., and Murphy, R.E. 1988. The First ISLSCP Field Experiment (FIFE). Bull. Amer. Meteor. Soc. 69:22-27. +Sellers, P.J., Hall, F.G., Asrar, G., Strebel, D.E., and Murphy, R.E. +1988. The First ISLSCP Field Experiment (FIFE). Bull. Amer. Meteor. Soc. +69:22-27. .. _Sellersetal1992: -Sellers, P.J., Berry, J.A., Collatz, G.J., Field, C.B., and Hall, F.G. 1992. Canopy reflectance, photosynthesis, and transpiration. III. A reanalysis using improved leaf models and a new canopy integration scheme. Remote Sens. Environ. 42:187-216. +Sellers, P.J., Berry, J.A., Collatz, G.J., Field, C.B., and Hall, F.G. +1992. Canopy reflectance, photosynthesis, and transpiration. III. A +reanalysis using improved leaf models and a new canopy integration +scheme. Remote Sens. Environ. 42:187-216. .. _Sellersetal1995: -Sellers, P.J., et al. 1995. The Boreal Ecosystem-Atmosphere Study (BOREAS): An overview and early results from the 1994 field year. Bull. Amer. Meteor. Soc. 76:1549-1577. +Sellers, P.J., et al. 1995. The Boreal Ecosystem-Atmosphere Study +(BOREAS): An overview and early results from the 1994 field year. Bull. +Amer. Meteor. Soc. 76:1549-1577. .. _Sellersetal1996: -Sellers, P.J., Randall, D.A., Collatz, G.J., Berry, J.A., Field, C.B., Dazlich, D.A., Zhang, C., Collelo, G.D., and Bounoua, L. 1996. A revised land surface parameterization (SiB2) for atmospheric GCMs. Part I: Model formulation. J. Climate 9:676-705. +Sellers, P.J., Randall, D.A., Collatz, G.J., Berry, J.A., Field, C.B., +Dazlich, D.A., Zhang, C., Collelo, G.D., and Bounoua, L. 1996. A revised +land surface parameterization (SiB2) for atmospheric GCMs. Part I: Model +formulation. J. Climate 9:676-705. .. _sellers1996: @@ -1230,7 +1846,10 @@ Sellers, Piers J et al. (1996). A revised land surface parameterization (SiB2) f .. _Shietal2013: -Shi, X., Mao, J., Thornton, P.E., and Huang, M. 2013. Spatiotemporal patterns of evapotranspiration in response to multiple environmental factors simulated by the Community Land Model. Environ. Res. Lett. 8:024012. +Shi, X., Mao, J., Thornton, P.E., and Huang, M. 2013. Spatiotemporal +patterns of evapotranspiration in response to multiple environmental +factors simulated by the Community Land Model. Environ. Res. Lett. +8:024012. .. _Shietal2016: @@ -1238,19 +1857,26 @@ Shi, M., J. B. Fisher, E. R. Brzostek, and R. P. Phillips, 2016: Carbon cost of .. _Shiklomanov2000: -Shiklomanov, I.A. 2000. Appraisal and assessment of world water resources. Water International 25:11-32. +Shiklomanov, I.A. 2000. Appraisal and assessment of world water +resources. Water International 25:11-32. .. _Siebertetal2005: -Siebert, S., Döll, P., Hoogeveen, J., Faures, J.M., Frenken, K., Feick, S., 2005. Development and validation of the global map of irrigation areas. Hydrol Earth Syst Sc 9:535–547 +Siebert, S., Döll, P., Hoogeveen, J., Faures, J.M., Frenken, K., Feick, +S., 2005. Development and validation of the global map of irrigation +areas. Hydrol Earth Syst Sc 9:535–547 .. _Simardetal2011: -Simard, M., Pinto, N., Fisher, J.B., and Baccini, A. (2011), Mapping forest canopy height globally with spaceborne lidar. J. Geophys. Res., 116, G04021, doi:10.1029/2011JG001708. +Simard, M., Pinto, N., Fisher, J.B., and Baccini, A. (2011), Mapping +forest canopy height globally with spaceborne lidar. +J. Geophys. Res., 116, G04021, doi:10.1029/2011JG001708. .. _Simpsonetal1983: -Simpson, R.J., Lambers, H., and Dalling, M.J. 1983. Nitrogen redistribution during grain growth in wheat (Triticum avestivum L.). Plant Physiol. 71:7-14. +Simpson, R.J., Lambers, H., and Dalling, M.J. 1983. Nitrogen +redistribution during grain growth in wheat (Triticum avestivum L.). +Plant Physiol. 71:7-14. .. _sitch2003: @@ -1258,7 +1884,9 @@ Sitch, S et al. (2003). Evaluation of ecosystem dynamics, plant geography and te .. _Sivak2013: -Sivak, M. 2013. Air conditioning versus heating: climate control is more energy demanding in Minneapolis than in Miami. Environ. Res. Lett., 8, doi:10.1088/1748-9326/8/1/014050. +Sivak, M. 2013. Air conditioning versus heating: climate control is more +energy demanding in Minneapolis than in Miami. Environ. Res. Lett., 8, +doi:10.1088/1748-9326/8/1/014050. .. _smith2001: @@ -1266,7 +1894,10 @@ Smith, B., I.C. Prentice, and M.T. Sykes, 2001. Representation of vegetation dyn .. _Smithetal2005: -Smith, A.M.S., Wooster, M.J., Drake, N.A., Dipotso, F.M. and Perry, G.L.W., 2005. Fire in African savanna: Testing the impact of incomplete combustion on pyrogenic emissions estimates. Ecological Applications, 15: 1074-1082. +Smith, A.M.S., Wooster, M.J., Drake, N.A., Dipotso, F.M. and Perry, +G.L.W., 2005. Fire in African savanna: Testing the impact of incomplete +combustion on pyrogenic emissions estimates. Ecological Applications, +15: 1074-1082. .. _smith2007: @@ -1274,95 +1905,144 @@ Smith, A.M. and M. Stitt, 2007. Coordination of carbon supply and plant growth. .. _Sollins1982: -Sollins, P., 1982. Input and decay of coarse woody debris in coniferous stands in western Oregon and Washington. Canadian Journal of Forest Research, 12: 18-28. +Sollins, P., 1982. Input and decay of coarse woody debris in coniferous +stands in western Oregon and Washington. Canadian Journal of Forest +Research, 12: 18-28. .. _SonGower1991: -Son, Y. and Gower, S.T., 1991. Aboveground nitrogen and phosphorus use by five plantation-grown trees with different leaf longevities. Biogeochemistry, 14: 167-191. +Son, Y. and Gower, S.T., 1991. Aboveground nitrogen and phosphorus use +by five plantation-grown trees with different leaf longevities. +Biogeochemistry, 14: 167-191. .. _Sorensen1981: -Sørensen, L.H., 1981. Carbon-nitrogen relationships during the humification of cellulose in soils containing different amounts of clay. Soil Biology and Biochemistry, 13: 313-321. +Sørensen, L.H., 1981. Carbon-nitrogen relationships during the +humification of cellulose in soils containing different amounts of clay. +Soil Biology and Biochemistry, 13: 313-321. .. _Sperryetal1998: -Sperry, J.S., Adler, F.R., Campbell, G.S. and Comstock, J.P. 1998. Limitation of plant water use by rhizosphere and xylem conductance: results from a model. Plant, Cell & Environment, 21: 347–359. doi:10.1046/j.1365-3040.1998.00287.x +Sperry, J.S., Adler, F.R., Campbell, G.S. and Comstock, J.P. 1998. +Limitation of plant water use by rhizosphere and xylem conductance: +results from a model. Plant, Cell & Environment, 21: 347–359. +doi:10.1046/j.1365-3040.1998.00287.x .. _SperryandLove2015: -Sperry, J.S. and Love, D.M. 2015. What plant hydraulics can tell us about responses to climate-change droughts. New Phytol, 207: 14–27. doi:10.1111/nph.13354 +Sperry, J.S. and Love, D.M. 2015. What plant hydraulics can tell us +about responses to climate-change droughts. New Phytol, 207: 14–27. +doi:10.1111/nph.13354 .. _Sprugeletal1995: -Sprugel, D.G., Ryan, M.G., Brooks, J.R., Vogt, K.A., and Martin, T.A. 1995. Respiration from the organ level to stand level. pp. 255-299. In: W. K. Smith and T. M. Hinkley (editors) Resource Physiology of Conifers. Academic Press, San Diego,CA. +Sprugel, D.G., Ryan, M.G., Brooks, J.R., Vogt, K.A., and Martin, T.A. +1995. Respiration from the organ level to stand level. pp. 255-299. In: +W. K. Smith and T. M. Hinkley (editors) Resource Physiology of Conifers. +Academic Press, San Diego,CA. .. _StaufferAharony1994: -Stauffer, D., and Aharony, A. 1994. Introduction to Percolation Theory. Taylor and Francis, London. +Stauffer, D., and Aharony, A. 1994. Introduction to Percolation Theory. +Taylor and Francis, London. .. _Stilletal2003: -Still, C.J., Berry, J.A., Collatz, G.J., and DeFries, R.S. 2003. Global distribution of C3 and C4 vegetation: carbon cycle implications. Global Biogeochem. Cycles 17:1006. DOI:10.1029/2001GB001807. +Still, C.J., Berry, J.A., Collatz, G.J., and DeFries, R.S. 2003. Global +distribution of C3 and C4 vegetation: carbon cycle implications. Global +Biogeochem. Cycles 17:1006. DOI:10.1029/2001GB001807. .. _Stocklietal2008: -Stöckli, R., Lawrence, D.M., Niu, G.-Y., Oleson, K.W., Thornton, P.E., Yang, Z.-L., Bonan, G.B., Denning, A.S., and Running, S.W. 2008. Use of FLUXNET in the Community Land Model development. J. Geophys. Res. 113:G01025. DOI:10.1029/2007JG000562. +Stöckli, R., Lawrence, D.M., Niu, G.-Y., Oleson, K.W., Thornton, P.E., +Yang, Z.-L., Bonan, G.B., Denning, A.S., and Running, S.W. 2008. Use of +FLUXNET in the Community Land Model development. J. Geophys. Res. +113:G01025. DOI:10.1029/2007JG000562. .. _Stracketal2006: -Strack, M., Kellner, E. and Waddington, J.M., 2006. Effect of entrapped gas on peatland surface level fluctuations. Hydrological Processes 20:3611-3622. +Strack, M., Kellner, E. and Waddington, J.M., 2006. Effect of entrapped +gas on peatland surface level fluctuations. Hydrological Processes +20:3611-3622. .. _Strahleretal1999: -Strahler, A.H., Muchoney, D., Borak, J., Friedl, M., Gopal, S., Lambin, E., and Moody. A. 1999. MODIS Land Cover Product: Algorithm Theoretical Basis Document (Version 5.0). Boston University, Boston. +Strahler, A.H., Muchoney, D., Borak, J., Friedl, M., Gopal, S., Lambin, +E., and Moody. A. 1999. MODIS Land Cover Product: Algorithm Theoretical +Basis Document (Version 5.0). Boston University, Boston. .. _Stull1988: -Stull, R.B. 1988. An Introduction to Boundary Layer Meteorology. Kluwer Academic Publishers, Dordrecht. +Stull, R.B. 1988. An Introduction to Boundary Layer Meteorology. Kluwer +Academic Publishers, Dordrecht. .. _Subinetal2012a: -Subin, Z.M., Riley, W.J. and Mironov, D. 2012a. Improved lake model for climate simulations, J. Adv. Model. Earth Syst., 4, M02001. DOI:10.1029/2011MS000072. +Subin, Z.M., Riley, W.J. and Mironov, D. 2012a. Improved lake model for +climate simulations, J. Adv. Model. Earth Syst., 4, M02001. +DOI:10.1029/2011MS000072. .. _Subinetal2012b: -Subin, Z.M., Murphy, L.N., Li, F., Bonfils, C. and Riley, W.J., 2012b. Boreal lakes moderate seasonal and diurnal temperature variation and perturb atmospheric circulation: analyses in the Community Earth System Model 1 (CESM1). Tellus A, North America, 64. +Subin, Z.M., Murphy, L.N., Li, F., Bonfils, C. and Riley, W.J., 2012b. +Boreal lakes moderate seasonal and diurnal temperature variation and +perturb atmospheric circulation: analyses in the Community Earth System +Model 1 (CESM1). Tellus A, North America, 64. .. _Sunetal2012: -Sun, Y., Gu, L., and Dickinson, R. E. 2012. A numerical issue in calculating the coupled carbon and water fluxes in a climate model, J. Geophys. Res., 117, D22103. DOI:10.1029/2012JD018059. +Sun, Y., Gu, L., and Dickinson, R. E. 2012. A numerical issue in +calculating the coupled carbon and water fluxes in a climate model, J. +Geophys. Res., 117, D22103. DOI:10.1029/2012JD018059. .. _Swensonetal2012: -Swenson, S.C., Lawrence, D.M., and Lee, H. 2012. Improved Simulation of the Terrestrial Hydrological Cycle in Permafrost Regions by the Community Land Model. JAMES, 4, M08002. DOI:10.1029/2012MS000165. +Swenson, S.C., Lawrence, D.M., and Lee, H. 2012. Improved Simulation of +the Terrestrial Hydrological Cycle in Permafrost Regions by the +Community Land Model. JAMES, 4, M08002. DOI:10.1029/2012MS000165. .. _SwensonLawrence2012: -Swenson, S.C. and Lawrence, D.M. 2012. A New Fractional Snow Covered Area Parameterization for the Community Land Model and its Effect on the Surface Energy Balance. JGR, 117, D21107. DOI:10.1029/2012JD018178. +Swenson, S.C. and Lawrence, D.M. 2012. A New Fractional Snow Covered +Area Parameterization for the Community Land Model and its Effect on the +Surface Energy Balance. JGR, 117, D21107. DOI:10.1029/2012JD018178. .. _SwensonLawrence2014: -Swenson, S.C., and D. M. Lawrence. 2014. Assessing a dry surface layer-based soil resistance parameterization for the Community Land Model using GRACE and FLUXNET-MTE data. JGR, 119, 10, 299–10,312, DOI:10.1002/2014JD022314. +Swenson, S.C., and D. M. Lawrence. 2014. Assessing a dry surface +layer-based soil resistance parameterization for the Community Land Model +using GRACE and FLUXNET-MTE data. JGR, 119, 10, 299–10,312, +DOI:10.1002/2014JD022314. .. _SwensonLawrence2015: -Swenson, S.C., and D. M. Lawrence. 2015. A GRACE-based assessment of interannual groundwater dynamics in the Community Land Model. WRR, 51, doi:10.1002/2015WR017582. +Swenson, S.C., and D. M. Lawrence. 2015. A GRACE-based assessment of +interannual groundwater dynamics in the Community Land Model. WRR, 51, +doi:10.1002/2015WR017582. .. _TaWeiland1992: -Ta, C.T. and Weiland, R.T. 1992. Nitrogen partitioning in maize during ear development. Crop Sci. 32:443-451. +Ta, C.T. and Weiland, R.T. 1992. Nitrogen partitioning in maize during +ear development. Crop Sci. 32:443-451. .. _TangRiley2013: -Tang, J.Y. and Riley, W.J. 2013. A new top boundary condition for modeling surface diffusive exchange of a generic volatile tracer: Theoretical analysis and application to soil evaporation. Hydrol. Earth Syst. Sci. 17:873-893. +Tang, J.Y. and Riley, W.J. 2013. A new top boundary condition for +modeling surface diffusive exchange of a generic volatile tracer: +Theoretical analysis and application to soil evaporation. Hydrol. Earth +Syst. Sci. 17:873-893. .. _Tarnocaietal2011: -Tarnocai, C., Kettles, I. M., and Lacelle, B., 2011. Peatlands of Canada, Geological Survey of Canada, Open File 6561, CD-ROM. DOI:10.495/288786. +Tarnocai, C., Kettles, I. M., and Lacelle, B., 2011. Peatlands of +Canada, Geological Survey of Canada, Open File 6561, CD-ROM. +DOI:10.495/288786. .. _Tayloretal1989: -Taylor, B.R., Parkinson, D. and Parsons, W.F.J., 1989. Nitrogen and lignin content as predictors of litter decay rates: A microcosm test. Ecology, 70: 97-104. +Taylor, B.R., Parkinson, D. and Parsons, W.F.J., 1989. Nitrogen and +lignin content as predictors of litter decay rates: A microcosm test. +Ecology, 70: 97-104. .. _Thomasetal2015: @@ -1370,63 +2050,101 @@ Thomas R.Q., Brookshire E.N., Gerber S. 2015. Nitrogen limitation on land: how c .. _Thonickeetal2001: -Thonicke, K., Venevsky, S., Sitch, S., and Cramer, W. 2001. The role of fire disturbance for global vegetation dynamics: coupling fire into a Dynamic Global Vegetation Model. Global Ecology and Biogeography 10:661-667. +Thonicke, K., Venevsky, S., Sitch, S., and Cramer, W. 2001. The role of +fire disturbance for global vegetation dynamics: coupling fire into a +Dynamic Global Vegetation Model. Global Ecology and Biogeography +10:661-667. .. _thonickeetal2010: Thonicke, K. et al., 2010. The influence of vegetation, fire spread and fire behaviour on biomass burning and trace gas emissions: results from a process-based model. Biogeosciences 7.6, pp. 1991-2011. + .. _Thornton1998: -Thornton, P.E., 1998. Regional ecosystem simulation: combining surface- and satellite-based observations to study linkages between terrestrial energy and mass budgets. Ph.D. Thesis, The University of Montana, Missoula, 280 pp. +Thornton, P.E., 1998. Regional ecosystem simulation: combining surface- +and satellite-based observations to study linkages between terrestrial +energy and mass budgets. Ph.D. Thesis, The University of Montana, +Missoula, 280 pp. .. _Thorntonetal2002: -Thornton, P.E., Law, B.E., Gholz, H.L., Clark, K.L., Falge, E., Ellsworth, D.S., Goldstein, A.H., Monson, R.K., Hollinger, D., Falk, M., Chen, J., and Sparks, J.P. 2002. Modeling and measuring the effects of disturbance history and climate on carbon and water budgets in evergreen needleleaf forests. Agric. For. Meteor. 113:185-222. +Thornton, P.E., Law, B.E., Gholz, H.L., Clark, K.L., Falge, E., +Ellsworth, D.S., Goldstein, A.H., Monson, R.K., Hollinger, D., Falk, M., +Chen, J., and Sparks, J.P. 2002. Modeling and measuring the effects of +disturbance history and climate on carbon and water budgets in evergreen +needleleaf forests. Agric. For. Meteor. 113:185-222. .. _ThorntonRosenbloom2005: -Thornton, P.E., and Rosenbloom, N.A. 2005. Ecosystem model spin-up: estimating steady state conditions in a coupled terrestrial carbon and nitrogen cycle model. Ecological Modelling 189:25-48. +Thornton, P.E., and Rosenbloom, N.A. 2005. Ecosystem model spin-up: +estimating steady state conditions in a coupled terrestrial carbon and +nitrogen cycle model. Ecological Modelling 189:25-48. .. _ThorntonZimmermann2007: -Thornton, P.E., and Zimmermann, N.E. 2007. An improved canopy integration scheme for a land surface model with prognostic canopy structure. J. Climate 20:3902-3923. +Thornton, P.E., and Zimmermann, N.E. 2007. An improved canopy +integration scheme for a land surface model with prognostic canopy +structure. J. Climate 20:3902-3923. .. _Thorntonetal2007: -Thornton, P.E., Lamarque, J.-F., Rosenbloom, N.A., and Mahowald, N.M. 2007. Influence of carbon-nitrogen cycle coupling on land model response to CO\ :sub:`2` fertilization and climate variability. Global Biogeochem. Cycles 21:GB4018. +Thornton, P.E., Lamarque, J.-F., Rosenbloom, N.A., and Mahowald, N.M. +2007. Influence of carbon-nitrogen cycle coupling on land model response +to CO\ :sub:`2` fertilization and climate variability. Global +Biogeochem. Cycles 21:GB4018. .. _Thorntonetal2009: -Thornton, P.E., Doney, S.C., Lindsay, K., Moore, J.K., Mahowald, N., Randerson, J.T., Fung, I., Lamarque, J.F., Feddema, J.J., and Lee, Y.H. 2009. Carbon-nitrogen interactions regulate climate-carbon cycle feedbacks: results from an atmosphere-ocean general circulation model. Biogeosci. 6:2099-2120. +Thornton, P.E., Doney, S.C., Lindsay, K., Moore, J.K., Mahowald, N., +Randerson, J.T., Fung, I., Lamarque, J.F., Feddema, J.J., and Lee, Y.H. +2009. Carbon-nitrogen interactions regulate climate-carbon cycle +feedbacks: results from an atmosphere-ocean general circulation model. +Biogeosci. 6:2099-2120. .. _Tianetal2010: -Tian, H. et al. 2010. Spatial and temporal patterns of CH4 and N2O fluxes in terrestrial ecosystems of North America during 1979-2008: application of a global biogeochemistry model. Biogeosciences 7:2673-2694. +Tian, H. et al. 2010. Spatial and temporal patterns of CH4 and N2O +fluxes in terrestrial ecosystems of North America during 1979-2008: +application of a global biogeochemistry model. Biogeosciences +7:2673-2694. .. _Toonetal1989: -Toon, O.B., McKay, C.P., Ackerman, T.P., and Santhanam, K. 1989. Rapid calculation of radiative heating rates and photodissociation rates in inhomogeneous multiple scattering atmospheres. J. Geophys. Res. 94(D13):16,287-16,301. +Toon, O.B., McKay, C.P., Ackerman, T.P., and Santhanam, K. 1989. Rapid +calculation of radiative heating rates and photodissociation rates in +inhomogeneous multiple scattering atmospheres. J. Geophys. Res. +94(D13):16,287-16,301. .. _Turetskyetal2002: -Turetsky, M.R., Wieder, R.K., Halsey, L.A., and Vitt, D.H. 2002. Current disturbance and the diminishing peatland carbon sink. Geophys. Res. Lett. 29:1526. DOI:10.1029/2001GL014000. +Turetsky, M.R., Wieder, R.K., Halsey, L.A., and Vitt, D.H. 2002. Current +disturbance and the diminishing peatland carbon sink. Geophys. Res. +Lett. 29:1526. DOI:10.1029/2001GL014000. .. _Turetskyetal2004: -Turetsky, M.R., Amiro, B.D., Bosch, E., and Bhatti, J.S. 2004. Historical burn area in western Canadian peatlands and its relationship to fire weather indices. Global Biogeochem. Cycles 18:GB4014. DOI:10.1029/2004GB002222. +Turetsky, M.R., Amiro, B.D., Bosch, E., and Bhatti, J.S. 2004. Historical +burn area in western Canadian peatlands and its relationship to fire +weather indices. Global Biogeochem. Cycles 18:GB4014. +DOI:10.1029/2004GB002222. .. _Tyeetal2005: -Tye, A.M., et al. 2005. The fate of N-15 added to high Arctic tundra to mimic increased inputs of atmospheric nitrogen released from a melting snowpack. Global Change Biology 11:1640-1654. +Tye, A.M., et al. 2005. The fate of N-15 added to high Arctic tundra to +mimic increased inputs of atmospheric nitrogen released from a melting +snowpack. Global Change Biology 11:1640-1654. .. _Unlandetal1996: -Unland, H.E., Houser, P.R., Shuttleworth, W.J., and Yang, Z.-L. 1996. Surface flux measurement and modeling at a semi-arid Sonoran Desert site. Agric. For. Meteor. 82:119-153. +Unland, H.E., Houser, P.R., Shuttleworth, W.J., and Yang, Z.-L. 1996. +Surface flux measurement and modeling at a semi-arid Sonoran Desert +site. Agric. For. Meteor. 82:119-153. .. _UNSTAT2005: -UNSTAT, 2005. National Accounts Main Aggregates Database, United Nations Statistics Division. +UNSTAT, 2005. National Accounts Main Aggregates Database, United Nations +Statistics Division. .. _uriarte2009: @@ -1434,31 +2152,51 @@ Uriarte, M. et al., 2009. Natural disturbance and human land use as determinants .. _VallanoSparks2007: -Vallano, D.M. and Sparks, J.P. 2007. Quantifying foliar uptake of gaseous itrogen dioxide using enriched foliar :math:`\delta^{15}`\ N values. New Phytologist 177:946-955. +Vallano, D.M. and Sparks, J.P. 2007. Quantifying foliar uptake of +gaseous itrogen dioxide using enriched foliar +:math:`\delta^{15}`\ N values. New Phytologist +177:946-955. .. _vanderWerfetal2010: -van der Werf, G.R., Randerson, J.T., Giglio, L., Collatz, G.J., Mu, M., Kasibhatla, S.P., Morton, D.C., DeFries, R.S., Jin, Y., van Leeuwen, T.T. 2010. Global fire emissions and the contribution of deforestation, savanna, forest, agricultural, and peat fires (1997-2009) Atmos. Chem. Phys. 10:11707-11735. +van der Werf, G.R., Randerson, J.T., Giglio, L., Collatz, G.J., Mu, M., +Kasibhatla, S.P., Morton, D.C., DeFries, R.S., Jin, Y., van Leeuwen, +T.T. 2010. Global fire emissions and the contribution of deforestation, +savanna, forest, agricultural, and peat fires (1997-2009) Atmos. Chem. +Phys. 10:11707-11735. .. _van Veenetal1984: -van Veen, J.A., Ladd, J.N. and Frissel, M.J., 1984. Modelling C and N turnover through the microbial biomass in soil. Plant and Soil, 76: 257-274. +van Veen, J.A., Ladd, J.N. and Frissel, M.J., 1984. Modelling C and N +turnover through the microbial biomass in soil. Plant and Soil, 76: +257-274. .. _vanKampenhoutetal2017: -van Kampenhout, L., J.T.M. Lenaerts, W.H. Lipscomb, W.J. Sacks, D.M. Lawrence, A.G. Slater, and M.R. van den Broeke, 2017. Improving the Representation of Polar Snow and Firn in the Community Earth System Model. Journal of Advances in Modeling Earth Systems 9, no. 7: 2583–2600. https://doi.org/10.1002/2017MS000988. +van Kampenhout, L., J.T.M. Lenaerts, W.H. Lipscomb, W.J. Sacks, D.M. +Lawrence, A.G. Slater, and M.R. van den Broeke, 2017. +Improving the Representation of Polar Snow and Firn in the +Community Earth System Model. Journal of Advances in Modeling Earth Systems 9, no. 7: 2583–2600. https://doi.org/10.1002/2017MS000988. .. _VanTrichtetal2016: -Van Tricht, K., Lhermitte, S., Gorodetskaya, I.V. and van Lipzig, N.P.M., 2016. Improving satellite-retrieved surface radiative fluxes in polar regions using a smart sampling approach. The Cryosphere 10:2379-2397. doi:10.5194/tc-10-2379-2016 +Van Tricht, K., Lhermitte, S., Gorodetskaya, I.V. and van Lipzig, +N.P.M., 2016. Improving satellite-retrieved surface radiative fluxes in +polar regions using a smart sampling approach. The Cryosphere +10:2379-2397. doi:10.5194/tc-10-2379-2016 .. _VanVuurenetal2006: -Van Vuuren, D.P., Lucas, P.S., and Hilderink, H.B.M., 2006. Downscaling drivers of global environmental change: enabling use of global SRES scenarios at the national and grid levels, Report 550025001, Netherlands Environmental Assessment Agency, 45 pp. +Van Vuuren, D.P., Lucas, P.S., and Hilderink, H.B.M., 2006. Downscaling +drivers of global environmental change: enabling use of global SRES +scenarios at the national and grid levels, Report 550025001, Netherlands +Environmental Assessment Agency, 45 pp. .. _VanninenMakela2005: -Vanninen, P., and Makela, A. 2005. Carbon budget for Scots pine trees: effects of size, competition and site fertility on growth allocation and production. Tree Phys. 25:17-30. +Vanninen, P., and Makela, A. 2005. Carbon budget for Scots pine trees: +effects of size, competition and site fertility on growth allocation and +production. Tree Phys. 25:17-30. .. _venevsky2002: @@ -1466,35 +2204,55 @@ Venevsky, S. et al., 2002. Simulating fire regimes in human-dominated ecosystems .. _VerdinGreenlee1996: -Verdin, K. L., and S. K. Greenlee, 1996. Development of continental scale digital elevation models and extraction of hydrographic features, paper presented at the Third International Conference/Workshop on Integrating GIS and Environmental Modeling, Santa Fe, New Mexico, 21–26 January, Natl. Cent. for Geogr. Inf. and Anal., Santa Barbara, Calif. +Verdin, K. L., and S. K. Greenlee, 1996. Development of continental +scale digital elevation models and extraction of hydrographic features, +paper presented at the Third International Conference/Workshop on +Integrating GIS and Environmental Modeling, Santa Fe, New Mexico, 21–26 +January, Natl. Cent. for Geogr. Inf. and Anal., Santa Barbara, Calif. .. _Vionnetetal2012: -Vionnet, V., E. Brun, S. Morin, A. Boone, S. Faroux, P. Le Moigne, E. Martin, and J.-M. Willemet. The Detailed Snowpack Scheme Crocus and Its Implementation in SURFEX v7.2. GMD 5, no. 3 (May 24, 2012): 773-91. https://doi.org/10.5194/gmd-5-773-2012. +Vionnet, V., E. Brun, S. Morin, A. Boone, S. Faroux, P. Le Moigne, E. Martin, and J.-M. Willemet. +The Detailed Snowpack Scheme Crocus and Its Implementation in SURFEX v7.2. +GMD 5, no. 3 (May 24, 2012): 773-91. https://doi.org/10.5194/gmd-5-773-2012. .. _Viovy2011: -Viovy, N. 2011. CRUNCEP dataset. [Description available at http://dods.extra.cea.fr/data/p529viov/cruncep/readme.htm. Data available at http://dods.extra.cea.fr/store/p529viov/cruncep/V4\_1901\_2011/]. +Viovy, N. 2011. CRUNCEP dataset. [Description available at +http://dods.extra.cea.fr/data/p529viov/cruncep/readme.htm. Data +available at +http://dods.extra.cea.fr/store/p529viov/cruncep/V4\_1901\_2011/]. .. _VitousekHowarth1991: -Vitousek, P.M., and Howarth, R.W. 1991. Nitrogen limitation on land and in the sea: How can it occur? Biogeochem. 13:87-115. +Vitousek, P.M., and Howarth, R.W. 1991. Nitrogen limitation on land and +in the sea: How can it occur? Biogeochem. 13:87-115. .. _Walteretal2001: -Walter, B.P., Heimann, M. and Matthews, E., 2001. Modeling modern methane emissions from natural wetlands 1. Model description and results. J. Geophys. Res. 106(D24):34189-34206. +Walter, B.P., Heimann, M. and Matthews, E., 2001. Modeling modern +methane emissions from natural wetlands 1. Model description and +results. J. Geophys. Res. 106(D24):34189-34206. .. _Waniaetal2009: -Wania, R., Ross, I. and Prentice, I.C. 2009. Integrating peatlands and permafrost into a dynamic global vegetation model: 2. Evaluation and sensitivity of vegetation and carbon cycle processes. Global Biogeochem. Cycles 23. +Wania, R., Ross, I. and Prentice, I.C. 2009. Integrating peatlands and +permafrost into a dynamic global vegetation model: 2. Evaluation and +sensitivity of vegetation and carbon cycle processes. Global Biogeochem. +Cycles 23. .. _Waniaetal2010: -Wania, R., Ross, I. and Prentice, I.C. 2010. Implementation and evaluation of a new methane model within a dynamic global vegetation model LPJ-WHyMe v1.3. Geoscientific Model Development Discussions 3:1-59. +Wania, R., Ross, I. and Prentice, I.C. 2010. Implementation and +evaluation of a new methane model within a dynamic global vegetation +model LPJ-WHyMe v1.3. Geoscientific Model Development Discussions +3:1-59. .. _WangZeng2009: -Wang, A., and Zeng, X. 2009. Improving the treatment of vertical snow burial fraction over short vegetation in the NCAR CLM3. Adv. Atmos. Sci. 26:877-886. DOI:10.1007/s00376-009-8098-3. +Wang, A., and Zeng, X. 2009. Improving the treatment of vertical snow +burial fraction over short vegetation in the NCAR CLM3. Adv. Atmos. Sci. +26:877-886. DOI:10.1007/s00376-009-8098-3. .. _weng2014: @@ -1502,39 +2260,62 @@ Weng, E.S. et al., 2014. Scaling from individuals to ecosystems in an Earth Syst .. _Whiteetal1997: -White, M.A., Thornton, P.E., and Running, S.W. 1997. A continental phenology model for monitoring vegetation responses to interannual climatic variability. Global Biogeochem. Cycles 11:217-234. +White, M.A., Thornton, P.E., and Running, S.W. 1997. A continental +phenology model for monitoring vegetation responses to interannual +climatic variability. Global Biogeochem. Cycles 11:217-234. .. _Whiteetal2000: -White, M.A., Thornton, P.E., Running, S.W., and Nemani, R.R. 2000. Parameterization and sensitivity analysis of the Biome-BGC terrestrial ecosystem model: net primary production controls. Earth Interactions 4:1-85. +White, M.A., Thornton, P.E., Running, S.W., and Nemani, R.R. 2000. +Parameterization and sensitivity analysis of the Biome-BGC terrestrial +ecosystem model: net primary production controls. Earth Interactions +4:1-85. .. _Wiederetal2015: -Wieder, W. R., Cleveland, C. C., Lawrence, D. M., and Bonan, G. B. 2015. Effects of model structural uncertainty on carbon cycle projections: biological nitrogen fixation as a case study. Environmental Research Letters, 10(4), 044016. +Wieder, W. R., Cleveland, C. C., Lawrence, D. M., and Bonan, G. B. 2015. +Effects of model structural uncertainty on carbon cycle projections: +biological nitrogen fixation as a case study. Environmental Research +Letters, 10(4), 044016. .. _Williamsetal1996: -Williams, M., Rastetter, E.B., Fernandes, D.N., Goulden, M.L., Wofsy, S.C., Shaver, G.R., Melillo, J.M., Munger, J.W., Fan, S.M. and Nadelhoffer, K.J. 1996. Modelling the soil-plant-atmosphere continuum in a Quercus–Acer stand at Harvard Forest: the regulation of stomatal conductance by light, nitrogen and soil/plant hydraulic properties. Plant, Cell & Environment, 19: 911–927. doi:10.1111/j.1365-3040.1996.tb00456.x +Williams, M., Rastetter, E.B., Fernandes, D.N., Goulden, M.L., +Wofsy, S.C., Shaver, G.R., Melillo, J.M., Munger, J.W., Fan, S.M. +and Nadelhoffer, K.J. 1996. Modelling the soil-plant-atmosphere +continuum in a Quercus–Acer stand at Harvard Forest: the regulation +of stomatal conductance by light, nitrogen and soil/plant hydraulic +properties. Plant, Cell & Environment, 19: 911–927. +doi:10.1111/j.1365-3040.1996.tb00456.x .. _WiscombeWarren1980: -Wiscombe, W.J., and Warren, S.G. 1980. A model for the spectral albedo of snow. I. Pure snow. J. Atmos. Sci. 37:2712-2733. +Wiscombe, W.J., and Warren, S.G. 1980. A model for the spectral albedo +of snow. I. Pure snow. J. Atmos. Sci. 37:2712-2733. .. _Woodetal1992: -Wood, E.F., Lettenmaier, D.P., and Zartarian, V.G. 1992. A land-surface hydrology parameterization with subgrid variability for general circulation models. J. Geophys. Res. 97(D3):2717–2728. DOI:10.1029/91JD01786. +Wood, E.F., Lettenmaier, D.P., and Zartarian, V.G. 1992. A land-surface +hydrology parameterization with subgrid variability for general +circulation models. J. Geophys. Res. 97(D3):2717–2728. +DOI:10.1029/91JD01786. .. _WorldBank2004: -World Bank, 2004. World development indicators 2004, Oxford University Press, New York, 416 pp. +World Bank, 2004. World development indicators 2004, Oxford University +Press, New York, 416 pp. .. _Wuetal2011: -Wu, H., J. S. Kimball, N. Mantua, and J. Stanford, 2011: Automated upscaling of river networks for macroscale hydrological modeling. Water Resour. Res., 47, W03517, doi:10.1029/2009WR008871. +Wu, H., J. S. Kimball, N. Mantua, and J. Stanford, 2011: Automated +upscaling of river networks for macroscale hydrological modeling. +Water Resour. Res., 47, W03517, doi:10.1029/2009WR008871. .. _Wuetal2012: -Wu, H., J. S. Kimball, H. Li, M. Huang, L. R. Leung, and R. F. Adler, 2012. A New Global River Network Database for Macroscale Hydrologic modeling, Water Resour. Res., 48, W09701, doi:10.1029/2012WR012313. +Wu, H., J. S. Kimball, H. Li, M. Huang, L. R. Leung, and R. F. Adler, +2012. A New Global River Network Database for Macroscale Hydrologic +modeling, Water Resour. Res., 48, W09701, doi:10.1029/2012WR012313. .. _xiaodong2005: @@ -1546,51 +2327,76 @@ Xu, C., R. Fisher, S. D. Wullschleger, C. J. Wilson, M. Cai, and N. G. McDowell, .. _Yang1998: -Yang, Z.-L. 1998. Technical note of a 10-layer soil moisture and temperature model. Unpublished manuscript. +Yang, Z.-L. 1998. Technical note of a 10-layer soil moisture and +temperature model. Unpublished manuscript. .. _Zenderetal2003: -Zender, C.S., Bian, H., and Newman, D. 2003. Mineral dust entrainment and deposition (DEAD) model: Description and 1990s dust climatology. ** J. Geophys. Res\ *.* 108(D14):4416. DOI:10.1029/2002JD002775. +Zender, C.S., Bian, H., and Newman, D. 2003. Mineral dust entrainment +and deposition (DEAD) model: Description and 1990s dust climatology. ** +J. Geophys. Res\ *.* 108(D14):4416. DOI:10.1029/2002JD002775. .. _ZengDickinson1998: -Zeng, X., and Dickinson, R.E. 1998. Effect of surface sublayer on surface skin temperature and fluxes. J.Climate 11:537-550. +Zeng, X., and Dickinson, R.E. 1998. Effect of surface sublayer on +surface skin temperature and fluxes. J.Climate 11:537-550. .. _Zengetal1998: -Zeng, X., Zhao, M., and Dickinson, R.E. 1998. Intercomparison of bulk aerodynamic algorithms for the computation of sea surface fluxes using the TOGA COARE and TAO data. J. Climate 11:2628-2644. +Zeng, X., Zhao, M., and Dickinson, R.E. 1998. Intercomparison of bulk +aerodynamic algorithms for the computation of sea surface fluxes using +the TOGA COARE and TAO data. J. Climate 11:2628-2644. .. _Zeng2001: -Zeng, X. 2001. Global vegetation root distribution for land modeling. J. Hydrometeor. 2:525-530. +Zeng, X. 2001. Global vegetation root distribution for land modeling. J. +Hydrometeor. 2:525-530. .. _Zengetal2002: -Zeng, X., Shaikh, M., Dai, Y., Dickinson, R.E., and Myneni, R. 2002. Coupling of the Common Land Model to the NCAR Community Climate Model. J. Climate 15:1832-1854. +Zeng, X., Shaikh, M., Dai, Y., Dickinson, R.E., and Myneni, R. 2002. +Coupling of the Common Land Model to the NCAR Community Climate Model. +J. Climate 15:1832-1854. .. _Zengetal2005: -Zeng, X., Dickinson, R.E., Barlage, M., Dai, Y., Wang, G., and Oleson, K. 2005. Treatment of under-canopy turbulence in land models. J. Climate 18:5086-5094. +Zeng, X., Dickinson, R.E., Barlage, M., Dai, Y., Wang, G., and Oleson, +K. 2005. Treatment of under-canopy turbulence in land models. J. Climate +18:5086-5094. .. _ZengWang2007: -Zeng, X., and Wang, A. 2007. Consistent parameterization of roughness length and displacement height for sparse and dense canopies in land models. J. Hydrometeor. 8:730-737. +Zeng, X., and Wang, A. 2007. Consistent parameterization of roughness +length and displacement height for sparse and dense canopies in land +models. J. Hydrometeor. 8:730-737. -Zeng, X., and Decker, M. 2009. Improving the numerical solution of soil moisture-based Richards equation for land models with a deep or shallow water table. J. Hydrometeor. 10:308-319. +Zeng, X., and Decker, M. 2009. Improving the numerical solution of soil +moisture-based Richards equation for land models with a deep or shallow +water table. J. Hydrometeor. 10:308-319. .. _Zengetal2008: -Zeng, X., Zeng, X., and Barlage, M. 2008. Growing temperate shrubs over arid and semiarid regions in the Community Land Model - Dynamic Global Vegetation Model. Global Biogeochem. Cycles 22:GB3003. DOI:10.1029/2007GB003014. +Zeng, X., Zeng, X., and Barlage, M. 2008. Growing temperate shrubs over +arid and semiarid regions in the Community Land Model - Dynamic Global +Vegetation Model. Global Biogeochem. Cycles 22:GB3003. +DOI:10.1029/2007GB003014. .. _Zhangetal2002: -Zhang, Y., Li, C.S., Trettin, C.C., Li, H. and Sun, G., 2002. An integrated model of soil, hydrology, and vegetation for carbon dynamics in wetland ecosystems. Global Biogeochemical Cycles 16. DOI:10.1029/2001GB001838. +Zhang, Y., Li, C.S., Trettin, C.C., Li, H. and Sun, G., 2002. An +integrated model of soil, hydrology, and vegetation for carbon dynamics +in wetland ecosystems. Global Biogeochemical Cycles 16. +DOI:10.1029/2001GB001838. .. _Zhuangetal2004: -Zhuang, Q., et al. 2004. Methane fluxes between terrestrial ecosystems and the atmosphere at northern high latitudes during the past century: A retrospective analysis with a process-based biogeochemistry model. Global Biogeochemical Cycles 18. DOI:10.1029/2004GB002239. +Zhuang, Q., et al. 2004. Methane fluxes between terrestrial ecosystems +and the atmosphere at northern high latitudes during the past century: A +retrospective analysis with a process-based biogeochemistry model. +Global Biogeochemical Cycles 18. DOI:10.1029/2004GB002239. .. _Zilitinkevich1970: -Zilitinkevich, S.S. 1970. Dynamics of the Atmospheric Boundary Layer. Leningrad Gidrometeor. +Zilitinkevich, S.S. 1970. Dynamics of the Atmospheric Boundary Layer. +Leningrad Gidrometeor. diff --git a/doc/source/tech_note/Snow_Hydrology/CLM50_Tech_Note_Snow_Hydrology.rst b/doc/source/tech_note/Snow_Hydrology/CLM50_Tech_Note_Snow_Hydrology.rst index 5668af1a0b..8d22a19bc9 100644 --- a/doc/source/tech_note/Snow_Hydrology/CLM50_Tech_Note_Snow_Hydrology.rst +++ b/doc/source/tech_note/Snow_Hydrology/CLM50_Tech_Note_Snow_Hydrology.rst @@ -3,7 +3,18 @@ Snow Hydrology =============== -The parameterizations for snow are based primarily on :ref:`Anderson (1976) `, :ref:`Jordan (1991) `, and :ref:`Dai and Zeng (1997) `. The snowpack can have up to twelve layers. These layers are indexed in the Fortran code as :math:`i=-11,-10,...,-1,0` where layer :math:`i=0` is the snow layer next to the top soil layer and layer :math:`i=-11` is the top layer of a twelve-layer snow pack. Since the number of snow layers varies according to the snow depth, we use the notation :math:`snl+1` to describe the top layer of snow for the variable layer snow pack, where :math:`snl` is the negative of the number of snow layers. Refer to :numref:`Figure three layer snow pack` for an example of the snow layer structure for a three layer snow pack. +The parameterizations for snow are based primarily on +:ref:`Anderson (1976) `, :ref:`Jordan (1991) `, +and :ref:`Dai and Zeng (1997) `. The snowpack +can have up to twelve layers. These layers are indexed in the Fortran code +as :math:`i=-11,-10,...,-1,0` where layer :math:`i=0` is the snow layer +next to the top soil layer and layer :math:`i=-11` is the top layer of a +twelve-layer snow pack. Since the number of snow layers varies according +to the snow depth, we use the notation :math:`snl+1` to describe the top +layer of snow for the variable layer snow pack, where :math:`snl` is the +negative of the number of snow layers. Refer to :numref:`Figure three layer +snow pack` for an example of the snow layer structure for a three layer +snow pack. .. _Figure three layer snow pack: @@ -11,41 +22,80 @@ The parameterizations for snow are based primarily on :ref:`Anderson (1976) `. Because the processes governing snowfall and snowmelt differ, changes in :math:`f_{sno}` are calculated separately for accumulation and depletion. When snowfall occurs, :math:`f_{sno}` is updated as +The fraction of the ground covered by snow, :math:`f_{sno}` , is based +on the method of :ref:`Swenson and Lawrence (2012) `. +Because the processes +governing snowfall and snowmelt differ, changes in :math:`f_{sno}` are +calculated separately for accumulation and depletion. When snowfall +occurs, :math:`f_{sno}` is updated as .. math:: :label: 8.14 f^{n+1} _{sno} =1-\left(\left(1-\tanh (k_{accum} q_{sno} \Delta t)\right)\left(1-f^{n} _{sno} \right)\right) -where :math:`k_{accum}` is a constant whose default value is 0.1, :math:`q_{sno} \Delta t` is the amount of new snow, :math:`f^{n+1} _{sno}` is the updated snow covered fraction (SCF), and :math:`f^{n} _{sno}` is the SCF from the previous time step. +where :math:`k_{accum}` is a constant whose default value is 0.1, +:math:`q_{sno} \Delta t` is the amount of new snow, +:math:`f^{n+1} _{sno}` is the updated snow covered fraction (SCF), and +:math:`f^{n} _{sno}` is the SCF from the previous time step. -When snow melt occurs, :math:`f_{sno}` is calculated from the depletion curve +When snow melt occurs, :math:`f_{sno}` is calculated from the depletion +curve .. math:: :label: 8.15 f_{sno} =1-\left(\frac{\cos ^{-1} \left(2R_{sno} -1\right)}{\pi } \right)^{N_{melt} } -where :math:`R_{sno}` is the ratio of :math:`W_{sno}` to the maximum accumulated snow :math:`W_{\max }`, and :math:`N_{melt}` is a parameter that depends on the topographic variability within the grid cell. Whenever :math:`W_{sno}` reaches zero, :math:`W_{\max }` is reset to zero. The depletion curve shape parameter is defined as +where :math:`R_{sno}` is the ratio of :math:`W_{sno}` to the maximum +accumulated snow :math:`W_{\max }` , and :math:`N_{melt}` is a +parameter that depends on the topographic variability within the grid +cell. Whenever :math:`W_{sno}` reaches zero, :math:`W_{\max }` is +reset to zero. The depletion curve shape parameter is defined as .. math:: :label: 8.16 N_{melt} =\frac{200}{\min \left(10,\sigma _{topo} \right)} -The standard deviation of the elevation within a grid cell, :math:`\sigma _{topo}`, is calculated from a high resolution DEM (a 1km DEM is used for CLM). Note that *glacier\_mec* columns (section :numref:`Multiple elevation class scheme`) are treated differently in this respect, as they already account for the subgrid topography in a grid cell in their own way. Therefore, in each *glacier\_mec* column very flat terrain is assumed, implemented as :math:`N_{melt}=10`. +The standard deviation of the elevation within a grid cell, +:math:`\sigma _{topo}` , is calculated from a high resolution DEM (a +1km DEM is used for CLM). +Note that *glacier\_mec* columns (section :numref:`Multiple elevation class scheme`) +are treated differently in this respect, as they already account for the +subgrid topography in a grid cell in their own way. +Therefore, in each *glacier\_mec* column very flat terrain is assumed, +implemented as :math:`N_{melt}=10`. .. _Ice Content: @@ -58,19 +108,30 @@ The conservation equation for mass of ice in snow layers is :label: 8.17 \frac{\partial w_{ice,\, i} }{\partial t} = - \left\{\begin{array}{lr} - f_{sno} \ q_{ice,\, i-1} -\frac{\left(\Delta w_{ice,\, i} \right)_{p} }{\Delta t} & \qquad i=snl+1 \\ - -\frac{\left(\Delta w_{ice,\, i} \right)_{p} }{\Delta t} & \qquad i=snl+2,\ldots ,0 + \left\{\begin{array}{lr} + f_{sno} \ q_{ice,\, i-1} -\frac{\left(\Delta w_{ice,\, i} \right)_{p} }{\Delta t} & \qquad i=snl+1 \\ + -\frac{\left(\Delta w_{ice,\, i} \right)_{p} }{\Delta t} & \qquad i=snl+2,\ldots ,0 \end{array}\right\} -where :math:`q_{ice,\, i-1}` is the rate of ice accumulation from precipitation or frost or the rate of ice loss from sublimation (kg m\ :sup:`-2` s\ :sup:`-1`) in the top layer and :math:`{\left(\Delta w_{ice,\, i} \right)_{p} \mathord{\left/ {\vphantom {\left(\Delta w_{ice,\, i} \right)_{p} \Delta t}} \right.} \Delta t}` is the change in ice due to phase change (melting rate) (section :numref:`Phase Change`). The term :math:`q_{ice,\, i-1}` is computed in two steps as +where :math:`q_{ice,\, i-1}` is the rate of ice accumulation from +precipitation or frost or the rate of ice loss from sublimation (kg +m\ :sup:`-2` s\ :sup:`-1`) in the top layer and +:math:`{\left(\Delta w_{ice,\, i} \right)_{p} \mathord{\left/ {\vphantom {\left(\Delta w_{ice,\, i} \right)_{p} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t}` +is the change in ice due to phase change (melting rate) (section :numref:`Phase Change`). +The term :math:`q_{ice,\, i-1}` is computed in two steps as .. math:: :label: 8.18 q_{ice,\, i-1} =q_{grnd,\, ice} +\left(q_{frost} -q_{subl} \right) -where :math:`q_{grnd,\, ice}` is the rate of solid precipitation reaching the ground (section :numref:`Canopy Water`) and :math:`q_{frost}` and :math:`q_{subl}` are gains due to frost and losses due to sublimation, respectively (sectio :numref:`Update of Ground Sensible and Latent Heat Fluxes`). In the first step, immediately after :math:`q_{grnd,\, ice}` has been determined after accounting for interception (section :numref:`Canopy Water`), a new snow depth :math:`z_{sno}` (m) is calculated from +where :math:`q_{grnd,\, ice}` is the rate of solid precipitation +reaching the ground (section :numref:`Canopy Water`) and :math:`q_{frost}` and +:math:`q_{subl}` are gains due to frost and losses due to sublimation, +respectively (sectio :numref:`Update of Ground Sensible and Latent Heat Fluxes`). In the first step, immediately after +:math:`q_{grnd,\, ice}` has been determined after accounting for +interception (section :numref:`Canopy Water`), a new snow depth :math:`z_{sno}` (m) is +calculated from .. math:: :label: 8.19 @@ -84,7 +145,9 @@ where \Delta z_{sno} =\frac{q_{grnd,\, ice} \Delta t}{f_{sno} \rho _{sno} } -and :math:`\rho _{sno}` is the bulk density of newly fallen snow (kg m\ :sup:`-3`), which parameterized by a temperature-dependent and a wind-dependent term: +and :math:`\rho _{sno}` is the bulk density of newly fallen snow (kg +m\ :sup:`-3`), which parameterized by a temperature-dependent and a +wind-dependent term: .. math:: :label: 8.21a @@ -96,17 +159,21 @@ The temperature dependent term is given by (:ref:`van Kampenhout et al. (2017) < .. math:: :label: 8.21b - \rho_{T} = - \left\{\begin{array}{lr} - 50 + 1.7 \left(17\right)^{1.5} & \qquad T_{atm} >T_{f} +2 \ \\ - 50+1.7 \left(T_{atm} -T_{f} + 15\right)^{1.5} & \qquad T_{f} - 15 < T_{atm} \le T_{f} + 2 \ \\ - -3.833 \ \left( T_{atm} -T_{f} \right) - 0.0333 \ \left( T_{atm} -T_{f} \right)^{2} - &\qquad T_{atm} \le T_{f} - 15 + \rho_{T} = + \left\{\begin{array}{lr} + 50 + 1.7 \left(17\right)^{1.5} & \qquad T_{atm} >T_{f} +2 \ \\ + 50+1.7 \left(T_{atm} -T_{f} + 15\right)^{1.5} & \qquad T_{f} - 15 < T_{atm} \le T_{f} + 2 \ \\ + -3.833 \ \left( T_{atm} -T_{f} \right) - 0.0333 \ \left( T_{atm} -T_{f} \right)^{2} + &\qquad T_{atm} \le T_{f} - 15 \end{array}\right\} .. bifall(c) = -(50._r8/15._r8 + 0.0333_r8*15_r8)*(forc_t(c)-tfrz) - 0.0333_r8*(forc_t(c)-tfrz)**2 -where :math:`T_{atm}` is the atmospheric temperature (K), and :math:`T_{f}` is the freezing temperature of water (K) (:numref:`Table Physical Constants`). When 10 m wind speed :math:`W_{atm}` is greater than 0.1 m\ :sup:`-1`, snow density increases due to wind-driven compaction according to :ref:`van Kampenhout et al. 2017 ` +where :math:`T_{atm}` is the atmospheric temperature (K), and :math:`T_{f}` is +the freezing temperature of water (K) (:numref:`Table Physical Constants`). +When 10 m wind speed :math:`W_{atm}` is greater than 0.1 m\ :sup:`-1`, snow density +increases due to wind-driven compaction according to +:ref:`van Kampenhout et al. 2017 ` .. math:: :label: 8.21c @@ -117,6 +184,7 @@ where :math:`T_{atm}` is the atmospheric temperature (K), and :math:`T_{f}` is t which is added to the temperature-dependent term (cf. equation :eq:`8.21a`). + The mass of snow :math:`W_{sno}` is .. math:: @@ -136,16 +204,26 @@ The ice content of the top layer and the layer thickness are updated as \Delta z_{snl+1}^{n+1} =\Delta z_{snl+1}^{n} +\Delta z_{sno} . -In the second step, after surface fluxes and snow/soil temperatures have been determined (Chapters :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes` and :numref:`rst_Soil and Snow Temperatures`), :math:`w_{ice,\, snl+1}` is updated for frost or sublimation as +In the second step, after surface fluxes and snow/soil temperatures have +been determined (Chapters :numref:`rst_Momentum, Sensible Heat, and Latent Heat +Fluxes` and :numref:`rst_Soil and Snow Temperatures`), +:math:`w_{ice,\, snl+1}` is updated for frost or sublimation as .. math:: :label: 8.25 w_{ice,\, snl+1}^{n+1} =w_{ice,\, snl+1}^{n} +f_{sno} \left(q_{frost} -q_{subl} \right)\Delta t. -If :math:`w_{ice,\, snl+1}^{n+1} <0` upon solution of equation, the ice content is reset to zero and the liquid water content :math:`w_{liq,\, snl+1}` is reduced by the amount required to bring :math:`w_{ice,\, snl+1}^{n+1}` up to zero. +If :math:`w_{ice,\, snl+1}^{n+1} <0` upon solution of equation , the ice +content is reset to zero and the liquid water content +:math:`w_{liq,\, snl+1}` is reduced by the amount required to bring +:math:`w_{ice,\, snl+1}^{n+1}` up to zero. -The snow water equivalent :math:`W_{sno}` is capped to not exceed 10,000 kg m\ :sup:`-2`. If the addition of :math:`q_{frost}` were to result in :math:`W_{sno} > 10,000` kg m\ :sup:`-2`, the frost term :math:`q_{frost}` is instead added to the ice runoff term :math:`q_{snwcp,\, ice}` (section :numref:`Runoff from glaciers and snow-capped surfaces`). +The snow water equivalent :math:`W_{sno}` is capped to not exceed 10,000 +kg m\ :sup:`-2`. If the addition of :math:`q_{frost}` were to +result in :math:`W_{sno} > 10,000` kg m\ :sup:`-2`, the frost term +:math:`q_{frost}` is instead added to the ice runoff term +:math:`q_{snwcp,\, ice}` (section :numref:`Runoff from glaciers and snow-capped surfaces`). .. _Water Content: @@ -159,28 +237,50 @@ The conservation equation for mass of water in snow layers is \frac{\partial w_{liq,\, i} }{\partial t} =\left(q_{liq,\, i-1} -q_{liq,\, i} \right)+\frac{\left(\Delta w_{liq,\, i} \right)_{p} }{\Delta t} -where :math:`q_{liq,\, i-1}` is the flow of liquid water into layer :math:`i` from the layer above, :math:`q_{liq,\, i}` is the flow of water out of layer :math:`i` to the layer below, :math:`{\left(\Delta w_{liq,\, i} \right)_{p} \mathord{\left/ {\vphantom {\left(\Delta w_{liq,\, i} \right)_{p} \Delta t}} \right.} \Delta t}` is the change in liquid water due to phase change (melting rate) (section :numref:`Phase Change`). For the top snow layer only, +where :math:`q_{liq,\, i-1}` is the flow of liquid water into layer +:math:`i` from the layer above, :math:`q_{liq,\, i}` is the flow of +water out of layer :math:`i` to the layer below, +:math:`{\left(\Delta w_{liq,\, i} \right)_{p} \mathord{\left/ {\vphantom {\left(\Delta w_{liq,\, i} \right)_{p} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t}` +is the change in liquid water due to phase change (melting rate) +(section :numref:`Phase Change`). For the top snow layer only, .. math:: :label: 8.27 q_{liq,\, i-1} =f_{sno} \left(q_{grnd,\, liq} +\left(q_{sdew} -q_{seva} \right)\right) -where :math:`q_{grnd,\, liq}` is the rate of liquid precipitation reaching the snow (section :numref:`Canopy Water`), :math:`q_{seva}` is the evaporation of liquid water and :math:`q_{sdew}` is the liquid dew (section :numref:`Update of Ground Sensible and Latent Heat Fluxes`). After surface fluxes and snow/soil temperatures have been determined (Chapters :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes` and :numref:`rst_Soil and Snow Temperatures`), :math:`w_{liq,\, snl+1}` is updated for the liquid precipitation reaching the ground and dew or evaporation as +where :math:`q_{grnd,\, liq}` is the rate of liquid precipitation +reaching the snow (section :numref:`Canopy Water`), :math:`q_{seva}` is the +evaporation of liquid water and :math:`q_{sdew}` is the liquid dew (section +:numref:`Update of Ground Sensible and Latent Heat Fluxes`). After surface +fluxes and snow/soil temperatures have been determined +(Chapters :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes` and +:numref:`rst_Soil and Snow Temperatures`), :math:`w_{liq,\, snl+1}` is +updated for the liquid precipitation reaching the ground and dew or +evaporation as .. math:: :label: 8.28 w_{liq,\, snl+1}^{n+1} =w_{liq,\, snl+1}^{n} +f_{sno} \left(q_{grnd,\, liq} +q_{sdew} -q_{seva} \right)\Delta t. -When the liquid water within a snow layer exceeds the layer's holding capacity, the excess water is added to the underlying layer, limited by the effective porosity (:math:`1-\theta _{ice}` ) of the layer. The flow of water is assumed to be zero (:math:`q_{liq,\, i} =0`) if the effective porosity of either of the two layers (:math:`1-\theta _{ice,\, i} {\rm \; and\; }1-\theta _{ice,\, i+1}` ) is less than :math:`\theta _{imp} =0.05`, the water impermeable volumetric water content. Thus, water flow between layers, :math:`q_{liq,\, i}`, for layers :math:`i=snl+1,\ldots,0`, is initially calculated as +When the liquid water within a snow layer exceeds the layer’s holding +capacity, the excess water is added to the underlying layer, limited by +the effective porosity (:math:`1-\theta _{ice}` ) of the layer. The flow +of water is assumed to be zero (:math:`q_{liq,\, i} =0`) if the +effective porosity of either of the two layers +(:math:`1-\theta _{ice,\, i} {\rm \; and\; }1-\theta _{ice,\, i+1}` ) is +less than :math:`\theta _{imp} =0.05`, the water impermeable volumetric +water content. Thus, water flow between layers, :math:`q_{liq,\, i}` , +for layers :math:`i=snl+1,\ldots ,0`, is initially calculated as .. math:: :label: 8.29 q_{liq,\, i} =\frac{\rho _{liq} \left[\theta _{liq,\, i} -S_{r} \left(1-\theta _{ice,\, i} \right)\right]f_{sno} \Delta z_{i} }{\Delta t} \ge 0 -where the volumetric liquid water :math:`\theta _{liq,\, i}` and ice :math:`\theta _{ice,\, i}` contents are +where the volumetric liquid water :math:`\theta _{liq,\, i}` and ice +:math:`\theta _{ice,\, i}` contents are .. math:: :label: 8.30 @@ -192,7 +292,12 @@ where the volumetric liquid water :math:`\theta _{liq,\, i}` and ice :math:`\the \theta _{liq,\, i} =\frac{w_{liq,\, i} }{f_{sno} \Delta z_{i} \rho _{liq} } \le 1-\theta _{ice,\, i} , -and :math:`S_{r} =0.033` is the irreducible water saturation (snow holds a certain amount of liquid water due to capillary retention after drainage has ceased (:ref:`Anderson (1976) `)). The water holding capacity of the underlying layer limits the flow of water :math:`q_{liq,\, i}` calculated in equation, unless the underlying layer is the surface soil layer, as +and :math:`S_{r} =0.033` is the irreducible water saturation (snow +holds a certain amount of liquid water due to capillary retention after +drainage has ceased (:ref:`Anderson (1976) `)). The water holding capacity of the +underlying layer limits the flow of water :math:`q_{liq,\, i}` +calculated in equation , unless the underlying layer is the surface soil +layer, as .. math:: :label: 8.32 @@ -206,16 +311,33 @@ The liquid water content :math:`w_{liq,\, i}` is updated as w_{liq,\, i}^{n+1} =w_{liq,\, i}^{n} +\left(q_{i-1} -q_{i} \right)\Delta t. -Equations - are solved sequentially from top (:math:`i=snl+1`) to bottom (:math:`i=0`) snow layer in each time step. The total flow of liquid water reaching the soil surface is then :math:`q_{liq,\, 0}` which is used in the calculation of surface runoff and infiltration (sections :numref:`Surface Runoff` and :numref:`Infiltration`). +Equations - are solved sequentially from top (:math:`i=snl+1`) to +bottom (:math:`i=0`) snow layer in each time step. The total flow of +liquid water reaching the soil surface is then :math:`q_{liq,\, 0}` +which is used in the calculation of surface runoff and infiltration +(sections :numref:`Surface Runoff` and :numref:`Infiltration`). .. _Black and organic carbon and mineral dust within snow: Black and organic carbon and mineral dust within snow ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Particles within snow originate from atmospheric aerosol deposition (:math:`D_{sp}` in Table 2.3 (kg m\ :sup:`-2` s\ :sup:`-1`) and influence snow radiative transfer (sections :numref:`Snow Albedo`, :numref:`Snowpack Optical Properties`, and :numref:`Snow Aging`). Particle masses and mixing ratios are represented with a simple mass-conserving scheme. The model maintains masses of the following eight particle species within each snow layer: hydrophilic black carbon, hydrophobic black carbon, hydrophilic organic carbon, hydrophobic organic carbon, and four species of mineral dust with the following particle sizes: 0.1-1.0, 1.0-2.5, 2.5-5.0, and 5.0-10.0 :math:`\mu m`. Each of these species has unique optical properties (:numref:`Table Single-scatter albedo values used for snowpack impurities and ice`) and meltwater removal efficiencies (:numref:`Table Meltwater scavenging`). +Particles within snow originate from atmospheric aerosol deposition +(:math:`D_{sp}` in Table 2.3 (kg m\ :sup:`-2` s\ :sup:`-1`) +and influence snow radiative transfer (sections :numref:`Snow Albedo`, +:numref:`Snowpack Optical Properties`, and :numref:`Snow Aging`). +Particle masses and mixing ratios are represented with a simple +mass-conserving scheme. The model maintains masses of the following +eight particle species within each snow layer: hydrophilic black carbon, +hydrophobic black carbon, hydrophilic organic carbon, hydrophobic +organic carbon, and four species of mineral dust with the following +particle sizes: 0.1-1.0, 1.0-2.5, 2.5-5.0, and 5.0-10.0 :math:`\mu m`. +Each of these species has unique optical properties +(:numref:`Table Single-scatter albedo values used for snowpack impurities and ice`) +and meltwater removal efficiencies (:numref:`Table Meltwater scavenging`). -The black carbon and organic carbon deposition rates described in Table 2.3 are combined into four categories as follows +The black carbon and organic carbon deposition rates described in Table +2.3 are combined into four categories as follows .. math:: :label: 8.34 @@ -237,26 +359,50 @@ The black carbon and organic carbon deposition rates described in Table 2.3 are D_{oc,\, hphob} =D_{oc,\, dryhphob} -Deposited particles are assumed to be instantly mixed (homogeneously) within the surface snow layer and are added after the inter-layer water fluxes are computed (section :numref:`Water Content`) so that some aerosol is in the top layer after deposition and is not immediately washed out before radiative calculations are done. Particle masses are then redistributed each time step based on meltwater drainage through the snow column (section :numref:`Water Content`) and snow layer combination and subdivision (section :numref:`Snow Layer Combination and Subdivision`). The change in mass of each of the particle species :math:`\Delta m_{sp,\, i}` (kg m\ :sup:`-2`) is +Deposited particles are assumed to be instantly mixed (homogeneously) +within the surface snow layer and are added after the inter-layer water +fluxes are computed (section :numref:`Water Content`) so that some aerosol is in the top +layer after deposition and is not immediately washed out before radiative +calculations are done. Particle masses are then redistributed each time +step based on meltwater drainage through the snow column (section +:numref:`Water Content`) and snow layer combination and subdivision +(section :numref:`Snow Layer Combination and Subdivision`). The change in +mass of each of the particle species :math:`\Delta m_{sp,\, i}` +(kg m\ :sup:`-2`) is .. math:: :label: 8.38 \Delta m_{sp,\, i} =\left[k_{sp} \left(q_{liq,\, i-1} c_{sp,\, i-1} -q_{liq,\, i} c_{i} \right)+D_{sp} \right]\Delta t -where :math:`k_{sp}` is the meltwater scavenging efficiency that is unique for each species (:numref:`Table Meltwater scavenging`), :math:`q_{liq,\, i-1}` is the flow of liquid water into layer :math:`i` from the layer above, :math:`q_{liq,\, i}` is the flow of water out of layer :math:`i` into the layer below (kg m\ :sup:`-2` s\ :sup:`-1`) (section :numref:`Water Content`), :math:`c_{sp,\, i-1}` and :math:`c_{sp,\, i}` are the particle mass mixing ratios in layers :math:`i-1` and :math:`i` (kg kg\ :sup:`-1`), :math:`D_{sp}` is the atmospheric deposition rate (zero for all layers except layer :math:`snl+1`), and :math:`\Delta t` is the model time step (s). The particle mass mixing ratio is +where :math:`k_{sp}` is the meltwater scavenging efficiency that is +unique for each species (:numref:`Table Meltwater scavenging`), :math:`q_{liq,\, i-1}` is the flow +of liquid water into layer :math:`i` from the layer above, +:math:`q_{liq,\, i}` is the flow of water out of layer :math:`i` into +the layer below (kg m\ :sup:`-2` s\ :sup:`-1`) (section +:numref:`Water Content`), :math:`c_{sp,\, i-1}` and :math:`c_{sp,\, i}` are the particle +mass mixing ratios in layers :math:`i-1` and :math:`i` (kg +kg\ :sup:`-1`), :math:`D_{sp}` is the atmospheric deposition rate +(zero for all layers except layer :math:`snl+1`), and :math:`\Delta t` +is the model time step (s). The particle mass mixing ratio is .. math:: :label: 8.39 c_{i} =\frac{m_{sp,\, i} }{w_{liq,\, i} +w_{ice,\, i} } . -Values of :math:`k_{sp}` are partially derived from experiments published by :ref:`Conway et al. (1996) `. Particles masses are re-distributed proportionately with snow mass when layers are combined or divided, thus conserving particle mass within the snow column. The mass of particles carried out with meltwater through the bottom snow layer is assumed to be permanently lost from the snowpack, and is not maintained within the model. +Values of :math:`k_{sp}` are partially derived from experiments +published by :ref:`Conway et al. (1996) `. Particles masses are re-distributed +proportionately with snow mass when layers are combined or divided, thus +conserving particle mass within the snow column. The mass of particles +carried out with meltwater through the bottom snow layer is assumed to +be permanently lost from the snowpack, and is not maintained within the +model. .. _Table Meltwater scavenging: .. table:: Meltwater scavenging efficiency for particles within snow - + +------------------------------------------+-------------------+ | Species | :math:`k_{sp}` | +==========================================+===================+ @@ -282,18 +428,21 @@ Values of :math:`k_{sp}` are partially derived from experiments published by :re Initialization of snow layer ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -If there are no existing snow layers (:math:`snl+1=1`) but :math:`z_{sno} \ge 0.01` m after accounting for solid precipitation :math:`q_{sno}`, then a snow layer is initialized (:math:`snl=-1`) as follows +If there are no existing snow layers (:math:`snl+1=1`) but +:math:`z_{sno} \ge 0.01` m after accounting for solid precipitation +:math:`q_{sno}` , then a snow layer is initialized (:math:`snl=-1`) as +follows .. math:: :label: 8.40 - \begin{array}{lcr} - \Delta z_{0} & = & z_{sno} \\ - z_{o} & = & -0.5\Delta z_{0} \\ - z_{h,\, -1} & = & -\Delta z_{0} \\ - T_{0} & = & \min \left(T_{f} ,T_{atm} \right) \\ - w_{ice,\, 0} & = & W_{sno} \\ - w_{liq,\, 0} & = & 0 + \begin{array}{lcr} + \Delta z_{0} & = & z_{sno} \\ + z_{o} & = & -0.5\Delta z_{0} \\ + z_{h,\, -1} & = & -\Delta z_{0} \\ + T_{0} & = & \min \left(T_{f} ,T_{atm} \right) \\ + w_{ice,\, 0} & = & W_{sno} \\ + w_{liq,\, 0} & = & 0 \end{array}. .. _Snow Compaction: @@ -301,14 +450,19 @@ If there are no existing snow layers (:math:`snl+1=1`) but :math:`z_{sno} \ge 0. Snow Compaction ^^^^^^^^^^^^^^^^^^^^^ -Snow compaction is initiated after the soil hydrology calculations [surface runoff (section :numref:`Surface Runoff`), infiltration (section :numref:`Infiltration`), soil water (section :numref:`Soil Water`)] are complete. Currently, there are four processes included that lead to snow compaction: +Snow compaction is initiated after the soil hydrology calculations +[surface runoff (section :numref:`Surface Runoff`), infiltration (section +:numref:`Infiltration`), soil water (section :numref:`Soil Water`)] are +complete. Currently, there are four processes included that lead to snow +compaction: #. destructive metamorphism of new snow (crystal breakdown due to wind or thermodynamic stress) #. snow load or compaction by overburden pressure #. melting (changes in snow structure due to melt-freeze cycles plus changes in crystals due to liquid water) - #. drifting snow compaction. + #. drifting snow compaction. -The total fractional compaction rate for each snow layer :math:`C_{R,\, i}` (s\ :sup:`-1`) is the sum of multiple compaction processes +The total fractional compaction rate for each snow layer :math:`C_{R,\, i}` +(s\ :sup:`-1`) is the sum of multiple compaction processes .. math:: :label: 8.41 @@ -322,7 +476,8 @@ Compaction is not allowed if the layer is saturated 1-\left(\frac{w_{ice,\, i} }{f_{sno} \Delta z_{i} \rho _{ice} } +\frac{w_{liq,\, i} }{f_{sno} \Delta z_{i} \rho _{liq} } \right)\le 0.001 -or if the ice content is below a minimum value (:math:`w_{ice,\, i} \le 0.1`). +or if the ice content is below a minimum value +(:math:`w_{ice,\, i} \le 0.1`). The snow layer thickness after compaction is @@ -331,6 +486,8 @@ The snow layer thickness after compaction is \Delta z_{i}^{n+1} =\Delta z_{i}^{n} \left(1+C_{R,\, i} \Delta t\right). + + .. _Destructive metamorphism: Destructive metamorphism @@ -348,17 +505,21 @@ where :math:`c_{3} =2.777\times 10^{-6}` (s\ :sup:`-1`) is the fractional compa .. math:: :label: 8.44 - \begin{array}{lr} + \begin{array}{lr} c_{1} = 1 & \qquad \frac{w_{ice,\, i} }{f_{sno} \Delta z_{i} } \le 175{\rm \; kg\; m}^{{\rm -3}} \\ c_{1} = \exp \left[-0.046\left(\frac{w_{ice,\, i} }{f_{sno} \Delta z_{i} } -175\right)\right] & \qquad \frac{w_{ice,\, i} }{f_{sno} \Delta z_{i} } >175{\rm \; kg\; m}^{{\rm -3}} \\ - c_{2} = 2 & \qquad \frac{w_{liq,\, i} }{f_{sno} \Delta z_{i} } >0.01 \\ - c_{2} = 1 & \qquad \frac{w_{liq,\, i} }{f_{sno} \Delta z_{i} } \le 0.01 + c_{2} = 2 & \qquad \frac{w_{liq,\, i} }{f_{sno} \Delta z_{i} } >0.01 \\ + c_{2} = 1 & \qquad \frac{w_{liq,\, i} }{f_{sno} \Delta z_{i} } \le 0.01 \end{array} .. upper limit (upplim_destruct_metamorph) used to be 100 but was changed to 175 for CLM5 (Van Kampenhout et al., 2017) -where :math:`{w_{ice,\, i} \mathord{\left/ {\vphantom {w_{ice,\, i} \left(f_{sno} \Delta z_{i} \right)}} \right.} \left(f_{sno} \Delta z_{i} \right)}` and -:math:`{w_{liq,\, i} \mathord{\left/ {\vphantom {w_{liq,\, i} \left(f_{sno} \Delta z_{i} \right)}} \right.} \left(f_{sno} \Delta z_{i} \right)}` are the bulk densities of liquid water and ice (kg m\ :sup:`-3`). +where +:math:`{w_{ice,\, i} \mathord{\left/ {\vphantom {w_{ice,\, i} \left(f_{sno} \Delta z_{i} \right)}} \right. \kern-\nulldelimiterspace} \left(f_{sno} \Delta z_{i} \right)}` +and +:math:`{w_{liq,\, i} \mathord{\left/ {\vphantom {w_{liq,\, i} \left(f_{sno} \Delta z_{i} \right)}} \right. \kern-\nulldelimiterspace} \left(f_{sno} \Delta z_{i} \right)}` +are the bulk densities of liquid water and ice (kg m\ :sup:`-3`). + .. _Overburden pressure compaction: @@ -372,34 +533,44 @@ The compaction rate as a result of overburden :math:`C_{R2,\; i}` (s\ :sup:`-1`) C_{R2,\, i} =\left[\frac{1}{\Delta z_{i} } \frac{\partial \Delta z_{i} }{\partial t} \right]_{overburden} =-\frac{P_{s,\, i} }{\eta } -The snow load pressure :math:`P_{s,\, i}` is calculated for each layer as the sum of the ice :math:`w_{ice,\, i}` and liquid water contents :math:`w_{liq,\, i}` of the layers above plus half the ice and liquid water contents of the layer being compacted +The snow load pressure :math:`P_{s,\, i}` is calculated for each layer as the sum of +the ice :math:`w_{ice,\, i}` and liquid water contents +:math:`w_{liq,\, i}` of the layers above plus half the ice and liquid +water contents of the layer being compacted .. math:: :label: 8.47 P_{s,\, i} =\frac{w_{ice,\, i} +w_{liq,\, i} }{2} +\sum _{j=snl+1}^{j=i-1}\left(w_{ice,\, j} +w_{liq,\, j} \right) . -Variable :math:`\eta` in :eq:`8.45` is a viscosity coefficient (kg s m\ :sup:`-2`) that varies with density and temperature as + +Variable :math:`\eta` in :eq:`8.45` is a viscosity coefficient (kg s m\ :sup:`-2`) that varies with density and +temperature as .. math:: :label: 8.46 \eta = f_{1} f_{2} \eta_{0} \frac{\rho_{i}}{c_{\eta}} \exp \left[ a_{\eta} \left(T_{f} -T_{i} \right) + b_{\eta} \rho_{i} \right] -with constant factors :math:`\eta _{0} = 7.62237 \times 10^{6}` kg s\ :sup:`-1` m\ :sup:`-2`, :math:`a_{\eta} = 0.1` K\ :sup:`-1`, :math:`b_{\eta} = 0.023` m\ :sup:`-3` kg\ :sup:`-1`, and :math:`c_{\eta} = 450` kg m\ :sup:`-3` (:ref:`van Kampenhout et al. (2017) `). Further, factor :math:`f_1` accounts for the presence of liquid water (:ref:`Vionnet et al. (2012) `): +with constant factors :math:`\eta _{0} = 7.62237 \times 10^{6}` kg s\ :sup:`-1` m\ :sup:`-2`, +:math:`a_{\eta} = 0.1` K\ :sup:`-1`, :math:`b_{\eta} = 0.023` m\ :sup:`-3` kg\ :sup:`-1`, +and :math:`c_{\eta} = 450` kg m\ :sup:`-3` (:ref:`van Kampenhout et al. (2017) `). +Further, factor :math:`f_1` accounts for the presence of liquid water (:ref:`Vionnet et al. (2012) `): -.. math:: +.. math:: :label: 8.46b f_{1} = \frac{1}{1+ 60 \frac{w_{\mathrm{liq},\, i}}{\rho_{\mathrm{liq}} \Delta z_{i} }}. -Factor :math:`f_2` originally accounts for the presence of angular grains, but since grain shape is not modelled :math:`f_2` is fixed to the value 4. +Factor :math:`f_2` originally accounts for the presence of angular grains, but since grain shape is not modelled +:math:`f_2` is fixed to the value 4. .. _Compaction by melt: Compaction by melt '''''''''''''''''' -The compaction rate due to melting :math:`C_{R3,\; i}` (s\ :sup:`-1`) is taken to be the ratio of the change in snow ice mass after the melting to the mass before melting +The compaction rate due to melting :math:`C_{R3,\; i}` (s\ :sup:`-1`) is taken to be the ratio of the change in snow ice +mass after the melting to the mass before melting .. math:: :label: 8.48 @@ -407,33 +578,39 @@ The compaction rate due to melting :math:`C_{R3,\; i}` (s\ :sup:`-1`) is taken t C_{R3,\, i} = \left[\frac{1}{\Delta z_{i} } \frac{\partial \Delta z_{i} }{\partial t} \right]_{melt} = -\frac{1}{\Delta t} \max \left(0,\frac{W_{sno,\, i}^{n} -W_{sno,\, i}^{n+1} }{W_{sno,\, i}^{n} } \right) -and melting is identified during the phase change calculations (section :numref:`Phase Change`). Because snow depth is defined as the average depth of the snow covered area, the snow depth must also be updated for changes in :math:`f_{sno}` when :math:`W_{sno}` has changed. - +and melting is identified during the phase change calculations (section +:numref:`Phase Change`). Because snow depth is defined as the average +depth of the snow covered area, the snow depth must also be updated for +changes in :math:`f_{sno}` when :math:`W_{sno}` has changed. + .. math:: :label: 8.49 - + C_{R4,\, i} =\left[\frac{1}{\Delta z_{i} } \frac{\partial \Delta z_{i} }{\partial t} \right]_{fsno} =-\frac{1}{\Delta t} \max \left(0,\frac{f_{sno,\, i}^{n} -f_{sno,\, i}^{n+1} }{f_{sno,\, i}^{n} } \right) .. _Compaction by drifting snow: Compaction by drifting snow ''''''''''''''''''''''''''' -Crystal breaking by drifting snow leads to higher snow densities at the surface. This process is particularly important on ice sheets, where destructive metamorphism is slow due to low temperatures but high wind speeds (katabatic winds) are prevailing. Therefore a drifting snow compaction parametrization was introduced, based on (:ref:`Vionnet et al. (2012) `). +Crystal breaking by drifting snow leads to higher snow densities at the surface. +This process is particularly important on ice sheets, where destructive metamorphism is slow due to low temperatures +but high wind speeds (katabatic winds) are prevailing. +Therefore a drifting snow compaction parametrization was introduced, based on (:ref:`Vionnet et al. (2012) `). .. math:: :label: 8.50 C_{R5,\, i} = \left[\frac{1}{\Delta z_{i} } \frac{\partial \Delta z_{i} }{\partial t} \right]_{drift} = - \frac{\rho_{\max} - \rho_i}{\tau_{i}}. -Here, :math:`\rho_{\max} = 350` kg m\ :sup:`-3` is the upper limit to which this process is active, and -:math:`\tau_{i}` is a timescale which is depth dependent: +Here, :math:`\rho_{\max} = 350` kg m\ :sup:`-3` is the upper limit to which this process is active, and +:math:`\tau_{i}` is a timescale which is depth dependent: .. math:: :label: 8.50b \tau_i = \frac{\tau}{\Gamma_{\mathrm{drift}}^i} \quad \mathrm{,} \:\; \Gamma^i_\mathrm{drift} = \max\left[ 0, S_\mathrm{I}^i \exp(-z_i / 0.1) \right]. -Here, :math:`\tau` is a characteristic time scale for drifting snow compaction and is empirically set to 48 h, and +Here, :math:`\tau` is a characteristic time scale for drifting snow compaction and is empirically set to 48 h, and :math:`z_i` is a pseudo-depth which takes into account previous hardening of snow layers above the current layer: :math:`z_i = \sum_j \Delta z_j \cdot (3.25 - S_\mathrm{I}^j)`. The driftability index :math:`S_\mathrm{I}` reflects how well snow can be drifted and depends on the mobility of the snow @@ -447,31 +624,49 @@ as well as the 10 m wind speed: M_\mathrm{O} & = & -0.069 + 0.66 F(\rho) \end{array} -The latter equation (for the mobility index :math:`M_\mathrm{O}`) is a simplification from the original paper by removing the dependency on grain size and assuming spherical grains (see :ref:`van Kampenhout et al. (2017) `). +The latter equation (for the mobility index :math:`M_\mathrm{O}`) is a simplification from the original paper +by removing the dependency on grain size and assuming spherical grains +(see :ref:`van Kampenhout et al. (2017) `). .. _Snow Layer Combination and Subdivision: Snow Layer Combination and Subdivision ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -After the determination of snow temperature including phase change(Chapter :numref:`rst_Soil and Snow Temperatures`), snow hydrology (Chapter :numref:`rst_Snow Hydrology`), and the compaction calculations (section :numref:`Snow Compaction`), the number of snow layers is adjusted by either combining or subdividing layers. The combination and subdivision of snow layers is based on :ref:`Jordan (1991) `. +After the determination of snow temperature including phase change(Chapter +:numref:`rst_Soil and Snow Temperatures`), snow hydrology (Chapter +:numref:`rst_Snow Hydrology`), and the compaction calculations (section +:numref:`Snow Compaction`) , the number of snow layers is adjusted by +either combining or subdividing layers. The combination and subdivision +of snow layers is based on :ref:`Jordan (1991) `. .. _Combination: Combination ''''''''''''''''''' -If a snow layer has nearly melted or if its thickness :math:`\Delta z_{i}` is less than the prescribed minimum thickness :math:`\Delta z_{\min }` (:numref:`Table snow layer thickness`), the layer is combined with a neighboring layer. The overlying or underlying layer is selected as the neighboring layer according to the following rules +If a snow layer has nearly melted or if its thickness +:math:`\Delta z_{i}` is less than the prescribed minimum thickness +:math:`\Delta z_{\min }` (:numref:`Table snow layer thickness`), the layer is combined with a +neighboring layer. The overlying or underlying layer is selected as the +neighboring layer according to the following rules -#. If the top layer is being removed, it is combined with the underlying layer +#. If the top layer is being removed, it is combined with the underlying + layer -#. If the underlying layer is not snow (i.e., it is the top soil layer), the layer is combined with the overlying layer +#. If the underlying layer is not snow (i.e., it is the top soil layer), + the layer is combined with the overlying layer -#. If the layer is nearly completely melted, the layer is combined with the underlying layer +#. If the layer is nearly completely melted, the layer is combined with + the underlying layer -#. If none of the above rules apply, the layer is combined with the thinnest neighboring layer. +#. If none of the above rules apply, the layer is combined with the + thinnest neighboring layer. -A first pass is made through all snow layers to determine if any layer is nearly melted (:math:`w_{ice,\, i} \le 0.1`). If so, the remaining liquid water and ice content of layer :math:`i` is combined with the underlying neighbor :math:`i+1` as +A first pass is made through all snow layers to determine if any layer +is nearly melted (:math:`w_{ice,\, i} \le 0.1`). If so, the remaining +liquid water and ice content of layer :math:`i` is combined with the +underlying neighbor :math:`i+1` as .. math:: :label: 8.51 @@ -483,9 +678,18 @@ A first pass is made through all snow layers to determine if any layer is nearly w_{ice,\, i+1} =w_{ice,\, i+1} +w_{ice,\, i} . -This includes the snow layer directly above the top soil layer. In this case, the liquid water and ice content of the melted snow layer is added to the contents of the top soil layer. The layer properties, :math:`T_{i}`, :math:`w_{ice,\, i}`, :math:`w_{liq,\, i}`, :math:`\Delta z_{i}`, are then re-indexed so that the layers above the eliminated layer are shifted down by one and the number of snow layers is decremented accordingly. +This includes the snow layer directly above the top soil layer. In this +case, the liquid water and ice content of the melted snow layer is added +to the contents of the top soil layer. The layer properties, +:math:`T_{i}` , :math:`w_{ice,\, i}` , :math:`w_{liq,\, i}` , +:math:`\Delta z_{i}` , are then re-indexed so that the layers above the +eliminated layer are shifted down by one and the number of snow layers +is decremented accordingly. -At this point, if there are no explicit snow layers remaining (:math:`snl=0`), the snow water equivalent :math:`W_{sno}` and snow depth :math:`z_{sno}` are set to zero, otherwise, :math:`W_{sno}` and :math:`z_{sno}` are re-calculated as +At this point, if there are no explicit snow layers remaining +(:math:`snl=0`), the snow water equivalent :math:`W_{sno}` and snow +depth :math:`z_{sno}` are set to zero, otherwise, :math:`W_{sno}` and +:math:`z_{sno}` are re-calculated as .. math:: :label: 8.53 @@ -497,9 +701,16 @@ At this point, if there are no explicit snow layers remaining (:math:`snl=0`), t z_{sno} =\sum _{i=snl+1}^{i=0}\Delta z_{i} . -If the snow depth :math:`00} \\ {\lambda _{vap} \qquad {\rm otherwise}} \end{array}\right\} -where :math:`\lambda _{sub}` and :math:`\lambda _{vap}` are the latent heat of sublimation and vaporization, respectively (J kg\ :sup:`-1`) (:numref:`Table Physical Constants`), and :math:`w_{liq,\, snl+1}` and :math:`w_{ice,\, snl+1}` are the liquid water and ice contents of the top snow/soil layer, respectively (kg m\ :sup:`-2`) (Chapter :numref:`rst_Hydrology`). +where :math:`\lambda _{sub}` and :math:`\lambda _{vap}` are the +latent heat of sublimation and vaporization, respectively (J +kg\ :sup:`-1`) (:numref:`Table Physical Constants`), and :math:`w_{liq,\, snl+1}` +and :math:`w_{ice,\, snl+1}` are the liquid water and ice contents of the +top snow/soil layer, respectively (kg m\ :sup:`-2`) +(Chapter :numref:`rst_Hydrology`). For the top soil layer, :math:`i=1`, the coefficients are @@ -311,18 +402,34 @@ The heat flux into the soil surface from the overlying atmosphere h=\overrightarrow{S}_{soil} -\overrightarrow{L}_{soil} -H_{soil} -\lambda E_{soil} -It can be seen that when no snow is present (:math:`f_{sno} =0`), the expressions for the coefficients of the top soil layer have the same form as those for the top snow layer. +It can be seen that when no snow is present (:math:`f_{sno} =0`), the +expressions for the coefficients of the top soil layer have the same +form as those for the top snow layer. -The surface snow/soil layer temperature computed in this way is the layer-averaged temperature and hence has somewhat reduced diurnal amplitude compared with surface temperature. An accurate surface temperature is provided that compensates for this effect and numerical error by tuning the heat capacity of the top layer (through adjustment of the layer thickness) to give an exact match to the analytic solution for diurnal heating. The top layer thickness for :math:`i=snl+1` is given by +The surface snow/soil layer temperature computed in this way is the +layer-averaged temperature and hence has somewhat reduced diurnal +amplitude compared with surface temperature. An accurate surface +temperature is provided that compensates for this effect and numerical +error by tuning the heat capacity of the top layer (through adjustment +of the layer thickness) to give an exact match to the analytic solution +for diurnal heating. The top layer thickness for :math:`i=snl+1` is +given by .. math:: :label: 6.34 \Delta z_{i*} =0.5\left[z_{i} -z_{h,\, i-1} +c_{a} \left(z_{i+1} -z_{h,\, i-1} \right)\right] -where :math:`c_{a}` is a tunable parameter, varying from 0 to 1, and is taken as 0.34 by comparing the numerical solution with the analytic solution (:ref:`Z.-L. Yang 1998, unpublished manuscript`). :math:`\Delta z_{i*}` is used in place of :math:`\Delta z_{i}` for :math:`i=snl+1` in equations -. The top snow/soil layer temperature computed in this way is the ground surface temperature :math:`T_{g}^{n+1}`. +where :math:`c_{a}` is a tunable parameter, varying from 0 to 1, and is +taken as 0.34 by comparing the numerical solution with the analytic +solution (:ref:`Z.-L. Yang 1998, unpublished manuscript`). +:math:`\Delta z_{i*}` is used in place of :math:`\Delta z_{i}` for +:math:`i=snl+1` in equations -. The top snow/soil layer temperature +computed in this way is the ground surface temperature +:math:`T_{g}^{n+1}` . -The boundary condition at the bottom of the snow/soil column is zero heat flux, :math:`F_{i} =0`, resulting in, for :math:`i=N_{levgrnd}`, +The boundary condition at the bottom of the snow/soil column is zero +heat flux, :math:`F_{i} =0`, resulting in, for :math:`i=N_{levgrnd}` , .. math:: :label: 6.35 @@ -356,7 +463,8 @@ where F_{i-1} =-\frac{\lambda \left[z_{h,\, i-1} \right]}{z_{i} -z_{i-1} } \left(T_{i-1}^{n} -T_{i}^{n} \right). -For the interior snow/soil layers, :math:`snl+1T_{f} {\rm \; and\; }w_{ice,\, i} >0 & \qquad i=snl+1,\ldots ,N_{levgrnd} \qquad {\rm melting} \end{array} .. math:: :label: 6.53b - \begin{array}{lr} - \begin{array}{lr} - T_{i}^{n+1} 0 & \qquad i=snl+1,\ldots ,0 \\ + \begin{array}{lr} + \begin{array}{lr} + T_{i}^{n+1} 0 & \qquad i=snl+1,\ldots ,0 \\ T_{i}^{n+1} w_{liq,\, \max ,\, i} & \quad i=1,\ldots ,N_{levgrnd} - \end{array} & \quad {\rm freezing} + \end{array} & \quad {\rm freezing} \end{array} -where :math:`T_{i}^{n+1}` is the soil layer temperature after solution of the tridiagonal equation set, :math:`w_{ice,\, i}` and :math:`w_{liq,\, i}` are the mass of ice and liquid water (kg m\ :sup:`-2`) in each snow/soil layer, respectively, and :math:`T_{f}` is the freezing temperature of water (K) (:numref:`Table Physical Constants`). For the freezing process in soil layers, the concept of supercooled soil water from :ref:`Niu and Yang (2006)` is adopted. The supercooled soil water is the liquid water that coexists with ice over a wide range of temperatures below freezing and is implemented through a freezing point depression equation +where :math:`T_{i}^{n+1}` is the soil layer temperature after solution +of the tridiagonal equation set, :math:`w_{ice,\, i}` and +:math:`w_{liq,\, i}` are the mass of ice and liquid water (kg +m\ :sup:`-2`) in each snow/soil layer, respectively, and :math:`T_{f}` +is the freezing temperature of water (K) (:numref:`Table Physical Constants`). +For the freezing process in soil layers, the concept of supercooled soil +water from :ref:`Niu and Yang (2006)` is adopted. The supercooled +soil water is the liquid water that coexists with ice over a wide range of +temperatures below freezing and is implemented through a freezing point +depression equation .. math:: :label: 6.54 - w_{liq,\, \max ,\, i} =\Delta z_{i} \theta _{sat,\, i} \left[\frac{10^{3} L_{f} \left(T_{f} -T_{i} \right)}{gT_{i} \psi _{sat,\, i} } \right]^{{-1\mathord{\left/ {\vphantom {-1 B_{i} }} \right.} B_{i} } } \qquad T_{i} ` exponent (section :numref:`Soil Water`). +where :math:`w_{liq,\, \max ,\, i}` is the maximum liquid water in +layer :math:`i` (kg m\ :sup:`-2`) when the soil temperature +:math:`T_{i}` is below the freezing temperature :math:`T_{f}` , +:math:`L_{f}` is the latent heat of fusion (J kg\ :sup:`-1`) +(:numref:`Table Physical Constants`), :math:`g` is the gravitational acceleration (m +s\ :sup:`-2`) (:numref:`Table Physical Constants`), and :math:`\psi _{sat,\, i}` and +:math:`B_{i}` are the soil texture-dependent saturated matric potential +(mm) and :ref:`Clapp and Hornberger (1978)` exponent +(section :numref:`Soil Water`). -For the special case when snow is present (snow mass :math:`W_{sno} >0`) but there are no explicit snow layers (:math:`snl=0`) (i.e., there is not enough snow present to meet the minimum snow depth requirement of 0.01 m), snow melt will take place for soil layer :math:`i=1` if the soil layer temperature is greater than the freezing temperature (:math:`T_{1}^{n+1} >T_{f}` ). +For the special case when snow is present (snow mass :math:`W_{sno} >0`) +but there are no explicit snow layers (:math:`snl=0`) (i.e., there is +not enough snow present to meet the minimum snow depth requirement of +0.01 m), snow melt will take place for soil layer :math:`i=1` if the +soil layer temperature is greater than the freezing temperature +(:math:`T_{1}^{n+1} >T_{f}` ). -The rate of phase change is assessed from the energy excess (or deficit) needed to change :math:`T_{i}` to freezing temperature, :math:`T_{f}`. The excess or deficit of energy :math:`H_{i}` (W m\ :sup:`-2`) is determined as follows +The rate of phase change is assessed from the energy excess (or deficit) +needed to change :math:`T_{i}` to freezing temperature, :math:`T_{f}` . +The excess or deficit of energy :math:`H_{i}` (W m\ :sup:`-2`) is +determined as follows .. math:: :label: 6.55 - H_{i} =\left\{\begin{array}{lr} - \frac{\partial h}{\partial T} \left(T_{f} -T_{i}^{n} \right)-\frac{c_{i} \Delta z_{i} }{\Delta t} \left(T_{f} -T_{i}^{n} \right) & \quad \quad i=snl+1 \\ - \left(1-f_{sno} -f_{h2osfc} \right)\frac{\partial h}{\partial T} \left(T_{f} -T_{i}^{n} \right)-\frac{c_{i} \Delta z_{i} }{\Delta t} \left(T_{f} -T_{i}^{n} \right)\quad {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} & i=1 \\ - -\frac{c_{i} \Delta z_{i} }{\Delta t} \left(T_{f} -T_{i}^{n} \right) & \quad \quad i\ne \left\{1,snl+1\right\} + H_{i} =\left\{\begin{array}{lr} + \frac{\partial h}{\partial T} \left(T_{f} -T_{i}^{n} \right)-\frac{c_{i} \Delta z_{i} }{\Delta t} \left(T_{f} -T_{i}^{n} \right) & \quad \quad i=snl+1 \\ + \left(1-f_{sno} -f_{h2osfc} \right)\frac{\partial h}{\partial T} \left(T_{f} -T_{i}^{n} \right)-\frac{c_{i} \Delta z_{i} }{\Delta t} \left(T_{f} -T_{i}^{n} \right)\quad {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} & i=1 \\ + -\frac{c_{i} \Delta z_{i} }{\Delta t} \left(T_{f} -T_{i}^{n} \right) & \quad \quad i\ne \left\{1,snl+1\right\} \end{array}\right\}. -If the melting criteria is met :eq:`6.53a` and :math:`H_{m} =\frac{H_{i} \Delta t}{L_{f} } >0`, then the ice mass is readjusted as +If the melting criteria is met :eq:`6.53a` and +:math:`H_{m} =\frac{H_{i} \Delta t}{L_{f} } >0`, then the ice mass is +readjusted as .. math:: :label: 6.56 w_{ice,\, i}^{n+1} =w_{ice,\, i}^{n} -H_{m} \ge 0\qquad i=snl+1,\ldots ,N_{levgrnd} . -If the freezing criteria is met :eq:`6.53b` and :math:`H_{m} <0`, then the ice mass is readjusted for :math:`i=snl+1,\ldots,0` as +If the freezing criteria is met :eq:`6.53b` and :math:`H_{m} <0`, then +the ice mass is readjusted for :math:`i=snl+1,\ldots ,0` as .. math:: :label: 6.57 w_{ice,\, i}^{n+1} =\min \left(w_{liq,\, i}^{n} +w_{ice,\, i}^{n} ,w_{ice,\, i}^{n} -H_{m} \right) -and for :math:`i=1,\ldots,N_{levgrnd}` as +and for :math:`i=1,\ldots ,N_{levgrnd}` as .. math:: :label: 6.58 - w_{ice,\, i}^{n+1} = - \left\{\begin{array}{lr} - \min \left(w_{liq,\, i}^{n} +w_{ice,\, i}^{n} -w_{liq,\, \max ,\, i}^{n} ,\, w_{ice,\, i}^{n} -H_{m} \right) & \qquad w_{liq,\, i}^{n} +w_{ice,\, i}^{n} \ge w_{liq,\, \max ,\, i}^{n} {\rm \; } \\ - {\rm 0} & \qquad w_{liq,\, i}^{n} +w_{ice,\, i}^{n} 0`) as +and this energy is used to cool or warm the snow/soil layer (if +:math:`\left|H_{i*} \right|>0`) as .. math:: :label: 6.61 - T_{i}^{n+1} = - \left\{\begin{array}{lr} - T_{f} +{\frac{\Delta t}{c_{i} \Delta z_{i} } H_{i*} \mathord{\left/ {\vphantom {\frac{\Delta t}{c_{i} \Delta z_{i} } H_{i*} \left(1-\frac{\Delta t}{c_{i} \Delta z_{i} } \frac{\partial h}{\partial T} \right)}} \right.} \left(1-\frac{\Delta t}{c_{i} \Delta z_{i} } \frac{\partial h}{\partial T} \right)} & \quad \quad \quad \quad \, i=snl+1 \\ - T_{f} +{\frac{\Delta t}{c_{i} \Delta z_{i} } H_{i*} \mathord{\left/ {\vphantom {\frac{\Delta t}{c_{i} \Delta z_{i} } H_{i*} \left(1-\left(1-f_{sno} -f_{h2osfc} \right)\frac{\Delta t}{c_{i} \Delta z_{i} } \frac{\partial h}{\partial T} \right)}} \right.} \left(1-\left(1-f_{sno} -f_{h2osfc} \right)\frac{\Delta t}{c_{i} \Delta z_{i} } \frac{\partial h}{\partial T} \right)} & \qquad i=1 \\ + T_{i}^{n+1} = + \left\{\begin{array}{lr} + T_{f} +{\frac{\Delta t}{c_{i} \Delta z_{i} } H_{i*} \mathord{\left/ {\vphantom {\frac{\Delta t}{c_{i} \Delta z_{i} } H_{i*} \left(1-\frac{\Delta t}{c_{i} \Delta z_{i} } \frac{\partial h}{\partial T} \right)}} \right. \kern-\nulldelimiterspace} \left(1-\frac{\Delta t}{c_{i} \Delta z_{i} } \frac{\partial h}{\partial T} \right)} & \quad \quad \quad \quad \, i=snl+1 \\ + T_{f} +{\frac{\Delta t}{c_{i} \Delta z_{i} } H_{i*} \mathord{\left/ {\vphantom {\frac{\Delta t}{c_{i} \Delta z_{i} } H_{i*} \left(1-\left(1-f_{sno} -f_{h2osfc} \right)\frac{\Delta t}{c_{i} \Delta z_{i} } \frac{\partial h}{\partial T} \right)}} \right. \kern-\nulldelimiterspace} \left(1-\left(1-f_{sno} -f_{h2osfc} \right)\frac{\Delta t}{c_{i} \Delta z_{i} } \frac{\partial h}{\partial T} \right)} & \qquad i=1 \\ T_{f} +\frac{\Delta t}{c_{i} \Delta z_{i} } H_{i*} & \quad \quad \quad \quad \, i\ne \left\{1,snl+1\right\} \end{array}\right\}. -For the special case when snow is present (:math:`W_{sno} >0`), there are no explicit snow layers (:math:`snl=0`), and :math:`\frac{H_{1} \Delta t}{L_{f} } >0` (melting), the snow mass :math:`W_{sno}` (kg m\ :sup:`-2`) is reduced according to +For the special case when snow is present (:math:`W_{sno} >0`), there +are no explicit snow layers (:math:`snl=0`), and +:math:`\frac{H_{1} \Delta t}{L_{f} } >0` (melting), the snow mass +:math:`W_{sno}` (kg m\ :sup:`-2`) is reduced according to .. math:: :label: 6.62 @@ -539,21 +685,27 @@ The snow depth is reduced proportionally z_{sno}^{n+1} =\frac{W_{sno}^{n+1} }{W_{sno}^{n} } z_{sno}^{n} . -Again, because part of the energy may not be consumed in melting, the energy for the surface soil layer :math:`i=1` is recalculated as +Again, because part of the energy may not be consumed in melting, the +energy for the surface soil layer :math:`i=1` is recalculated as .. math:: :label: 6.64 H_{1*} =H_{1} -\frac{L_{f} \left(W_{sno}^{n} -W_{sno}^{n+1} \right)}{\Delta t} . -If there is excess energy (:math:`H_{1*} >0`), this energy becomes available to the top soil layer as +If there is excess energy (:math:`H_{1*} >0`), this energy becomes +available to the top soil layer as .. math:: :label: 6.65 H_{1} =H_{1*} . -The ice mass, liquid water content, and temperature of the top soil layer are then determined from :eq:`6.56`, :eq:`6.59`, and :eq:`6.61` using the recalculated energy from :eq:`6.65`. Snow melt :math:`M_{1S}` (kg m\ :sup:`-2` s\ :sup:`-1`) and phase change energy :math:`E_{p,\, 1S}` (W m\ :sup:`-2`) for this special case are +The ice mass, liquid water content, and temperature of the top soil +layer are then determined from :eq:`6.56`, :eq:`6.59`, and :eq:`6.61` +using the recalculated energy from :eq:`6.65`. Snow melt :math:`M_{1S}` +(kg m\ :sup:`-2` s\ :sup:`-1`) and phase change energy :math:`E_{p,\, 1S}` +(W m\ :sup:`-2`) for this special case are .. math:: :label: 6.66 @@ -565,7 +717,8 @@ The ice mass, liquid water content, and temperature of the top soil layer are th E_{p,\, 1S} =L_{f} M_{1S} . -The total energy of phase change :math:`E_{p}` (W m\ :sup:`-2`) for the snow/soil column is +The total energy of phase change :math:`E_{p}` (W m\ :sup:`-2`) +for the snow/soil column is .. math:: :label: 6.68 @@ -579,7 +732,8 @@ where E_{p,\, i} =L_{f} \frac{\left(w_{ice,\, i}^{n} -w_{ice,\, i}^{n+1} \right)}{\Delta t} . -The total snow melt :math:`M` (kg m\ :sup:`-2` s\ :sup:`-1`) is +The total snow melt :math:`M` (kg m\ :sup:`-2` +s\ :sup:`-1`) is .. math:: :label: 6.70 @@ -600,21 +754,27 @@ The solution for snow/soil temperatures conserves energy as G-E_{p} -\sum _{i=snl+1}^{i=N_{levgrnd} }\frac{c_{i} \Delta z_{i} }{\Delta t} \left(T_{i}^{n+1} -T_{i}^{n} \right)=0 -where :math:`G` is the ground heat flux (section :numref:`Update of Ground Sensible and Latent Heat Fluxes`). +where :math:`G` is the ground heat flux (section +:numref:`Update of Ground Sensible and Latent Heat Fluxes`). .. _Surface Water: Surface Water ^^^^^^^^^^^^^^^^^^^ -Phase change of surface water takes place when the surface water temperature, :math:`T_{h2osfc}`, becomes less than :math:`T_{f}`. The energy available for freezing is +Phase change of surface water takes place when the surface water +temperature, :math:`T_{h2osfc}` , becomes less than :math:`T_{f}` . The +energy available for freezing is .. math:: :label: 6.73 H_{h2osfc} =\frac{\partial h}{\partial T} \left(T_{f} -T_{h2osfc}^{n} \right)-\frac{c_{h2osfc} \Delta z_{h2osfc} }{\Delta t} \left(T_{f} -T_{h2osfc}^{n} \right) -where :math:`c_{h2osfc}` is the volumetric heat capacity of water, and :math:`\Delta z_{h2osfc}` is the depth of the surface water layer. If :math:`H_{m} =\frac{H_{h2osfc} \Delta t}{L_{f} } >0` then :math:`H_{m}` is removed from surface water and added to the snow column as ice +where :math:`c_{h2osfc}` is the volumetric heat capacity of water, and +:math:`\Delta z_{h2osfc}` is the depth of the surface water layer. If +:math:`H_{m} =\frac{H_{h2osfc} \Delta t}{L_{f} } >0` then :math:`H_{m}` +is removed from surface water and added to the snow column as ice .. math:: :label: 6.74 @@ -633,63 +793,85 @@ The snow depth is adjusted to account for the additional ice mass \Delta z_{sno} =\frac{H_{m} }{\rho _{ice} } -If :math:`H_{m}` \ is greater than :math:`W_{sfc}`, the excess heat :math:`\frac{L_{f} \left(H_{m} -W_{sfc} \right)}{\Delta t}` is used to cool the snow layer. +If :math:`H_{m}` \ is greater than :math:`W_{sfc}` , the excess heat +:math:`\frac{L_{f} \left(H_{m} -W_{sfc} \right)}{\Delta t}` is used to +cool the snow layer. .. _Soil and Snow Thermal Properties: Soil and Snow Thermal Properties ------------------------------------ -The thermal properties of the soil are assumed to be a weighted combination of the mineral and organic properties of the soil (:ref:`Lawrence and Slater 2008 `). The soil layer organic matter fraction :math:`f_{om,i}` is +The thermal properties of the soil are assumed to be a weighted combination of +the mineral and organic properties of the soil +(:ref:`Lawrence and Slater 2008 `). +The soil layer organic matter fraction :math:`f_{om,i}` is .. math:: :label: 6.77 f_{om,i} =\rho _{om,i} /\rho _{om,\max } . -Soil thermal conductivity :math:`\lambda _{i}` (W m\ :sup:`-1` K\ :sup:`-1`) is from :ref:`Farouki (1981) ` +Soil thermal conductivity :math:`\lambda _{i}` (W m\ :sup:`-1` K\ :sup:`-1`) +is from :ref:`Farouki (1981) ` .. math:: :label: 6.78 - \begin{array}{lr} + \begin{array}{lr} \lambda _{i} = \left\{ - \begin{array}{lr} - K_{e,\, i} \lambda _{sat,\, i} +\left(1-K_{e,\, i} \right)\lambda _{dry,\, i} &\qquad S_{r,\, i} > 1\times 10^{-7} \\ - \lambda _{dry,\, i} &\qquad S_{r,\, i} \le 1\times 10^{-7} - \end{array}\right\} &\qquad i=1,\ldots ,N_{levsoi} \\ - \lambda _{i} =\lambda _{bedrock} &\qquad i=N_{levsoi} +1,\ldots N_{levgrnd} + \begin{array}{lr} + K_{e,\, i} \lambda _{sat,\, i} +\left(1-K_{e,\, i} \right)\lambda _{dry,\, i} &\qquad S_{r,\, i} > 1\times 10^{-7} \\ + \lambda _{dry,\, i} &\qquad S_{r,\, i} \le 1\times 10^{-7} + \end{array}\right\} &\qquad i=1,\ldots ,N_{levsoi} \\ + + \lambda _{i} =\lambda _{bedrock} &\qquad i=N_{levsoi} +1,\ldots N_{levgrnd} \end{array} -where :math:`\lambda _{sat,\, i}` is the saturated thermal conductivity, :math:`\lambda _{dry,\, i}` is the dry thermal conductivity, :math:`K_{e,\, i}` is the Kersten number, :math:`S_{r,\, i}` is the wetness of the soil with respect to saturation, and :math:`\lambda _{bedrock} =3` W m\ :sup:`-1` K\ :sup:`-1` is the thermal conductivity assumed for the deep ground layers (typical of saturated granitic rock; :ref:`Clauser and Huenges 1995 `). For glaciers, +where :math:`\lambda _{sat,\, i}` is the saturated thermal +conductivity, :math:`\lambda _{dry,\, i}` is the dry thermal +conductivity, :math:`K_{e,\, i}` is the Kersten number, +:math:`S_{r,\, i}` is the wetness of the soil with respect to +saturation, and :math:`\lambda _{bedrock} =3` W m\ :sup:`-1` +K\ :sup:`-1` is the thermal conductivity assumed for the deep +ground layers (typical of saturated granitic rock; +:ref:`Clauser and Huenges 1995 `). For glaciers, .. math:: :label: 6.79 \lambda _{i} =\left\{\begin{array}{l} {\lambda _{liq,\, i} \qquad T_{i} \ge T_{f} } \\ {\lambda _{ice,\, i} \qquad T_{i} `). :math:`\theta _{sat,\, i}` is the volumetric water content at saturation (porosity) (section :numref:`Hydraulic Properties`). +and :math:`\lambda _{s,om} =0.25`\ W m\ :sup:`-1` +K\ :sup:`-1` (:ref:`Farouki 1981 `). :math:`\theta _{sat,\, i}` is the +volumetric water content at saturation (porosity) (section :numref:`Hydraulic Properties`). The thermal conductivity of dry soil is @@ -698,22 +880,29 @@ The thermal conductivity of dry soil is \lambda _{dry,i} =(1-f_{om,i} )\lambda _{dry,\min ,i} +f_{om,i} \lambda _{dry,om} -where the thermal conductivity of dry mineral soil :math:`\lambda _{dry,\min,i}` \ (W m\ :sup:`-1` K\ :sup:`-1`) depends on the bulk density :math:`\rho _{d,\, i} =2700\left(1-\theta _{sat,\, i} \right)` (kg m\ :sup:`-3`) as +where the thermal conductivity of dry mineral soil +:math:`\lambda _{dry,\min ,i}` \ (W m\ :sup:`-1` +K\ :sup:`-1`) depends on the bulk density +:math:`\rho _{d,\, i} =2700\left(1-\theta _{sat,\, i} \right)` (kg +m\ :sup:`-3`) as .. math:: :label: 6.84 \lambda _{dry,\, \min ,i} =\frac{0.135\rho _{d,\, i} +64.7}{2700-0.947\rho _{d,\, i} } -and :math:`\lambda _{dry,om} =0.05` W m\ :sup:`-1` K\ :sup:`-1` (:ref:`Farouki 1981 `) is the dry thermal conductivity of organic matter. The Kersten number :math:`K_{e,\, i}` is a function of the degree of saturation :math:`S_{r}` and phase of water +and :math:`\lambda _{dry,om} =0.05` W m\ :sup:`-1` +K\ :sup:`-1` (:ref:`Farouki 1981 `) is the dry thermal conductivity of +organic matter. The Kersten number :math:`K_{e,\, i}` is a function of +the degree of saturation :math:`S_{r}` and phase of water .. math:: :label: 6.85 K_{e,\, i} = \left\{ - \begin{array}{lr} - \log \left(S_{r,\, i} \right)+1\ge 0 &\qquad T_{i} \ge T_{f} \\ - S_{r,\, i} &\qquad T_{i} ` +Thermal conductivity :math:`\lambda _{i}` (W m\ :sup:`-1` +K\ :sup:`-1`) for snow is from :ref:`Jordan (1991) ` .. math:: :label: 6.87 \lambda _{i} =\lambda _{air} +\left(7.75\times 10^{-5} \rho _{sno,\, i} +1.105\times 10^{-6} \rho _{sno,\, i}^{2} \right)\left(\lambda _{ice} -\lambda _{air} \right) -where :math:`\lambda _{air}` is the thermal conductivity of air (:numref:`Table Physical Constants`) and :math:`\rho _{sno,\, i}` is the bulk density of snow (kg m\ :sup:`-3`) +where :math:`\lambda _{air}` is the thermal conductivity of air (:numref:`Table Physical Constants`) +and :math:`\rho _{sno,\, i}` is the bulk density of snow (kg m\ :sup:`-3`) .. math:: :label: 6.88 \rho _{sno,\, i} =\frac{w_{ice,\, i} +w_{liq,\, i} }{\Delta z_{i} } . -The volumetric heat capacity :math:`c_{i}` (J m\ :sup:`-3` K\ :sup:`-1`) for soil is from :ref:`de Vries (1963) ` and depends on the heat capacities of the soil solid, liquid water, and ice constituents +The volumetric heat capacity :math:`c_{i}` (J m\ :sup:`-3` K\ :sup:`-1`) for +soil is from :ref:`de Vries (1963) ` and depends on the +heat capacities of the soil solid, liquid water, and ice constituents .. math:: :label: 6.89 c_{i} =c_{s,\, i} \left(1-\theta _{sat,\, i} \right)+\frac{w_{ice,\, i} }{\Delta z_{i} } C_{ice} +\frac{w_{liq,\, i} }{\Delta z_{i} } C_{liq} -where :math:`C_{liq}` and :math:`C_{ice}` are the specific heat capacities (J kg\ :sup:`-1` K\ :sup:`-1`) of liquid water and ice, respectively (:numref:`Table Physical Constants`). The heat capacity of soil solids :math:`c_{s,i}` \ (J m\ :sup:`-3` K\ :sup:`-1`) is +where :math:`C_{liq}` and :math:`C_{ice}` are the specific heat +capacities (J kg\ :sup:`-1` K\ :sup:`-1`) of liquid water +and ice, respectively (:numref:`Table Physical Constants`). The heat capacity of soil solids +:math:`c_{s,i}` \ (J m\ :sup:`-3` K\ :sup:`-1`) is .. math:: :label: 6.90 c_{s,i} =(1-f_{om,i} )c_{s,\min ,i} +f_{om,i} c_{s,om} -where the heat capacity of mineral soil solids :math:`c_{s,\min,\, i}` (J m\ :sup:`-3` K\ :sup:`-1`) is +where the heat capacity of mineral soil solids +:math:`c_{s,\min ,\, i}` (J m\ :sup:`-3` K\ :sup:`-1`) is .. math:: :label: 6.91 - \begin{array}{lr} - c_{s,\min ,\, i} =\left(\frac{2.128{\rm \; }\left(\% sand\right)_{i} +{\rm 2.385\; }\left(\% clay\right)_{i} }{\left(\% sand\right)_{i} +\left(\% clay\right)_{i} } \right)\times 10^{6} &\qquad i=1,\ldots ,N_{levsoi} \\ - c_{s,\, \min ,i} =c_{s,\, bedrock} &\qquad i=N_{levsoi} +1,\ldots ,N_{levgrnd} + \begin{array}{lr} + c_{s,\min ,\, i} =\left(\frac{2.128{\rm \; }\left(\% sand\right)_{i} +{\rm 2.385\; }\left(\% clay\right)_{i} }{\left(\% sand\right)_{i} +\left(\% clay\right)_{i} } \right)\times 10^{6} &\qquad i=1,\ldots ,N_{levsoi} \\ + c_{s,\, \min ,i} =c_{s,\, bedrock} &\qquad i=N_{levsoi} +1,\ldots ,N_{levgrnd} \end{array} -where :math:`c_{s,bedrock} =2\times 10^{6}` J m\ :sup:`-3` K\ :sup:`-1` is the heat capacity of bedrock and :math:`c_{s,om} =2.5\times 10^{6}` \ J m\ :sup:`-3` K\ :sup:`-1` (:ref:`Farouki 1981 `) is the heat capacity of organic matter. For glaciers and snow +where :math:`c_{s,bedrock} =2\times 10^{6}` J m\ :sup:`-3` +K\ :sup:`-1` is the heat capacity of bedrock and +:math:`c_{s,om} =2.5\times 10^{6}` \ J m\ :sup:`-3` +K\ :sup:`-1` (:ref:`Farouki 1981 `) is the heat capacity of organic +matter. For glaciers and snow .. math:: :label: 6.92 c_{i} =\frac{w_{ice,\, i} }{\Delta z_{i} } C_{ice} +\frac{w_{liq,\, i} }{\Delta z_{i} } C_{liq} . -For the special case when snow is present (:math:`W_{sno} >0`) but there are no explicit snow layers (:math:`snl=0`), the heat capacity of the top layer is a blend of ice and soil heat capacity +For the special case when snow is present (:math:`W_{sno} >0`) but +there are no explicit snow layers (:math:`snl=0`), the heat capacity of +the top layer is a blend of ice and soil heat capacity .. math:: :label: 6.93 @@ -777,19 +980,26 @@ For the special case when snow is present (:math:`W_{sno} >0`) but there are no where :math:`c_{1}^{*}` is calculated from :eq:`6.89` or :eq:`6.92`. + .. _Excess Ground Ice: Excess Ground Ice ------------------------------------ -An optional parameterization of excess ground ice melt and respective subsidence based on (:ref:`Lee et al., (2014) `). Initial excess ground ice concentrations for soil columns are derived from (:ref:`Brown et al., (1997) `). When the excess ground ice is present in the soil column, soil depth for a given layer (:math:`z_{i}`) is adjusted by the amount of excess ice in the column: +An optional parameterization of excess ground ice melt and respective subsidence based on (:ref:`Lee et al., (2014) `). +Initial excess ground ice concentrations for soil columns are derived from (:ref:`Brown et al., (1997) `). +When the excess ground ice is present in the soil column, soil depth for a given layer (:math:`z_{i}`) +is adjusted by the amount of excess ice in the column: .. math:: :label: 6.94 z_{i}^{'}=\Sigma_{j=1}^{i} \ z_{j}^{'}+\frac{w_{exice,\, j}}{\rho_{ice} } -where :math:`w_{exice,\,j}` is excess ground ice amount (kg m :sup:`-2`) in layer :math:`j` and :math:`\rho_{ice}` is the density of ice (kg m :sup:`-3`). After adjustment of layer depths have been made, all of the soil temperature equations (from :eq:`6.80` to :eq:`6.89`) are calculted based on the adjusted depths. Thermal properties are additionally adjusted (:eq:`6.8` and :eq:`6.8`) in the following way: +where :math:`w_{exice,\,j}` is excess ground ice amount (kg m :sup:`-2`) in layer :math:`j` +and :math:`\rho_{ice}` is the density of ice (kg m :sup:`-3`). +After adjustment of layer depths have been made, all of the soil temperature equations (from :eq:`6.80` to :eq:`6.89`) +are calculted based on the adjusted depths. Thermal properties are additionally adjusted (:eq:`6.8` and :eq:`6.8`) in the following way: .. math:: :label: 6.95 @@ -807,5 +1017,12 @@ Soil subsidence at the timestep :math:`n+1` (:math:`z_{exice}^{n+1}`, m) is then z_{exice}^{n+1}=\Sigma_{i=1}^{N_{levgrnd}} \ z_{j}^{',\ ,n+1}-z_{j}^{',\ ,n } -With regards to hydraulic counductivity, excess ground ice is treated the same way normal soil ice is treated in :numref:`Frozen Soils and Perched Water Table`. When a soil layer thaws, excess ground ice is only allowed to melt when no normals soil ice is present in the layer. When a soil layer refreezes, liquid soil water can only turn into normal soil ice, thus, no new of excess ice can be created but only melted. The excess liquid soil moisture from excess ice melt is distributed within the soil column according to :numref:`Lateral Sub-surface Runoff`. +With regards to hydraulic counductivity, excess ground ice is treated the same way normal soil +ice is treated in :numref:`Frozen Soils and Perched Water Table`. +When a soil layer thaws, excess ground ice is only allowed +to melt when no normals soil ice is present in the layer. +When a soil layer refreezes, liquid soil water can only turn into normal soil ice, thus, no new of excess ice can be created but only melted. +The excess liquid soil moisture from excess ice melt is distributed within the soil column according +to :numref:`Lateral Sub-surface Runoff`. + diff --git a/doc/source/tech_note/Surface_Albedos/CLM50_Tech_Note_Surface_Albedos.rst b/doc/source/tech_note/Surface_Albedos/CLM50_Tech_Note_Surface_Albedos.rst index 54c50486f1..4aee9dbcd5 100644 --- a/doc/source/tech_note/Surface_Albedos/CLM50_Tech_Note_Surface_Albedos.rst +++ b/doc/source/tech_note/Surface_Albedos/CLM50_Tech_Note_Surface_Albedos.rst @@ -8,7 +8,9 @@ Surface Albedos Canopy Radiative Transfer ----------------------------- -Radiative transfer within vegetative canopies is calculated from the two-stream approximation of :ref:`Dickinson (1983) ` and :ref:`Sellers (1985) ` as described by :ref:`Bonan (1996) ` +Radiative transfer within vegetative canopies is calculated from the +two-stream approximation of :ref:`Dickinson (1983) ` and +:ref:`Sellers (1985) ` as described by :ref:`Bonan (1996) ` .. math:: :label: 3.1 @@ -20,16 +22,44 @@ Radiative transfer within vegetative canopies is calculated from the two-stream \bar{\mu }\frac{dI\, \downarrow }{d\left(L+S\right)} +\left[1-\left(1-\beta \right)\omega \right]I\, \downarrow -\omega \beta I\, \uparrow =\omega \bar{\mu }K\left(1-\beta _{0} \right)e^{-K\left(L+S\right)} -where :math:`I\, \uparrow` and :math:`I\, \downarrow` are the upward and downward diffuse radiative fluxes per unit incident flux, :math:`K={G\left(\mu \right)\mathord{\left/ {\vphantom {G\left(\mu \right) \mu }} \right.} \mu }` is the optical depth of direct beam per unit leaf and stem area, :math:`\mu` is the cosine of the zenith angle of the incident beam, :math:`G\left(\mu \right)` is the relative projected area of leaf and stem elements in the direction :math:`\cos ^{-1} \mu`, :math:`\bar{\mu }` is the average inverse diffuse optical depth per unit leaf and stem area, :math:`\omega` is a scattering coefficient, :math:`\beta` and :math:`\beta _{0}` are upscatter parameters for diffuse and direct beam radiation, respectively, :math:`L` is the exposed leaf area index, and :math:`S` is the exposed stem area index (section :numref:`Phenology and vegetation burial by snow`). Given the direct beam albedo :math:`\alpha _{g,\, \Lambda }^{\mu }` and diffuse albedo :math:`\alpha _{g,\, \Lambda }` of the ground (section :numref:`Ground Albedos`), these equations are solved to calculate the fluxes, per unit incident flux, absorbed by the vegetation, reflected by the vegetation, and transmitted through the vegetation for direct and diffuse radiation and for visible (:math:`<` 0.7\ :math:`\mu {\rm m}`) and near-infrared (:math:`\geq` 0.7\ :math:`\mu {\rm m}`) wavebands. The absorbed radiation is partitioned to sunlit and shaded fractions of the canopy. The optical parameters :math:`G\left(\mu \right)`, :math:`\bar{\mu }`, :math:`\omega`, :math:`\beta`, and :math:`\beta _{0}` are calculated based on work in :ref:`Sellers (1985) ` as follows. - -The relative projected area of leaves and stems in the direction :math:`\cos ^{-1} \mu` is +where :math:`I\, \uparrow` and :math:`I\, \downarrow` are the upward +and downward diffuse radiative fluxes per unit incident flux, +:math:`K={G\left(\mu \right)\mathord{\left/ {\vphantom {G\left(\mu \right) \mu }} \right. \kern-\nulldelimiterspace} \mu }` +is the optical depth of direct beam per unit leaf and stem area, +:math:`\mu` is the cosine of the zenith angle of the incident beam, +:math:`G\left(\mu \right)` is the relative projected area of leaf and +stem elements in the direction :math:`\cos ^{-1} \mu` , +:math:`\bar{\mu }` is the average inverse diffuse optical depth per unit +leaf and stem area, :math:`\omega` is a scattering coefficient, +:math:`\beta` and :math:`\beta _{0}` are upscatter parameters for +diffuse and direct beam radiation, respectively, :math:`L` is the +exposed leaf area index , and :math:`S` is the exposed stem area index +(section :numref:`Phenology and vegetation burial by snow`). Given the +direct beam albedo :math:`\alpha _{g,\, \Lambda }^{\mu }` and diffuse albedo +:math:`\alpha _{g,\, \Lambda }` of the ground (section :numref:`Ground Albedos`), these +equations are solved to calculate the fluxes, per unit incident flux, +absorbed by the vegetation, reflected by the vegetation, and transmitted +through the vegetation for direct and diffuse radiation and for visible +(:math:`<` 0.7\ :math:`\mu {\rm m}`) and near-infrared +(:math:`\geq` 0.7\ :math:`\mu {\rm m}`) wavebands. The absorbed +radiation is partitioned to sunlit and shaded fractions of the canopy. +The optical parameters :math:`G\left(\mu \right)`, :math:`\bar{\mu }`, +:math:`\omega`, :math:`\beta`, and :math:`\beta _{0}` are calculated +based on work in :ref:`Sellers (1985) ` as follows. + +The relative projected area of leaves and stems in the direction +:math:`\cos ^{-1} \mu` is .. math:: :label: 3.3 G\left(\mu \right)=\phi _{1} +\phi _{2} \mu -where :math:`\phi _{1} ={\rm 0.5}-0.633\chi _{L} -0.33\chi _{L}^{2}` and :math:`\phi _{2} =0.877\left(1-2\phi _{1} \right)` for :math:`-0.4\le \chi _{L} \le 0.6`. :math:`\chi _{L}` is the departure of leaf angles from a random distribution and equals +1 for horizontal leaves, 0 for random leaves, and –1 for vertical leaves. +where :math:`\phi _{1} ={\rm 0.5}-0.633\chi _{L} -0.33\chi _{L}^{2}` +and :math:`\phi _{2} =0.877\left(1-2\phi _{1} \right)` for +:math:`-0.4\le \chi _{L} \le 0.6`. :math:`\chi _{L}` is the departure +of leaf angles from a random distribution and equals +1 for horizontal +leaves, 0 for random leaves, and –1 for vertical leaves. The average inverse diffuse optical depth per unit leaf and stem area is @@ -40,10 +70,17 @@ The average inverse diffuse optical depth per unit leaf and stem area is where :math:`\mu '` is the direction of the scattered flux. -The optical parameters :math:`\omega`, :math:`\beta`, and :math:`\beta _{0}`, which vary with wavelength (:math:`\Lambda` ), are weighted combinations of values for vegetation and snow, using the canopy snow-covered fraction :math:`f_{can,\, sno}` (Chapter :numref:`rst_Hydrology`). The optical parameters are +The optical parameters :math:`\omega`, :math:`\beta`, and :math:`\beta _{0}`, +which vary with wavelength (:math:`\Lambda` ), are weighted combinations of values +for vegetation and snow, using the canopy snow-covered fraction :math:`f_{can,\, sno}` +(Chapter :numref:`rst_Hydrology`). The optical parameters are + .. - The model determines that snow is on the canopy if :math:`T_{v} \le T_{f}`, where :math:`T_{v}` is the vegetation temperature (K) (Chapter :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`) and :math:`T_{f}` is the freezing temperature of water (K) (:numref:`Table Physical Constants`). In this case, the optical parameters are + The model determines that snow is on the canopy if + :math:`T_{v} \le T_{f}` , where :math:`T_{v}` is the vegetation temperature (K) (Chapter + :numref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`) and :math:`T_{f}` is the + freezing temperature of water (K) (:numref:`Table Physical Constants`). In this case, the optical parameters are .. math:: :label: 3.5 @@ -60,7 +97,9 @@ The optical parameters :math:`\omega`, :math:`\beta`, and :math:`\beta _{0}`, wh \omega _{\Lambda } \beta _{0,\, \Lambda } =\omega _{\Lambda }^{veg} \beta _{0,\, \Lambda }^{veg} \left(1-f_{can,\, sno} \right)+\omega _{\Lambda }^{sno} \beta _{0,\, \Lambda }^{sno} f_{can,\, sno} -The snow and vegetation weights are applied to the products :math:`\omega _{\Lambda } \beta _{\Lambda }` and :math:`\omega _{\Lambda } \beta _{0,\, \Lambda }` because these products are used in the two-stream equations. If there is no snow on the canopy, this reduces to +The snow and vegetation weights are applied to the products +:math:`\omega _{\Lambda } \beta _{\Lambda }` and :math:`\omega _{\Lambda } \beta _{0,\, \Lambda }` because these +products are used in the two-stream equations. If there is no snow on the canopy, this reduces to .. math:: :label: 3.8 @@ -77,14 +116,22 @@ The snow and vegetation weights are applied to the products :math:`\omega _{\Lam \omega _{\Lambda } \beta _{0,\, \Lambda } =\omega _{\Lambda }^{veg} \beta _{0,\, \Lambda }^{veg} . -For vegetation, :math:`\omega _{\Lambda }^{veg} =\alpha _{\Lambda } +\tau _{\Lambda }`. :math:`\alpha _{\Lambda }` is a weighted combination of the leaf and stem reflectances (:math:`\alpha _{\Lambda }^{leaf},\alpha _{\Lambda }^{stem}` ) +For vegetation, +:math:`\omega _{\Lambda }^{veg} =\alpha _{\Lambda } +\tau _{\Lambda }` . +:math:`\alpha _{\Lambda }` is a weighted combination of the leaf and +stem reflectances +(:math:`\alpha _{\Lambda }^{leaf} ,\alpha _{\Lambda }^{stem}` ) .. math:: :label: 3.11 \alpha _{\Lambda } =\alpha _{\Lambda }^{leaf} w_{leaf} +\alpha _{\Lambda }^{stem} w_{stem} -where :math:`w_{leaf} ={L\mathord{\left/ {\vphantom {L \left(L+S\right)}} \right.} \left(L+S\right)}` and :math:`w_{stem} ={S\mathord{\left/ {\vphantom {S \left(L+S\right)}} \right.} \left(L+S\right)}`. :math:`\tau _{\Lambda }` is a weighted combination of the leaf and stem transmittances (:math:`\tau _{\Lambda }^{leaf}, \tau _{\Lambda }^{stem}`) +where +:math:`w_{leaf} ={L\mathord{\left/ {\vphantom {L \left(L+S\right)}} \right. \kern-\nulldelimiterspace} \left(L+S\right)}` +and +:math:`w_{stem} ={S\mathord{\left/ {\vphantom {S \left(L+S\right)}} \right. \kern-\nulldelimiterspace} \left(L+S\right)}` . +:math:`\tau _{\Lambda }` is a weighted combination of the leaf and stem transmittances (:math:`\tau _{\Lambda }^{leaf}, \tau _{\Lambda }^{stem}`) .. math:: :label: 3.12 @@ -98,14 +145,33 @@ The upscatter for diffuse radiation is \omega _{\Lambda }^{veg} \beta _{\Lambda }^{veg} =\frac{1}{2} \left[\alpha _{\Lambda } +\tau _{\Lambda } +\left(\alpha _{\Lambda } -\tau _{\Lambda } \right)\cos ^{2} \bar{\theta }\right] -where :math:`\bar{\theta }` is the mean leaf inclination angle relative to the horizontal plane (i.e., the angle between leaf normal and local vertical) (:ref:`Sellers (1985) `). Here, :math:`\cos \bar{\theta }` is approximated by +where :math:`\bar{\theta }` is the mean leaf inclination angle relative +to the horizontal plane (i.e., the angle between leaf normal and local +vertical) (:ref:`Sellers (1985) `). Here, :math:`\cos \bar{\theta }` is +approximated by .. math:: :label: 3.14 \cos \bar{\theta }=\frac{1+\chi _{L} }{2} -Using this approximation, for vertical leaves (:math:`\chi _{L} =-1`, :math:`\bar{\theta }=90^{{\rm o}}` ), :math:`\omega _{\Lambda }^{veg} \beta _{\Lambda }^{veg} =0.5\left(\alpha _{\Lambda } +\tau _{\Lambda } \right)`, and for horizontal leaves (:math:`\chi _{L} =1`, :math:`\bar{\theta }=0^{{\rm o}}` ), :math:`\omega _{\Lambda }^{veg} \beta _{\Lambda }^{veg} =\alpha _{\Lambda }`, which agree with both :ref:`Dickinson (1983) ` and :ref:`Sellers (1985) `. For random (spherically distributed) leaves (:math:`\chi _{L} =0`, :math:`\bar{\theta }=60^{{\rm o}}` ), the approximation yields :math:`\omega _{\Lambda }^{veg} \beta _{\Lambda }^{veg} ={5\mathord{\left/ {\vphantom {5 8}} \right.} 8} \alpha _{\Lambda } +{3\mathord{\left/ {\vphantom {3 8}} \right.} 8} \tau _{\Lambda }` whereas the approximate solution of :ref:`Dickinson (1983) ` is :math:`\omega _{\Lambda }^{veg} \beta _{\Lambda }^{veg} ={2\mathord{\left/ {\vphantom {2 3}} \right.} 3} \alpha _{\Lambda } +{1\mathord{\left/ {\vphantom {1 3}} \right.} 3} \tau _{\Lambda }`. This discrepancy arises from the fact that a spherical leaf angle distribution has a true mean leaf inclination :math:`\bar{\theta }\approx 57` :ref:`(Campbell and Norman 1998) ` in equation, while :math:`\bar{\theta }=60` in equation. The upscatter for direct beam radiation is +Using this approximation, for vertical leaves (:math:`\chi _{L} =-1`, +:math:`\bar{\theta }=90^{{\rm o}}` ), +:math:`\omega _{\Lambda }^{veg} \beta _{\Lambda }^{veg} =0.5\left(\alpha _{\Lambda } +\tau _{\Lambda } \right)`, +and for horizontal leaves (:math:`\chi _{L} =1`, +:math:`\bar{\theta }=0^{{\rm o}}` ) , +:math:`\omega _{\Lambda }^{veg} \beta _{\Lambda }^{veg} =\alpha _{\Lambda }` , +which agree with both :ref:`Dickinson (1983) ` and :ref:`Sellers (1985) `. For random +(spherically distributed) leaves (:math:`\chi _{L} =0`, +:math:`\bar{\theta }=60^{{\rm o}}` ), the approximation yields +:math:`\omega _{\Lambda }^{veg} \beta _{\Lambda }^{veg} ={5\mathord{\left/ {\vphantom {5 8}} \right. \kern-\nulldelimiterspace} 8} \alpha _{\Lambda } +{3\mathord{\left/ {\vphantom {3 8}} \right. \kern-\nulldelimiterspace} 8} \tau _{\Lambda }` +whereas the approximate solution of :ref:`Dickinson (1983) ` is +:math:`\omega _{\Lambda }^{veg} \beta _{\Lambda }^{veg} ={2\mathord{\left/ {\vphantom {2 3}} \right. \kern-\nulldelimiterspace} 3} \alpha _{\Lambda } +{1\mathord{\left/ {\vphantom {1 3}} \right. \kern-\nulldelimiterspace} 3} \tau _{\Lambda }` . +This discrepancy arises from the fact that a spherical leaf angle +distribution has a true mean leaf inclination +:math:`\bar{\theta }\approx 57` :ref:`(Campbell and Norman 1998) ` in equation , +while :math:`\bar{\theta }=60` in equation . The upscatter for direct +beam radiation is .. math:: :label: 3.15 @@ -119,9 +185,12 @@ where the single scattering albedo is \begin{array}{rcl} {a_{s} \left(\mu \right)_{\Lambda } } & {=} & {\frac{\omega _{\Lambda }^{veg} }{2} \int _{0}^{1}\frac{\mu 'G\left(\mu \right)}{\mu G\left(\mu '\right)+\mu 'G\left(\mu \right)} d\mu '} \\ {} & {=} & {\frac{\omega _{\Lambda }^{veg} }{2} \frac{G\left(\mu \right)}{\max (\mu \phi _{2} +G\left(\mu \right),1e-6)} \left[1-\frac{\mu \phi _{1} }{\max (\mu \phi _{2} +G\left(\mu \right),1e-6)} \ln \left(\frac{\mu \phi _{1} +\max (\mu \phi _{2} +G\left(\mu \right),1e-6)}{\mu \phi _{1} } \right)\right].} \end{array} -Note here the restriction on :math:`\mu \phi _{2} +G\left(\mu \right)`. We have seen cases where small values can cause unrealistic single scattering albedo associated with the log calculation, thereby eventually causing a negative soil albedo. +Note here the restriction on :math:`\mu \phi _{2} +G\left(\mu \right)`. We have seen cases where small values +can cause unrealistic single scattering albedo associated with the log calculation, +thereby eventually causing a negative soil albedo. -The upward diffuse fluxes per unit incident direct beam and diffuse flux (i.e., the surface albedos) are +The upward diffuse fluxes per unit incident direct beam and diffuse flux +(i.e., the surface albedos) are .. math:: :label: 3.17 @@ -133,7 +202,8 @@ The upward diffuse fluxes per unit incident direct beam and diffuse flux (i.e., I\, \uparrow _{\Lambda } =h_{7} +h_{8} . -The downward diffuse fluxes per unit incident direct beam and diffuse radiation, respectively, are +The downward diffuse fluxes per unit incident direct beam and diffuse +radiation, respectively, are .. math:: :label: 3.19 @@ -145,7 +215,10 @@ The downward diffuse fluxes per unit incident direct beam and diffuse radiation, I\, \downarrow _{\Lambda } =h_{9} s_{1} +\frac{h_{10} }{s_{1} } . -With reference to :numref:`Figure Radiation Schematic`, the direct beam flux transmitted through the canopy, per unit incident flux, is :math:`e^{-K\left(L+S\right)}`, and the direct beam and diffuse fluxes absorbed by the vegetation, per unit incident flux, are +With reference to :numref:`Figure Radiation Schematic`, the direct beam flux transmitted through +the canopy, per unit incident flux, is :math:`e^{-K\left(L+S\right)}` , +and the direct beam and diffuse fluxes absorbed by the vegetation, per +unit incident flux, are .. math:: :label: 3.21 @@ -157,7 +230,10 @@ With reference to :numref:`Figure Radiation Schematic`, the direct beam flux tra \vec{I}_{\Lambda } =1-I\, \uparrow _{\Lambda } -\left(1-\alpha _{g,\, \Lambda } \right)I\, \downarrow _{\Lambda } . -These fluxes are partitioned to the sunlit and shaded canopy using an analytical solution to the two-stream approximation for sunlit and shaded leaves :ref:`(Dai et al. 2004) `, as described by :ref:`Bonan et al. (2011) `. The absorption of direct beam radiation by sunlit leaves is +These fluxes are partitioned to the sunlit and shaded canopy using an +analytical solution to the two-stream approximation for sunlit and +shaded leaves :ref:`(Dai et al. 2004) `, as described by :ref:`Bonan et al. (2011) `. +The absorption of direct beam radiation by sunlit leaves is .. math:: :label: 3.23 @@ -176,12 +252,12 @@ with .. math:: :label: 3.25 - a_{1} =\frac{h_{1} }{\sigma } \left[\frac{1-s_{2}^{2} }{2K} \right]+h_{2} \left[\frac{1-s_{2} s_{1} }{K+h} \right]+h_{3} \left[\frac{1-{s_{2} \mathord{\left/ {\vphantom {s_{2} s_{1} }} \right.} s_{1} } }{K-h} \right] + a_{1} =\frac{h_{1} }{\sigma } \left[\frac{1-s_{2}^{2} }{2K} \right]+h_{2} \left[\frac{1-s_{2} s_{1} }{K+h} \right]+h_{3} \left[\frac{1-{s_{2} \mathord{\left/ {\vphantom {s_{2} s_{1} }} \right. \kern-\nulldelimiterspace} s_{1} } }{K-h} \right] .. math:: :label: 3.26 - a_{2} =\frac{h_{4} }{\sigma } \left[\frac{1-s_{2}^{2} }{2K} \right]+h_{5} \left[\frac{1-s_{2} s_{1} }{K+h} \right]+h_{6} \left[\frac{1-{s_{2} \mathord{\left/ {\vphantom {s_{2} s_{1} }} \right.} s_{1} } }{K-h} \right]. + a_{2} =\frac{h_{4} }{\sigma } \left[\frac{1-s_{2}^{2} }{2K} \right]+h_{5} \left[\frac{1-s_{2} s_{1} }{K+h} \right]+h_{6} \left[\frac{1-{s_{2} \mathord{\left/ {\vphantom {s_{2} s_{1} }} \right. \kern-\nulldelimiterspace} s_{1} } }{K-h} \right]. For diffuse radiation, the absorbed radiation for sunlit leaves is @@ -202,14 +278,16 @@ with .. math:: :label: 3.29 - a_{1} =h_{7} \left[\frac{1-s_{2} s_{1} }{K+h} \right]+h_{8} \left[\frac{1-{s_{2} \mathord{\left/ {\vphantom {s_{2} s_{1} }} \right.} s_{1} } }{K-h} \right] + a_{1} =h_{7} \left[\frac{1-s_{2} s_{1} }{K+h} \right]+h_{8} \left[\frac{1-{s_{2} \mathord{\left/ {\vphantom {s_{2} s_{1} }} \right. \kern-\nulldelimiterspace} s_{1} } }{K-h} \right] .. math:: :label: 3.30 - a_{2} =h_{9} \left[\frac{1-s_{2} s_{1} }{K+h} \right]+h_{10} \left[\frac{1-{s_{2} \mathord{\left/ {\vphantom {s_{2} s_{1} }} \right.} s_{1} } }{K-h} \right]. + a_{2} =h_{9} \left[\frac{1-s_{2} s_{1} }{K+h} \right]+h_{10} \left[\frac{1-{s_{2} \mathord{\left/ {\vphantom {s_{2} s_{1} }} \right. \kern-\nulldelimiterspace} s_{1} } }{K-h} \right]. -The parameters :math:`h_{1}` –:math:`h_{10}`, :math:`\sigma`, :math:`h`, :math:`s_{1}`, and :math:`s_{2}` are from :ref:`Sellers (1985) ` [note the error in :math:`h_{4}` in :ref:`Sellers (1985) `]: +The parameters :math:`h_{1}` –:math:`h_{10}` , :math:`\sigma` , +:math:`h`, :math:`s_{1}` , and :math:`s_{2}` are from :ref:`Sellers (1985) ` +[note the error in :math:`h_{4}` in :ref:`Sellers (1985) `]: .. math:: :label: 3.31 @@ -244,7 +322,7 @@ The parameters :math:`h_{1}` –:math:`h_{10}`, :math:`\sigma`, :math:`h`, :math .. math:: :label: 3.37 - u_{1} =b-{c\mathord{\left/ {\vphantom {c \alpha _{g,\, \Lambda }^{\mu } }} \right.} \alpha _{g,\, \Lambda }^{\mu } } {\rm \; or\; }u_{1} =b-{c\mathord{\left/ {\vphantom {c \alpha _{g,\, \Lambda } }} \right.} \alpha _{g,\, \Lambda } } + u_{1} =b-{c\mathord{\left/ {\vphantom {c \alpha _{g,\, \Lambda }^{\mu } }} \right. \kern-\nulldelimiterspace} \alpha _{g,\, \Lambda }^{\mu } } {\rm \; or\; }u_{1} =b-{c\mathord{\left/ {\vphantom {c \alpha _{g,\, \Lambda } }} \right. \kern-\nulldelimiterspace} \alpha _{g,\, \Lambda } } .. math:: :label: 3.38 @@ -346,7 +424,13 @@ The parameters :math:`h_{1}` –:math:`h_{10}`, :math:`\sigma`, :math:`h`, :math h_{10} =\frac{-s_{1} \left(u_{2} -\bar{\mu }h\right)}{d_{2} } . -Plant functional type optical properties (:numref:`Table Plant functional type optical properties`) for trees and shrubs are from :ref:`Dorman and Sellers (1989) `. Leaf and stem optical properties (VIS and NIR reflectance and transmittance) were derived for grasslands and crops from full optical range spectra of measured optical properties (:ref:`Asner et al. 1998 `). Optical properties for intercepted snow (:numref:`Table Intercepted snow optical properties`) are from :ref:`Sellers et al. (1986) `. +Plant functional type optical properties (:numref:`Table Plant functional type optical properties`) +for trees and shrubs are from :ref:`Dorman and Sellers (1989) `. Leaf and stem optical +properties (VIS and NIR reflectance and transmittance) were derived +for grasslands and crops from full optical range spectra of measured +optical properties (:ref:`Asner et al. 1998 `). Optical properties for +intercepted snow (:numref:`Table Intercepted snow optical properties`) are from +:ref:`Sellers et al. (1986) `. .. _Table Plant functional type optical properties: @@ -425,7 +509,9 @@ Plant functional type optical properties (:numref:`Table Plant functional type o Ground Albedos ------------------ -The overall direct beam :math:`\alpha _{g,\, \Lambda }^{\mu }` and diffuse :math:`\alpha _{g,\, \Lambda }` ground albedos are weighted combinations of "soil" and snow albedos +The overall direct beam :math:`\alpha _{g,\, \Lambda }^{\mu }` and diffuse +:math:`\alpha _{g,\, \Lambda }` ground albedos are weighted +combinations of “soil” and snow albedos .. math:: :label: 3.58 @@ -437,15 +523,19 @@ The overall direct beam :math:`\alpha _{g,\, \Lambda }^{\mu }` and diffuse :math \alpha _{g,\, \Lambda } =\alpha _{soi,\, \Lambda } \left(1-f_{sno} \right)+\alpha _{sno,\, \Lambda } f_{sno} -where :math:`f_{sno}` is the fraction of the ground covered with snow (section :numref:`Snow Covered Area Fraction`). +where :math:`f_{sno}` is the fraction of the ground covered with snow +(section :numref:`Snow Covered Area Fraction`). -:math:`\alpha _{soi,\, \Lambda }^{\mu }` and :math:`\alpha _{soi,\, \Lambda }` vary with glacier, lake, and soil surfaces. Glacier albedos are from :ref:`Paterson (1994) ` +:math:`\alpha _{soi,\, \Lambda }^{\mu }` and +:math:`\alpha _{soi,\, \Lambda }` vary with glacier, lake, and +soil surfaces. Glacier albedos are from :ref:`Paterson (1994) ` .. math:: \alpha _{soi,\, vis}^{\mu } =\alpha _{soi,\, vis} =0.6 .. math:: \alpha _{soi,\, nir}^{\mu } =\alpha _{soi,\, nir} =0.4. -Unfrozen lake albedos depend on the cosine of the solar zenith angle :math:`\mu` +Unfrozen lake albedos depend on the cosine of the solar +zenith angle :math:`\mu` .. math:: :label: 3.60 @@ -465,9 +555,31 @@ As in NCAR LSM (:ref:`Bonan 1996 `), soil albedos vary with color cla \alpha _{soi,\, \Lambda }^{\mu } =\alpha _{soi,\, \Lambda } =\left(\alpha _{sat,\, \Lambda } +\Delta \right)\le \alpha _{dry,\, \Lambda } -where :math:`\Delta` depends on the volumetric water content of the first soil layer :math:`\theta _{1}` (section :numref:`Soil Water`) as :math:`\Delta =0.11-0.40\theta _{1} >0`, and :math:`\alpha _{sat,\, \Lambda }` and :math:`\alpha _{dry,\, \Lambda }` are albedos for saturated and dry soil color classes (:numref:`Table Dry and saturated soil albedos`). - -CLM soil colors are prescribed so that they best reproduce observed MODIS local solar noon surface albedo values at the CLM grid cell following the methods of :ref:`Lawrence and Chase (2007) `. The soil colors are fitted over the range of 20 soil classes shown in :numref:`Table Dry and saturated soil albedos` and compared to the MODIS monthly local solar noon all-sky surface albedo as described in :ref:`Strahler et al. (1999) ` and :ref:`Schaaf et al. (2002) `. The CLM two-stream radiation model was used to calculate the model equivalent surface albedo using climatological monthly soil moisture along with the vegetation parameters of PFT fraction, LAI, and SAI. The soil color that produced the closest all-sky albedo in the two-stream radiation model was selected as the best fit for the month. The fitted monthly soil colors were averaged over all snow-free months to specify a representative soil color for the grid cell. In cases where there was no snow-free surface albedo for the year, the soil color derived from snow-affected albedo was used to give a representative soil color that included the effects of the minimum permanent snow cover. +where :math:`\Delta` depends on the volumetric water content of the +first soil layer :math:`\theta _{1}` (section :numref:`Soil Water`) as +:math:`\Delta =0.11-0.40\theta _{1} >0`, and +:math:`\alpha _{sat,\, \Lambda }` and +:math:`\alpha _{dry,\, \Lambda }` are albedos for saturated and dry +soil color classes (:numref:`Table Dry and saturated soil albedos`). + +CLM soil colors are prescribed so that they best reproduce observed +MODIS local solar noon surface albedo values at the CLM grid cell +following the methods of :ref:`Lawrence and Chase (2007) `. +The soil colors are fitted over the range of 20 soil classes shown in +:numref:`Table Dry and saturated soil albedos` and compared +to the MODIS monthly local solar noon all-sky surface albedo as +described in :ref:`Strahler et al. (1999) ` and +:ref:`Schaaf et al. (2002) `. The CLM +two-stream radiation model was used to calculate the model equivalent +surface albedo using climatological monthly soil moisture along with the +vegetation parameters of PFT fraction, LAI, and SAI. The soil color that +produced the closest all-sky albedo in the two-stream radiation model +was selected as the best fit for the month. The fitted monthly soil +colors were averaged over all snow-free months to specify a +representative soil color for the grid cell. In cases where there was no +snow-free surface albedo for the year, the soil color derived from +snow-affected albedo was used to give a representative soil color that +included the effects of the minimum permanent snow cover. .. _Table Dry and saturated soil albedos: @@ -504,9 +616,32 @@ CLM soil colors are prescribed so that they best reproduce observed MODIS local Snow Albedo ^^^^^^^^^^^^^^^^^ -Snow albedo and solar absorption within each snow layer are simulated with the Snow, Ice, and Aerosol Radiative Model (SNICAR), which incorporates a two-stream radiative transfer solution from :ref:`Toon et al. (1989) `. Albedo and the vertical absorption profile depend on solar zenith angle, albedo of the substrate underlying snow, mass concentrations of atmospheric-deposited aerosols (black carbon, mineral dust, and organic carbon), and ice effective grain size (:math:`r_{e}`), which is simulated with a snow aging routine described in section :numref:`Snow Aging`. Representation of impurity mass concentrations within the snowpack is described in section :numref:`Black and organic carbon and mineral dust within snow`. Implementation of SNICAR in CLM is also described somewhat by :ref:`Flanner and Zender (2005) ` and :ref:`Flanner et al. (2007) `. - -The two-stream solution requires the following bulk optical properties for each snow layer and spectral band: extinction optical depth (:math:`\tau`), single-scatter albedo (:math:`\omega`), and scattering asymmetry parameter (*g*). The snow layers used for radiative calculations are identical to snow layers applied elsewhere in CLM, except for the case when snow mass is greater than zero but no snow layers exist. When this occurs, a single radiative layer is specified to have the column snow mass and an effective grain size of freshly-fallen snow (section :numref:`Snow Aging`). The bulk optical properties are weighted functions of each constituent *k*, computed for each snow layer and spectral band as +Snow albedo and solar absorption within each snow layer are simulated +with the Snow, Ice, and Aerosol Radiative Model (SNICAR), which +incorporates a two-stream radiative transfer solution from +:ref:`Toon et al. (1989) `. Albedo and the vertical absorption +profile depend on solar zenith angle, albedo of the substrate underlying snow, mass +concentrations of atmospheric-deposited aerosols (black carbon, mineral +dust, and organic carbon), and ice effective grain size +(:math:`r_{e}`), which is simulated with a snow aging routine +described in section :numref:`Snow Aging`. Representation of impurity mass +concentrations within the snowpack is described in section +:numref:`Black and organic carbon and mineral dust within snow`. +Implementation of SNICAR in CLM is also described somewhat by +:ref:`Flanner and Zender (2005) ` and +:ref:`Flanner et al. (2007) `. + +The two-stream solution requires the following bulk optical properties +for each snow layer and spectral band: extinction optical depth +(:math:`\tau`), single-scatter albedo (:math:`\omega`), and +scattering asymmetry parameter (*g*). The snow layers used for radiative +calculations are identical to snow layers applied elsewhere in CLM, +except for the case when snow mass is greater than zero but no snow +layers exist. When this occurs, a single radiative layer is specified to +have the column snow mass and an effective grain size of freshly-fallen +snow (section :numref:`Snow Aging`). The bulk optical properties are weighted functions +of each constituent *k*, computed for each snow layer and spectral band +as .. math:: :label: 3.62 @@ -523,14 +658,44 @@ The two-stream solution requires the following bulk optical properties for each g=\frac{\sum _{1}^{k}g_{k} \omega _{k} \tau _{k} }{\sum _{1}^{k}\omega _{k} \tau _{k} } -For each constituent (ice, two black carbon species, two organic carbon species, and four dust species), :math:`\omega`, *g*, and the mass extinction cross-section :math:`\psi` (m\ :sup:`2` kg\ :sub:`-1`) are computed offline with Mie Theory, e.g., applying the computational technique from :ref:`Bohren and Huffman (1983) `. The extinction optical depth for each constituent depends on its mass extinction cross-section and layer mass, :math:`w _{k}` (kg\ m\ :sup:`-1`) as +For each constituent (ice, two black carbon species, two organic carbon species, and +four dust species), :math:`\omega`, *g*, and the mass extinction cross-section +:math:`\psi` (m\ :sup:`2` kg\ :sub:`-1`) are computed offline with Mie Theory, e.g., +applying the computational technique from :ref:`Bohren and Huffman (1983) `. +The extinction optical depth for each constituent depends on its mass extinction +cross-section and layer mass, :math:`w _{k}` (kg\ m\ :sup:`-1`) as .. math:: :label: 3.65 \tau _{k} =\psi _{k} w_{k} -The two-stream solution (:ref:`Toon et al. (1989) `) applies a tri-diagonal matrix solution to produce upward and downward radiative fluxes at each layer interface, from which net radiation, layer absorption, and surface albedo are easily derived. Solar fluxes are computed in five spectral bands, listed in :numref:`Table Spectral bands and weights used for snow radiative transfer`. Because snow albedo varies strongly across the solar spectrum, it was determined that four bands were needed to accurately represent the near-infrared (NIR) characteristics of snow, whereas only one band was needed for the visible spectrum. Boundaries of the NIR bands were selected to capture broad radiative features and maximize accuracy and computational efficiency. We partition NIR (0.7-5.0 :math:`\mu` m) surface downwelling flux from CLM according to the weights listed in :numref:`Table Spectral bands and weights used for snow radiative transfer`, which are unique for diffuse and direct incident flux. These fixed weights were determined with offline hyperspectral radiative transfer calculations for an atmosphere typical of mid-latitude winter (:ref:`Flanner et al. (2007) `). The tri-diagonal solution includes intermediate terms that allow for easy interchange of two-stream techniques. We apply the Eddington solution for the visible band (following :ref:`Wiscombe and Warren 1980 `) and the hemispheric mean solution ((:ref:`Toon et al. (1989) `) for NIR bands. These choices were made because the Eddington scheme works well for highly scattering media, but can produce negative albedo for absorptive NIR bands with diffuse incident flux. Delta scalings are applied to :math:`\tau`, :math:`\omega`, and :math:`g` (:ref:`Wiscombe and Warren 1980 `) in all spectral bands, producing effective values (denoted with *) that are applied in the two-stream solution +The two-stream solution (:ref:`Toon et al. (1989) `) applies a tri-diagonal matrix +solution to produce upward and downward radiative fluxes at each layer +interface, from which net radiation, layer absorption, and surface +albedo are easily derived. Solar fluxes are computed in five spectral +bands, listed in :numref:`Table Spectral bands and weights used for snow radiative transfer`. +Because snow albedo varies strongly across +the solar spectrum, it was determined that four bands were needed to +accurately represent the near-infrared (NIR) characteristics of snow, +whereas only one band was needed for the visible spectrum. Boundaries of +the NIR bands were selected to capture broad radiative features and +maximize accuracy and computational efficiency. We partition NIR (0.7-5.0 +:math:`\mu` m) surface downwelling flux from CLM according to the weights listed +in :numref:`Table Spectral bands and weights used for snow radiative transfer`, +which are unique for diffuse and direct incident flux. These fixed weights were +determined with offline hyperspectral radiative transfer calculations for an +atmosphere typical of mid-latitude winter (:ref:`Flanner et al. (2007) `). +The tri-diagonal solution includes intermediate terms that allow for easy +interchange of two-stream techniques. We apply the Eddington solution +for the visible band (following :ref:`Wiscombe and Warren 1980 `) and the +hemispheric mean solution ((:ref:`Toon et al. (1989) `) for NIR bands. These +choices were made because the Eddington scheme works well for highly +scattering media, but can produce negative albedo for absorptive NIR +bands with diffuse incident flux. Delta scalings are applied to +:math:`\tau`, :math:`\omega`, and :math:`g` (:ref:`Wiscombe and Warren 1980 `) in +all spectral bands, producing effective values (denoted with \*) that +are applied in the two-stream solution .. math:: :label: 3.66 @@ -565,41 +730,105 @@ The two-stream solution (:ref:`Toon et al. (1989) `) applies a tri | Band 5: 1.5-5.0\ :math:`\mu`\ m (near-IR) | 0.204 | 0.103 | +---------------------------------------------------------+----------------------+------------------+ -Under direct-beam conditions, singularities in the radiative approximation are occasionally approached in spectral bands 4 and 5 that produce unrealistic conditions (negative energy absorption in a layer, negative albedo, or total absorbed flux greater than incident flux). When any of these three conditions occur, the Eddington approximation is attempted instead, and if both approximations fail, the cosine of the solar zenith angle is adjusted by 0.02 (conserving incident flux) and a warning message is produced. This situation occurs in only about 1 in 10 :sup:`6` computations of snow albedo. After looping over the five spectral bands, absorption fluxes and albedo are averaged back into the bulk NIR band used by the rest of CLM. - -Soil albedo (or underlying substrate albedo), which is defined for visible and NIR bands, is a required boundary condition for the snow radiative transfer calculation. Currently, the bulk NIR soil albedo is applied to all four NIR snow bands. With ground albedo as a lower boundary condition, SNICAR simulates solar absorption in all snow layers as well as the underlying soil or ground. With a thin snowpack, penetrating solar radiation to the underlying soil can be quite large and heat cannot be released from the soil to the atmosphere in this situation. Thus, if the snowpack has total snow depth less than 0.1 m (:math:`z_{sno} < 0.1`) and there are no explicit snow layers, the solar radiation is absorbed by the top soil layer. If there is a single snow layer, the solar radiation is absorbed in that layer. If there is more than a single snow layer, 75% of the solar radiation is absorbed in the top snow layer, and 25% is absorbed in the next lowest snow layer. This prevents unrealistic soil warming within a single timestep. - -The radiative transfer calculation is performed twice for each column containing a mass of snow greater than :math:`1 \times 10^{-30}` kg\ m\ :sup:`-2` (excluding lake and urban columns); once each for direct-beam and diffuse incident flux. Absorption in each layer :math:`i` of pure snow is initially recorded as absorbed flux per unit incident flux on the ground (:math:`S_{sno,\, i}` ), as albedos must be calculated for the next timestep with unknown incident flux. The snow absorption fluxes that are used for column temperature calculations are - -.. math:: - :label: ZEqnNum275338 +Under direct-beam conditions, singularities in the radiative +approximation are occasionally approached in spectral bands 4 and 5 that +produce unrealistic conditions (negative energy absorption in a layer, +negative albedo, or total absorbed flux greater than incident flux). +When any of these three conditions occur, the Eddington approximation is +attempted instead, and if both approximations fail, the cosine of the +solar zenith angle is adjusted by 0.02 (conserving incident flux) and a +warning message is produced. This situation occurs in only about 1 in +10 :sup:`6` computations of snow albedo. After looping over the +five spectral bands, absorption fluxes and albedo are averaged back into +the bulk NIR band used by the rest of CLM. + +Soil albedo (or underlying substrate albedo), which is defined for +visible and NIR bands, is a required boundary condition for the snow +radiative transfer calculation. Currently, the bulk NIR soil albedo is +applied to all four NIR snow bands. With ground albedo as a lower +boundary condition, SNICAR simulates solar absorption in all snow layers +as well as the underlying soil or ground. With a thin snowpack, +penetrating solar radiation to the underlying soil can be quite large +and heat cannot be released from the soil to the atmosphere in this +situation. Thus, if the snowpack has total snow depth less than 0.1 m +(:math:`z_{sno} < 0.1`) and there are no explicit snow layers, the solar +radiation is absorbed by the top soil layer. If there is a single snow layer, +the solar radiation is absorbed in that layer. If there is more than a single +snow layer, 75% of the solar radiation is absorbed in the top snow layer, +and 25% is absorbed in the next lowest snow layer. This prevents unrealistic +soil warming within a single timestep. + +The radiative transfer calculation is performed twice for each column +containing a mass of snow greater than +:math:`1 \times 10^{-30}` kg\ m\ :sup:`-2` (excluding lake and urban columns); once each for +direct-beam and diffuse incident flux. Absorption in each layer +:math:`i` of pure snow is initially recorded as absorbed flux per unit +incident flux on the ground (:math:`S_{sno,\, i}` ), as albedos must be +calculated for the next timestep with unknown incident flux. The snow +absorption fluxes that are used for column temperature calculations are + +.. math:: + :label: ZEqnNum275338 S_{g,\, i} =S_{sno,\, i} \left(1-\alpha _{sno} \right) -This weighting is performed for direct-beam and diffuse, visible and NIR fluxes. After the ground-incident fluxes (transmitted through the vegetation canopy) have been calculated for the current time step (sections :numref:`Canopy Radiative Transfer` and :numref:`Solar Fluxes`), the layer absorption factors (:math:`S_{g,\, i}`) are multiplied by the ground-incident fluxes to produce solar absorption (W m\ :sup:`-2`) in each snow layer and the underlying ground. +This weighting is performed for direct-beam and diffuse, visible and NIR +fluxes. After the ground-incident fluxes (transmitted through the +vegetation canopy) have been calculated for the current time step +(sections :numref:`Canopy Radiative Transfer` and :numref:`Solar Fluxes`), +the layer absorption factors + +(:math:`S_{g,\, i}`) are multiplied by the ground-incident fluxes to +produce solar absorption (W m\ :sup:`-2`) in each snow layer and +the underlying ground. .. _Snowpack Optical Properties: Snowpack Optical Properties ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Ice optical properties for the five spectral bands are derived offline and stored in a namelist-defined lookup table for online retrieval (see CLM5.0 User's Guide). Mie properties are first computed at fine spectral resolution (470 bands), and are then weighted into the five bands applied by CLM according to incident solar flux, :math:`I^{\downarrow } (\lambda )`. For example, the broadband mass-extinction cross section (:math:`\bar{\psi }`) over wavelength interval :math:`\lambda _{1}` to :math:`\lambda _{2}` is +Ice optical properties for the five spectral bands are derived offline +and stored in a namelist-defined lookup table for online retrieval (see +CLM5.0 User’s Guide). Mie properties are first computed at fine spectral +resolution (470 bands), and are then weighted into the five bands +applied by CLM according to incident solar flux, +:math:`I^{\downarrow } (\lambda )`. For example, the broadband +mass-extinction cross section (:math:`\bar{\psi }`) over wavelength +interval :math:`\lambda _{1}` to :math:`\lambda _{2}` is .. math:: :label: 3.70 \bar{\psi }=\frac{\int _{\lambda _{1} }^{\lambda _{2} }\psi \left(\lambda \right) I^{\downarrow } \left(\lambda \right){\rm d}\lambda }{\int _{\lambda _{1} }^{\lambda _{2} }I^{\downarrow } \left(\lambda \right){\rm d}\lambda } -Broadband single-scatter albedo (:math:`\bar{\omega }`) is additionally weighted by the diffuse albedo for a semi-infinite snowpack (:math:`\alpha _{sno}`) +Broadband single-scatter albedo (:math:`\bar{\omega }`) is additionally +weighted by the diffuse albedo for a semi-infinite snowpack (:math:`\alpha _{sno}`) .. math:: :label: 3.71 \bar{\omega }=\frac{\int _{\lambda _{1} }^{\lambda _{2} }\omega (\lambda )I^{\downarrow } ( \lambda )\alpha _{sno} (\lambda ){\rm d}\lambda }{\int _{\lambda _{1} }^{\lambda _{2} }I^{\downarrow } ( \lambda )\alpha _{sno} (\lambda ){\rm d}\lambda } -Inclusion of this additional albedo weight was found to improve accuracy of the five-band albedo solutions (relative to 470-band solutions) because of the strong dependence of optically-thick snowpack albedo on ice grain single-scatter albedo (:ref:`Flanner et al. (2007) `). The lookup tables contain optical properties for lognormal distributions of ice particles over the range of effective radii: 30\ :math:`\mu`\ m :math:`< r _{e} < \text{1500} \mu \text{m}`, at 1 :math:`\mu` m resolution. Single-scatter albedos for the end-members of this size range are listed in :numref:`Table Single-scatter albedo values used for snowpack impurities and ice`. - -Optical properties for black carbon are described in :ref:`Flanner et al. (2007) `. Single-scatter albedo, mass extinction cross-section, and asymmetry parameter values for all snowpack species, in the five spectral bands used, are listed in :numref:`Table Single-scatter albedo values used for snowpack impurities and ice`, :numref:`Table Mass extinction values`, and :numref:`Table Asymmetry scattering parameters used for snowpack impurities and ice`. These properties were also derived with Mie Theory, using various published sources of indices of refraction and assumptions about particle size distribution. Weighting into the five CLM spectral bands was determined only with incident solar flux, as in equation. +Inclusion of this additional albedo weight was found to improve accuracy +of the five-band albedo solutions (relative to 470-band solutions) +because of the strong dependence of optically-thick snowpack albedo on +ice grain single-scatter albedo (:ref:`Flanner et al. (2007) `). +The lookup tables contain optical properties for lognormal distributions of ice +particles over the range of effective radii: 30\ :math:`\mu`\ m +:math:`< r _{e} < \text{1500} \mu \text{m}`, at 1 :math:`\mu` m resolution. +Single-scatter albedos for the end-members of this size range are listed in +:numref:`Table Single-scatter albedo values used for snowpack impurities and ice`. + +Optical properties for black carbon are described in :ref:`Flanner et al. (2007) `. +Single-scatter albedo, mass extinction cross-section, and +asymmetry parameter values for all snowpack species, in the five +spectral bands used, are listed in :numref:`Table Single-scatter albedo values used for snowpack impurities and ice`, +:numref:`Table Mass extinction values`, and +:numref:`Table Asymmetry scattering parameters used for snowpack impurities and ice`. +These properties were also derived with Mie Theory, using various published +sources of indices of refraction and assumptions about particle size +distribution. Weighting into the five CLM spectral bands was determined +only with incident solar flux, as in equation . .. _Table Single-scatter albedo values used for snowpack impurities and ice: @@ -690,109 +919,209 @@ Optical properties for black carbon are described in :ref:`Flanner et al. (2007) Snow Aging ^^^^^^^^^^^^^^^^ -Snow aging is represented as evolution of the ice effective grain size (:math:`r_{e}`). Previous studies have shown that use of spheres which conserve the surface area-to-volume ratio (or specific surface area) of ice media composed of more complex shapes produces relatively small errors in simulated hemispheric fluxes (e.g., :ref:`Grenfell and Warren 1999 `). Effective radius is the surface area-weighted mean radius of an ensemble of spherical particles and is directly related to specific surface area (*SSA*) as :math:`r_{e} ={3\mathord{\left/ {\vphantom {3 \left(\rho _{ice} SSA\right)}} \right.} \left(\rho _{ice} SSA\right)}`, where :math:`\rho_{ice}` is the density of ice. Hence, :math:`r_{e}` is a simple and practical metric for relating the snowpack microphysical state to dry snow radiative characteristics. - -Wet snow processes can also drive rapid changes in albedo. The presence of liquid water induces rapid coarsening of the surrounding ice grains (e.g., :ref:`Brun 1989 `), and liquid water tends to refreeze into large ice clumps that darken the bulk snowpack. The presence of small liquid drops, by itself, does not significantly darken snowpack, as ice and water have very similar indices of refraction throughout the solar spectrum. Pooled or ponded water, however, can significantly darken snowpack by greatly reducing the number of refraction events per unit mass. This influence is not currently accounted for. - -The net change in effective grain size occurring each time step is represented in each snow layer as a summation of changes caused by dry snow metamorphism (:math:`dr_{e,dry}`), liquid water-induced metamorphism (:math:`dr_{e,wet}`), refreezing of liquid water, and addition of freshly-fallen snow. The mass of each snow layer is partitioned into fractions of snow carrying over from the previous time step (:math:`f_{old}`), freshly-fallen snow (:math:`f_{new}`), and refrozen liquid water (:math:`f_{rfz}`), such that snow :math:`r_{e}` is updated each time step *t* as +Snow aging is represented as evolution of the ice effective grain size +(:math:`r_{e}`). Previous studies have shown that use of spheres +which conserve the surface area-to-volume ratio (or specific surface +area) of ice media composed of more complex shapes produces relatively +small errors in simulated hemispheric fluxes +(e.g., :ref:`Grenfell and Warren 1999 `). +Effective radius is the surface area-weighted mean +radius of an ensemble of spherical particles and is directly related to specific +surface area (*SSA*) as +:math:`r_{e} ={3\mathord{\left/ {\vphantom {3 \left(\rho _{ice} SSA\right)}} \right. \kern-\nulldelimiterspace} \left(\rho _{ice} SSA\right)}` , +where :math:`\rho_{ice}` is the density of ice. Hence, +:math:`r_{e}` is a simple and practical metric for relating the +snowpack microphysical state to dry snow radiative characteristics. + +Wet snow processes can also drive rapid changes in albedo. The presence +of liquid water induces rapid coarsening of the surrounding ice grains +(e.g., :ref:`Brun 1989 `), and liquid water tends to refreeze into large ice +clumps that darken the bulk snowpack. The presence of small liquid +drops, by itself, does not significantly darken snowpack, as ice and +water have very similar indices of refraction throughout the solar +spectrum. Pooled or ponded water, however, can significantly darken +snowpack by greatly reducing the number of refraction events per unit +mass. This influence is not currently accounted for. + +The net change in effective grain size occurring each time step is +represented in each snow layer as a summation of changes caused by dry +snow metamorphism (:math:`dr_{e,dry}`), liquid water-induced +metamorphism (:math:`dr_{e,wet}`), refreezing of liquid water, and +addition of freshly-fallen snow. The mass of each snow layer is +partitioned into fractions of snow carrying over from the previous time +step (:math:`f_{old}`), freshly-fallen snow +(:math:`f_{new}`), and refrozen liquid water +(:math:`f_{rfz}`), such that snow :math:`r_{e}` is updated +each time step *t* as .. math:: :label: 3.72 r_{e} \left(t\right)=\left[r_{e} \left(t-1\right)+dr_{e,\, dry} +dr_{e,\, wet} \right]f_{old} +r_{e,\, 0} f_{new} +r_{e,\, rfz} f_{rfrz} -Here, the effective radius of freshly-fallen snow (:math:`r_{e,0}`) is based on a simple linear temperature-relationship. Below -30 degrees Celsius, a minimum value is enforced of 54.5 :math:`\mu` m (corresponding to a specific surface area of 60 m\ :sup:`2` kg\ :sup:`-1`). Above 0 degrees Celsius, a maximum value is enforced of 204.5 :math:`\mu` m. Between -30 and 0 a linear ramp is used. +Here, the effective radius of freshly-fallen snow +(:math:`r_{e,0}`) is based on a simple linear temperature-relationship. +Below -30 degrees Celsius, a minimum value is enforced of 54.5 :math:`\mu` m +(corresponding to a specific surface area of 60 m\ :sup:`2` kg\ :sup:`-1`). +Above 0 degrees Celsius, a maximum value is enforced of 204.5 :math:`\mu` m. +Between -30 and 0 a linear ramp is used. The effective radius of refrozen liquid water (:math:`r_{e,rfz}`) is set to 1000\ :math:`\mu` m. -Dry snow aging is based on a microphysical model described by :ref:`Flanner and Zender (2006) `. This model simulates diffusive vapor flux amongst collections of ice crystals with various size and inter-particle spacing. Specific surface area and effective radius are prognosed for any combination of snow temperature, temperature gradient, density, and initial size distribution. The combination of warm snow, large temperature gradient, and low density produces the most rapid snow aging, whereas aging proceeds slowly in cold snow, regardless of temperature gradient and density. Because this model is currently too computationally expensive for inclusion in climate models, we fit parametric curves to model output over a wide range of snow conditions and apply these parameters in CLM. The functional form of the parametric equation is +Dry snow aging is based on a microphysical model described by :ref:`Flanner +and Zender (2006) `. This model simulates diffusive vapor flux +amongst collections of ice crystals with various size and inter-particle +spacing. Specific surface area and effective radius are prognosed for +any combination of snow temperature, temperature gradient, density, and +initial size distribution. The combination of warm snow, large +temperature gradient, and low density produces the most rapid snow +aging, whereas aging proceeds slowly in cold snow, regardless of +temperature gradient and density. Because this model is currently too +computationally expensive for inclusion in climate models, we fit +parametric curves to model output over a wide range of snow conditions +and apply these parameters in CLM. The functional form of the parametric +equation is .. math:: :label: 3.73 - \frac{dr_{e,\, dry} }{dt} =\left(\frac{dr_{e} }{dt} \right)_{0} \left(\frac{\eta }{\left(r_{e} -r_{e,\, 0} \right)+\eta } \right)^{{1\mathord{\left/ {\vphantom {1 \kappa }} \right.} \kappa } } + \frac{dr_{e,\, dry} }{dt} =\left(\frac{dr_{e} }{dt} \right)_{0} \left(\frac{\eta }{\left(r_{e} -r_{e,\, 0} \right)+\eta } \right)^{{1\mathord{\left/ {\vphantom {1 \kappa }} \right. \kern-\nulldelimiterspace} \kappa } } -The parameters :math:`{(\frac{dr_{e}}{dt}})_{0}`, :math:`\eta`, and :math:`\kappa` are retrieved interactively from a lookup table with dimensions corresponding to snow temperature, temperature gradient, and density. The domain covered by this lookup table includes temperature ranging from 223 to 273 K, temperature gradient ranging from 0 to 300 K m\ :sup:`-1`, and density ranging from 50 to 400 kg m\ :sup:`-3`. Temperature gradient is calculated at the midpoint of each snow layer *n*, using mid-layer temperatures (:math:`T_{n}`) and snow layer thicknesses (:math:`dz_{n}`), as +The parameters :math:`{(\frac{dr_{e}}{dt}})_{0}`, +:math:`\eta`, and :math:`\kappa` are retrieved interactively from a +lookup table with dimensions corresponding to snow temperature, +temperature gradient, and density. The domain covered by this lookup +table includes temperature ranging from 223 to 273 K, temperature +gradient ranging from 0 to 300 K m\ :sup:`-1`, and density ranging +from 50 to 400 kg m\ :sup:`-3`. Temperature gradient is calculated +at the midpoint of each snow layer *n*, using mid-layer temperatures +(:math:`T_{n}`) and snow layer thicknesses (:math:`dz_{n}`), as .. math:: :label: 3.74 \left(\frac{dT}{dz} \right)_{n} =\frac{1}{dz_{n} } abs\left[\frac{T_{n-1} dz_{n} +T_{n} dz_{n-1} }{dz_{n} +dz_{n-1} } +\frac{T_{n+1} dz_{n} +T_{n} dz_{n+1} }{dz_{n} +dz_{n+1} } \right] -For the bottom snow layer (:math:`n=0`), :math:`T_{n+1}` is taken as the temperature of the top soil layer, and for the top snow layer it is assumed that :math:`T_{n-1}` = :math:`T_{n}`. +For the bottom snow layer (:math:`n=0`), +:math:`T_{n+1}` is taken as the temperature of the +top soil layer, and for the top snow layer it is assumed that +:math:`T_{n-1}` = :math:`T_{n}`. -The contribution of liquid water to enhanced metamorphism is based on parametric equations published by :ref:`Brun (1989) `, who measured grain growth rates under different liquid water contents. This relationship, expressed in terms of :math:`r_{e} (\mu \text{m})` and subtracting an offset due to dry aging, depends on the mass liquid water fraction :math:`f_{liq}` as +The contribution of liquid water to enhanced metamorphism is based on +parametric equations published by :ref:`Brun (1989) `, who measured grain +growth rates under different liquid water contents. This relationship, +expressed in terms of :math:`r_{e} (\mu \text{m})` and +subtracting an offset due to dry aging, depends on the mass liquid water +fraction :math:`f_{liq}` as .. math:: :label: 3.75 \frac{dr_{e} }{dt} =\frac{10^{18} C_{1} f_{liq} ^{3} }{4\pi r_{e} ^{2} } -The constant *C*\ :sub:`1` is 4.22\ :math:`\times`\ 10\ :sup:`-13`, and: :math:`f_{liq} =w_{liq} /(w_{liq} +w_{ice} )`\ (Chapter :numref:`rst_Snow Hydrology`). +The constant *C*\ :sub:`1` is 4.22\ :math:`\times`\ 10\ :sup:`-13`, and: +:math:`f_{liq} =w_{liq} /(w_{liq} +w_{ice} )`\ (Chapter :numref:`rst_Snow Hydrology`). -In cases where snow mass is greater than zero, but a snow layer has not yet been defined, :math:`r_{e}` is set to :math:`r_{e,0}`. When snow layers are combined or divided, :math:`r_{e}` is calculated as a mass-weighted mean of the two layers, following computations of other state variables (section :numref:`Snow Layer Combination and Subdivision`). Finally, the allowable range of :math:`r_{e}`, corresponding to the range over which Mie optical properties have been defined, is 30-1500\ :math:`\mu` m. +In cases where snow mass is greater than zero, but a snow layer has not +yet been defined, :math:`r_{e}` is set to :math:`r_{e,0}`. When snow layers are combined or +divided, :math:`r_{e}` is calculated as a mass-weighted mean of +the two layers, following computations of other state variables (section +:numref:`Snow Layer Combination and Subdivision`). Finally, the allowable range of :math:`r_{e}`, +corresponding to the range over which Mie optical properties have been +defined, is 30-1500\ :math:`\mu` m. .. _Solar Zenith Angle: Solar Zenith Angle ---------------------- -The CLM uses the same formulation for solar zenith angle as the Community Atmosphere Model. The cosine of the solar zenith angle :math:`\mu` is +The CLM uses the same formulation for solar zenith angle as the +Community Atmosphere Model. The cosine of the solar zenith angle +:math:`\mu` is .. math:: :label: 3.76 \mu =\sin \phi \sin \delta -\cos \phi \cos \delta \cos h -where :math:`h` is the solar hour angle (radians) (24 hour periodicity), :math:`\delta` is the solar declination angle (radians), and :math:`\phi` is latitude (radians) (positive in Northern Hemisphere). The solar hour angle :math:`h` (radians) is +where :math:`h` is the solar hour angle (radians) (24 hour periodicity), +:math:`\delta` is the solar declination angle (radians), and +:math:`\phi` is latitude (radians) (positive in Northern Hemisphere). +The solar hour angle :math:`h` (radians) is .. math:: :label: 3.77 h=2\pi d+\theta -where :math:`d` is calendar day (:math:`d=0.0` at 0Z on January 1), and :math:`\theta` is longitude (radians) (positive east of the Greenwich meridian). +where :math:`d` is calendar day (:math:`d=0.0` at 0Z on January 1), and +:math:`\theta` is longitude (radians) (positive east of the +Greenwich meridian). -The solar declination angle :math:`\delta` is calculated as in :ref:`Berger (1978a,b) ` and is valid for one million years past or hence, relative to 1950 A.D. The orbital parameters may be specified directly or the orbital parameters are calculated for the desired year. The required orbital parameters to be input by the user are the obliquity of the Earth :math:`\varepsilon` (degrees, :math:`-90^{\circ } <\varepsilon <90^{\circ }` ), Earth's eccentricity :math:`e` (:math:`0.0`)). The solar declination :math:`\delta` (radians) is +The solar declination angle :math:`\delta` is calculated as in :ref:`Berger +(1978a,b) ` and is valid for one million years past or hence, relative to +1950 A.D. The orbital parameters may be specified directly or the +orbital parameters are calculated for the desired year. The required +orbital parameters to be input by the user are the obliquity of the +Earth :math:`\varepsilon` (degrees, +:math:`-90^{\circ } <\varepsilon <90^{\circ }` ), Earth’s eccentricity +:math:`e` (:math:`0.0`)). The +solar declination :math:`\delta` (radians) is .. math:: :label: 3.78 \delta =\sin ^{-1} \left[\sin \left(\varepsilon \right)\sin \left(\lambda \right)\right] -where :math:`\varepsilon` is Earth's obliquity and :math:`\lambda` is the true longitude of the Earth. +where :math:`\varepsilon` is Earth’s obliquity and :math:`\lambda` is +the true longitude of the Earth. -The obliquity of the Earth :math:`\varepsilon` (degrees) is +The obliquity of the Earth :math:`\varepsilon` (degrees) is .. math:: :label: 3.79 \varepsilon =\varepsilon *+\sum _{i=1}^{i=47}A_{i} \cos \left(f_{i} t+\delta _{i} \right) -where :math:`\varepsilon *` is a constant of integration (:numref:`Table Orbital parameters`), :math:`A_{i}`, :math:`f_{i}`, and :math:`\delta _{i}` are amplitude, mean rate, and phase terms in the cosine series expansion (:ref:`Berger (1978a,b) `, and :math:`t=t_{0} -1950` where :math:`t_{0}` is the year. The series expansion terms are not shown here but can be found in the source code file shr\_orb\_mod.F90. +where :math:`\varepsilon *` is a constant of integration (:numref:`Table Orbital parameters`), +:math:`A_{i}` , :math:`f_{i}` , and :math:`\delta _{i}` are amplitude, +mean rate, and phase terms in the cosine series expansion (:ref:`Berger +(1978a,b) `, and :math:`t=t_{0} -1950` where :math:`t_{0}` is the year. +The series expansion terms are not shown here but can be found in the +source code file shr\_orb\_mod.F90. -The true longitude of the Earth :math:`\lambda` (radians) is counted counterclockwise from the vernal equinox (:math:`\lambda =0` at the vernal equinox) +The true longitude of the Earth :math:`\lambda` (radians) is counted +counterclockwise from the vernal equinox (:math:`\lambda =0` at the +vernal equinox) .. math:: :label: 3.80 \lambda =\lambda _{m} +\left(2e-\frac{1}{4} e^{3} \right)\sin \left(\lambda _{m} -\tilde{\omega }\right)+\frac{5}{4} e^{2} \sin 2\left(\lambda _{m} -\tilde{\omega }\right)+\frac{13}{12} e^{3} \sin 3\left(\lambda _{m} -\tilde{\omega }\right) -where :math:`\lambda _{m}` is the mean longitude of the Earth at the vernal equinox, :math:`e` is Earth's eccentricity, and :math:`\tilde{\omega }` is the longitude of the perihelion relative to the moving vernal equinox. The mean longitude :math:`\lambda _{m}` is +where :math:`\lambda _{m}` is the mean longitude of the Earth at the +vernal equinox, :math:`e` is Earth’s eccentricity, and +:math:`\tilde{\omega }` is the longitude of the perihelion relative to +the moving vernal equinox. The mean longitude :math:`\lambda _{m}` is .. math:: :label: 3.81 \lambda _{m} =\lambda _{m0} +\frac{2\pi \left(d-d_{ve} \right)}{365} -where :math:`d_{ve} =80.5` is the calendar day at vernal equinox (March 21 at noon), and +where :math:`d_{ve} =80.5` is the calendar day at vernal equinox (March +21 at noon), and .. math:: :label: 3.82 \lambda _{m0} =2\left[\left(\frac{1}{2} e+\frac{1}{8} e^{3} \right)\left(1+\beta \right)\sin \tilde{\omega }-\frac{1}{4} e^{2} \left(\frac{1}{2} +\beta \right)\sin 2\tilde{\omega }+\frac{1}{8} e^{3} \left(\frac{1}{3} +\beta \right)\sin 3\tilde{\omega }\right] -where :math:`\beta =\sqrt{1-e^{2} }`. Earth's eccentricity :math:`e` is +where :math:`\beta =\sqrt{1-e^{2} }` . Earth’s eccentricity :math:`e` +is .. math:: :label: 3.83 @@ -806,35 +1135,54 @@ where \begin{array}{l} {e^{\cos } =\sum _{j=1}^{19}M_{j} \cos \left(g_{j} t+B_{j} \right) ,} \\ {e^{\sin } =\sum _{j=1}^{19}M_{j} \sin \left(g_{j} t+B_{j} \right) } \end{array} -are the cosine and sine series expansions for :math:`e`, and :math:`M_{j}`, :math:`g_{j}`, and :math:`B_{j}` are amplitude, mean rate, and phase terms in the series expansions (:ref:`Berger (1978a,b) `). The longitude of the perihelion relative to the moving vernal equinox :math:`\tilde{\omega }` (degrees) is +are the cosine and sine series expansions for :math:`e`, and +:math:`M_{j}` , :math:`g_{j}` , and :math:`B_{j}` are amplitude, mean +rate, and phase terms in the series expansions (:ref:`Berger (1978a,b) `). The +longitude of the perihelion relative to the moving vernal equinox +:math:`\tilde{\omega }` (degrees) is .. math:: :label: 3.85 \tilde{\omega }=\Pi \frac{180}{\pi } +\psi -where :math:`\Pi` is the longitude of the perihelion measured from the reference vernal equinox (i.e., the vernal equinox at 1950 A.D.) and describes the absolute motion of the perihelion relative to the fixed stars, and :math:`\psi` is the annual general precession in longitude and describes the absolute motion of the vernal equinox along Earth's orbit relative to the fixed stars. The general precession :math:`\psi` (degrees) is +where :math:`\Pi` is the longitude of the perihelion measured from the +reference vernal equinox (i.e., the vernal equinox at 1950 A.D.) and +describes the absolute motion of the perihelion relative to the fixed +stars, and :math:`\psi` is the annual general precession in longitude +and describes the absolute motion of the vernal equinox along Earth’s +orbit relative to the fixed stars. The general precession :math:`\psi` +(degrees) is .. math:: :label: 3.86 \psi =\frac{\tilde{\psi }t}{3600} +\zeta +\sum _{i=1}^{78}F_{i} \sin \left(f_{i} ^{{'} } t+\delta _{i} ^{{'} } \right) -where :math:`\tilde{\psi }` (arcseconds) and :math:`\zeta` (degrees) are constants (:numref:`Table Orbital parameters`), and :math:`F_{i}`, :math:`f_{i} ^{{'} }`, and :math:`\delta _{i} ^{{'} }` are amplitude, mean rate, and phase terms in the sine series expansion (:ref:`Berger (1978a,b) `)). The longitude of the perihelion :math:`\Pi` (radians) depends on the sine and cosine series expansions for the eccentricity :math:`e`\ as follows: +where :math:`\tilde{\psi }` (arcseconds) and :math:`\zeta` (degrees) +are constants (:numref:`Table Orbital parameters`), and :math:`F_{i}` , :math:`f_{i} ^{{'} }` , +and :math:`\delta _{i} ^{{'} }` are amplitude, mean rate, and phase +terms in the sine series expansion (:ref:`Berger (1978a,b) `)). The longitude of +the perihelion :math:`\Pi` (radians) depends on the sine and cosine +series expansions for the eccentricity :math:`e`\ as follows: .. math:: :label: 3.87 - \Pi =\left\{\begin{array}{lr} - 0 & \qquad {\rm for\; -1}\times {\rm 10}^{{\rm -8}} \le e^{\cos } \le 1\times 10^{-8} {\rm \; and\; }e^{\sin } = 0 \\ - 1.5\pi & \qquad {\rm for\; -1}\times {\rm 10}^{{\rm -8}} \le e^{\cos } \le 1\times 10^{-8} {\rm \; and\; }e^{\sin } < 0 \\ - 0.5\pi & \qquad {\rm for\; -1}\times {\rm 10}^{{\rm -8}} \le e^{\cos } \le 1\times 10^{-8} {\rm \; and\; }e^{\sin } > 0 \\ - \tan ^{-1} \left[\frac{e^{\sin } }{e^{\cos } } \right]+\pi & \qquad {\rm for\; }e^{\cos } <{\rm -1}\times {\rm 10}^{{\rm -8}} \\ - \tan ^{-1} \left[\frac{e^{\sin } }{e^{\cos } } \right]+2\pi & \qquad {\rm for\; }e^{\cos } >{\rm 1}\times {\rm 10}^{{\rm -8}} {\rm \; and\; }e^{\sin } <0 \\ - \tan ^{-1} \left[\frac{e^{\sin } }{e^{\cos } } \right] & \qquad {\rm for\; }e^{\cos } >{\rm 1}\times {\rm 10}^{{\rm -8}} {\rm \; and\; }e^{\sin } \ge 0 + \Pi =\left\{\begin{array}{lr} + 0 & \qquad {\rm for\; -1}\times {\rm 10}^{{\rm -8}} \le e^{\cos } \le 1\times 10^{-8} {\rm \; and\; }e^{\sin } = 0 \\ + 1.5\pi & \qquad {\rm for\; -1}\times {\rm 10}^{{\rm -8}} \le e^{\cos } \le 1\times 10^{-8} {\rm \; and\; }e^{\sin } < 0 \\ + 0.5\pi & \qquad {\rm for\; -1}\times {\rm 10}^{{\rm -8}} \le e^{\cos } \le 1\times 10^{-8} {\rm \; and\; }e^{\sin } > 0 \\ + \tan ^{-1} \left[\frac{e^{\sin } }{e^{\cos } } \right]+\pi & \qquad {\rm for\; }e^{\cos } <{\rm -1}\times {\rm 10}^{{\rm -8}} \\ + \tan ^{-1} \left[\frac{e^{\sin } }{e^{\cos } } \right]+2\pi & \qquad {\rm for\; }e^{\cos } >{\rm 1}\times {\rm 10}^{{\rm -8}} {\rm \; and\; }e^{\sin } <0 \\ + \tan ^{-1} \left[\frac{e^{\sin } }{e^{\cos } } \right] & \qquad {\rm for\; }e^{\cos } >{\rm 1}\times {\rm 10}^{{\rm -8}} {\rm \; and\; }e^{\sin } \ge 0 \end{array}\right\}. -The numerical solution for the longitude of the perihelion :math:`\tilde{\omega }` is constrained to be between 0 and 360 degrees (measured from the autumn equinox). A constant 180 degrees is then added to :math:`\tilde{\omega }` because the Sun is considered as revolving around the Earth (geocentric coordinate system) (:ref:`Berger et al. 1993 `)). +The numerical solution for the longitude of the perihelion +:math:`\tilde{\omega }` is constrained to be between 0 and 360 degrees +(measured from the autumn equinox). A constant 180 degrees is then added +to :math:`\tilde{\omega }` because the Sun is considered as revolving +around the Earth (geocentric coordinate system) (:ref:`Berger et al. 1993 `)). .. _Table Orbital parameters: diff --git a/doc/source/tech_note/Transient_Landcover/CLM50_Tech_Note_Transient_Landcover.rst b/doc/source/tech_note/Transient_Landcover/CLM50_Tech_Note_Transient_Landcover.rst index c221a14d28..de7ef86173 100644 --- a/doc/source/tech_note/Transient_Landcover/CLM50_Tech_Note_Transient_Landcover.rst +++ b/doc/source/tech_note/Transient_Landcover/CLM50_Tech_Note_Transient_Landcover.rst @@ -3,35 +3,116 @@ Transient Land Use and Land Cover Change ======================================== -CLM includes a treatment of mass and energy fluxes associated with prescribed temporal land use and land cover change (LULCC). The model uses an annual time series of the spatial distribution of the natural and crop land units of each grid cell, in combination with the distribution of PFTs and CFTs that exist in those land units. Additional land use is prescribed through annual crop-specific management of nitrogen fertilizer and irrigation (described further in :numref:`rst_Crops and Irrigation`), and through wood harvest on tree PFTs. For changes in the distributions of natural and crop vegetation, CLM diagnoses the change in area of the PFTs and CFTs on January 1 of each model year and then performs mass and energy balance accounting necessary to represent the expansion and contraction of the PFT and CFT areas. The biogeophysical impacts of LULCC are simulated through changes in surface properties which in turn impact the surface albedo, hydrology, and roughness which then impact fluxes of energy, moisture and momentum to the atmosphere under the altered properties. Additionally, changes in energy and moisture associated with changes in the natural and crop vegetation distribution are accounted for through small fluxes to the river and atmosphere. The biogeochemical impacts of LULCC are simulated through changes in CLM carbon pools and fluxes (see also Chapter :numref:`rst_CN Pools`). - -CLM can also respond to changes in ice sheet areas and elevations when it is coupled to an evolving ice sheet model (in the CESM context, this is the Community Ice Sheet Model, CISM; see also Chapter :numref:`rst_Glaciers`). Conservation of water, energy, carbon and nitrogen is handled similarly for glacier-vegetation transitions as for natural vegetation-crop transitions. +CLM includes a treatment of mass and energy fluxes associated with +prescribed temporal land use and land cover change (LULCC). The model +uses an annual time series of the spatial distribution of the natural +and crop land units of each grid cell, in combination with the +distribution of PFTs and CFTs that exist in those land units. Additional +land use is prescribed through annual crop-specific management of +nitrogen fertilizer and irrigation (described further in +:numref:`rst_Crops and Irrigation`), and through wood harvest on tree +PFTs. For changes in the distributions of natural and crop vegetation, +CLM diagnoses the change in area of the PFTs and CFTs on January 1 of +each model year and then performs mass and energy balance accounting +necessary to represent the expansion and contraction of the PFT and CFT +areas. The biogeophysical impacts of LULCC are simulated through changes +in surface properties which in turn impact the surface albedo, +hydrology, and roughness which then impact fluxes of energy, moisture +and momentum to the atmosphere under the altered +properties. Additionally, changes in energy and moisture associated with +changes in the natural and crop vegetation distribution are accounted +for through small fluxes to the river and atmosphere. The biogeochemical +impacts of LULCC are simulated through changes in CLM carbon pools and +fluxes (see also Chapter :numref:`rst_CN Pools`). + +CLM can also respond to changes in ice sheet areas and elevations when +it is coupled to an evolving ice sheet model (in the CESM context, this +is the Community Ice Sheet Model, CISM; see also Chapter +:numref:`rst_Glaciers`). Conservation of water, energy, carbon and +nitrogen is handled similarly for glacier-vegetation transitions as for +natural vegetation-crop transitions. .. _Transient land use and land cover data: Annual Transient Land Use and Land Cover Data --------------------------------------------- -The changes in area over time associated with changes in natural and crop vegetation and the land use on that vegetation are prescribed through a forcing dataset, referred to here as the *landuse.timeseries* dataset. The *landuse.timeseries* dataset consists of an annual time series of global grids, where each annual time slice describes the fractional area occupied by all PFTs and CFTs along with the nitrogen fertilizer and irrigation fraction of each crop CFT, and the annual wood harvest applied to tree PFTs. Changes in area of PFTs and CFTs are performed annually on the first time step of January 1 of the year. Wood harvest for each PFT is also performed on the first time step of the year. Fertilizer application and irrigation for each CFT are performed at each model time step depending on rules from the crop model. Fertilizer application rates are set annually. The irrigation fraction is also set annually; irrigated crops are placed on separate columns from their unirrigated counterparts, so changes in irrigated fraction triggers the changes in subgrid areas discussed below (sections :numref:`Transient landcover reconciling changes in area` and :numref:`Transient landcover mass and energy conservation`). - -As a special case, when the time dimension of the *landuse.timeseries* dataset starts at a later year than the current model time step, the first time slice from the *landuse.timeseries* dataset is used to represent the current time step PFT and CFT fractional area distributions. Similarly, when the time dimension of the *landuse.timeseries* dataset stops at an earlier year than the current model time step, the last time slice of the *landuse.timeseries* dataset is used. Thus, the simulation will have invariant representations of PFT and CFT distributions through time for the periods prior to and following the time duration of the *landuse.timeseries* dataset, with transient PFT and CFT distributions during the period covered by the *landuse.timeseries* dataset. +The changes in area over time associated with changes in natural and crop vegetation and +the land use on that vegetation are prescribed through a forcing dataset, referred to here +as the *landuse.timeseries* dataset. The *landuse.timeseries* dataset consists of an +annual time series of global grids, where each annual time slice describes the fractional +area occupied by all PFTs and CFTs along with the nitrogen fertilizer and irrigation +fraction of each crop CFT, and the annual wood harvest applied to tree PFTs. Changes in +area of PFTs and CFTs are performed annually on the first time step of January 1 of the +year. Wood harvest for each PFT is also performed on the first time step of the +year. Fertilizer application and irrigation for each CFT are performed at each model time +step depending on rules from the crop model. Fertilizer application rates are set +annually. The irrigation fraction is also set annually; irrigated crops are placed on +separate columns from their unirrigated counterparts, so changes in irrigated fraction +triggers the changes in subgrid areas discussed below (sections :numref:`Transient +landcover reconciling changes in area` and :numref:`Transient landcover mass and energy +conservation`). + +As a special case, when the time dimension of the *landuse.timeseries* dataset starts at a +later year than the current model time step, the first time slice from the +*landuse.timeseries* dataset is used to represent the current time step PFT and CFT +fractional area distributions. Similarly, when the time dimension of the +*landuse.timeseries* dataset stops at an earlier year than the current model time step, +the last time slice of the *landuse.timeseries* dataset is used. Thus, the simulation will +have invariant representations of PFT and CFT distributions through time for the periods +prior to and following the time duration of the *landuse.timeseries* dataset, with +transient PFT and CFT distributions during the period covered by the *landuse.timeseries* +dataset. .. _Transient landcover reconciling changes in area: Reconciling Changes in Area --------------------------- -In the first time step of January 1, changes in land unit weights can potentially come from two sources: Changes in the area of the crop land unit come from the *landuse.timeseries* dataset (section :numref:`Transient land use and land cover data`), and changes in the area of the glacier land unit come from the ice sheet model. The areas of other land units are then adjusted so that the total land unit area remains 100%. - -If the total land unit area of glaciers and crops has decreased, then the natural vegetated landunit is increased to fill in the abandoned land. If the total land unit area of glaciers and crops has increased, then other land unit areas are decreased in a specified order until the total is once again 100%. The order of decrease is: natural vegetation, crop, urban medium density, urban high density, urban tall building district, wetland, lake. +In the first time step of January 1, changes in land unit weights can +potentially come from two sources: Changes in the area of the crop land +unit come from the *landuse.timeseries* dataset (section +:numref:`Transient land use and land cover data`), and changes in the +area of the glacier land unit come from the ice sheet model. The areas +of other land units are then adjusted so that the total land unit area +remains 100%. + +If the total land unit area of glaciers and crops has decreased, then +the natural vegetated landunit is increased to fill in the abandoned +land. If the total land unit area of glaciers and crops has increased, +then other land unit areas are decreased in a specified order until the +total is once again 100%. The order of decrease is: natural vegetation, +crop, urban medium density, urban high density, urban tall building +district, wetland, lake. These rules have two important implications: -1. We always match CISM's glacier areas exactly, even if that means a disagreement with prescribed crop areas. This is needed for conservation when CISM is evolving in two-way-coupled mode. - -2. For land units other than crop, glacier and natural vegetation, their areas can decrease (due to encroaching crops or glaciers), but can never increase. So, for example, if a grid cell starts as 5% lake, crops expand to fill the entire grid cell, then later crop area decreases, the lake area will not return: instead, the abandoned cropland will become entirely natural vegetation. - -For all levels of the subgrid hierarchy (land unit, column and patch), we only track net changes in area, not gross transitions. So, for example, if part of a gridcell experiences an increase in glacier area while another part of that gridcell experiences an equal decrease in glacier area (in the same glacier elevation class), CLM acts as if there were no changes. As another example, consider a gridcell containing natural vegetation, crop and glacier. If there is a decrease in glacier area and an equal increase in crop area, CLM will assume that the crop expands into the old glacier area, and nothing happened to the natural vegetation area. A more realistic alternative would be that the crop expanded into natural vegetation, and natural vegetation expanded into glacier. The final areas will be correct in these cases, but the adjustments of carbon and nitrogen states (section :numref:`Transient landcover carbon and nitrogen conservation`) will be less accurate than what would be obtained with a full tracking of gross transitions. +1. We always match CISM's glacier areas exactly, even if that means a + disagreement with prescribed crop areas. This is needed for + conservation when CISM is evolving in two-way-coupled mode. + +2. For land units other than crop, glacier and natural vegetation, their + areas can decrease (due to encroaching crops or glaciers), but can + never increase. So, for example, if a grid cell starts as 5% lake, + crops expand to fill the entire grid cell, then later crop area + decreases, the lake area will not return: instead, the abandoned + cropland will become entirely natural vegetation. + +For all levels of the subgrid hierarchy (land unit, column and patch), +we only track net changes in area, not gross transitions. So, for +example, if part of a gridcell experiences an increase in glacier area +while another part of that gridcell experiences an equal decrease in +glacier area (in the same glacier elevation class), CLM acts as if there +were no changes. As another example, consider a gridcell containing +natural vegetation, crop and glacier. If there is a decrease in glacier +area and an equal increase in crop area, CLM will assume that the crop +expands into the old glacier area, and nothing happened to the natural +vegetation area. A more realistic alternative would be that the crop +expanded into natural vegetation, and natural vegetation expanded into +glacier. The final areas will be correct in these cases, but the +adjustments of carbon and nitrogen states (section :numref:`Transient +landcover carbon and nitrogen conservation`) will be less accurate than what +would be obtained with a full tracking of gross transitions. .. _Transient landcover mass and energy conservation: @@ -43,48 +124,149 @@ Mass and Energy Conservation Water and Energy Conservation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -When subgrid areas change, the water and energy states remain unchanged on a per-area basis. This can lead to changes in the total gridcell water and energy content. - -For example, consider a gridcell with two columns: column 1 has a water mass of 1 kg m\ :sup:`-2` and column 2 has a water mass of 2 kg m\ :sup:`-2` for a given water state variable, where these are expressed per unit column area. If column 1 increases in area at the expense of column 2, then column 1 will still have a water mass of 1 kg m\ :sup:`-2`, but now expressed over the new column area. This results in a decrease in the total gridcell water content. - -Water and energy are conserved by summing up the total water and energy content of each gridcell before and after a change in area. Differences in liquid and ice water content are balanced by liquid and ice runoff terms, which can be either positive or negative. (Negative runoff is effectively a withdrawal of water from the ocean.) Differences in energy content are balanced by a sensible heat flux term, which again can be either positive or negative. These balancing fluxes are spread evenly throughout the following year. - -There is a special case when a given crop column type newly comes into existence - for example, when temperate corn first comes into existence in a gridcell. In this case, the column's below-ground temperature and water states are copied from the natural vegetated column in its gridcell, so that these state variables begin in a close-to-spun-up state. Other state variables (most of which spin up relatively quickly) begin at their cold start initialization values. This initialization is not necessary for the two other land unit types that currently can grow - natural vegetation and glacier: Those land unit types are always active, even when they have zero area on the gridcell, so their state variables will be spun up immediately when they come into existence. After this initialization, the conservation code described above takes effect. +When subgrid areas change, the water and energy states remain unchanged +on a per-area basis. This can lead to changes in the total gridcell +water and energy content. + +For example, consider a gridcell with two columns: column 1 has a water +mass of 1 kg m\ :sup:`-2` and column 2 has a water mass of 2 kg m\ +:sup:`-2` for a given water state variable, where these are expressed +per unit column area. If column 1 increases in area at the expense of +column 2, then column 1 will still have a water mass of 1 kg m\ +:sup:`-2`, but now expressed over the new column area. This results in a +decrease in the total gridcell water content. + +Water and energy are conserved by summing up the total water and energy +content of each gridcell before and after a change in area. Differences +in liquid and ice water content are balanced by liquid and ice runoff +terms, which can be either positive or negative. (Negative runoff is +effectively a withdrawal of water from the ocean.) Differences in energy +content are balanced by a sensible heat flux term, which again can be +either positive or negative. These balancing fluxes are spread evenly +throughout the following year. + +There is a special case when a given crop column type newly comes into +existence - for example, when temperate corn first comes into existence +in a gridcell. In this case, the column's below-ground temperature and +water states are copied from the natural vegetated column in its +gridcell, so that these state variables begin in a close-to-spun-up +state. Other state variables (most of which spin up relatively quickly) +begin at their cold start initialization values. This initialization is +not necessary for the two other land unit types that currently can +grow - natural vegetation and glacier: Those land unit types are always +active, even when they have zero area on the gridcell, so their state +variables will be spun up immediately when they come into +existence. After this initialization, the conservation code described +above takes effect. .. _Transient landcover carbon and nitrogen conservation: Carbon and Nitrogen Conservation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Because of the long timescales involved with below-ground carbon and nitrogen dynamics, it is more important that these state variables be adjusted properly when subgrid areas change. Carbon and nitrogen variables are adjusted with the following three-step process: - -(1) Patch-level (i.e., vegetation) state variables are adjusted for any changes in patch areas; this may lead to fluxes into column-level (i.e., soil) state variables (2) Column-level (i.e., soil) state variables are updated based on the fluxes generated in (1) - -(3) Column-level (i.e., soil) state variables are adjusted for any changes in column areas First, patch-level (i.e., vegetation) state variables are adjusted for any changes in patch areas. This includes changes in column or land unit areas, even if the relative proportions of each patch remain constant: the relevant quantities are the patch weights relative to the gridcell. - -For a patch that decreases in area, the carbon and nitrogen density on the remaining patch area remains the same as before (i.e., expressed as g per m\ :sup:`2` patch area). Because the area has decreased, this represents a decrease in total carbon or nitrogen mass (i.e., expressed as g per m\ :sup:`2` gridcell area). The lost mass meets a variety of fates: some is immediately lost to the atmosphere, some is sent to product pools (which are lost to the atmosphere over longer time scales), and some is sent to litter pools. - -For a patch that increases in area, the carbon and nitrogen density on the new patch area is decreased in order to conserve mass. This decrease is basically proportional to the relative increase in patch area. However, a small amount of seed carbon and nitrogen is added to the leaf and dead stem pools in the new patch area. - -Next, column-level (i.e., soil) state variables are updated based on any fluxes to soil pools due to decreases in patch areas. This step is needed so that any lost vegetation carbon and nitrogen is conserved when column areas are changing. - -Finally, column-level state variables are adjusted for any changes in column areas. Similarly to patches, for a column that decreases in area, the carbon and nitrogen density on the remaining column area remains the same as before (i.e., expressed as g per m\ :sup:`2` column area). This represents a decrease in total carbon or nitrogen mass on the gridcell, and this lost mass is tracked for each gridcell. After these mass losses are summed for all shrinking columns, they are distributed amongst the growing columns in order to conserve mass. Thus, a growing column's new carbon density will be a weighted sum of its original carbon density and the carbon densities of all shrinking columns in its gridcell. - -This operation makes some simplifying assumptions. First, as described in section :numref:`Transient landcover reconciling changes in area`, we only track net area changes, not gross changes. Second, we assume that growing columns all grow proportionally into each of the shrinking columns. - -Non-vegetated land units (e.g., glacier) do not typically track soil carbon and nitrogen. When columns from these land units initially shrink, they are assumed to contribute zero carbon and nitrogen. However, when they grow into previously-vegetated areas, they store any pre-existing soil carbon and nitrogen from the shrinking columns. This stored carbon and nitrogen will remain unchanged until the column later shrinks, at which point it will contribute to the carbon and nitrogen in the growing columns (exactly as would happen for a vegetated column). - -In contrast to water and energy (section :numref:`Transient landcover water and energy conservation`), no special treatment is needed for carbon and nitrogen states in columns that newly come into existence. The state of a new column is derived from a weighted average of the states of shrinking columns. This behavior falls out from the above general rules. +Because of the long timescales involved with below-ground carbon and +nitrogen dynamics, it is more important that these state variables be +adjusted properly when subgrid areas change. Carbon and nitrogen +variables are adjusted with the following three-step process: + +(1) Patch-level (i.e., vegetation) state variables are adjusted for any + changes in patch areas; this may lead to fluxes into column-level + (i.e., soil) state variables + +(2) Column-level (i.e., soil) state variables are updated based on the + fluxes generated in (1) + +(3) Column-level (i.e., soil) state variables are adjusted for any + changes in column areas + +First, patch-level (i.e., vegetation) state variables are adjusted for +any changes in patch areas. This includes changes in column or land unit +areas, even if the relative proportions of each patch remain constant: +the relevant quantities are the patch weights relative to the +gridcell. + +For a patch that decreases in area, the carbon and nitrogen density on +the remaining patch area remains the same as before (i.e., expressed as +g per m\ :sup:`2` patch area). Because the area has decreased, this +represents a decrease in total carbon or nitrogen mass (i.e., expressed +as g per m\ :sup:`2` gridcell area). The lost mass meets a variety of +fates: some is immediately lost to the atmosphere, some is sent to +product pools (which are lost to the atmosphere over longer time +scales), and some is sent to litter pools. + +For a patch that increases in area, the carbon and nitrogen density on +the new patch area is decreased in order to conserve mass. This decrease +is basically proportional to the relative increase in patch +area. However, a small amount of seed carbon and nitrogen is added to +the leaf and dead stem pools in the new patch area. + +Next, column-level (i.e., soil) state variables are updated based on any +fluxes to soil pools due to decreases in patch areas. This step is +needed so that any lost vegetation carbon and nitrogen is conserved when +column areas are changing. + +Finally, column-level state variables are adjusted for any changes in +column areas. Similarly to patches, for a column that decreases in area, +the carbon and nitrogen density on the remaining column area remains the +same as before (i.e., expressed as g per m\ :sup:`2` column area). This +represents a decrease in total carbon or nitrogen mass on the gridcell, +and this lost mass is tracked for each gridcell. After these mass losses +are summed for all shrinking columns, they are distributed amongst the +growing columns in order to conserve mass. Thus, a growing column's new +carbon density will be a weighted sum of its original carbon density and +the carbon densities of all shrinking columns in its gridcell. + +This operation makes some simplifying assumptions. First, as described +in section :numref:`Transient landcover reconciling changes in area`, we +only track net area changes, not gross changes. Second, we assume that +growing columns all grow proportionally into each of the shrinking +columns. + +Non-vegetated land units (e.g., glacier) do not typically track soil +carbon and nitrogen. When columns from these land units initially +shrink, they are assumed to contribute zero carbon and +nitrogen. However, when they grow into previously-vegetated areas, they +store any pre-existing soil carbon and nitrogen from the shrinking +columns. This stored carbon and nitrogen will remain unchanged until the +column later shrinks, at which point it will contribute to the carbon +and nitrogen in the growing columns (exactly as would happen for a +vegetated column). + +In contrast to water and energy (section :numref:`Transient landcover +water and energy conservation`), no special treatment is needed for +carbon and nitrogen states in columns that newly come into +existence. The state of a new column is derived from a weighted average +of the states of shrinking columns. This behavior falls out from the +above general rules. Annual Transient Land Cover Dataset Development ---------------------------------------------------- -This section describes the development of the *landuse.timeseries* dataset. Development of this dataset involves the translation of harmonized datasets of LULCC for the historical period and for the different Shared Socioeconomic Pathway (SSP) - Representative Concentration Pathway (RCP) scenarios. Additionally, LULCC time series are to be generated for the Last Millennium and the extension beyond 2100 experiments of CMIP6. +This section describes the development of the *landuse.timeseries* dataset. +Development of this dataset involves the translation of +harmonized datasets of LULCC for the historical period and +for the different Shared Socioeconomic Pathway (SSP) - Representative +Concentration Pathway (RCP) scenarios. Additionally, LULCC time +series are to be generated for the Last Millennium and the extension beyond 2100 experiments +of CMIP6. LUH2 Transient Land Use and Land Cover Change Dataset ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -To coordinate the processing and consistency of LULCC data between the historical period (1850-2015) and the six SSP-RCP (2016-2100) scenarios derived from Integrated Assessment Models (IAM), the University of Maryland and the University of New Hampshire research groups (Louise Chini, George Hurtt, Steve Frolking and Ritvik Sahajpal; luh.umd.edu) produced a new version of the Land Use Harmonized version 2 (LUH2) transient datasets for use with Earth System Model simulations. The new data sets are the product of the Land Use Model Intercomparison Project (LUMIP; https://cmip.ucar.edu/lumip) as part of the Coupled Model Intercomparison Project 6 (CMIP6). The historical component of the transient LULCC dataset has agriculture and urban land use based on HYDE 3.2 with wood harvest based on FAO, Landsat and other sources, for the period 850-2015. The SSP-RCP transient LULCC components (2015-2100) are referred to as the LUH2 Future Scenario datasets. The LULCC information is provided at 0.25 degree grid resolution and includes fractional grid cell coverage by the 12 land units of: +To coordinate the processing and consistency of LULCC data between +the historical period (1850-2015) and the six +SSP-RCP (2016-2100) scenarios derived from Integrated +Assessment Models (IAM), the University of Maryland and the University of New Hampshire +research groups (Louise Chini, George Hurtt, Steve +Frolking and Ritvik Sahajpal; luh.umd.edu) produced a new version of the Land Use Harmonized version 2 +(LUH2) transient datasets for use with Earth System Model simulations. The new data sets +are the product of the Land Use Model Intercomparison Project (LUMIP; https://cmip.ucar.edu/lumip) +as part of the Coupled Model Intercomparison Project 6 (CMIP6). The historical component of the +transient LULCC dataset has agriculture and urban +land use based on HYDE 3.2 with wood harvest based on FAO, Landsat and other sources, for the period 850-2015. +The SSP-RCP transient LULCC components (2015-2100) are +referred to as the LUH2 Future Scenario datasets. The LULCC information is provided at 0.25 degree grid resolution and includes +fractional grid cell coverage by the 12 land units of: Primary Forest, Secondary Forest, Primary Non-Forest, Secondary Non-Forest, @@ -92,24 +274,76 @@ Pasture, Rangeland, Urban, C3 Annual Crop, C4 Annual Crop, C3 Perennial Crop, C4 Perennial Crop, and C3 Nitrogen Fixing Crop. -The new land unit format is an improvement on the CMIP5 LULCC datasets as they: provide Forest and Non Forest information in combination with Primary and Secondary land; differentiate between Pasture and Rangelands for grazing livestock; and specify annual details on the types of Crops grown and management practices applied in each grid cell. Like the CMIP5 LULCC datasets Primary vegetation represents the fractional area of a grid cell with vegetation undisturbed by human activities. Secondary vegetation represents vegetated areas that have recovered from some human disturbance; this could include re-vegetation of pasture and crop areas as well as primary vegetation areas that have been logged. In this manner the land units can change through deforestation from Forested to Non Forested land and in the opposite direction from Non Forested to Forested land through reforestation or afforestation without going through the Crop, Pasture or Rangeland states. - -The LUH2 dataset provides a time series of land cover states as well as a transition matrices that describes the annual fraction of land that is transformed from one land unit category to another (e.g. Primary Forest to C3 Annual Crop, Pasture to C3 Perrenial Crop, etc.; Lawrence et al. 2016). Included in these transition matrices is the total conversion of one land cover type to another referred to as Gross LULCC. This value can be larger than the sum of the changes in the state of a land unit from one time period to the next known as the Net LULCC. This difference is possible as land unit changes can occur both from the land unit and to the land unit at the same time. An example of this difference occurs with shifting cultivation where Secondary Forest can be converted to C3 Annual Crop at the same time as C3 Annual Crop is abandoned to Secondary Forest. - -The transition matrices also provide harmonized prescriptions of wood harvest both in area of the grid cell harvested and in the amount of biomass carbon harvested. The wood harvest biomass amount includes a 30% slash component inline with the CMIP5 LULCC data described in (Hurtt et al. 2011). The harvest area and carbon amounts are prescribed for the five classes of: Primary Forest, Primary Non-Forest, Secondary Mature Forest, Secondary Young Forest, and Secondary Non-Forest. - -Additional land use management is prescribed on the Crop land units for nitrogen fertilization and irrigation equipped land. The fertilizer application and the the irrigation fraction is prescribed for each Crop land unit in a grid cell individually for each year of the time series. The wood harvest and crop management are both prescribed spatially on the same 0.25 degree grid as the land use class transitions. +The new land unit format is an improvement on the CMIP5 LULCC +datasets as they: provide Forest and Non Forest information in combination with Primary and Secondary +land; differentiate between Pasture and Rangelands for grazing livestock; and specify annual details +on the types of Crops grown and management practices applied in each grid cell. Like the CMIP5 LULCC datasets Primary vegetation +represents the fractional area of a grid cell with vegetation undisturbed by human activities. Secondary +vegetation represents vegetated areas that have recovered from some human disturbance; this could include +re-vegetation of pasture and crop areas as well as primary vegetation areas that have been logged. +In this manner the land units can change through deforestation from Forested to Non Forested land and in the +opposite direction from Non Forested to Forested land through reforestation or afforestation without going +through the Crop, Pasture or Rangeland states. + +The LUH2 dataset provides a time series of land cover states as well as a transition matrices that describes +the annual fraction of land that is transformed from one land unit category to +another (e.g. Primary Forest to C3 Annual Crop, Pasture to C3 Perrenial Crop, etc.; Lawrence et al. +2016). Included in these transition matrices is the total conversion of one land cover type to another referred to +as Gross LULCC. This value can be larger than the sum of the changes in the state of a land unit from one time period +to the next known as the Net LULCC. This difference is possible as land unit changes can occur both from the land unit +and to the land unit at the same time. An example of this difference occurs with shifting cultivation where Secondary Forest +can be converted to C3 Annual Crop at the same time as C3 Annual Crop is abandoned to Secondary Forest. + +The transition matrices also provide harmonized prescriptions of wood harvest both in area of the grid cell harvested +and in the amount of biomass carbon harvested. The wood harvest biomass amount includes a 30% slash component inline with +the CMIP5 LULCC data described in (Hurtt et al. 2011). The harvest area and carbon amounts are prescribed for the five classes of: +Primary Forest, Primary Non-Forest, +Secondary Mature Forest, Secondary +Young Forest, and Secondary +Non-Forest. + +Additional land use management is prescribed on the Crop land units for +nitrogen fertilization and irrigation equipped land. The fertilizer application and the the irrigation fraction is +prescribed for each Crop land unit in a grid cell individually for each year of the time series. The wood harvest +and crop management are both prescribed spatially on the same 0.25 degree grid as the land use class transitions. Representing LUH2 Land Use and Land Cover Change in CLM5 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -To represent the LUH2 transient LULCC dataset in CLM5, the annual fractional composition of the twelve land units specified in the dataset needs to be faithfully represented with a corresponding PFT and CFT mosaics of CLM. CLM5 represents the land surface as a hierarchy of sub-grid types: glacier; lake; urban; vegetated land; and crop land. The vegetated land is further divided into a mosaic of Plant Functional Types (PFTs), while the crop land is divided into a mosaic of Crop Functional Types (CFTs). - -To support this translation task the CLM5 Land Use Data tool has been built that extends the methods described in Lawrence et al (2012) to include all the new functionality of CMIP6 and CLM5 LULCC. The tool translates each of the LUH2 land units for a given year into fractional PFT and CFT values based on the current day CLM5 data for the land unit in that grid cell. The current day land unit descriptions are generated from from 1km resolution MODIS, MIRCA2000, ICESAT, AVHRR, SRTM, and CRU climate data products combined with reference year LUH2 land unit data, usually set to 2005. Where the land unit does not exist in a grid cell for the current day, the land unit description is generated from nearest neighbors with an inverse distance weighted search algorithm. - -The Land Use Data tool produces raw vegetation, crop, and management data files which are combined with other raw land surface data to produce the CLM5 initial surface dataset and the dynamic *landuse.timeseries* dataset with the CLM5 mksurfdata_map tool. The schematic of this entire process from LUH2 time series and high resolution current day data to the output of CLM5 surface datasets from the mksurfdata_map tool is shown in Figure 21.2. - -The methodology for creating the CLM5 transient PFT and CFT dataset is based on four steps which are applied across all of the historical and future time series. The first step involves generating the current day descriptions of natural and managed vegetation PFTs at 1km resolution from the global source datasets, and the current day description of crop CFTs at the 10km resolution from the MIRCA 2000 datasets. The second step combines the current day (2005) LUH2 land units with the current day CLM5 PFT and CFT distributions to get CLM5 land unit descriptions in either PFTs or CFTs at the LUH2 resolution of 0.25 degrees. The third step involves combining the LUH2 land unit time series with the CLM5 PFT and CFT descriptions for that land unit to generate the CLM5 raw PFT and CFT time series in the *landuse.timeseries* file. At this point in the process management information in terms of fertilizer, irrigation and wood harvest are added to the CLM5 PFT and CFT data to complete the CLM5 raw PFT and CFT files. The final step is to combine these files with the other raw CLM5 surface data files in the mksurfdata_map tool. +To represent the LUH2 transient LULCC dataset in CLM5, the annual fractional +composition of the twelve land units specified in the dataset needs to be +faithfully represented with a corresponding PFT and CFT mosaics of CLM. +CLM5 represents the land surface as a hierarchy of sub-grid types: +glacier; lake; urban; vegetated land; and crop land. The vegetated land is +further divided into a mosaic of Plant Functional Types (PFTs), while the crop land +is divided into a mosaic of Crop Functional Types (CFTs). + +To support this translation task the CLM5 Land Use Data tool has been built that extends the +methods described in Lawrence et al (2012) to include all the new functionality of CMIP6 and CLM5 LULCC. +The tool translates each of the LUH2 land units for a given year into fractional PFT and CFT values based on +the current day CLM5 data for the land unit in that grid cell. The current day land unit descriptions are generated from +from 1km resolution MODIS, MIRCA2000, ICESAT, AVHRR, SRTM, and CRU climate data products combined with reference year +LUH2 land unit data, usually set to 2005. Where the land unit does not exist in a grid cell for the current +day, the land unit description is generated from nearest neighbors with an inverse distance weighted search +algorithm. + +The Land Use Data tool produces raw vegetation, crop, and management data files which are combined with +other raw land surface data to produce the CLM5 initial surface dataset and the dynamic +*landuse.timeseries* dataset with the CLM5 mksurfdata_map tool. The schematic of this entire process from +LUH2 time series and high resolution current day data to the output of CLM5 surface datasets from the +mksurfdata_map tool is shown in Figure 21.2. + +The methodology for creating the CLM5 transient PFT and CFT dataset is based on four +steps which are applied across all of the historical and future time series. +The first step involves generating the current day descriptions of natural and managed vegetation PFTs at +1km resolution from the global source datasets, and the current day description of crop CFTs at the 10km resolution +from the MIRCA 2000 datasets. The second step combines the current day (2005) LUH2 land units with the current +day CLM5 PFT and CFT distributions to get CLM5 land unit descriptions in either PFTs or CFTs at the LUH2 resolution of +0.25 degrees. The third step involves combining the LUH2 land unit time series with the CLM5 PFT and CFT descriptions +for that land unit to generate the CLM5 raw PFT and CFT time series in the *landuse.timeseries* file. At this point in the process +management information in terms of fertilizer, irrigation and wood harvest are added to the CLM5 PFT and CFT data +to complete the CLM5 raw PFT and CFT files. The final step is to combine these files with the other raw CLM5 surface +data files in the mksurfdata_map tool. .. _Figure Schematic of land cover change: @@ -122,7 +356,7 @@ The methodology for creating the CLM5 transient PFT and CFT dataset is based on .. figure:: image2.png Schematic of translation of annual LUH2 land units to CLM5 plant and crop functional types. - + .. _Figure Workflow of CLM5 Land Use Data Tool and Mksurfdata_map Tool: .. figure:: image3.png diff --git a/doc/source/tech_note/Urban/CLM50_Tech_Note_Urban.rst b/doc/source/tech_note/Urban/CLM50_Tech_Note_Urban.rst index e9bfb5eb57..e5f4ac33e5 100644 --- a/doc/source/tech_note/Urban/CLM50_Tech_Note_Urban.rst +++ b/doc/source/tech_note/Urban/CLM50_Tech_Note_Urban.rst @@ -3,23 +3,126 @@ Urban Model (CLMU) ====================== -At the global scale, and at the coarse spatial resolution of current climate models, urbanization has negligible impact on climate. However, the urban parameterization (CLMU; :ref:`Oleson et al. (2008b) `; :ref:`Oleson et al. (2008c) `) allows simulation of the urban environment within a climate model, and particularly the temperature where people live. As such, the urban model allows scientific study of how climate change affects the urban heat island and possible urban planning and design strategies to mitigate warming (e.g., white roofs). - -Urban areas in CLM are represented by up to three urban landunits per gridcell according to density class. The urban landunit is based on the "urban canyon" concept of :ref:`Oke (1987) ` in which the canyon geometry is described by building height (:math:`H`) and street width (:math:`W`) (:numref:`Figure schematic representation of the urban landunit`). The canyon system consists of roofs, walls, and canyon floor. Walls are further divided into shaded and sunlit components. The canyon floor is divided into pervious (e.g., to represent residential lawns, parks) and impervious (e.g., to represent roads, parking lots, sidewalks) fractions. Vegetation is not explicitly modeled for the pervious fraction; instead evaporation is parameterized by a simplified bulk scheme. - -Each of the five urban surfaces is treated as a column within the landunit (:numref:`Figure schematic representation of the urban landunit`). Radiation parameterizations account for trapping of solar and longwave radiation inside the canyon. Momentum fluxes are determined for the urban landunit using a roughness length and displacement height appropriate for the urban canyon and stability formulations from CLM. A one-dimensional heat conduction equation is solved numerically for a multiple-layer (:math:`N_{levurb} =10`) column to determine conduction fluxes into and out of canyon surfaces. - -A new building energy model has been developed for CLM5.0. It accounts for the conduction of heat through interior surfaces (roof, sunlit and shaded walls, and floors), convection (sensible heat exchange) between interior surfaces and building air, longwave radiation exchange between interior surfaces, and ventilation (natural infiltration and exfiltration). Idealized HAC systems are assumed where the system capacity is infinite and the system supplies the amount of energy needed to keep the indoor air temperature (:math:`T_{iB}`) within maximum and minimum emperatures (:math:`T_{iB,\, \max },\, T_{iB,\, \min }` ), thus explicitly resolving space heating and air conditioning fluxes. Anthropogenic sources of waste heat (:math:`Q_{H,\, waste}` ) from HAC that account for inefficiencies in the heating and air conditioning equipment and from energy lost in the conversion of primary energy sources to end use energy are derived from :ref:`Sivak (2013) `. These sources of waste heat are incorporated as modifications to the canyon energy budget. - -Turbulent [sensible heat (:math:`Q_{H,\, u}` ) and latent heat (:math:`Q_{E,\, u}` )] and storage (:math:`Q_{S,\, u}` ) heat fluxes and surface (:math:`T_{u,\, s}` ) and internal (:math:`T_{u,\, i=1,\, N_{levgrnd} }` ) temperatures are determined for each urban surface :math:`u`. Hydrology on the roof and canyon floor is simulated and walls are hydrologically inactive. A snowpack can form on the active surfaces. A certain amount of liquid water is allowed to pond on these surfaces which supports evaporation. Water in excess of the maximum ponding depth runs off (:math:`R_{roof},\, R_{imprvrd},\, R_{prvrd}` ). - -The heat and moisture fluxes from each surface interact with each other through a bulk air mass that represents air in the urban canopy layer for which specific humidity (:math:`q_{ac}` ) and temperature (:math:`T_{ac}` ) are prognosed (:numref:`Figure schematic of urban and atmospheric model coupling`). The air temperature can be compared with that from surrounding vegetated/soil (rural) surfaces in the model to ascertain heat island characteristics. As with other landunits, the CLMU is forced either with output from a host atmospheric model (e.g., the Community Atmosphere Model (CAM)) or observed forcing (e.g., reanalysis or field observations). The urban model produces sensible, latent heat, and momentum fluxes, emitted longwave, and reflected solar radiation, which are area-averaged with fluxes from non-urban "landunits" (e.g., vegetation, lakes) to supply grid cell averaged fluxes to the atmospheric model. - -Present day global urban extent and urban properties were developed by :ref:`Jackson et al. (2010) `. Urban extent, defined for four classes [tall building district (TBD), and high, medium, and low density (HD, MD, LD)], was derived from LandScan 2004, a population density dataset derived from census data, nighttime lights satellite observations, road proximity, and slope (:ref:`Dobson et al. 2000 `). The urban extent data for TBD, HD, and MD classes are aggregated from the original 1 km resolution to both a 0.05° by 0.05° global grid for high-resolution studies or a 0.5° by 0.5° grid. For the current implementation, the LD class is not used because it is highly rural and better modeled as a vegetated/soil surface. Although the TBD, HD, and MD classes are represented as individual urban landunits, urban model history output is currently a weighted average of the output for individual classes. - -For each of 33 distinct regions across the globe, thermal (e.g., heat capacity and thermal conductivity), radiative (e.g., albedo and emissivity) and morphological (e.g., height to width ratio, roof fraction, average building height, and pervious fraction of the canyon floor) properties are provided for each of the density classes. Building interior minimum and maximum temperatures are prescribed based on climate and socioeconomic considerations. The surface dataset creation routines (see CLM5.0 User's Guide) aggregate the data to the desired resolution. - -An optional urban properties dataset, including a tool that allows for generating future urban development scenarios is also available (:ref:`Oleson and Feddema (2018) `). This will become the default dataset in future model versions. As described in :ref:`Oleson and Feddema (2018) ` the urban properties dataset in :ref:`Jackson et al. (2010) ` was modified with respect to wall and roof thermal properties to correct for biases in heat transfer due to layer and building type averaging. Further changes to the dataset reflect the need for scenario development, thus allowing for the creation of hypothetical wall types, and the easier interchange of wall facets. The new urban properties tool is available as part of the Toolbox for Human-Earth System Integration & Scaling (THESIS) tool set (http://www.cgd.ucar.edu/iam/projects/thesis/thesis-urbanproperties-tool.html; :ref:`Feddema and Kauffman (2016) `). The driver script (urban_prop.csh) specifies three input csv files (by default, mat_prop.csv, lam_spec.csv, and city_spec.csv; (:numref:`Figure schematic of THESIS urban properties tool`)) that describe the morphological, radiative, and thermal properties of urban areas, and generates a global dataset at 0.05° latitude by longitude in NetCDF format (urban_properties_data.05deg.nc). A standalone NCL routine (gen_data_clm.ncl) can be run separately after the mksurfdata_map tool creates the CLM surface dataset. This creates a supplementary streams file of setpoints for the maximum interior building temperature at yearly time resolution. +At the global scale, and at the coarse spatial resolution of current +climate models, urbanization has negligible impact on climate. However, +the urban parameterization (CLMU; :ref:`Oleson et al. (2008b) `; +:ref:`Oleson et al. (2008c) `) allows +simulation of the urban environment within a climate model, and +particularly the temperature where people live. As such, the urban model +allows scientific study of how climate change affects the urban heat +island and possible urban planning and design strategies to mitigate +warming (e.g., white roofs). + +Urban areas in CLM are represented by up to three urban landunits per +gridcell according to density class. The urban landunit is based on the +“urban canyon” concept of :ref:`Oke (1987) ` in which +the canyon geometry is +described by building height (:math:`H`) and street width (:math:`W`) +(:numref:`Figure schematic representation of the urban landunit`). The canyon system +consists of roofs, walls, and canyon +floor. Walls are further divided into shaded and sunlit components. The +canyon floor is divided into pervious (e.g., to represent residential +lawns, parks) and impervious (e.g., to represent roads, parking lots, +sidewalks) fractions. Vegetation is not explicitly modeled for the +pervious fraction; instead evaporation is parameterized by a simplified +bulk scheme. + +Each of the five urban surfaces is treated as a column within the +landunit (:numref:`Figure schematic representation of the urban landunit`). +Radiation parameterizations account for trapping +of solar and longwave radiation inside the canyon. Momentum fluxes are +determined for the urban landunit using a roughness length and +displacement height appropriate for the urban canyon and stability +formulations from CLM. A one-dimensional heat conduction equation is +solved numerically for a multiple-layer (:math:`N_{levurb} =10`) column +to determine conduction fluxes into and out of canyon surfaces. + +A new building energy model has been developed for CLM5.0. It accounts +for the conduction of heat through interior surfaces (roof, sunlit and +shaded walls, and floors), convection (sensible heat exchange) between +interior surfaces and building air, longwave radiation exchange between +interior surfaces, and ventilation (natural infiltration and exfiltration). +Idealized HAC systems are assumed where the system capacity is infinite and +the system supplies the amount of energy needed to keep the indoor air +temperature (:math:`T_{iB}`) within maximum and minimum emperatures +(:math:`T_{iB,\, \max } ,\, T_{iB,\, \min }` ), thus explicitly +resolving space heating and air conditioning fluxes. Anthropogenic sources +of waste heat (:math:`Q_{H,\, waste}` ) from HAC that account for inefficiencies +in the heating and air conditioning equipment and from energy lost in the +conversion of primary energy sources to end use energy are derived from +:ref:`Sivak (2013) `. These sources of waste heat are incorporated +as modifications to the canyon energy budget. + +Turbulent [sensible heat (:math:`Q_{H,\, u}` ) and +latent heat (:math:`Q_{E,\, u}` )] and storage (:math:`Q_{S,\, u}` ) +heat fluxes and surface (:math:`T_{u,\, s}` ) and internal +(:math:`T_{u,\, i=1,\, N_{levgrnd} }` ) temperatures are determined for +each urban surface :math:`u`. Hydrology on the roof and canyon floor is +simulated and walls are hydrologically inactive. A snowpack can form on +the active surfaces. A certain amount of liquid water is allowed to pond +on these surfaces which supports evaporation. Water in excess of the +maximum ponding depth runs off +(:math:`R_{roof} ,\, R_{imprvrd} ,\, R_{prvrd}` ). + +The heat and moisture fluxes from each surface interact with each other +through a bulk air mass that represents air in the urban canopy layer +for which specific humidity (:math:`q_{ac}` ) and temperature +(:math:`T_{ac}` ) are prognosed (:numref:`Figure schematic of urban and atmospheric model coupling`). +The air temperature can +be compared with that from surrounding vegetated/soil (rural) surfaces +in the model to ascertain heat island characteristics. As with other +landunits, the CLMU is forced either with output from a host atmospheric +model (e.g., the Community Atmosphere Model (CAM)) or +observed forcing (e.g., reanalysis or field observations). The urban +model produces sensible, latent heat, and momentum fluxes, emitted +longwave, and reflected solar radiation, which are area-averaged with +fluxes from non-urban “landunits” (e.g., vegetation, lakes) to supply +grid cell averaged fluxes to the atmospheric model. + +Present day global urban extent and urban properties were developed by +:ref:`Jackson et al. (2010) `. Urban extent, defined for four classes [tall +building district (TBD), and high, medium, and low density (HD, MD, +LD)], was derived from LandScan 2004, a population density dataset +derived from census data, nighttime lights satellite observations, road +proximity, and slope (:ref:`Dobson et al. 2000 `). The urban extent data for +TBD, HD, and MD classes are aggregated from the original 1 km resolution +to both a 0.05\ :sup:`o` by 0.05\ :sup:`o` global grid +for high-resolution studies or a 0.5\ :sup:`o` by +0.5\ :sup:`o` grid. For the current implementation, the LD class +is not used because it is highly rural and better modeled as a +vegetated/soil surface. Although the TBD, HD, and MD classes are +represented as individual urban landunits, urban model history output is +currently a weighted average of the output for individual classes. + +For each of 33 distinct regions across the globe, thermal (e.g., heat +capacity and thermal conductivity), radiative (e.g., albedo and +emissivity) and morphological (e.g., height to width ratio, roof +fraction, average building height, and pervious fraction of the canyon +floor) properties are provided for each of the density classes. Building +interior minimum and maximum temperatures are prescribed based on +climate and socioeconomic considerations. The surface dataset creation +routines (see CLM5.0 User’s Guide) aggregate the data to the desired +resolution. + +An optional urban properties dataset, including a tool that allows for generating future +urban development scenarios is also available (:ref:`Oleson and Feddema (2018) `). +This will become the default dataset in future model versions. +As described in :ref:`Oleson and Feddema (2018) ` the urban properties dataset +in :ref:`Jackson et al. (2010) ` was modified with respect to wall and roof thermal +properties to correct for biases in heat transfer due to layer and building type averaging. +Further changes to the dataset reflect the need for scenario development, thus allowing for +the creation of hypothetical wall types, and the easier interchange of wall facets. +The new urban properties tool is available as part of the Toolbox for Human-Earth System +Integration & Scaling (THESIS) tool set +(http://www.cgd.ucar.edu/iam/projects/thesis/thesis-urbanproperties-tool.html; +:ref:`Feddema and Kauffman (2016) `). The driver script (urban_prop.csh) +specifies three input csv files (by default, mat_prop.csv, +lam_spec.csv, and city_spec.csv; (:numref:`Figure schematic of THESIS urban properties tool`)) +that describe the morphological, radiative, and thermal properties of urban areas, and +generates a global dataset at 0.05° latitude by longitude in NetCDF format (urban_properties_data.05deg.nc). +A standalone NCL routine (gen_data_clm.ncl) can be run separately after the mksurfdata_map tool creates +the CLM surface dataset. This creates a supplementary streams file of setpoints for the maximum +interior building temperature at yearly time resolution. .. Figure 12.1. Schematic representation of the urban land unit @@ -43,8 +146,35 @@ An optional urban properties dataset, including a tool that allows for generatin .. Figure:: image3.png - Schematic of THESIS urban properties tool. Executable scripts are in orange, input files are blue, and output files are green. Items within the black box outline are either read in as input, executed, or output by the driver script (urban_prop.csh). - -The urban model that was first released as a component of CLM4.0 is separately described in the urban technical note (:ref:`Oleson et al. (2010b) `). The main changes in the urban model from CLM4.0 to CLM4.5 were 1) an expansion of the single urban landunit to up to three landunits per grid cell stratified by urban density types, 2) the number of urban layers for roofs and walls was no longer constrained to be equal to the number of ground layers, 3) space heating and air conditioning wasteheat factors were set to zero by default so that the user could customize these factors for their own application, 4) the elevation threshold used to eliminate urban areas in the surface dataset creation routines was increased from 2200 meters to 2600 meters, 5) hydrologic and thermal calculations for the pervious road followed CLM4.5 parameterizations. - -The main changes in the urban model from CLM4.5 to CLM5.0 are 1) a more sophisticated and realistic building space heating and air conditioning submodel that prognoses interior building air temperature and includes more realistic space heating and air conditioning wasteheat factors (see above), 2) the maximum building temperature (which determines air conditioning demand) is now read in from a namelist-defined file which allows for dynamic control of this input variable. The maximum building temperatures that are defined in :ref:`Jackson et al. (2010) ` are implemented in year 1950 (thus air conditioning is off in prior years) and air conditioning is turned off in year 2100 (because the buildings are not suitable for air conditioning in some extreme global warming scenarios), 3) an optional updated urban properties dataset and new scenario tool. These features are described in more detail in :ref:`Oleson and Feddema (2018) `. In addition, a module of heat stress indices calculated online in the model that can be used to assess human thermal comfort for rural and urban areas has been added. This last development is described and evaluated by :ref:`Buzan et al. (2015) `. + Schematic of THESIS urban properties tool. Executable scripts are in orange, input files are blue, and output files are green. Items within the black box outline are either read in as input, executed, or output by the driver script (urban_prop.csh). + + +The urban model that was first released as a component of CLM4.0 is separately +described in the urban technical note (:ref:`Oleson et al. (2010b) `). +The main changes in the urban model from CLM4.0 to CLM4.5 were 1) +an expansion of the single urban landunit to up to three landunits per +grid cell stratified by urban density types, 2) the number of urban +layers for roofs and walls was no longer constrained to be equal to the +number of ground layers, 3) space heating and air conditioning wasteheat +factors were set to zero by default so that the user could customize +these factors for their own application, 4) the elevation threshold used +to eliminate urban areas in the surface dataset creation routines was +increased from 2200 meters to 2600 meters, 5) hydrologic and thermal +calculations for the pervious road followed CLM4.5 parameterizations. + +The main changes in the urban model from CLM4.5 to CLM5.0 are 1) a more +sophisticated and realistic building space heating and air conditioning +submodel that prognoses interior building air temperature and includes more +realistic space heating and air conditioning wasteheat factors (see above), 2) the maximum +building temperature (which determines air conditioning demand) is now read in +from a namelist-defined file which allows for dynamic control of this input +variable. The maximum building temperatures that are defined in +:ref:`Jackson et al. (2010) ` are implemented in year 1950 (thus +air conditioning is off in prior years) and air conditioning is turned off in year +2100 (because the buildings are not suitable for air conditioning in some extreme +global warming scenarios), 3) an optional updated urban properties dataset and new +scenario tool. These features are described in more detail in :ref:`Oleson and Feddema (2018) `. +In addition, a module of heat stress indices calculated online +in the model that can be used to assess human thermal comfort for rural and urban +areas has been added. This last development is described and evaluated by +:ref:`Buzan et al. (2015) `. diff --git a/doc/source/tech_note/Vegetation_Phenology_Turnover/CLM50_Tech_Note_Vegetation_Phenology_Turnover.rst b/doc/source/tech_note/Vegetation_Phenology_Turnover/CLM50_Tech_Note_Vegetation_Phenology_Turnover.rst index 1665b9a00f..254d3d84c9 100644 --- a/doc/source/tech_note/Vegetation_Phenology_Turnover/CLM50_Tech_Note_Vegetation_Phenology_Turnover.rst +++ b/doc/source/tech_note/Vegetation_Phenology_Turnover/CLM50_Tech_Note_Vegetation_Phenology_Turnover.rst @@ -3,14 +3,33 @@ Vegetation Phenology and Turnover ================================= -The CLM phenology model consists of several algorithms controlling the transfer of stored carbon and nitrogen out of storage pools for the display of new growth and into litter pools for losses of displayed growth. PFTs are classified into three distinct phenological types that are represented by separate algorithms: an evergreen type, for which some fraction of annual leaf growth persists in the displayed pool for longer than one year; a seasonal-deciduous type with a single growing season per year, controlled mainly by temperature and daylength; and a stress-deciduous type with the potential for multiple growing seasons per year, controlled by temperature and soil moisture conditions. - -The three phenology types share a common set of control variables. The calculation of the phenology fluxes is generalized, operating identically for all three phenology types, given a specification of the common control variables. The following sections describe first the general flux parameterization, followed by the algorithms for setting the control parameters for the three phenology types. +The CLM phenology model consists of several algorithms controlling the +transfer of stored carbon and nitrogen out of storage pools for the +display of new growth and into litter pools for losses of displayed +growth. PFTs are classified into three distinct phenological types that +are represented by separate algorithms: an evergreen type, for which +some fraction of annual leaf growth persists in the displayed pool for +longer than one year; a seasonal-deciduous type with a single growing +season per year, controlled mainly by temperature and daylength; and a +stress-deciduous type with the potential for multiple growing seasons +per year, controlled by temperature and soil moisture conditions. + +The three phenology types share a common set of control variables. The +calculation of the phenology fluxes is generalized, operating +identically for all three phenology types, given a specification of the +common control variables. The following sections describe first the +general flux parameterization, followed by the algorithms for setting +the control parameters for the three phenology types. General Phenology Flux Parameterization -------------------------------------------- -Fluxes of carbon and nitrogen from storage pools and into displayed tissue pools pass through a special transfer pool (denoted *\_xfer*), maintained as a separate state variable for each tissue type. Storage (*\_stor*) and transfer (*\_xfer*) pools are maintained separately to reduce the complexity of accounting for transfers into and out of storage over the course of a single growing season. +Fluxes of carbon and nitrogen from storage pools and into displayed +tissue pools pass through a special transfer pool (denoted *\_xfer*), +maintained as a separate state variable for each tissue type. Storage +(*\_stor*) and transfer (*\_xfer*) pools are maintained separately to +reduce the complexity of accounting for transfers into and out of +storage over the course of a single growing season. .. _Figure annual phenology cycle: @@ -21,626 +40,835 @@ Fluxes of carbon and nitrogen from storage pools and into displayed tissue pools 14.1.1 Onset Periods ^^^^^^^^^^^^^^^^^^^^ -The deciduous phenology algorithms specify the occurrence of onset growth periods (Figure 14.1). Carbon fluxes from the transfer pools into displayed growth are calculated during these periods as: +The deciduous phenology algorithms specify the occurrence of onset +growth periods (Figure 14.1). Carbon fluxes from the transfer pools into +displayed growth are calculated during these periods as: .. math:: - :label: 20.1) + :label: 20.1) CF_{leaf\_ xfer,leaf} =r_{xfer\_ on} CS_{leaf\_ xfer} .. math:: - :label: 20.2) + :label: 20.2) CF_{froot\_ xfer,froot} =r_{xfer\_ on} CS_{froot\_ xfer} .. math:: - :label: 20.3) + :label: 20.3) CF_{livestem\_ xfer,livestem} =r_{xfer\_ on} CS_{livestem\_ xfer} .. math:: - :label: 20.4) + :label: 20.4) CF_{deadstem\_ xfer,deadstem} =r_{xfer\_ on} CS_{deadstem\_ xfer} .. math:: - :label: 20.5) + :label: 20.5) CF_{livecroot\_ xfer,livecroot} =r_{xfer\_ on} CS_{livecroot\_ xfer} .. math:: - :label: 20.6) + :label: 20.6) CF_{deadcroot\_ xfer,deadcroot} =r_{xfer\_ on} CS_{deadcroot\_ xfer} , with corresponding nitrogen fluxes: .. math:: - :label: 20.7) + :label: 20.7) NF_{leaf\_ xfer,leaf} =r_{xfer\_ on} NS_{leaf\_ xfer} .. math:: - :label: 20.8) + :label: 20.8) NF_{froot\_ xfer,froot} =r_{xfer\_ on} NS_{froot\_ xfer} .. math:: - :label: 20.9) + :label: 20.9) NF_{livestem\_ xfer,livestem} =r_{xfer\_ on} NS_{livestem\_ xfer} .. math:: - :label: 20.10) + :label: 20.10) NF_{deadstem\_ xfer,deadstem} =r_{xfer\_ on} NS_{deadstem\_ xfer} .. math:: - :label: 20.11) + :label: 20.11) NF_{livecroot\_ xfer,livecroot} =r_{xfer\_ on} NS_{livecroot\_ xfer} .. math:: - :label: 20.12) + :label: 20.12) NF_{deadcroot\_ xfer,deadcroot} =r_{xfer\_ on} NS_{deadcroot\_ xfer} , -where CF is the carbon flux, CS is stored carbon, NF is the nitrogen flux, NS is stored nitrogen, :math:`{r}_{xfer\_on}` (s\ :sup:`-1`) is a time-varying rate coefficient controlling flux out of the transfer pool: +where CF is the carbon flux, CS is stored carbon, NF is the nitrogen +flux, NS is stored nitrogen, :math:`{r}_{xfer\_on}` (s\ :sup:`-1`) is a time-varying rate coefficient controlling flux +out of the transfer pool: .. math:: - :label: ZEqnNum852972 + :label: ZEqnNum852972 - r_{xfer\_ on} =\left\{\begin{array}{l} {{2\mathord{\left/ {\vphantom {2 t_{onset} }} \right.} t_{onset} } \qquad {\rm for\; }t_{onset} \ne \Delta t} \\ {{1\mathord{\left/ {\vphantom {1 \Delta t}} \right.} \Delta t} \qquad {\rm for\; }t_{onset} =\Delta t} \end{array}\right. + r_{xfer\_ on} =\left\{\begin{array}{l} {{2\mathord{\left/ {\vphantom {2 t_{onset} }} \right. \kern-\nulldelimiterspace} t_{onset} } \qquad {\rm for\; }t_{onset} \ne \Delta t} \\ {{1\mathord{\left/ {\vphantom {1 \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} \qquad {\rm for\; }t_{onset} =\Delta t} \end{array}\right. -and *t*\ :sub:`onset` (s) is the number of seconds remaining in the current phenology onset growth period (Figure 14.1). The form of Eq. :eq:`ZEqnNum852972` produces a flux from the transfer pool which declines linearly over the onset growth period, approaching zero flux in the final timestep. +and *t*\ :sub:`onset` (s) is the number of seconds remaining in +the current phenology onset growth period (Figure 14.1). The form of Eq. :eq:`ZEqnNum852972` +produces a flux from the transfer pool which declines linearly over the +onset growth period, approaching zero flux in the final timestep. 14.1.2 Offset Periods ^^^^^^^^^^^^^^^^^^^^^ -The deciduous phenology algorithms also specify the occurrence of litterfall during offset periods. In contrast to the onset periods, only leaf and fine root state variables are subject to litterfall fluxes. Carbon fluxes from display pools into litter are calculated during these periods as: +The deciduous phenology algorithms also specify the occurrence of +litterfall during offset periods. In contrast to the onset periods, only +leaf and fine root state variables are subject to litterfall fluxes. +Carbon fluxes from display pools into litter are calculated during these +periods as: .. math:: - :label: 20.14) + :label: 20.14) - CF_{leaf,litter}^{n} =\left\{\begin{array}{l} {CF_{leaf,litter}^{n-1} + r_{xfer\_ off} \left(CS_{leaf} -CF_{leaf,litter}^{n-1} {\kern 1pt} t_{offset} \right)\qquad {\rm for\; }t_{offset} \ne \Delta t} - \\ {\left({CS_{leaf} \mathord{\left/ {\vphantom {CS_{leaf} \Delta t}} \right.} \Delta t} \right) - \left( 1-biofuel\_harvfrac \right) + CF_{leaf,litter}^{n} =\left\{\begin{array}{l} {CF_{leaf,litter}^{n-1} + r_{xfer\_ off} \left(CS_{leaf} -CF_{leaf,litter}^{n-1} {\kern 1pt} t_{offset} \right)\qquad {\rm for\; }t_{offset} \ne \Delta t} + \\ {\left({CS_{leaf} \mathord{\left/ {\vphantom {CS_{leaf} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} \right) + \left( 1-biofuel\_harvfrac \right) +CF_{alloc,leaf} \qquad {\rm for\; }t_{offset} =\Delta t} \end{array}\right. .. math:: - :label: 20.15) + :label: 20.15) CF_{froot,litter}^{n} =\left\{\begin{array}{l} {CF_{froot,litter}^{n-1} + - r_{xfer\_ off} \left(CS_{froot} -CF_{froot,litter}^{n-1} {\kern 1pt} t_{offset} \right)\qquad {\rm for\; }t_{offset} \ne \Delta t} \\ {\left({CS_{froot} \mathord{\left/ {\vphantom {CS_{froot} \Delta t}} \right.} \Delta t} \right)+CF_{alloc,\, froot} \qquad \qquad \qquad {\rm for\; }t_{offset} =\Delta t} \end{array}\right. + r_{xfer\_ off} \left(CS_{froot} -CF_{froot,litter}^{n-1} {\kern 1pt} t_{offset} \right)\qquad {\rm for\; }t_{offset} \ne \Delta t} \\ {\left({CS_{froot} \mathord{\left/ {\vphantom {CS_{froot} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} \right)+CF_{alloc,\, froot} \qquad \qquad \qquad {\rm for\; }t_{offset} =\Delta t} \end{array}\right. .. math:: - :label: 20.16) + :label: 20.16) r_{xfer\_ off} =\frac{2\Delta t}{t_{offset} ^{2} } -where superscripts *n* and *n-1* refer to fluxes on the current and previous timesteps, respectively. The rate coefficient :math:`{r}_{xfer\_off}` varies with time to produce a linearly increasing litterfall rate throughout the offset period. The :math:`biofuel\_harvfrac` (:numref:`Table Plant functional type (PFT) parameters for harvested fraction of leaf/livestem for bioenergy production`) is the harvested fraction of aboveground biomass (leaf & livestem) for bioenergy crops. The special case for fluxes in the final litterfall timestep (:math:`{t}_{offset}` = :math:`\Delta t`\ ) ensures that all of the displayed growth is sent to the litter pools or biofuel feedstock pools. The fraction (:math:`biofuel\_harvfrac`) of leaf biomass going to the biofuel feedstock pools (Equation :eq:`25.9`) is defined in Table 26.3 and is only non-zero for prognostic crops. The remaining fraction of leaf biomass (:math:`1-biofuel\_harvfrac`) for deciduous plant types is sent to the litter pools. Similar modifications made for livestem carbon pools for prognostic crops can be found in section :numref:`Harvest to food and seed` in Equations :eq:`25.9`-:eq:`25.14`. +where superscripts *n* and *n-1* refer to fluxes on the current and +previous timesteps, respectively. The rate coefficient :math:`{r}_{xfer\_off}` varies with time to produce a linearly +increasing litterfall rate throughout the offset period. +The :math:`biofuel\_harvfrac` (:numref:`Table Plant functional type (PFT) parameters for harvested fraction of leaf/livestem for bioenergy production`) +is the harvested fraction of aboveground biomass (leaf & livestem) for bioenergy crops. +The special case for fluxes in the final litterfall timestep +(:math:`{t}_{offset}` = :math:`\Delta t`\ ) ensures that all of the displayed growth is sent to the litter pools or biofuel feedstock pools. The fraction (:math:`biofuel\_harvfrac`) of leaf biomass going to the biofuel feedstock pools (Equation :eq:`25.9`) is defined in Table 26.3 and is only non-zero for prognostic crops. The remaining fraction of leaf biomass (:math:`1-biofuel\_harvfrac`) for deciduous plant types is sent to the litter pools. +Similar modifications made for livestem carbon pools for prognostic crops +can be found in section :numref:`Harvest to food and seed` in Equations :eq:`25.9`-:eq:`25.14`. -Corresponding nitrogen fluxes during litterfall take into account retranslocation of nitrogen out of the displayed leaf pool prior to litterfall (:math:`{NF}_{leaf,retrans}`, gN m\ :sup:`-2` s\ :sup:`-1`). Retranslocation of nitrogen out of fine roots is assumed to be negligible. The fluxes are: +Corresponding nitrogen fluxes during litterfall take into account retranslocation of nitrogen out of the displayed leaf pool prior to +litterfall (:math:`{NF}_{leaf,retrans}`, gN m\ :sup:`-2` s\ :sup:`-1`). Retranslocation of nitrogen out of fine roots is +assumed to be negligible. The fluxes are: .. math:: - :label: 20.17) + :label: 20.17) - NF_{leaf,litter} ={CF_{leaf,litter} \mathord{\left/ {\vphantom {CF_{leaf,litter} CN_{leaf\_ litter} }} \right.} CN_{leaf\_ litter} } + NF_{leaf,litter} ={CF_{leaf,litter} \mathord{\left/ {\vphantom {CF_{leaf,litter} CN_{leaf\_ litter} }} \right. \kern-\nulldelimiterspace} CN_{leaf\_ litter} } .. math:: - :label: 20.18) + :label: 20.18) - NF_{froot,litter} ={CF_{leaf,litter} \mathord{\left/ {\vphantom {CF_{leaf,litter} CN_{froot} }} \right.} CN_{froot} } + NF_{froot,litter} ={CF_{leaf,litter} \mathord{\left/ {\vphantom {CF_{leaf,litter} CN_{froot} }} \right. \kern-\nulldelimiterspace} CN_{froot} } .. math:: - :label: 20.19) + :label: 20.19) - NF_{leaf,retrans} =\left({CF_{leaf,litter} \mathord{\left/ {\vphantom {CF_{leaf,litter} CN_{leaf} }} \right.} CN_{leaf} } \right)-NF_{leaf,litter} . + NF_{leaf,retrans} =\left({CF_{leaf,litter} \mathord{\left/ {\vphantom {CF_{leaf,litter} CN_{leaf} }} \right. \kern-\nulldelimiterspace} CN_{leaf} } \right)-NF_{leaf,litter} . where CN is C:N. 14.1.3 Background Onset Growth ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The stress-deciduous phenology algorithm includes a provision for the case when stress signals are absent, and the vegetation shifts from a deciduous habit to an evergreen habit, until the next occurrence of an offset stress trigger. In that case, the regular onset flux mechanism is switched off and a background onset growth algorithm is invoked (:math:`{r}_{bgtr} > 0`). During this period, small fluxes of carbon and nitrogen from the storage pools into the associated transfer pools are calculated on each time step, and the entire contents of the transfer pool are added to the associated displayed growth pool on each time step. The carbon fluxes from transfer to display pools under these conditions are: +The stress-deciduous phenology algorithm includes a provision for the +case when stress signals are absent, and the vegetation shifts from a +deciduous habit to an evergreen habit, until the next occurrence of an +offset stress trigger . In that case, the regular onset flux mechanism +is switched off and a background onset growth algorithm is invoked +(:math:`{r}_{bgtr} > 0`). During this period, small fluxes +of carbon and nitrogen from the storage pools into the associated +transfer pools are calculated on each time step, and the entire contents +of the transfer pool are added to the associated displayed growth pool +on each time step. The carbon fluxes from transfer to display pools +under these conditions are: .. math:: - :label: 20.20) + :label: 20.20) - CF_{leaf\_ xfer,leaf} ={CS_{leaf\_ xfer} \mathord{\left/ {\vphantom {CS_{leaf\_ xfer} \Delta t}} \right.} \Delta t} + CF_{leaf\_ xfer,leaf} ={CS_{leaf\_ xfer} \mathord{\left/ {\vphantom {CS_{leaf\_ xfer} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 20.21) + :label: 20.21) - CF_{froot\_ xfer,froot} ={CS_{froot\_ xfer} \mathord{\left/ {\vphantom {CS_{froot\_ xfer} \Delta t}} \right.} \Delta t} + CF_{froot\_ xfer,froot} ={CS_{froot\_ xfer} \mathord{\left/ {\vphantom {CS_{froot\_ xfer} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 20.22) + :label: 20.22) - CF_{livestem\_ xfer,livestem} ={CS_{livestem\_ xfer} \mathord{\left/ {\vphantom {CS_{livestem\_ xfer} \Delta t}} \right.} \Delta t} + CF_{livestem\_ xfer,livestem} ={CS_{livestem\_ xfer} \mathord{\left/ {\vphantom {CS_{livestem\_ xfer} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 20.23) + :label: 20.23) - CF_{deadstem\_ xfer,deadstem} ={CS_{deadstem\_ xfer} \mathord{\left/ {\vphantom {CS_{deadstem\_ xfer} \Delta t}} \right.} \Delta t} + CF_{deadstem\_ xfer,deadstem} ={CS_{deadstem\_ xfer} \mathord{\left/ {\vphantom {CS_{deadstem\_ xfer} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 20.24) + :label: 20.24) - CF_{livecroot\_ xfer,livecroot} ={CS_{livecroot\_ xfer} \mathord{\left/ {\vphantom {CS_{livecroot\_ xfer} \Delta t}} \right.} \Delta t} + CF_{livecroot\_ xfer,livecroot} ={CS_{livecroot\_ xfer} \mathord{\left/ {\vphantom {CS_{livecroot\_ xfer} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 20.25) + :label: 20.25) - CF_{deadcroot\_ xfer,deadcroot} ={CS_{deadcroot\_ xfer} \mathord{\left/ {\vphantom {CS_{deadcroot\_ xfer} \Delta t}} \right.} \Delta t} , + CF_{deadcroot\_ xfer,deadcroot} ={CS_{deadcroot\_ xfer} \mathord{\left/ {\vphantom {CS_{deadcroot\_ xfer} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} , and the corresponding nitrogen fluxes are: .. math:: - :label: 20.26) + :label: 20.26) - NF_{leaf\_ xfer,leaf} ={NS_{leaf\_ xfer} \mathord{\left/ {\vphantom {NS_{leaf\_ xfer} \Delta t}} \right.} \Delta t} + NF_{leaf\_ xfer,leaf} ={NS_{leaf\_ xfer} \mathord{\left/ {\vphantom {NS_{leaf\_ xfer} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 20.27) + :label: 20.27) - NF_{froot\_ xfer,froot} ={NS_{froot\_ xfer} \mathord{\left/ {\vphantom {NS_{froot\_ xfer} \Delta t}} \right.} \Delta t} + NF_{froot\_ xfer,froot} ={NS_{froot\_ xfer} \mathord{\left/ {\vphantom {NS_{froot\_ xfer} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 20.28) + :label: 20.28) - NF_{livestem\_ xfer,livestem} ={NS_{livestem\_ xfer} \mathord{\left/ {\vphantom {NS_{livestem\_ xfer} \Delta t}} \right.} \Delta t} + NF_{livestem\_ xfer,livestem} ={NS_{livestem\_ xfer} \mathord{\left/ {\vphantom {NS_{livestem\_ xfer} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 20.29) + :label: 20.29) - NF_{deadstem\_ xfer,deadstem} ={NS_{deadstem\_ xfer} \mathord{\left/ {\vphantom {NS_{deadstem\_ xfer} \Delta t}} \right.} \Delta t} + NF_{deadstem\_ xfer,deadstem} ={NS_{deadstem\_ xfer} \mathord{\left/ {\vphantom {NS_{deadstem\_ xfer} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 20.30) + :label: 20.30) - NF_{livecroot\_ xfer,livecroot} ={NS_{livecroot\_ xfer} \mathord{\left/ {\vphantom {NS_{livecroot\_ xfer} \Delta t}} \right.} \Delta t} + NF_{livecroot\_ xfer,livecroot} ={NS_{livecroot\_ xfer} \mathord{\left/ {\vphantom {NS_{livecroot\_ xfer} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 20.31) + :label: 20.31) - NF_{deadcroot\_ xfer,deadcroot} ={NS_{deadcroot\_ xfer} \mathord{\left/ {\vphantom {NS_{deadcroot\_ xfer} \Delta t}} \right.} \Delta t} . + NF_{deadcroot\_ xfer,deadcroot} ={NS_{deadcroot\_ xfer} \mathord{\left/ {\vphantom {NS_{deadcroot\_ xfer} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} . 14.1.4 Background Litterfall ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Both evergreen and stress-deciduous phenology algorithms can specify a litterfall flux that is not associated with a specific offset period, but which occurs instead at a slow rate over an extended period of time, referred to as background litterfall. For evergreen types the background litterfall is the only litterfall flux. For stress-deciduous types either the offset period litterfall or the background litterfall mechanism may be active, but not both at once. Given a specification of the background litterfall rate (:math:`{r}_{bglf}`, s\ :sup:`-1`), litterfall carbon fluxes are calculated as +Both evergreen and stress-deciduous phenology algorithms can specify a +litterfall flux that is not associated with a specific offset period, +but which occurs instead at a slow rate over an extended period of time, +referred to as background litterfall. For evergreen types the background +litterfall is the only litterfall flux. For stress-deciduous types +either the offset period litterfall or the background litterfall +mechanism may be active, but not both at once. Given a specification of +the background litterfall rate (:math:`{r}_{bglf}`, s\ :sup:`-1`), litterfall carbon fluxes are calculated as .. math:: - :label: 20.32) + :label: 20.32) CF_{leaf,litter} =r_{bglf} CS_{leaf} .. math:: - :label: 20.33) + :label: 20.33) CS_{froot,litter} =r_{bglf} CS_{froot} , with corresponding nitrogen litterfall and retranslocation fluxes: .. math:: - :label: 20.34) + :label: 20.34) - NF_{leaf,litter} ={CF_{leaf,litter} \mathord{\left/ {\vphantom {CF_{leaf,litter} CN_{leaf\_ litter} }} \right.} CN_{leaf\_ litter} } + NF_{leaf,litter} ={CF_{leaf,litter} \mathord{\left/ {\vphantom {CF_{leaf,litter} CN_{leaf\_ litter} }} \right. \kern-\nulldelimiterspace} CN_{leaf\_ litter} } .. math:: - :label: 20.35) + :label: 20.35) - NF_{froot,litter} ={CF_{froot,litter} \mathord{\left/ {\vphantom {CF_{froot,litter} CN_{froot} }} \right.} CN_{froot} } + NF_{froot,litter} ={CF_{froot,litter} \mathord{\left/ {\vphantom {CF_{froot,litter} CN_{froot} }} \right. \kern-\nulldelimiterspace} CN_{froot} } .. math:: - :label: 20.36) + :label: 20.36) - NF_{leaf,retrans} =\left({CF_{leaf,litter} \mathord{\left/ {\vphantom {CF_{leaf,litter} CN_{leaf} }} \right.} CN_{leaf} } \right)-NF_{leaf,litter} . + NF_{leaf,retrans} =\left({CF_{leaf,litter} \mathord{\left/ {\vphantom {CF_{leaf,litter} CN_{leaf} }} \right. \kern-\nulldelimiterspace} CN_{leaf} } \right)-NF_{leaf,litter} . 14.1.5 Livewood Turnover ^^^^^^^^^^^^^^^^^^^^^^^^ -The conceptualization of live wood vs. dead wood fractions for stem and coarse root pools is intended to capture the difference in maintenance respiration rates between these two physiologically distinct tissue types. Unlike displayed pools for leaf and fine root, which are lost to litterfall, live wood cells reaching the end of their lifespan are retained as a part of the dead woody structure of stems and coarse roots. A mechanism is therefore included in the phenology routine to effect the transfer of live wood to dead wood pools, which also takes into account the different nitrogen concentrations typical of these tissue types. +The conceptualization of live wood vs. dead wood fractions for stem and +coarse root pools is intended to capture the difference in maintenance +respiration rates between these two physiologically distinct tissue +types. Unlike displayed pools for leaf and fine root, which are lost to +litterfall, live wood cells reaching the end of their lifespan are +retained as a part of the dead woody structure of stems and coarse +roots. A mechanism is therefore included in the phenology routine to +effect the transfer of live wood to dead wood pools, which also takes +into account the different nitrogen concentrations typical of these +tissue types. -A live wood turnover rate (:math:`{r}_{lwt}`, s\ :sup:`-1`) is defined as +A live wood turnover rate (:math:`{r}_{lwt}`, s\ :sup:`-1`) is +defined as .. math:: - :label: 20.37) + :label: 20.37) - r_{lwt} ={p_{lwt} \mathord{\left/ {\vphantom {p_{lwt} \left(365\cdot 86400\right)}} \right.} \left(365\cdot 86400\right)} + r_{lwt} ={p_{lwt} \mathord{\left/ {\vphantom {p_{lwt} \left(365\cdot 86400\right)}} \right. \kern-\nulldelimiterspace} \left(365\cdot 86400\right)} -where :math:`{p}_{lwt} = 0.7` is the assumed annual live wood turnover fraction. Carbon fluxes from live to dead wood pools are: +where :math:`{p}_{lwt} = 0.7` is the assumed annual live wood +turnover fraction. Carbon fluxes from live to dead wood pools are: .. math:: - :label: 20.38) + :label: 20.38) CF_{livestem,deadstem} =CS_{livestem} r_{lwt} .. math:: - :label: 20.39) + :label: 20.39) CF_{livecroot,deadcroot} =CS_{livecroot} r_{lwt} , -and the associated nitrogen fluxes, including retranslocation of nitrogen out of live wood during turnover, are: +and the associated nitrogen fluxes, including retranslocation of +nitrogen out of live wood during turnover, are: .. math:: - :label: 20.40) + :label: 20.40) - NF_{livestem,deadstem} ={CF_{livestem,deadstem} \mathord{\left/ {\vphantom {CF_{livestem,deadstem} CN_{dw} }} \right.} CN_{dw} } + NF_{livestem,deadstem} ={CF_{livestem,deadstem} \mathord{\left/ {\vphantom {CF_{livestem,deadstem} CN_{dw} }} \right. \kern-\nulldelimiterspace} CN_{dw} } .. math:: - :label: 20.41) + :label: 20.41) - NF_{livestem,retrans} =\left({CF_{livestem,deadstem} \mathord{\left/ {\vphantom {CF_{livestem,deadstem} CN_{lw} }} \right.} CN_{lw} } \right)-NF_{livestem,deadstem} + NF_{livestem,retrans} =\left({CF_{livestem,deadstem} \mathord{\left/ {\vphantom {CF_{livestem,deadstem} CN_{lw} }} \right. \kern-\nulldelimiterspace} CN_{lw} } \right)-NF_{livestem,deadstem} .. math:: - :label: 20.42) + :label: 20.42) - NF_{livecroot,deadcroot} ={CF_{livecroot,deadcroot} \mathord{\left/ {\vphantom {CF_{livecroot,deadcroot} CN_{dw} }} \right.} CN_{dw} } + NF_{livecroot,deadcroot} ={CF_{livecroot,deadcroot} \mathord{\left/ {\vphantom {CF_{livecroot,deadcroot} CN_{dw} }} \right. \kern-\nulldelimiterspace} CN_{dw} } .. math:: - :label: 20.43) + :label: 20.43) - NF_{livecroot,retrans} =\left({CF_{livecroot,deadcroot} \mathord{\left/ {\vphantom {CF_{livecroot,deadcroot} CN_{lw} }} \right.} CN_{lw} } \right)-NF_{livecroot,deadcroot} . + NF_{livecroot,retrans} =\left({CF_{livecroot,deadcroot} \mathord{\left/ {\vphantom {CF_{livecroot,deadcroot} CN_{lw} }} \right. \kern-\nulldelimiterspace} CN_{lw} } \right)-NF_{livecroot,deadcroot} . Evergreen Phenology ------------------------ -The evergreen phenology algorithm is by far the simplest of the three possible types. It is assumed for all evergreen types that all carbon and nitrogen allocated for new growth in the current timestep goes immediately to the displayed growth pools (i.e. f\ :math:`{f}_{cur} = 1.0` (Chapter 13)). As such, there is never an accumulation of carbon or nitrogen in the storage or transfer pools, and so the onset growth and background onset growth mechanisms are never invoked for this type. Litterfall is specified to occur only through the background litterfall mechanism – there are no distinct periods of litterfall for evergreen types, but rather a continuous (slow) shedding of foliage and fine roots. This is an obvious area for potential improvements in the model, since it is known, at least for evergreen needleleaf trees in the temperate and boreal zones, that there are distinct periods of higher and lower leaf litterfall (Ferrari, 1999; Gholz et al., 1985). The rate of background litterfall (:math:`{r}_{bglf}`, section 14.1.4) depends on the specified leaf longevity (:math:`\tau_{leaf}`\, y), as - -.. math:: - :label: 20.44) +The evergreen phenology algorithm is by far the simplest of the three +possible types. It is assumed for all evergreen types that all carbon +and nitrogen allocated for new growth in the current timestep goes +immediately to the displayed growth pools (i.e. f\ :math:`{f}_{cur} = 1.0` +(Chapter 13)). As such, there is never an accumulation of carbon or +nitrogen in the storage or transfer pools, and so the onset growth and +background onset growth mechanisms are never invoked for this type. +Litterfall is specified to occur only through the background litterfall +mechanism – there are no distinct periods of litterfall for evergreen +types, but rather a continuous (slow) shedding of foliage and fine +roots. This is an obvious area for potential improvements in the model, +since it is known, at least for evergreen needleleaf trees in the +temperate and boreal zones, that there are distinct periods of higher +and lower leaf litterfall (Ferrari, 1999; Gholz et al., 1985). The rate +of background litterfall (:math:`{r}_{bglf}`, section 14.1.4) +depends on the specified leaf longevity (:math:`\tau_{leaf}`\ , y), as + +.. math:: + :label: 20.44) r_{bglf} =\frac{1}{\tau _{leaf} \cdot 365\cdot 86400} . Seasonal-Deciduous Phenology --------------------------------- -The seasonal-deciduous phenology algorithm derives directly from the treatment used in the offline model Biome-BGC v. 4.1.2, (Thornton et al., 2002), which in turn is based on the parameterizations for leaf onset and offset for temperate deciduous broadleaf forest from White et al. (1997). Initiation of leaf onset is triggered when a common degree-day summation exceeds a critical value, and leaf litterfall is initiated when daylength is shorter than a critical value. Because of the dependence on daylength, the seasonal deciduous phenology algorithm is only valid for latitudes outside of the tropical zone, defined here as :math:`\left|{\rm latitude}\right|>19.5{\rm {}^\circ }`. Neither the background onset nor background litterfall mechanism is invoked for the seasonal-deciduous phenology algorithm. The algorithm allows a maximum of one onset period and one offset period each year. - -The algorithms for initiation of onset and offset periods use the winter and summer solstices as coordination signals. The period between winter and summer solstice is identified as :math:`{dayl}_{n} > {dayl}_{n-1}`, and the period between summer and winter solstice is identified as :math:`{dayl}_{n} < {dayl}_{n-1}`, where :math:`{dayl}_{n}` and :math:`{dayl}_{n-1}` are the day length(s) calculated for the current and previous timesteps, respectively, using - -.. math:: - :label: 20.45) +The seasonal-deciduous phenology algorithm derives directly from the +treatment used in the offline model Biome-BGC v. 4.1.2, (Thornton et +al., 2002), which in turn is based on the parameterizations for leaf +onset and offset for temperate deciduous broadleaf forest from White et +al. (1997). Initiation of leaf onset is triggered when a common +degree-day summation exceeds a critical value, and leaf litterfall is +initiated when daylength is shorter than a critical value. Because of +the dependence on daylength, the seasonal deciduous phenology algorithm +is only valid for latitudes outside of the tropical zone, defined here +as :math:`\left|{\rm latitude}\right|>19.5{\rm {}^\circ }`. Neither the +background onset nor background litterfall mechanism is invoked for the +seasonal-deciduous phenology algorithm. The algorithm allows a maximum +of one onset period and one offset period each year. + +The algorithms for initiation of onset and offset periods use the winter +and summer solstices as coordination signals. The period between winter +and summer solstice is identified as :math:`{dayl}_{n} > {dayl}_{n-1}`, +and the period between summer and winter +solstice is identified as :math:`{dayl}_{n} < {dayl}_{n-1}`, +where :math:`{dayl}_{n}` and :math:`{dayl}_{n-1}` are the day length(s) calculated for the +current and previous timesteps, respectively, using + +.. math:: + :label: 20.45) dayl=2\cdot 13750.9871\cdot acos\left(\frac{-\sin (lat)\sin (decl)}{\cos (lat)\cos (decl)} \right), -where *lat* and *decl* are the latitude and solar declination (radians), respectively, and the factor 13750.9871 is the number of seconds per radian of hour-angle. +where *lat* and *decl* are the latitude and solar declination (radians), +respectively, and the factor 13750.9871 is the number of seconds per +radian of hour-angle. 14.3.1 Seasonal-Deciduous Onset Trigger ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The onset trigger for the seasonal-deciduous phenology algorithm is based on an accumulated growing-degree-day approach (White et al., 1997). The growing-degree-day summation (:math:`{GDD}_{sum}`) is initiated ( :math:`{GDD}_{sum} = 0`) when the phenological state is dormant and the model timestep crosses the winter solstice. Once these conditions are met, :math:`{GDD}_{sum}` is updated on each timestep as +The onset trigger for the seasonal-deciduous phenology algorithm is +based on an accumulated growing-degree-day approach (White et al., +1997). The growing-degree-day summation (:math:`{GDD}_{sum}`) is +initiated ( :math:`{GDD}_{sum} = 0`) when the phenological state is +dormant and the model timestep crosses the winter solstice. Once these +conditions are met, :math:`{GDD}_{sum}` is updated on each timestep as .. math:: - :label: ZEqnNum510730 + :label: ZEqnNum510730 GDD_{sum}^{n} =\left\{\begin{array}{l} {GDD_{sum}^{n-1} +\left(T_{s,3} -TKFRZ\right)f_{day} \qquad {\rm for\; }T_{s,3} >TKFRZ} \\ {GDD_{sum}^{n-1} \qquad \qquad \qquad {\rm for\; }T_{s,3} \le TKFRZ} \end{array}\right. -where :math:`{T}_{s,3}` (K) is the temperature of the third soil layer, and :math:`f_{day} ={\Delta t\mathord{\left/ {\vphantom {\Delta t 86400}} \right.} 86400}`. The onset period is initiated if :math:`GDD_{sum} >GDD_{sum\_ crit}`, where +where :math:`{T}_{s,3}` (K) is the temperature of the third soil layer, and +:math:`f_{day} ={\Delta t\mathord{\left/ {\vphantom {\Delta t 86400}} \right. \kern-\nulldelimiterspace} 86400}` . +The onset period is initiated if :math:`GDD_{sum} >GDD_{sum\_ crit}` , +where .. math:: - :label: ZEqnNum598907 + :label: ZEqnNum598907 GDD_{sum\_ crit} =\exp \left(4.8+0.13{\kern 1pt} \left(T_{2m,ann\_ avg} -TKFRZ\right)\right) -and where :math:`{T}_{2m,ann\_avg}` (K) is the annual average of the 2m air temperature, and TKFRZ is the freezing point of water (273.15 K). The following control variables are set when a new onset growth period is initiated: +and where :math:`{T}_{2m,ann\_avg}` (K) is the annual average of +the 2m air temperature, and TKFRZ is the freezing point of water (273.15 K). The following control variables are set when a new onset growth +period is initiated: .. math:: - :label: 20.48) + :label: 20.48) GDD_{sum} =0 .. math:: - :label: 20.49) + :label: 20.49) t_{onset} =86400\cdot n_{days\_ on} , -where :math:`{n}_{days\_on}` is set to a constant value of 30 days. Fluxes from storage into transfer pools occur in the timestep when a new onset growth period is initiated. Carbon fluxes are: +where :math:`{n}_{days\_on}` is set to a constant value of 30 days. +Fluxes from storage into transfer pools occur in the timestep when a new +onset growth period is initiated. Carbon fluxes are: .. math:: - :label: ZEqnNum904388 + :label: ZEqnNum904388 - CF_{leaf\_ stor,leaf\_ xfer} ={f_{stor,xfer} CS_{leaf\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} CS_{leaf\_ stor} \Delta t}} \right.} \Delta t} + CF_{leaf\_ stor,leaf\_ xfer} ={f_{stor,xfer} CS_{leaf\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} CS_{leaf\_ stor} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 20.51) + :label: 20.51) - CF_{froot\_ stor,froot\_ xfer} ={f_{stor,xfer} CS_{froot\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} CS_{froot\_ stor} \Delta t}} \right.} \Delta t} + CF_{froot\_ stor,froot\_ xfer} ={f_{stor,xfer} CS_{froot\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} CS_{froot\_ stor} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 20.52) + :label: 20.52) - CF_{livestem\_ stor,livestem\_ xfer} ={f_{stor,xfer} CS_{livestem\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} CS_{livestem\_ stor} \Delta t}} \right.} \Delta t} + CF_{livestem\_ stor,livestem\_ xfer} ={f_{stor,xfer} CS_{livestem\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} CS_{livestem\_ stor} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 20.53) + :label: 20.53) - CF_{deadstem\_ stor,deadstem\_ xfer} ={f_{stor,xfer} CS_{deadstem\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} CS_{deadstem\_ stor} \Delta t}} \right.} \Delta t} + CF_{deadstem\_ stor,deadstem\_ xfer} ={f_{stor,xfer} CS_{deadstem\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} CS_{deadstem\_ stor} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 20.54) + :label: 20.54) - CF_{livecroot\_ stor,livecroot\_ xfer} ={f_{stor,xfer} CS_{livecroot\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} CS_{livecroot\_ stor} \Delta t}} \right.} \Delta t} + CF_{livecroot\_ stor,livecroot\_ xfer} ={f_{stor,xfer} CS_{livecroot\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} CS_{livecroot\_ stor} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 20.55) + :label: 20.55) - CF_{deadcroot\_ stor,deadcroot\_ xfer} ={f_{stor,xfer} CS_{deadcroot\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} CS_{deadcroot\_ stor} \Delta t}} \right.} \Delta t} + CF_{deadcroot\_ stor,deadcroot\_ xfer} ={f_{stor,xfer} CS_{deadcroot\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} CS_{deadcroot\_ stor} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: ZEqnNum195642 + :label: ZEqnNum195642 - CF_{gresp\_ stor,gresp\_ xfer} ={f_{stor,xfer} CS_{gresp\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} CS_{gresp\_ stor} \Delta t}} \right.} \Delta t} + CF_{gresp\_ stor,gresp\_ xfer} ={f_{stor,xfer} CS_{gresp\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} CS_{gresp\_ stor} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} and the associated nitrogen fluxes are: .. math:: - :label: ZEqnNum812152 + :label: ZEqnNum812152 - NF_{leaf\_ stor,leaf\_ xfer} ={f_{stor,xfer} NS_{leaf\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} NS_{leaf\_ stor} \Delta t}} \right.} \Delta t} + NF_{leaf\_ stor,leaf\_ xfer} ={f_{stor,xfer} NS_{leaf\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} NS_{leaf\_ stor} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 20.58) + :label: 20.58) - NF_{froot\_ stor,froot\_ xfer} ={f_{stor,xfer} NS_{froot\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} NS_{froot\_ stor} \Delta t}} \right.} \Delta t} + NF_{froot\_ stor,froot\_ xfer} ={f_{stor,xfer} NS_{froot\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} NS_{froot\_ stor} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 20.59) + :label: 20.59) - NF_{livestem\_ stor,livestem\_ xfer} ={f_{stor,xfer} NS_{livestem\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} NS_{livestem\_ stor} \Delta t}} \right.} \Delta t} + NF_{livestem\_ stor,livestem\_ xfer} ={f_{stor,xfer} NS_{livestem\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} NS_{livestem\_ stor} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 20.60) + :label: 20.60) - NF_{deadstem\_ stor,deadstem\_ xfer} ={f_{stor,xfer} NS_{deadstem\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} NS_{deadstem\_ stor} \Delta t}} \right.} \Delta t} + NF_{deadstem\_ stor,deadstem\_ xfer} ={f_{stor,xfer} NS_{deadstem\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} NS_{deadstem\_ stor} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: 20.61) + :label: 20.61) - NF_{livecroot\_ stor,livecroot\_ xfer} ={f_{stor,xfer} NS_{livecroot\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} NS_{livecroot\_ stor} \Delta t}} \right.} \Delta t} + NF_{livecroot\_ stor,livecroot\_ xfer} ={f_{stor,xfer} NS_{livecroot\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} NS_{livecroot\_ stor} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} .. math:: - :label: ZEqnNum605338 + :label: ZEqnNum605338 - NF_{deadcroot\_ stor,deadcroot\_ xfer} ={f_{stor,xfer} NS_{deadcroot\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} NS_{deadcroot\_ stor} \Delta t}} \right.} \Delta t} + NF_{deadcroot\_ stor,deadcroot\_ xfer} ={f_{stor,xfer} NS_{deadcroot\_ stor} \mathord{\left/ {\vphantom {f_{stor,xfer} NS_{deadcroot\_ stor} \Delta t}} \right. \kern-\nulldelimiterspace} \Delta t} -where :math:`{f}_{stor,xfer}` is the fraction of current storage pool moved into the transfer pool for display over the incipient onset period. This fraction is set to 0.5, based on the observation that seasonal deciduous trees are capable of replacing their canopies from storage reserves in the event of a severe early-season disturbance such as frost damage or defoliation due to insect herbivory. +where :math:`{f}_{stor,xfer}` is the fraction of current storage +pool moved into the transfer pool for display over the incipient onset +period. This fraction is set to 0.5, based on the observation that +seasonal deciduous trees are capable of replacing their canopies from +storage reserves in the event of a severe early-season disturbance such +as frost damage or defoliation due to insect herbivory. -If the onset criterion (:math:`{GDD}_{sum} > {GDD}_{sum\_crit}`) is not met before the summer solstice, then :math:`{GDD}_{sum}` is set to 0.0 and the growing-degree-day accumulation will not start again until the following winter solstice. This mechanism prevents the initiation of very short growing seasons late in the summer in cold climates. The onset counter is decremented on each time step after initiation of the onset period, until it reaches zero, signaling the end of the onset period: +If the onset criterion (:math:`{GDD}_{sum} > {GDD}_{sum\_crit}`) is not met before the summer solstice, +then :math:`{GDD}_{sum}` is set to 0.0 and the growing-degree-day +accumulation will not start again until the following winter solstice. +This mechanism prevents the initiation of very short growing seasons +late in the summer in cold climates. The onset counter is decremented on +each time step after initiation of the onset period, until it reaches +zero, signaling the end of the onset period: .. math:: - :label: 20.63) + :label: 20.63) t_{onfset}^{n} =t_{onfset}^{n-1} -\Delta t -14.3.2 Seasonal-Deciduous Offset Trigger +14.3.2 Seasonal-Deciduous Offset Trigger ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -After the completion of an onset period, and once past the summer solstice, the offset (litterfall) period is triggered when daylength is shorter than 39300 s. The offset counter is set at the initiation of the offset period: :math:`t_{offset} =86400\cdot n_{days\_ off}`, where :math:`{n}_{days\_off}` is set to a constant value of 15 days. The offset counter is decremented on each time step after initiation of the offset period, until it reaches zero, signaling the end of the offset period: +After the completion of an onset period, and once past the summer +solstice, the offset (litterfall) period is triggered when daylength is +shorter than 39300 s. The offset counter is set at the initiation of the +offset period: :math:`t_{offset} =86400\cdot n_{days\_ off}` , where +:math:`{n}_{days\_off}` is set to a constant value of 15 days. The +offset counter is decremented on each time step after initiation of the +offset period, until it reaches zero, signaling the end of the offset +period: .. math:: - :label: 20.64) + :label: 20.64) t_{offset}^{n} =t_{offset}^{n-1} -\Delta t Stress-Deciduous Phenology ------------------------------- -The stress-deciduous phenology algorithm was developed specifically for the CLM based in part on the grass phenology model proposed by White et al. (1997). The algorithm handles phenology for vegetation types such as grasses and tropical drought-deciduous trees that respond to both cold and drought-stress signals, and that can have multiple growing seasons per year. The algorithm also allows for the possibility that leaves might persist year-round in the absence of a suitable stress trigger. In that case the phenology switches to an evergreen habit, maintaining a marginally-deciduous leaf longevity (one year) until the occurrence of the next stress trigger. +The stress-deciduous phenology algorithm was developed specifically for +the CLM based in part on the grass phenology model proposed by White et +al. (1997). The algorithm handles phenology for vegetation types such as +grasses and tropical drought-deciduous trees that respond to both cold +and drought-stress signals, and that can have multiple growing seasons +per year. The algorithm also allows for the possibility that leaves +might persist year-round in the absence of a suitable stress trigger. In +that case the phenology switches to an evergreen habit, maintaining a +marginally-deciduous leaf longevity (one year) until the occurrence of +the next stress trigger. 14.4.1 Stress-Deciduous Onset Triggers ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -In climates that are warm year-round, onset triggering depends on soil water availability. At the beginning of a dormant period (end of previous offset period), an accumulated soil water index (:math:`{SWI}_{sum}`, d) is initialized (:math:`{SWI}_{sum} = 0`), with subsequent accumulation calculated as: +In climates that are warm year-round, onset triggering depends on soil +water availability. At the beginning of a dormant period (end of +previous offset period), an accumulated soil water index +(:math:`{SWI}_{sum}`, d) is initialized (:math:`{SWI}_{sum} = 0`), with subsequent accumulation calculated as: .. math:: - :label: ZEqnNum503826 + :label: ZEqnNum503826 SWI_{sum}^{n} =\left\{\begin{array}{l} {SWI_{sum}^{n-1} +f_{day} \qquad {\rm for\; }\Psi _{s,3} \ge \Psi _{onset} } \\ {SWI_{sum}^{n-1} \qquad \qquad {\rm for\; }\Psi _{s,3} <\Psi _{onset} } \end{array}\right. -where :math:`\Psi`\ :sub:`s,3` is the soil water potential (MPa) in the third soil layer and :math:`{\Psi}_{onset} = -0.6 MPa` is the onset soil water potential threshold. Onset triggering is possible once :math:`{SWI}_{sum} > 15`. To avoid spurious onset triggering due to soil moisture in the third soil layer exceeding the threshold due only to soil water suction of water from deeper in the soil column, an additional precipitation trigger is included which requires at least 20 mm of rain over the previous 10 days :ref:`(Dahlin et al., 2015) `. If the cold climate growing degree-day accumulator is not active at the time when the soil moisture and precipitation thresholds are reached (see below), and if the daylength is greater than 6 hours, then onset is triggered. Except as noted below, :math:`{SWI}_{sum}` continues to accumulate according to Eq. :eq:`ZEqnNum503826` during the dormant period if the daylength criterion prevents onset triggering, and onset is then triggered at the timestep when daylength exceeds 6 hours. - -In climates with a cold season, onset triggering depends on both accumulated soil temperature summation and adequate soil moisture. At the beginning of a dormant period a freezing day accumulator (:math:`{FD}_{sum}`, d) is initialized (:math:`{FD}_{sum} = 0`), with subsequent accumulation calculated as: - -.. math:: - :label: 20.66) +where :math:`\Psi`\ :sub:`s,3` is the soil water potential (MPa) +in the third soil layer and :math:`{\Psi}_{onset} = -0.6 MPa` +is the onset soil water potential threshold. Onset triggering is +possible once :math:`{SWI}_{sum} > 15`. To avoid spurious onset triggering due to +soil moisture in the third soil layer exceeding the threshold due only to +soil water suction of water from deeper in the soil column, an additional precipitation trigger is included which requires +at least 20 mm of rain over the previous 10 days :ref:`(Dahlin et al., 2015) `. If the cold climate +growing degree-day accumulator is not active at the time when the soil moisture and precipitation +thresholds are reached (see below), and if the daylength is greater than 6 +hours, then onset is triggered. Except as noted below, +:math:`{SWI}_{sum}` continues to accumulate according to Eq. :eq:`ZEqnNum503826` during +the dormant period if the daylength criterion prevents onset triggering, +and onset is then triggered at the timestep when daylength exceeds 6 +hours. + +In climates with a cold season, onset triggering depends on both +accumulated soil temperature summation and adequate soil moisture. At +the beginning of a dormant period a freezing day accumulator +(:math:`{FD}_{sum}`, d) is initialized (:math:`{FD}_{sum} = 0`), +with subsequent accumulation calculated as: + +.. math:: + :label: 20.66) FD_{sum}^{n} =\left\{\begin{array}{l} {FD_{sum}^{n-1} +f_{day} \qquad {\rm for\; }T_{s,3} >TKFRZ} \\ {FD_{sum}^{n-1} \qquad \qquad {\rm for\; }T_{s,3} \le TKFRZ} \end{array}\right. . -If :math:`{FD}_{sum} > 15` during the dormant period, then a cold-climate onset triggering criterion is introduced, following exactly the growing degree-day summation (:math:`{GDD}_{sum}`) logic of Eqs. :eq:`ZEqnNum510730` and :eq:`ZEqnNum598907`. At that time :math:`{SWI}_{sum}` is reset (:math:`{SWI}_{sum} = 0`). Onset triggering under these conditions depends on meeting all three of the following criteria: :math:`{SWI}_{sum} > 15`, :math:`{GDD}_{sum} > {GDD}_{sum\_crit}`, and daylength greater than 6 hrs. +If :math:`{FD}_{sum} > 15` during the dormant period, then a +cold-climate onset triggering criterion is introduced, following exactly +the growing degree-day summation (:math:`{GDD}_{sum}`) logic of Eqs. :eq:`ZEqnNum510730` +and :eq:`ZEqnNum598907`. At that time :math:`{SWI}_{sum}` is reset +(:math:`{SWI}_{sum} = 0`). Onset triggering under these conditions +depends on meeting all three of the following criteria: +:math:`{SWI}_{sum} > 15`, :math:`{GDD}_{sum} > {GDD}_{sum\_crit}`, and daylength greater than 6 hrs. -The following control variables are set when a new onset growth period is initiated: :math:`{SWI}_{sum} = 0`, :math:`{FD}_{sum} = 0`, :math:`{GDD}_{sum} = 0`, :math:`{n}_{days\_active} = 0`, and :math:`t_{onset} = 86400\cdot n_{days\_ on}`, where :math:`{n}_{days\_on}` is set to a constant value of 30 days. Fluxes from storage into transfer pools occur in the timestep when a new onset growth period is initiated, and are handled identically to Eqs. :eq:`ZEqnNum904388` -:eq:`ZEqnNum195642` for carbon fluxes, and to Eqs. :eq:`ZEqnNum812152` - :eq:`ZEqnNum605338` for nitrogen fluxes. The onset counter is decremented on each time step after initiation of the onset period, until it reaches zero, signaling the end of the onset period: +The following control variables are set when a new onset growth period +is initiated: :math:`{SWI}_{sum} = 0`, :math:`{FD}_{sum} = 0`, :math:`{GDD}_{sum} = 0`, :math:`{n}_{days\_active} = 0`, and +:math:`t_{onset} = 86400\cdot n_{days\_ on}` , where :math:`{n}_{days\_on}` is set to a constant value of 30 days. Fluxes +from storage into transfer pools occur in the timestep when a new onset growth period is initiated, and are handled identically to Eqs. :eq:`ZEqnNum904388` -:eq:`ZEqnNum195642` for +carbon fluxes, and to Eqs. :eq:`ZEqnNum812152` - :eq:`ZEqnNum605338` for nitrogen fluxes. The onset counter is decremented on each time step after initiation of the onset period, +until it reaches zero, signaling the end of the onset period: .. math:: - :label: 20.67) + :label: 20.67) t_{onfset}^{n} =t_{onfset}^{n-1} -\Delta t 14.4.2 Stress-Deciduous Offset Triggers ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Any one of the following three conditions is sufficient to initiate an offset period for the stress-deciduous phenology algorithm: sustained period of dry soil, sustained period of cold temperature, or daylength shorter than 6 hours. Offset triggering due to dry soil or cold temperature conditions is only allowed once the most recent onset period is complete. Dry soil condition is evaluated with an offset soil water index accumulator (:math:`{OSWI}_{sum}`, d). To test for a sustained period of dry soils, this control variable can increase or decrease, as follows: +Any one of the following three conditions is sufficient to initiate an +offset period for the stress-deciduous phenology algorithm: sustained +period of dry soil, sustained period of cold temperature, or daylength +shorter than 6 hours. Offset triggering due to dry soil or cold +temperature conditions is only allowed once the most recent onset period +is complete. Dry soil condition is evaluated with an offset soil water +index accumulator (:math:`{OSWI}_{sum}`, d). To test for a sustained +period of dry soils, this control variable can increase or decrease, as +follows: .. math:: - :label: 20.68) + :label: 20.68) OSWI_{sum}^{n} =\left\{\begin{array}{l} {OSWI_{sum}^{n-1} +f_{day} \qquad \qquad \qquad {\rm for\; }\Psi _{s,3} \le \Psi _{offset} } \\ {{\rm max}\left(OSWI_{sum}^{n-1} -f_{day} ,0\right)\qquad {\rm for\; }\Psi _{s,3} >\Psi _{onset} } \end{array}\right. -where :math:`{\Psi}_{offset} = -0.8 MPa` is the offset soil water potential threshold. An offset period is triggered if the previous onset period is complete and :math:`{OSWI}_{sum}` :math:`\mathrm{\ge}` :math:`{OSWI}_{sum\_crit}`, where :math:`{OSWI}_{sum\_crit} = 15`. +where :math:`{\Psi}_{offset} = -0.8 MPa` is the offset soil +water potential threshold. An offset period is triggered if the previous +onset period is complete and :math:`{OSWI}_{sum}` +:math:`\mathrm{\ge}` :math:`{OSWI}_{sum\_crit}`, where :math:`{OSWI}_{sum\_crit} = 15`. -The cold temperature trigger is calculated with an offset freezing day accumulator (:math:`{OFD}_{sum}`, d). To test for a sustained period of cold temperature, this variable can increase or decrease, as follows: +The cold temperature trigger is calculated with an offset freezing day +accumulator (:math:`{OFD}_{sum}`, d). To test for a sustained period +of cold temperature, this variable can increase or decrease, as follows: .. math:: - :label: 20.69) + :label: 20.69) OFD_{sum}^{n} =\left\{\begin{array}{l} {OFD_{sum}^{n-1} +f_{day} \qquad \qquad \qquad {\rm for\; }T_{s,3} \le TKFRZ} \\ {{\rm max}\left(OFD_{sum}^{n-1} -f_{day} ,0\right)\qquad \qquad {\rm for\; }T_{s,3} >TKFRZ} \end{array}\right. -An offset period is triggered if the previous onset period is complete and :math:`{OFD}_{sum} > {OFD}_{sum\_crit}`, where :math:`{OFD}_{sum\_crit} = 15`. +An offset period is triggered if the previous onset period is complete +and :math:`{OFD}_{sum} > {OFD}_{sum\_crit}`, +where :math:`{OFD}_{sum\_crit} = 15`. -The offset counter is set at the initiation of the offset period: :math:`t_{offset} =86400\cdot n_{days\_ off}`, where :math:`{n}_{days\_off}` is set to a constant value of 15 days. The offset counter is decremented on each time step after initiation of the offset period, until it reaches zero, signaling the end of the offset period: +The offset counter is set at the initiation of the offset period: +:math:`t_{offset} =86400\cdot n_{days\_ off}` , where +:math:`{n}_{days\_off}` is set to a constant value of 15 days. The +offset counter is decremented on each time step after initiation of the +offset period, until it reaches zero, signaling the end of the offset +period: .. math:: - :label: 20.70) + :label: 20.70) t_{offset}^{n} =t_{offset}^{n-1} -\Delta t 14.4.3 Stress-Deciduous: Long Growing Season ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Under conditions when the stress-deciduous conditions triggering offset are not met for one year or longer, the stress-deciduous algorithm shifts toward the evergreen behavior. This can happen in cases where a stress-deciduous vegetation type is assigned in a climate where suitably strong stresses occur less frequently than once per year. This condition is evaluated by tracking the number of days since the beginning of the most recent onset period (:math:`{n}_{days\_active}`, d). At the end of an offset period :math:`{n}_{days\_active}` is reset to 0. A long growing season control variable (*LGS*, range 0 to 1) is calculated as: +Under conditions when the stress-deciduous conditions triggering offset +are not met for one year or longer, the stress-deciduous algorithm +shifts toward the evergreen behavior. This can happen in cases where a +stress-deciduous vegetation type is assigned in a climate where suitably +strong stresses occur less frequently than once per year. This condition +is evaluated by tracking the number of days since the beginning of the +most recent onset period (:math:`{n}_{days\_active}`, d). At the end +of an offset period :math:`{n}_{days\_active}` is reset to 0. A long +growing season control variable (*LGS*, range 0 to 1) is calculated as: .. math:: - :label: 20.71) + :label: 20.71) - LGS=\left\{\begin{array}{l} {0\qquad \qquad \qquad {\rm for\; }n_{days\_ active} <365} \\ {\left({n_{days\_ active} \mathord{\left/ {\vphantom {n_{days\_ active} 365}} \right.} 365} \right)-1\qquad {\rm for\; }365\le n_{days\_ active} <730} \\ {1\qquad \qquad \qquad {\rm for\; }n_{days\_ active} \ge 730} \end{array}\right. . + LGS=\left\{\begin{array}{l} {0\qquad \qquad \qquad {\rm for\; }n_{days\_ active} <365} \\ {\left({n_{days\_ active} \mathord{\left/ {\vphantom {n_{days\_ active} 365}} \right. \kern-\nulldelimiterspace} 365} \right)-1\qquad {\rm for\; }365\le n_{days\_ active} <730} \\ {1\qquad \qquad \qquad {\rm for\; }n_{days\_ active} \ge 730} \end{array}\right. . The rate coefficient for background litterfall (:math:`{r}_{bglf}`, s\ :sup:`-1`) is calculated as a function of *LGS*: .. math:: - :label: 20.72) + :label: 20.72) r_{bglf} =\frac{LGS}{\tau _{leaf} \cdot 365\cdot 86400} -where :math:`{\tau}_{leaf}` is the leaf longevity. The result is a shift to continuous litterfall as :math:`{n}_{days\_active}` increases from 365 to 730. When a new offset period is triggered :math:`{r}_{bglf}` is set to 0. +where :math:`{\tau}_{leaf}` is the leaf longevity. The result is a shift to continuous litterfall as +:math:`{n}_{days\_active}` increases from 365 to 730. When a new offset period is triggered :math:`{r}_{bglf}` is set to 0. The rate coefficient for background onset growth from the transfer pools ( :math:`{r}_{bgtr}`, s\ :sup:`-1`) also depends on *LGS*, as: .. math:: - :label: 20.73) + :label: 20.73) r_{bgtr} =\frac{LGS}{365\cdot 86400} . On each timestep with :math:`{r}_{bgtr}` :math:`\neq` 0, carbon fluxes from storage to transfer pools are calculated as: .. math:: - :label: 20.74) + :label: 20.74) CF_{leaf\_ stor,leaf\_ xfer} =CS_{leaf\_ stor} r_{bgtr} .. math:: - :label: 20.75) + :label: 20.75) CF_{froot\_ stor,froot\_ xfer} =CS_{froot\_ stor} r_{bgtr} .. math:: - :label: 20.76) + :label: 20.76) CF_{livestem\_ stor,livestem\_ xfer} =CS_{livestem\_ stor} r_{bgtr} .. math:: - :label: 20.77) + :label: 20.77) CF_{deadstem\_ stor,deadstem\_ xfer} =CS_{deadstem\_ stor} r_{bgtr} .. math:: - :label: 20.78) + :label: 20.78) CF_{livecroot\_ stor,livecroot\_ xfer} =CS_{livecroot\_ stor} r_{bgtr} .. math:: - :label: 20.79) + :label: 20.79) CF_{deadcroot\_ stor,deadcroot\_ xfer} =CS_{deadcroot\_ stor} r_{bgtr} , with corresponding nitrogen fluxes: .. math:: - :label: 20.80) + :label: 20.80) NF_{leaf\_ stor,leaf\_ xfer} =NS_{leaf\_ stor} r_{bgtr} .. math:: - :label: 20.81) + :label: 20.81) NF_{froot\_ stor,froot\_ xfer} =NS_{froot\_ stor} r_{bgtr} .. math:: - :label: 20.82) + :label: 20.82) NF_{livestem\_ stor,livestem\_ xfer} =NS_{livestem\_ stor} r_{bgtr} .. math:: - :label: 20.83) + :label: 20.83) NF_{deadstem\_ stor,deadstem\_ xfer} =NS_{deadstem\_ stor} r_{bgtr} .. math:: - :label: 20.84) + :label: 20.84) NF_{livecroot\_ stor,livecroot\_ xfer} =NS_{livecroot\_ stor} r_{bgtr} .. math:: - :label: 20.85) + :label: 20.85) NF_{deadcroot\_ stor,deadcroot\_ xfer} =NS_{deadcroot\_ stor} r_{bgtr} . -The result, in conjunction with the treatment of background onset growth, is a shift to continuous transfer from storage to display pools at a rate that would result in complete turnover of the storage pools in one year at steady state, once *LGS* reaches 1 (i.e. after two years without stress-deciduous offset conditions). If and when conditions cause stress-deciduous triggering again, :math:`{r}_{bgtr}` is rest to 0. +The result, in conjunction with the treatment of background onset +growth, is a shift to continuous transfer from storage to display pools +at a rate that would result in complete turnover of the storage pools in +one year at steady state, once *LGS* reaches 1 (i.e. after two years +without stress-deciduous offset conditions). If and when conditions +cause stress-deciduous triggering again, :math:`{r}_{bgtr}` is rest +to 0. Litterfall Fluxes Merged to the Column Level ------------------------------------------------- -CLM uses three litter pools, defined on the basis of commonly measured chemical fractionation of fresh litter into labile (LIT1 = hot water and alcohol soluble fraction), cellulose/hemicellulose (LIT2 = acid soluble fraction) and remaining material, referred to here for convenience as lignin (LIT3 = acid insoluble fraction) (Aber et al., 1990; Taylor et al., 1989). While multiple plant functional types can coexist on a single CLM soil column, each soil column includes a single instance of the litter pools. Fluxes entering the litter pools due to litterfall are calculated using a weighted average of the fluxes originating at the PFT level. Carbon fluxes are calculated as: +CLM uses three litter pools, defined on the basis of commonly measured +chemical fractionation of fresh litter into labile (LIT1 = hot water and +alcohol soluble fraction), cellulose/hemicellulose (LIT2 = acid soluble +fraction) and remaining material, referred to here for convenience as +lignin (LIT3 = acid insoluble fraction) (Aber et al., 1990; Taylor et +al., 1989). While multiple plant functional types can coexist on a +single CLM soil column, each soil column includes a single instance of +the litter pools. Fluxes entering the litter pools due to litterfall are +calculated using a weighted average of the fluxes originating at the PFT +level. Carbon fluxes are calculated as: .. math:: - :label: 20.86) + :label: 20.86) CF_{leaf,lit1} =\sum _{p=0}^{npfts}CF_{leaf,litter} f_{lab\_ leaf,p} wcol_{p} .. math:: - :label: 20.87) + :label: 20.87) CF_{leaf,lit2} =\sum _{p=0}^{npfts}CF_{leaf,litter} f_{cel\_ leaf,p} wcol_{p} .. math:: - :label: 20.88) + :label: 20.88) CF_{leaf,lit3} =\sum _{p=0}^{npfts}CF_{leaf,litter} f_{lig\_ leaf,p} wcol_{p} .. math:: - :label: 20.89) + :label: 20.89) CF_{froot,lit1} =\sum _{p=0}^{npfts}CF_{froot,litter} f_{lab\_ froot,p} wcol_{p} .. math:: - :label: 20.90) + :label: 20.90) CF_{froot,lit2} =\sum _{p=0}^{npfts}CF_{froot,litter} f_{cel\_ froot,p} wcol_{p} .. math:: - :label: 20.91) + :label: 20.91) CF_{froot,lit3} =\sum _{p=0}^{npfts}CF_{froot,litter} f_{lig\_ froot,p} wcol_{p} , -where :math:`{f}_{lab\_leaf,p}`, :math:`{f}_{cel\_leaf,p}`, and :math:`{f}_{lig\_leaf,p}` are the labile, cellulose/hemicellulose, and lignin fractions of leaf litter for PFT *p*, :math:`{f}_{lab\_froot,p}`, :math:`{f}_{cel\_froot,p}`, and :math:`{f}_{lig\_froot,p}` are the labile, cellulose/hemicellulose, and lignin fractions of fine root litter for PFT *p*, :math:`{wtcol}_{p}` is the weight relative to the column for PFT *p*, and *p* is an index through the plant functional types occurring on a column. Nitrogen fluxes to the litter pools are assumed to follow the C:N of the senescent tissue, and so are distributed using the same fractions used for carbon fluxes: +where :math:`{f}_{lab\_leaf,p}`, :math:`{f}_{cel\_leaf,p}`, and +:math:`{f}_{lig\_leaf,p}` are the labile, cellulose/hemicellulose, +and lignin fractions of leaf litter for PFT *p*, +:math:`{f}_{lab\_froot,p}`, :math:`{f}_{cel\_froot,p}`, and +:math:`{f}_{lig\_froot,p}` are the labile, cellulose/hemicellulose, +and lignin fractions of fine root litter for PFT *p*, +:math:`{wtcol}_{p}` is the weight relative to the column for PFT +*p*, and *p* is an index through the plant functional types occurring on +a column. Nitrogen fluxes to the litter pools are assumed to follow the +C:N of the senescent tissue, and so are distributed using the same +fractions used for carbon fluxes: .. math:: - :label: 20.92) + :label: 20.92) NF_{leaf,lit1} =\sum _{p=0}^{npfts}NF_{leaf,litter} f_{lab\_ leaf,p} wcol_{p} .. math:: - :label: 20.93) + :label: 20.93) NF_{leaf,lit2} =\sum _{p=0}^{npfts}NF_{leaf,litter} f_{cel\_ leaf,p} wcol_{p} .. math:: - :label: 20.94) + :label: 20.94) NF_{leaf,lit3} =\sum _{p=0}^{npfts}NF_{leaf,litter} f_{lig\_ leaf,p} wcol_{p} .. math:: - :label: 20.95) + :label: 20.95) NF_{froot,lit1} =\sum _{p=0}^{npfts}NF_{froot,litter} f_{lab\_ froot,p} wcol_{p} .. math:: - :label: 20.96) + :label: 20.96) NF_{froot,lit2} =\sum _{p=0}^{npfts}NF_{froot,litter} f_{cel\_ froot,p} wcol_{p} .. math:: - :label: 20.97) + :label: 20.97) NF_{froot,lit3} =\sum _{p=0}^{npfts}NF_{froot,litter} f_{lig\_ froot,p} wcol_{p} . diff --git a/doc/source/tech_note/index.rst b/doc/source/tech_note/index.rst index 429788240f..5baaa61540 100644 --- a/doc/source/tech_note/index.rst +++ b/doc/source/tech_note/index.rst @@ -11,7 +11,10 @@ CLM Technical Note .. important:: - **You are viewing the documentation for** |version_label_bold|. **There are separate versions of this documentation for each maintained CTSM release (e.g., CLM5.0) and for the latest development code. Use the menu at the top left to select the version of CTSM you are using.** + **You are viewing the documentation for** |version_label_bold|. **There are separate + versions of this documentation for each maintained CTSM release (e.g., CLM5.0) and for + the latest development code. Use the menu at the top left to select the version of CTSM + you are using.** .. toctree:: :maxdepth: 2 @@ -49,4 +52,4 @@ CLM Technical Note Isotopes/CLM50_Tech_Note_Isotopes.rst Land-Only_Mode/CLM50_Tech_Note_Land-Only_Mode.rst References/CLM50_Tech_Note_References.rst - + diff --git a/doc/source/users_guide/adding-new-resolutions/Adding-New-Resolutions-or-New-Files-to-the-build-namelist-Database.rst b/doc/source/users_guide/adding-new-resolutions/Adding-New-Resolutions-or-New-Files-to-the-build-namelist-Database.rst index ccd196baf6..a828c37e98 100644 --- a/doc/source/users_guide/adding-new-resolutions/Adding-New-Resolutions-or-New-Files-to-the-build-namelist-Database.rst +++ b/doc/source/users_guide/adding-new-resolutions/Adding-New-Resolutions-or-New-Files-to-the-build-namelist-Database.rst @@ -6,9 +6,21 @@ Adding New Resolutions ======================== -In the last chapter we gave the details on how to create new files for input into CLM. These files could be either global resolutions, regional-grids or even a single grid point. If you want to easily have these files available for continued use in your development you will then want to include them in the build-namelist database so that build-namelist can easily find them for you. You can deal with them, just by putting the settings in the ``user_nl_clm namelist`` file, or by using ``CLM_USRDAT_NAME``. Another way to deal with them is to enter them into the database for build-namelist, so that build-namelist can find them for you. This keeps one central database for all your files, rather than having multiple locations to keep track of files. If you have a LOT of files to keep track of it also might be easier than keeping track by hand, especially if you have to periodically update your files. If you just have a few quick experiments to try, for a short time period you might be best off using the other methods mentioned above. +In the last chapter we gave the details on how to create new files for input into CLM. +These files could be either global resolutions, regional-grids or even a single grid point. +If you want to easily have these files available for continued use in your development you will then want to include them in the build-namelist database so that build-namelist can easily find them for you. +You can deal with them, just by putting the settings in the ``user_nl_clm namelist`` file, or by using ``CLM_USRDAT_NAME``. +Another way to deal with them is to enter them into the database for build-namelist, so that build-namelist can find them for you. +This keeps one central database for all your files, rather than having multiple locations to keep track of files. +If you have a LOT of files to keep track of it also might be easier than keeping track by hand, especially if you have to periodically update your files. +If you just have a few quick experiments to try, for a short time period you might be best off using the other methods mentioned above. -There are two parts to adding files to the build-namelist database. The first part is adding new resolution names which is done in the ``$CTSMROOT/bld/namelist_files/namelist_definition_clm4_5.xml`` file. You can then use the new resolution by using ``CLM_USRDAT_NAME``. If you also want to be able to give the resolution into **create_newcase** -- you'll need to add the grid to the ``$CIMEROOT/config/cesm/config_grid.xml`` file. +There are two parts to adding files to the build-namelist database. +The first part is adding new resolution names which is done in the ``$CTSMROOT/bld/namelist_files/namelist_definition_clm4_5.xml`` file. +You can then use the new resolution by using ``CLM_USRDAT_NAME``. +If you also want to be able to give the resolution into **create_newcase** -- you'll need to add the grid to the ``$CIMEROOT/config/cesm/config_grid.xml`` file. + +The second part is actually adding the new filenames which is done in the ``$CTSMROOT/bld/namelist_files/namelist_defaults_clm4_5.xml`` file (``$CTSMROOT/bld/namelist_files/namelist_defaults_clm4_5_tools.xml`` file for CLM tools). +If you aren't adding any new resolutions, and you are just changing the files for existing resolutions, you don't need to edit the namelist_definition file. -The second part is actually adding the new filenames which is done in the ``$CTSMROOT/bld/namelist_files/namelist_defaults_clm4_5.xml`` file (``$CTSMROOT/bld/namelist_files/namelist_defaults_clm4_5_tools.xml`` file for CLM tools). If you aren't adding any new resolutions, and you are just changing the files for existing resolutions, you don't need to edit the namelist_definition file. diff --git a/doc/source/users_guide/adding-new-resolutions/Adding-Resolution-Names.rst b/doc/source/users_guide/adding-new-resolutions/Adding-Resolution-Names.rst index 4511116344..337b6dfc5a 100644 --- a/doc/source/users_guide/adding-new-resolutions/Adding-Resolution-Names.rst +++ b/doc/source/users_guide/adding-new-resolutions/Adding-Resolution-Names.rst @@ -6,11 +6,20 @@ Adding Resolution Names ========================= -If you are adding files for new resolutions which aren't covered in the namelist_definition file -- you'll need to add them in. The list of valid resolutions is in the id="res" entry in the ``$CTSMROOT/bld/namelist_files/namelist_definition_clm4_5.xml`` file. You need to choose a name for your new resolution and simply add it to the comma delimited list of valid_values for the id="res" entry. The convention for global Gaussian grids is number_of_latitudes x number_of_longitudes. The convention for global finite volume grids is latitude_grid_size x longitude_grid_size where latitude and longitude is measured in degrees. The convention for unstructured HOMME grids is nenp4, where corresponds to the resolution. The higher is the higher the resolution. So for example, ne60np4 is roughly half-degree while ne240np4 is roughly a eighth degree. For regional or single-point datasets the names have a grid size number_of_latitudes x number_of_longitudes followed by an underscore and then a descriptive name such as a City name followed by an abbreviation for the Country in caps. The only hard requirement is that names be unique for different grid files. Here's what the entry for resolutions looks like in the file: +If you are adding files for new resolutions which aren't covered in the namelist_definition file -- you'll need to add them in. +The list of valid resolutions is in the id="res" entry in the ``$CTSMROOT/bld/namelist_files/namelist_definition_clm4_5.xml`` file. +You need to choose a name for your new resolution and simply add it to the comma delimited list of valid_values for the id="res" entry. +The convention for global Gaussian grids is number_of_latitudes x number_of_longitudes. +The convention for global finite volume grids is latitude_grid_size x longitude_grid_size where latitude and longitude is measured in degrees. +The convention for unstructured HOMME grids is nenp4, where corresponds to the resolution. +The higher is the higher the resolution. +So for example, ne60np4 is roughly half-degree while ne240np4 is roughly a eighth degree. +For regional or single-point datasets the names have a grid size number_of_latitudes x number_of_longitudes followed by an underscore and then a descriptive name such as a City name followed by an abbreviation for the Country in caps. +The only hard requirement is that names be unique for different grid files. Here's what the entry for resolutions looks like in the file: :: @@ -16,15 +19,23 @@ lnd/clm2/surfdata_map/surfdata_0.9x1.25_78pfts_CMIP6_simyr1850_c170824.nc Other ``fsurdat`` files are distinguished from this one by their resolution (hgrid), simulation year (sim_year) and prognostic crop (use_crop) attributes. -To add or change the default filenames for CLM tools edit the ``$CTSMROOT/bld/namelist_files/namelist_defaults_|version|_tools.xml`` and either change an existing filename or add a new one. Editing this file is similar to the ``namelist_defaults_clm4_5.xml`` talked about above. + +To add or change the default filenames for CLM tools edit the ``$CTSMROOT/bld/namelist_files/namelist_defaults_|version|_tools.xml`` and either change an existing filename or add a new one. +Editing this file is similar to the ``namelist_defaults_clm4_5.xml`` talked about above. + ---------------------------- What are the required files? ---------------------------- -Different types of simulations and different types of configurations for CLM require different lists of files. The |version|-BGC or Carbon Nitrogen (cn) Biogeochemistry model for example requires ``stream_fldfilename_ndep`` files, which are NOT required by CLMSP. Transient simulations also require transient datasets, and the names of these datasets are sometimes different from the static versions (sometimes both are required as in the dynamic PFT cases). +Different types of simulations and different types of configurations for CLM require different lists of files. +The |version|-BGC or Carbon Nitrogen (cn) Biogeochemistry model for example requires ``stream_fldfilename_ndep`` files, which are NOT required by CLMSP. +Transient simulations also require transient datasets, and the names of these datasets are sometimes different from the static versions (sometimes both are required as in the dynamic PFT cases). + + +In the following table we list the different files used by CLM, they are listed in order of importance, dependencies, and customizing. +So the required files are all near the top, and the files used only under different conditions are listed later, and files with the fewest dependencies are near the top, as are the files that are least likely to be customized. -In the following table we list the different files used by CLM, they are listed in order of importance, dependencies, and customizing. So the required files are all near the top, and the files used only under different conditions are listed later, and files with the fewest dependencies are near the top, as are the files that are least likely to be customized. Table 3-1. Required Files for Different Configurations and Simulation Types --------------------------------------------------------------------------- diff --git a/doc/source/users_guide/index.rst b/doc/source/users_guide/index.rst index 75a2949bec..45afc39c72 100644 --- a/doc/source/users_guide/index.rst +++ b/doc/source/users_guide/index.rst @@ -13,7 +13,10 @@ .. important:: - **You are viewing the documentation for** |version_label_bold|. **There are separate versions of this documentation for each maintained CTSM release (e.g., CLM5.0) and for the latest development code. Use the menu at the top left to select the version of CTSM you are using.** + **You are viewing the documentation for** |version_label_bold|. **There are separate + versions of this documentation for each maintained CTSM release (e.g., CLM5.0) and for + the latest development code. Use the menu at the top left to select the version of CTSM + you are using.** .. toctree:: :maxdepth: 2 diff --git a/doc/source/users_guide/overview/getting-help.rst b/doc/source/users_guide/overview/getting-help.rst index 3a1c2b4d8f..0378852a4b 100644 --- a/doc/source/users_guide/overview/getting-help.rst +++ b/doc/source/users_guide/overview/getting-help.rst @@ -5,7 +5,9 @@ ============== Getting Help ============== -In addition to this users-guide there are several other resources that are available to help you use |version|. The first one is the |cesmrelease| User's-Guide, which documents the entire process of creating cases with |cesmrelease|. And next is the CIME User's Guide which goes over the scripts and infrastructure used for running |version| in |cesmrelease|. The CESM bulletin board which is a web-site for exchanging information between users of CESM. There are also CLM web-pages specific for CLM, and finally there is an email address to report bugs that you find in |cesmrelease|. +In addition to this users-guide there are several other resources that are available to help you use |version|. The first one is the |cesmrelease| User's-Guide, which documents the entire process of creating cases with |cesmrelease|. +And next is the CIME User's Guide which goes over the scripts and infrastructure used for running |version| in |cesmrelease|. +The CESM bulletin board which is a web-site for exchanging information between users of CESM. There are also CLM web-pages specific for CLM, and finally there is an email address to report bugs that you find in |cesmrelease|. --------------------------- The CESM User's-Guide @@ -19,7 +21,8 @@ The CESM User's-Guide The CIME User's-Guide --------------------------- -The CIME Users'-Guide goes into the how to use the scripts and infrastructure of the CESM. `CIME Users Guide `_ +The CIME Users'-Guide goes into the how to use the scripts and infrastructure of the CESM. +`CIME Users Guide `_ ----------------------- The CESM Bulletin Board @@ -56,7 +59,11 @@ Also note that several of the XML database files can be viewed in a web browser Reporting bugs in |version| ---------------------------- -If you have any problems, additional questions, bug reports, or any other feedback, please report it as an issue on GitHub https://github.com/ESCOMP/ctsm/issues or for CIME scripts and infrastructure to https://github.com/ESMCI/CIME/issues. Or send an email to <`cesmhelp@cgd.ucar.edu `_> or <`ctsm-software@ucar.edu `_>. If you find bad, wrong, or misleading information in this users guide report it as an issue on CTSM. +If you have any problems, additional questions, bug reports, or any other feedback, please report it as an issue +on GitHub https://github.com/ESCOMP/ctsm/issues or for CIME scripts and infrastructure to https://github.com/ESMCI/CIME/issues. +Or send an email to +<`cesmhelp@cgd.ucar.edu `_> or <`ctsm-software@ucar.edu `_>. +If you find bad, wrong, or misleading information in this users guide report it as an issue on CTSM. --------------------------------------- Some Acronym's and Terms We'll be Using @@ -69,7 +76,7 @@ CESM Community Earth System Model (CESM). The coupled earth system model that CLM is a component of. CIME - The Common Infrastructure for Modeling the Earth (CIME - pronounced "SEAM") provides a Case Control System for configuring, compiling and executing Earth system models, data and stub model components, a driver and associated tools and libraries. + The Common Infrastructure for Modeling the Earth (CIME - pronounced “SEAM”) provides a Case Control System for configuring, compiling and executing Earth system models, data and stub model components, a driver and associated tools and libraries. CLM Community Land Model (CLM). The prognostically active land model component of CESM. @@ -101,7 +108,7 @@ CRUNCEP The Climate Research Unit (CRU) analysis of the NCEP atmosphere reanalysis atmosphere forcing data. This can be used to drive CLM with atmosphere forcing from 1901 to 2016. This data is updated every year, the version we are currently using is Version-7. The las CESM1.2.2 release used Version-4 data. CTSM - The Community Terrestrial Systems Model, of which |version| and CLM4.5 are namelist option sets of. CTSM is a wider community + The Community Terrestrial Systems Model, of which |version| and CLM4.5 are namelist option sets of. CTSM is a wider community that includes using CTSM for Numerical Weather Prediction (NWP) as well as climate. DATM @@ -119,7 +126,7 @@ ESMF Earth System Modeling Framework (ESMF). They are a software project that provides a software library to support Earth System modeling. We provide interfaces for ESMF as well as use their regridding capabilities for offline CLM tools. FATES - Functionally Assembled Terrestrial Ecosystem Simulator. This is being developed by the Next Generation Ecosystem Experiment Tropics' (NGEE-T) + Functionally Assembled Terrestrial Ecosystem Simulator. This is being developed by the Next Generation Ecosystem Experiment Tropics’ (NGEE-T) project and uses both |version| and the land model component of E3SM (Energy Exascale Earth System Model). FUN diff --git a/doc/source/users_guide/overview/introduction.rst b/doc/source/users_guide/overview/introduction.rst index f7add659a7..a7a9ef434c 100644 --- a/doc/source/users_guide/overview/introduction.rst +++ b/doc/source/users_guide/overview/introduction.rst @@ -6,7 +6,12 @@ **Authors: Benjamin Andre, Erik Kluzek, William Sacks** -The National Center for Atmospheric Research (NCAR) is operated by the nonprofit University Corporation for Atmospheric Research (UCAR) under the sponsorship of the National Science Foundation. Any opinions, findings, conclusions, or recommendations expressed in this publication are those of the author(s) and do not necessarily reflect the views of the National Science Foundation. +The National Center for Atmospheric Research (NCAR) is operated by the +nonprofit University Corporation for Atmospheric Research (UCAR) under +the sponsorship of the National Science Foundation. Any opinions, +findings, conclusions, or recommendations expressed in this publication +are those of the author(s) and do not necessarily reflect the views of +the National Science Foundation. National Center for Atmospheric Research P. O. Box 3000, Boulder, Colorado 80307-3000 @@ -17,15 +22,65 @@ P. O. Box 3000, Boulder, Colorado 80307-3000 Introduction ============== -The Community Land Model (|release| in |cesmrelease|) is the latest in a series of global land models developed by the CESM Land Model Working Group (LMWG) and maintained at the National Center for Atmospheric Research (NCAR). This guide is intended to instruct both the novice and experienced user on running CLM. This guide pertains to the latest version |version| in |cesmrelease| available for download from the public release subversion repository as a part of |cesmrelease|. Documentation may be different if you are using an older version, you should either use the documentation for that release version, update to the latest version, or use the documentation inside your own source tree. There is information in the ChangeLog file and in the `What is new with |version| in |cesmrelease| since previous public releases? `_ regarding the changes from previous versions of CESM. - -.. note:: This release of |version| in |cesmrelease| includes BOTH CLM4.0 physics and CLM4.5 physics used in previous releases as well as the updated |version| physics. CLM allow you to trigger between the three physics modes. Most often when we refer to CLM4.0 we are referring to the CLM4.0 physics in |version| in |cesmrelease| rather than to a specific version of CLM4.0 (where we would give the exact version). And when we refer to CLM4.5 we are referring to the CLM4.5 physics in |version| in |cesmrelease| rather than to a specific version of CLM4.5. Likewise, when referring to |version| we are referring to the |version| physics in |version| in |cesmrelease|. - -The novice user should read `Chapter 1 `_ in detail before beginning work, while the expert user should read `What is new with |version| in |cesmrelease| since previous public releases? `_ and `Quickstart to using |version| `_ chapters, and then use the more detailed chapters as reference. Before novice users go onto more technical problems covered in `Chapter 2 `_, `Chapter 3 `_, `Chapter 4 `_, or `Chapter 5 `_ they should know the material covered in `Chapter 1 `_ and be able to replicate some of the examples given there. - -All users should read the `How to Use This Document `_ and `Other resources to get help from `_ sections to understand the document conventions and the various ways of getting help on using |version|. Users should also read the `What is scientifically validated and functional in |version| in |cesmrelease|? `_ section to see if their planned use of the model is something that has been scientifically validated and well tested. Users that are NOT using NCAR machines or our list of well tested machines should also read the What are the UNIX utilities required to use |version|? section to make sure they have all the required UNIX utilities on the system they want to do their work. - -Developers that are making changes to CLM either for their own development or for development that they hope will eventually become a part of the main CLM should read the `Chapter 8 `_ chapter. We have a suite of test scripts that automatically test many different model configurations and namelist options, as well as ensuring things like restarts are bit-for-bit and the like. It's helpful to use these scripts to ensure your changes are working correctly. As well as being a required part of the process to bring in new code developments. And it's far easier to use the automated scripts rather than having to figure out, what to test, how to do it, and then finally do it by hand. If you are using non supported machines you may also want to use the test scripts to make sure your machine is working correctly. +The Community Land Model (|release| in |cesmrelease|) is the latest in a +series of global land models developed by the CESM Land Model Working +Group (LMWG) and maintained at the National Center for Atmospheric +Research (NCAR). This guide is intended to instruct both the novice +and experienced user on running CLM. This guide pertains to the latest +version |version| in |cesmrelease| available for download from the public +release subversion repository as a part of |cesmrelease|. Documentation +may be different if you are using an older version, you should either +use the documentation for that release version, update to the latest +version, or use the documentation inside your own source tree. There +is information in the ChangeLog file and in the `What is new with +|version| in |cesmrelease| since previous public releases? `_ +regarding the changes from previous versions of CESM. + +.. note:: This release of |version| in |cesmrelease| includes BOTH CLM4.0 + physics and CLM4.5 physics used in previous releases as well as the updated |version| + physics. CLM allow you to trigger between the three physics modes. Most often when we refer to CLM4.0 we + are referring to the CLM4.0 physics in |version| in |cesmrelease| rather + than to a specific version of CLM4.0 (where we would give the exact + version). And when we refer to CLM4.5 we are referring to the CLM4.5 + physics in |version| in |cesmrelease| rather + than to a specific version of CLM4.5. Likewise, when referring to |version| we are referring to the + |version| physics in |version| in |cesmrelease|. + +The novice user should read `Chapter 1 `_ in detail before +beginning work, while the expert user should read `What is new with +|version| in |cesmrelease| since previous public releases? `_ and +`Quickstart to using |version| `_ chapters, and then use the +more detailed chapters as reference. Before novice users go onto more +technical problems covered in `Chapter 2 `_, `Chapter 3 +`_, `Chapter 4 `_, or `Chapter 5 `_ they +should know the material covered in `Chapter 1 `_ and be able +to replicate some of the examples given there. + +All users should read the `How to Use This Document `_ and +`Other resources to get help from `_ sections to understand +the document conventions and the various ways of getting help on using +|version|. Users should also read the `What is scientifically validated +and functional in |version| in |cesmrelease|? `_ section to see if +their planned use of the model is something that has been +scientifically validated and well tested. Users that are NOT using +NCAR machines or our list of well tested machines should also read the +What are the UNIX utilities required to use |version|? section to make +sure they have all the required UNIX utilities on the system they want +to do their work. + +Developers that are making changes to CLM either for their own +development or for development that they hope will eventually become a +part of the main CLM should read the `Chapter 8 `_ +chapter. We have a suite of test scripts that automatically test many +different model configurations and namelist options, as well as +ensuring things like restarts are bit-for-bit and the like. It's +helpful to use these scripts to ensure your changes are working +correctly. As well as being a required part of the process to bring in +new code developments. And it's far easier to use the automated +scripts rather than having to figure out, what to test, how to do it, +and then finally do it by hand. If you are using non supported +machines you may also want to use the test scripts to make sure your +machine is working correctly. .. _what-is-new-with-clm5_0: @@ -33,7 +88,9 @@ Developers that are making changes to CLM either for their own development or fo What is New with |version| ============================ -`What's new with |version| science `_ gives a synopsis of the changes to CLM since the CLM4.5 release. More details are given in the `CLM ChangeLog file `_. +`What's new with |version| science `_ +gives a synopsis of the changes to CLM since the CLM4.5 release. +More details are given in the `CLM ChangeLog file `_. Previous release pages give similar list of changes for previous versions of the model. @@ -43,27 +100,52 @@ Previous release pages give similar list of changes for previous versions of the Overview of User's Guide ========================== -In this introduction we first give a simple guide to understand the document conventions in `How to Use This Document `_. The next section `What is new with |version| in |cesmrelease| since previous public releases? `_ gives references to describe the differences between |version| in |cesmrelease| and previous CESM releases both from a scientific as well as a software engineering point of view. For information on previous releases of |version| before |version| in |cesmrelease| see the CESM1.2.2 documentation. The next section `Quickstart to using |version| `_ is for users that are already experts in using CLM and gives a quickstart guide to the bare details on how to use |version|. The next `What is scientifically validated and functional in |version| in |cesmrelease|? `_ tells you about what has been extensively tested and scientifically validated (and maybe more importantly) what has NOT. `What are the UNIX utilities required to use |version|? `_ lists the UNIX utilities required to use |version| and is important if you are running on non-NCAR machines, generic local machines, or machines NOT as well tested by us at NCAR. Next we have `Important Notes and Best Practices for Usage of |version| `_ to detail some of the best practices for using |version| for science. The last introductory section is `Other resources `_ to get help from which lists different resources for getting help with |version| and |cesmrelease|. - -`Chapter 1 `_ goes into detail on how to setup and run simulations with |version| and especially how to customize cases. Details of cesm_setup modes and build-namelist options as well as namelist options are given in this chapter. - -`Chapter 2 `_ gives instructions on the CLM tools for either CLM4.5 or |version| physics for creating input datasets for use by CLM, for the expert user. There's an overview of what each tool does, and some general notes on how to build the FORTRAN tools. Then each tool is described in detail along with different ways in which the tool might be used. A final section on how to customize datasets for observational sites for very savvy expert users is given as the last section of this chapter. - -As a followup to the tools chapter, `Chapter 3 `_ tells how to add files to the XML database for build-namelist to use. This is important if you want to use the XML database to automatically select user-created input files that you have created when you setup new cases with CLM (CLM4.0, CLM4.5 and |version| physics). - -In `Chapter 4 `_, again for the expert user, we give details on how to do some particularly difficult special cases. For example, we give the protocol for spinning up the |version|-BGC and CLMCN models as well as CLM with dynamic vegetation active (CNDV). We give instructions to do a spinup case from a previous case with Coupler history output for atmospheric forcing. We also give instructions on running both the prognostic crop and irrigation models. Lastly we tell the user how to use the DATM model to send historical CO2 data to CLM. - -`Chapter 5 `_ outlines how to do single-point or regional simulations using |version|. This is useful to either compare |version| simulations with point observational stations, such as tower sites (which might include your own atmospheric forcing), or to do quick simulations with CLM for example to test a new parameterization. There are several different ways given on how to perform single-point simulations which range from simple PTS_MODE to more complex where you create all your own datasets, tying into `Chapter 2 `_ and also `Chapter 3 `_ to add the files into the build-namelist XML database. The PTCLM python script to run single-point simulations was added back in for this release (but it has bugs that don't allow it to work out of the box). CLM4 in CESM1.0.5 has a fully working versions of PTCLM. +In this introduction we first give a simple guide to understand the document conventions in `How to Use This Document `_. +The next section `What is new with |version| in |cesmrelease| since previous public releases? `_ gives references to describe the differences between |version| in |cesmrelease| and previous CESM releases both from a scientific as well as a software engineering point of view. +For information on previous releases of |version| before |version| in |cesmrelease| see the CESM1.2.2 documentation. +The next section `Quickstart to using |version| `_ is for users that are already experts in using CLM and gives a quickstart guide to the bare details on how to use |version|. +The next `What is scientifically validated and functional in |version| in |cesmrelease|? `_ tells you about what has been extensively tested and scientifically validated (and maybe more importantly) what has NOT. +`What are the UNIX utilities required to use |version|? `_ lists the UNIX utilities required to use |version| and is important if you are running on non-NCAR machines, generic local machines, or machines NOT as well tested by us at NCAR. +Next we have `Important Notes and Best Practices for Usage of |version| `_ to detail some of the best practices for using |version| for science. +The last introductory section is `Other resources `_ to get help from which lists different resources for getting help with |version| and |cesmrelease|. + +`Chapter 1 `_ goes into detail on how to setup and run simulations with |version| and especially how to customize cases. +Details of cesm_setup modes and build-namelist options as well as namelist options are given in this chapter. + +`Chapter 2 `_ gives instructions on the CLM tools for either CLM4.5 or |version| physics for creating input datasets for use by CLM, for the expert user. +There's an overview of what each tool does, and some general notes on how to build the FORTRAN tools. +Then each tool is described in detail along with different ways in which the tool might be used. +A final section on how to customize datasets for observational sites for very savvy expert users is given as the last section of this chapter. + +As a followup to the tools chapter, `Chapter 3 `_ tells how to add files to the XML database for build-namelist to use. +This is important if you want to use the XML database to automatically select user-created input files that you have created when you setup new cases with CLM (CLM4.0, CLM4.5 and |version| physics). + +In `Chapter 4 `_, again for the expert user, we give details on how to do some particularly difficult special cases. +For example, we give the protocol for spinning up the |version|-BGC and CLMCN models as well as CLM with dynamic vegetation active (CNDV). +We give instructions to do a spinup case from a previous case with Coupler history output for atmospheric forcing. +We also give instructions on running both the prognostic crop and irrigation models. +Lastly we tell the user how to use the DATM model to send historical CO2 data to CLM. + +`Chapter 5 `_ outlines how to do single-point or regional simulations using |version|. +This is useful to either compare |version| simulations with point observational stations, such as tower sites (which might include your own atmospheric forcing), or to do quick simulations with CLM for example to test a new parameterization. +There are several different ways given on how to perform single-point simulations which range from simple PTS_MODE to more complex where you create all your own datasets, tying into `Chapter 2 `_ and also `Chapter 3 `_ to add the files into the build-namelist XML database. +The PTCLM python script to run single-point simulations was added back in for this release (but it has bugs that don't allow it to work out of the box). +CLM4 in CESM1.0.5 has a fully working versions of PTCLM. Need `Chapter 6 `_ blurb... -`Chapter 7 `_ gives some guidance on trouble-shooting problems when using |version|. It doesn't cover all possible problems with CLM, but gives you some guidelines for things that can be done for some common problems. +`Chapter 7 `_ gives some guidance on trouble-shooting problems when using |version|. +It doesn't cover all possible problems with CLM, but gives you some guidelines for things that can be done for some common problems. -`Chapter 8 `_ goes over the automated testing scripts for validating that the CLM is working correctly. The test scripts run many different configurations and options with CLM4.0 physics as well and |version| physics making sure that they work, as well as doing automated testing to verify restarts are working correctly, and testing at many different resolutions. In general this is an activity important only for a developer of |version|, but could also be used by users who are doing extensive code modifications and want to ensure that the model continues to work correctly. +`Chapter 8 `_ goes over the automated testing scripts for validating that the CLM is working correctly. +The test scripts run many different configurations and options with CLM4.0 physics as well and |version| physics making sure that they work, as well as doing automated testing to verify restarts are working correctly, and testing at many different resolutions. +In general this is an activity important only for a developer of |version|, but could also be used by users who are doing extensive code modifications and want to ensure that the model continues to work correctly. In the appendices we talk about some issues that are useful for advanced users and developers of |version|. -Finally in `Appendix A `_ we give instructions on how to build the documentation associated with |version| (i.e. how to build this document). This document is included in every CLM distribution and can be built so that you can view a local copy rather than having to go to the CESM website. This also could be useful for developers who need to update the documentation due to changes they have made. +Finally in `Appendix A `_ we give instructions on how to build the documentation associated with |version| (i.e. how to build this document). +This document is included in every CLM distribution and can be built so that you can view a local copy rather than having to go to the CESM website. +This also could be useful for developers who need to update the documentation due to changes they have made. ================================ README file describing |version| @@ -80,19 +162,43 @@ The README (which can be found in ``$CTSMROOT/doc``) is repeated here. Best Practices ================ -- |version| includes BOTH the old CLM4.0, CLM4.5 physics AND the new |version| physics and you can toggle between those three. The "standard" practice for CLM4.0 is to run with CN on, and with Qian atmospheric forcing. While the "standard" practice for CLM4.5 is to run with BGC on, and CRUNCEP atmospheric forcing. And finally the "standard" practice for |version| is to run with BGC and Prognostic Crop on, with the MOSART model for river routing, as well as the CISM ice sheet model, and using GSWP3 atmospheric forcing. "BGC" is the new |version| biogeochemistry and include CENTURY-like pools, vertical resolved carbon, as well as Nitrification and de-Nitrification (see `the Section called Some Acronym's and Terms We'll be Using in Other resources to get help from `_ ). - -- When running with CLMCN (either CLM4.0 or |version| physics) or |version|-BGC, it is critical to begin with initial conditions that are provided with the release or to spin the model up following the CN spinup procedure before conducting scientific runs (see `the Section called Spinning up the |version| biogeochemistry (CLMBGC spinup) in Chapter 4 `_ for |version| or `the Section called Spinning up the CLM4.0 biogeochemistry Carbon-Nitrogen Model (CN spinup) in Chapter 4 `_ for CLM4.0). Simulations without a proper spinup will effectively be starting from an unvegetated world. See `the Section called Setting Your Initial Conditions File in Chapter 1 `_ for information on how to provide initial conditions for your simulation. - -- Initial condition files are provided for CLM4.0-CN as before, for fully coupled BCN and offline ICN cases for 1850 and 2000 at finite volume grids: 1deg (0.9x1.25), 2deg (1.9x2.5), and T31 resolutions. We also have interpolated initial conditions for BCN for 1850 and 2000 for two finite volume grids: 10x15, 4x5 and two HOMME grids (ne30np4 and ne120np4). There's also an initial condition file for ICN with the prognostic crop model for 2000 at 2deg resolution, and one with CLMSP for 2000 at 2deg resolution. We also have initial conditions for offline CNDV for 1850. The 1850 initial condition files are in 'reasonable' equilibrium. The 2000 initial condition files represent the model state for the year 2000, and have been taken from transient simulations. Therefore, by design the year 2000 initial condition files do not represent an equilibrium state. Note also that spinning the 2000 initial conditions out to equilibrium will not reflect the best estimate of the real carbon/nitrogen state for the year 2000. - -- Initial condition files are also provided for |version| for several configurations and resolutions. For CLM4.5-SP and CLM4.5-BGC with both CRUNCEP and GSWP3 forcing we have initial conditions at 1deg resolution for 1850. For |version|-SP and |version|-BGC-Crop with both CRUNCEP and GSWP3 forcing we have initial conditions at 1deg resolution for 1850. Normally, these files are interpolated to any other resolution that you run at. - -- Users can interpolate initial condition files at different resolutions at startup of a CLM4.5 or |version| simulation. And the file created can be stored for later use. Interpolated initial condition files may no longer be in 'reasonable' equilibrium. - -- In |version| for both |version|-CN, |version|-BGC, and |version|-BGC-Crop the new fire model requires lightning frequency data, and human population density (both are read inside of CLM). By default we have provided a climatology dataset for lightning frequency and a dataset with coverage from 1850 to 2014 for population density. Both of these datasets are interpolated from the native resolution of the datasets to the resolution you are running the model on. If you are running with an atmosphere model or forcing that is significantly different than present day -- the lightning frequency may NOT appropriately correspond to your atmosphere forcing and fire initiation would be inappropriate. - -- Aerosol deposition is a required field to both CLM4.0, CLM4.5 and |version| physics, sent from the atmosphere model. Simulations without aerosol deposition will exhibit unreasonably high snow albedos. The model sends aerosol deposition from the atmospheric model (either CAM or DATM). When running with prescribed aerosol the atmosphere model will interpolate the aerosols from 2-degree resolution to the resolution the atmosphere model is running at. +- |version| includes BOTH the old CLM4.0, CLM4.5 physics AND the new |version| physics and you can toggle between those three. + The "standard" practice for CLM4.0 is to run with CN on, and with Qian atmospheric forcing. + While the "standard" practice for CLM4.5 is to run with BGC on, and CRUNCEP atmospheric forcing. + And finally the "standard" practice for |version| is to run with BGC and Prognostic Crop on, with the MOSART model for river routing, as well as the CISM + ice sheet model, and using GSWP3 atmospheric forcing. + "BGC" is the new |version| biogeochemistry and include CENTURY-like pools, vertical resolved carbon, as well as Nitrification and de-Nitrification (see `the Section called Some Acronym's and Terms We'll be Using in Other resources to get help from `_ ). + +- When running with CLMCN (either CLM4.0 or |version| physics) or |version|-BGC, it is critical to begin with initial conditions that are provided with the release or to spin the model up following the CN spinup procedure before conducting scientific runs (see `the Section called Spinning up the |version| biogeochemistry (CLMBGC spinup) in Chapter 4 `_ for |version| or `the Section called Spinning up the CLM4.0 biogeochemistry Carbon-Nitrogen Model (CN spinup) in Chapter 4 `_ for CLM4.0). + Simulations without a proper spinup will effectively be starting from an unvegetated world. + See `the Section called Setting Your Initial Conditions File in Chapter 1 `_ for information on how to provide initial conditions for your simulation. + +- Initial condition files are provided for CLM4.0-CN as before, for fully coupled BCN and offline ICN cases for 1850 and 2000 at finite volume grids: 1deg (0.9x1.25), 2deg (1.9x2.5), and T31 resolutions. + We also have interpolated initial conditions for BCN for 1850 and 2000 for two finite volume grids: 10x15, 4x5 and two HOMME grids (ne30np4 and ne120np4). + There's also an initial condition file for ICN with the prognostic crop model for 2000 at 2deg resolution, and one with CLMSP for 2000 at 2deg resolution. + We also have initial conditions for offline CNDV for 1850. + The 1850 initial condition files are in 'reasonable' equilibrium. + The 2000 initial condition files represent the model state for the year 2000, and have been taken from transient simulations. + Therefore, by design the year 2000 initial condition files do not represent an equilibrium state. + Note also that spinning the 2000 initial conditions out to equilibrium will not reflect the best estimate of the real carbon/nitrogen state for the year 2000. + +- Initial condition files are also provided for |version| for several configurations and resolutions. + For CLM4.5-SP and CLM4.5-BGC with both CRUNCEP and GSWP3 forcing we have initial conditions at 1deg resolution for 1850. + For |version|-SP and |version|-BGC-Crop with both CRUNCEP and GSWP3 forcing we have initial conditions at 1deg resolution for 1850. + Normally, these files are interpolated to any other resolution that you run at. + +- Users can interpolate initial condition files at different resolutions at startup of a CLM4.5 or |version| simulation. And the file created can be stored for later use. + Interpolated initial condition files may no longer be in 'reasonable' equilibrium. + +- In |version| for both |version|-CN, |version|-BGC, and |version|-BGC-Crop the new fire model requires lightning frequency data, and human population density (both are read inside of CLM). + By default we have provided a climatology dataset for lightning frequency and a dataset with coverage from 1850 to 2014 for population density. + Both of these datasets are interpolated from the native resolution of the datasets to the resolution you are running the model on. + If you are running with an atmosphere model or forcing that is significantly different than present day -- the lightning frequency may NOT appropriately correspond to your atmosphere forcing and fire initiation would be inappropriate. + +- Aerosol deposition is a required field to both CLM4.0, CLM4.5 and |version| physics, sent from the atmosphere model. + Simulations without aerosol deposition will exhibit unreasonably high snow albedos. + The model sends aerosol deposition from the atmospheric model (either CAM or DATM). + When running with prescribed aerosol the atmosphere model will interpolate the aerosols from 2-degree resolution to the resolution the atmosphere model is running at. .. _ctsm_vs_cesm_checkout: @@ -100,7 +206,10 @@ The README (which can be found in ``$CTSMROOT/doc``) is repeated here. A CTSM versus a CESM checkout ============================= -The directory structure for |version| is different depending on if it's checked out from |release| or |cesmrelease|. If |version| is checked out from |ctsm_gh| the CLM source code is directly under the top level directory. If |cesmrelease| is checkout out from |cesm_gh| then the CLM source directories are under "components/clm" from the top level directory. We will refer to this directory for the CLM source directories in the User's Guide as "$CTSMROOT". +The directory structure for |version| is different depending on if it's checked out from |release| or |cesmrelease|. +If |version| is checked out from |ctsm_gh| the CLM source code is directly under the top level directory. If |cesmrelease| +is checkout out from |cesm_gh| then the CLM source directories are under "components/clm" from the top level directory. We +will refer to this directory for the CLM source directories in the User's Guide as "$CTSMROOT". .. _how-to-use-this-document: @@ -112,7 +221,17 @@ Links to descriptions and definitions have been provided in the code below. We u :: - Throughout the document this style is used to indicate shell commands and options, fragments of code, namelist variables, etc. Where examples from an interactive shell session are presented, lines starting with > indicate the shell prompt. A backslash "\" at the end of a line means the line continues onto the next one (as it does in standard UNIX shell). Note that $EDITOR" is used to refer to the text editor of your choice. $EDITOR is a standard UNIX environment variable and should be set on most UNIX systems. Comment lines are signaled with a "#" sign, which is the standard UNIX comment sign as well. $CSMDATA is used to denote the path to the inputdata directory for your CESM data. + Throughout the document this style is used to indicate shell + commands and options, fragments of code, namelist variables, etc. + Where examples from an interactive shell session are presented, lines + starting with > indicate the shell prompt. A backslash "\" at the end + of a line means the line continues onto the next one (as it does in + standard UNIX shell). Note that $EDITOR" is used to refer to the + text editor of your choice. $EDITOR is a standard UNIX environment + variable and should be set on most UNIX systems. Comment lines are + signaled with a "#" sign, which is the standard UNIX comment sign as well. + $CSMDATA is used to denote the path to the inputdata directory for + your CESM data. > This is a shell prompt with commands \ that continues to the following line. diff --git a/doc/source/users_guide/overview/quickstart.rst b/doc/source/users_guide/overview/quickstart.rst index f8b810cc0d..65398200e9 100644 --- a/doc/source/users_guide/overview/quickstart.rst +++ b/doc/source/users_guide/overview/quickstart.rst @@ -6,7 +6,8 @@ Quickstart ============ -Running the CLM requires a suite of UNIX utilities and programs and you should make sure you have all of these available before trying to go forward with using it. If you are missing one of these you should contact the systems administrator for the machine you wish to run on and make sure they are installed. +Running the CLM requires a suite of UNIX utilities and programs and you should make sure you have all of these available before trying to go forward with using it. +If you are missing one of these you should contact the systems administrator for the machine you wish to run on and make sure they are installed. List of utilities required for CESM in the "|cesmrelease| Software/Operating System Prerequisites" section in `http://www.cesm.ucar.edu/models/cesm1.2//cesm/doc/usersguide/book1.html `_ - UNIX bash shell (for some of the CLM tools scripts) @@ -23,7 +24,8 @@ The IMPORTANT_NOTES file talks about important things for users to know about us The ChangeLog/ChangeSum talk about advances in different versions of CLM. The content of these files is largely explained in the previous chapter on `"What is new with |version| in |cesmrelease| since previous public releases?" `_. -The release-clm5.0.ChangeLog gives the specific changes that have gone on the release-clm5.0 branch. clm3_0_ChangeLog, clm4_0_ChangeLog, clm4_5_ChangeLog gives the changes that culimated in that given version of the CLM. +The release-clm5.0.ChangeLog gives the specific changes that have gone on the release-clm5.0 branch. clm3_0_ChangeLog, clm4_0_ChangeLog, clm4_5_ChangeLog gives the changes that +culimated in that given version of the CLM. Note other directories have README files that explain different components and tools used when running CLM and are useful in understanding how those parts of the model work and should be consulted when using tools in those directories. For more details on configuring and customizing a case with CLM see `Chapter 1 `_. diff --git a/doc/source/users_guide/overview/scientific_validation.rst b/doc/source/users_guide/overview/scientific_validation.rst index 3110cbd81f..d05497a645 100644 --- a/doc/source/users_guide/overview/scientific_validation.rst +++ b/doc/source/users_guide/overview/scientific_validation.rst @@ -12,7 +12,8 @@ In this section we go over what has been extensively tested and scientifically v Standard Configuration and Namelist Options that are Validated -------------------------------------------------------------- -See `http://www.cesm.ucar.edu/models/cesm1.2/clm/CLM_configurations_CESM1.2.pdf `_ for an explanation of what configurations are scientifically validated for |version|. For CLM4.0 changes to the science of the model are minimal since CESM1.1.1 so we expect answers to be very similar to using it. +See +`http://www.cesm.ucar.edu/models/cesm1.2/clm/CLM_configurations_CESM1.2.pdf `_ for an explanation of what configurations are scientifically validated for |version|. For CLM4.0 changes to the science of the model are minimal since CESM1.1.1 so we expect answers to be very similar to using it. In the sections below we go through configuration and/or namelist options or modes that the user should be especially wary of using. You are of course free to use these options, and you may find that they work functionally. Although in some cases you will find issues even with functionality of using them. If so you will need to test, debug and find solutions for these issues on your own. But in every case you will need to go through more extensive work to validate these options from a scientific standpoint. Some of these options are only for |version| while others are for both CLM4.0 AND |version| we explicitly say which they apply to. @@ -20,7 +21,9 @@ In the sections below we go through configuration and/or namelist options or mod Configurations that should be used with caution ----------------------------------------------- -There are some options in |version| that are available but either not tested extensively, or not scientifically evaluated. These options should be used with caution. And any options that deviate from the scientifically supported configurations can have issues. The IMPORTANT_NODES file goes into more details on this. +There are some options in |version| that are available but either not tested extensively, or not scientifically evaluated. These +options should be used with caution. And any options that deviate from the scientifically supported configurations can have issues. +The IMPORTANT_NODES file goes into more details on this. The IMPORTANT_NOTES (which can be found in ``$CTSMROOT/doc``) is repeated here. diff --git a/doc/source/users_guide/running-PTCLM/adding-ptclm-site-data.rst b/doc/source/users_guide/running-PTCLM/adding-ptclm-site-data.rst index 9492b9ce59..b643e79a28 100644 --- a/doc/source/users_guide/running-PTCLM/adding-ptclm-site-data.rst +++ b/doc/source/users_guide/running-PTCLM/adding-ptclm-site-data.rst @@ -6,7 +6,14 @@ Adding PTCLMmkdata Site Data ============================ -The "sitegroupname" option to PTCLMmkdata looks for groups of sites in the files in the ``PTCLM_sitedata`` directory under the PTCLMmkdata directory. You can add new names available for this option including your own lists of sites, by adding more files in this directory. There are three files for each "sitegroupname": ``$SITEGROUP_sitedata.txt``, ``$SITEGROUP_soildata.txt`` and ``$SITEGROUP_pftdata.txt`` (where ``$SITEGROUP`` is the name that would be entered as "sitegroupname" to PTCLMmkdata). Each file needs to have the same list of sites, but gives different information: site data, PFT data, and soil data respectively. Although the site codes need to be the same between the three files, the files do NOT have to be in the same order. Each file has a one-line header that lists the contents of each column which are separated by commas. The first column for each of the files is the "site_code" which must be consistent between the three files. The site code can be any unique character string, but in general we use the AmeriFlux site code. +The "sitegroupname" option to PTCLMmkdata looks for groups of sites in the files in the ``PTCLM_sitedata`` directory under the PTCLMmkdata directory. +You can add new names available for this option including your own lists of sites, by adding more files in this directory. +There are three files for each "sitegroupname": ``$SITEGROUP_sitedata.txt``, ``$SITEGROUP_soildata.txt`` and ``$SITEGROUP_pftdata.txt`` (where ``$SITEGROUP`` is the name that would be entered as "sitegroupname" to PTCLMmkdata). +Each file needs to have the same list of sites, but gives different information: site data, PFT data, and soil data respectively. +Although the site codes need to be the same between the three files, the files do NOT have to be in the same order. +Each file has a one-line header that lists the contents of each column which are separated by commas. +The first column for each of the files is the "site_code" which must be consistent between the three files. +The site code can be any unique character string, but in general we use the AmeriFlux site code. Site data file:`` $SITEGROUP_sitedata.txt``): The header for this file is: :: @@ -44,35 +51,51 @@ This file only requires a line for each year where a transition or harvest happe Converting AmeriFlux Data for use by PTCLMmkdata ------------------------------------------------ -AmeriFlux data comes in comma separated format and is available from: `http://public.ornl.gov/ameriflux/dataproducts.shtml `_. Before you download the data you need to agree to the usage terms. +AmeriFlux data comes in comma separated format and is available from: +`http://public.ornl.gov/ameriflux/dataproducts.shtml `_. Before you download the data you need to agree to the usage terms. Here is a copy of the usage terms from the web-site on June/13/2011. -"The AmeriFlux data provided on this site are freely available and were furnished by individual AmeriFlux scientists who encourage their use. Please kindly inform the appropriate AmeriFlux scientist(s) of how you are using the data and of any publication plans. Please acknowledge the data source as a citation or in the acknowledgments if the data are not yet published. If the AmeriFlux Principal Investigators (PIs) feel that they should be acknowledged or offered participation as authors, they will let you know and we assume that an agreement on such matters will be reached before publishing and/or use of the data for publication. If your work directly competes with the PI's analysis they may ask that they have the opportunity to submit a manuscript before you submit one that uses unpublished data. In addition, when publishing, please acknowledge the agency that supported the research. Lastly, we kindly request that those publishing papers using AmeriFlux data provide preprints to the PIs providing the data and to the data archive at the Carbon Dioxide Information Analysis Center (CDIAC)." +"The AmeriFlux data provided on this site are freely available and were furnished by individual AmeriFlux scientists who encourage their use. +Please kindly inform the appropriate AmeriFlux scientist(s) of how you are using the data and of any publication plans. +Please acknowledge the data source as a citation or in the acknowledgments if the data are not yet published. +If the AmeriFlux Principal Investigators (PIs) feel that they should be acknowledged or offered participation as authors, they will let you know and we assume that an agreement on such matters will be reached before publishing and/or use of the data for publication. +If your work directly competes with the PI's analysis they may ask that they have the opportunity to submit a manuscript before you submit one that uses unpublished data. +In addition, when publishing, please acknowledge the agency that supported the research. +Lastly, we kindly request that those publishing papers using AmeriFlux data provide preprints to the PIs providing the data and to the data archive at the Carbon Dioxide Information Analysis Center (CDIAC)." The above agreement applies to the "US-UMB" dataset imported into our repository as well, and Gil Bohrer is the PI on record for that dataset. -The CESM can NOT handle missing data, so we recommend using the "Level 4" Gap filled datasets. The fields will also need to be renamed. The "WS" column becomes "WIND", "PREC" becomes "PRECmms", "RH" stays as "RH", "TA" becomes "TBOT", "Rg" becomes "FSDS", "Rgl" becomes "FLDS", "PRESS" becomes "PSRF". "ZBOT" can just be set to the constant of "30" (m). The units of Temperature need to be converted from "Celsius" to "Kelvin" (use the value in ``SHR_CONST_TKFRZ`` in the file ``models/csm_share/shr/shr_const.F90`` of ``273.15``. The units of Pressure also need to be converted from "kPa" to "Pa". LATIXY, and LONGXY should also be set to the latitude and longitude of the site. + +The CESM can NOT handle missing data, so we recommend using the "Level 4" Gap filled datasets. +The fields will also need to be renamed. +The "WS" column becomes "WIND", "PREC" becomes "PRECmms", "RH" stays as "RH", "TA" becomes "TBOT", "Rg" becomes "FSDS", "Rgl" becomes "FLDS", "PRESS" becomes "PSRF". +"ZBOT" can just be set to the constant of "30" (m). +The units of Temperature need to be converted from "Celsius" to "Kelvin" (use the value in ``SHR_CONST_TKFRZ`` in the file ``models/csm_share/shr/shr_const.F90`` of ``273.15``. +The units of Pressure also need to be converted from "kPa" to "Pa". LATIXY, and LONGXY should also be set to the latitude and longitude of the site. + ----------------------------------------------------------------- Example: PTCLMmkdata transient example over a shorter time period ----------------------------------------------------------------- -This is an example of using PTCLMmkdata for Harvard Forest (AmeriFlux site code US-Ha1) for transient land use 1991-2006. In order to do this we would've needed to have converted the AmeriFlux data into NetCDF format as show in the `the Section called Converting AmeriFlux Data for use by PTCLMmkdata `_ section above. Also note that this site has a site-specific dynamic land-use change file for it ``PTCLM_sitedata/US-Ha1_dynpftdata.txt`` in the PTCLMmkdata directory and this file will be used for land-use change and harvesting rather than the global dataset. +This is an example of using PTCLMmkdata for Harvard Forest (AmeriFlux site code US-Ha1) for transient land use 1991-2006. +In order to do this we would've needed to have converted the AmeriFlux data into NetCDF format as show in the `the Section called Converting AmeriFlux Data for use by PTCLMmkdata `_ section above. +Also note that this site has a site-specific dynamic land-use change file for it ``PTCLM_sitedata/US-Ha1_dynpftdata.txt`` in the PTCLMmkdata directory and this file will be used for land-use change and harvesting rather than the global dataset. :: > cd $CTSMROOT/tools/PTCLM # We are going to use forcing data over 1991 to 2006, but we need to start with # a transient compset to do so, so we use the 20th Century transient: 1850-2000 - # Note: When creating the fpftdyn dataset for this site it will use the + # Note: When creating the fpftdyn dataset for this site it will use the # PTCLM_sitedata/US-Ha1_dynpftdata.txt # file for land-use change and harvesting > ./PTCLMmkdata -s US-Ha1 -d $MYCSMDATA --sitegroupname AmeriFlux > mkdir $MYCSMDATA/atm/datm7/CLM1PT_data/1x1pt_US-Ha1 > cd $MYCSMDATA/atm/datm7/CLM1PT_data/1x1pt_US-Ha1 # Copy data in NetCDF format to this directory, filenames should be YYYY-MM.nc - # The fieldnames on the file should be: + # The fieldnames on the file should be: # FLDS,FSDS,LATIXY, LONGXY, PRECTmms,PSRF,RH,TBOT,WIND,ZBOT # With units # W/m2,W/m2,degrees_N,degrees_E,mm/s, Pa, %, K, m/s, m diff --git a/doc/source/users_guide/running-PTCLM/introduction-to-ptclm.rst b/doc/source/users_guide/running-PTCLM/introduction-to-ptclm.rst index a94d62d1b5..04fad02db2 100644 --- a/doc/source/users_guide/running-PTCLM/introduction-to-ptclm.rst +++ b/doc/source/users_guide/running-PTCLM/introduction-to-ptclm.rst @@ -8,22 +8,24 @@ What is PTCLMmkdata? ===================== -PTCLMmkdata (pronounced Pee-Tee Cee-L-M make data is a Python script to help you set up PoinT CLM simulations. +PTCLMmkdata (pronounced Pee-Tee Cee-L-M make data is a Python script to help you set up PoinT CLM simulations. -It runs the CLM tools for you to get datasets set up, and copies them to a location you can use them including the changes needed for a case to use the dataset with namelist and XML changes. +It runs the CLM tools for you to get datasets set up, and copies them to a location you can use them including the changes +needed for a case to use the dataset with namelist and XML changes. Then you run **create_newcase** and point to the directory so that the namelist and XML changes are automatically applied. -PTCLMmkdata has a simple ASCII text file for storing basic information for your sites. +PTCLMmkdata has a simple ASCII text file for storing basic information for your sites. -We also have complete lists for AmeriFlux and Fluxnet-Canada sites, although we only have the meteorology data for one site. +We also have complete lists for AmeriFlux and Fluxnet-Canada sites, although we only have the meteorology data for one site. -For other sites you will need to obtain the meteorology data and translate it to a format that the CESM datm model can use. +For other sites you will need to obtain the meteorology data and translate it to a format that the CESM datm model can use. But, even without meteorology data PTCLMmkdata is useful to setup datasets to run with standard ``CLM_QIAN`` data. The original authors of PTCLMmkdata are: Daniel M. Ricciuto, Dali Wang, Peter E. Thornton, Wilfred M. Post all at Environmental Sciences Division, Oak Ridge National Laboratory (ORNL) and R. Quinn Thomas at Cornell University. It was then modified fairly extensively by Erik Kluzek at NCAR. We want to thank all of these individuals for this contribution to the CESM effort. We also want to thank the folks at University of Michigan Biological Stations (US-UMB) who allowed us to use their Fluxnet station data and import it into our inputdata repository, especially Gil Bohrer the PI on record for this site. + .. _details-of-ptclm: ======================= @@ -105,7 +107,8 @@ The output to the above command is as follows: Main Script Version Id: $Id: PTCLM.py 47576 2013-05-29 19:11:16Z erik $ Scripts URL: $HeadURL: https://svn-ccsm-models.cgd.ucar.edu/PTCLM/trunk_tags/PTCLM1_130529/PTCLM.py $: -Here we give a simple example of using PTCLMmkdata for a straightforward case of running at the US-UMB Fluxnet site on cheyenne where we already have the meteorology data on the machine. Note, see `the Section called Converting AmeriFlux Data for use by PTCLMmkdata `_ for permission information to use this data. +Here we give a simple example of using PTCLMmkdata for a straightforward case of running at the US-UMB Fluxnet site on cheyenne where we already have the meteorology data on the machine. +Note, see `the Section called Converting AmeriFlux Data for use by PTCLMmkdata `_ for permission information to use this data. Example 6-1. Example of running PTCLMmkdata for US-UMB on cheyenne ------------------------------------------------------------------ @@ -115,7 +118,7 @@ Example 6-1. Example of running PTCLMmkdata for US-UMB on cheyenne > setenv MYDATAFILES `pwd`/mydatafiles > setenv SITE US-UMB > setenv MYCASE testPTCLM - + # Next build all of the clm tools you will need > cd $CTSMROOT/tools/PTCLM > buildtools @@ -129,6 +132,7 @@ Example 6-1. Example of running PTCLMmkdata for US-UMB on cheyenne > cd $MYCASE > ./case.setup + PTCLMmkdata includes a README file that gives some extra details and a simple example. .. include:: ../../../../tools/PTCLM/README diff --git a/doc/source/users_guide/running-PTCLM/ptclm-examples.rst b/doc/source/users_guide/running-PTCLM/ptclm-examples.rst index 8b341c89ae..e36b1e686a 100644 --- a/doc/source/users_guide/running-PTCLM/ptclm-examples.rst +++ b/doc/source/users_guide/running-PTCLM/ptclm-examples.rst @@ -13,7 +13,7 @@ Now, let's demonstrate using a different group list, doing a spinup, running wit Example: Running PTCLMmkdata without tower years ------------------------------------------------ :: - + > cd $CTSMROOT/tools/PTCLM > ./PTCLMmkdata -s US-Ha1 -d $CSMDATA --sitegroupname AmeriFlux --donot_use_tower_yrs > cd ../../../../../US-Ha1_ICRUCLM45BGC_QIAN diff --git a/doc/source/users_guide/running-PTCLM/using-ptclm.rst b/doc/source/users_guide/running-PTCLM/using-ptclm.rst index c69e2cdd91..e657608b67 100644 --- a/doc/source/users_guide/running-PTCLM/using-ptclm.rst +++ b/doc/source/users_guide/running-PTCLM/using-ptclm.rst @@ -6,13 +6,17 @@ Using PTCLMmkdata ************************** -There are two types of options to PTCLMmkdata: required and optional. The three required options are the three settings that MUST be specified for PTCLMmkdata to work at all. The other settings have default values that will default to something useful. Most options use a double dash "--" "longname" such as "--list", but the most common options also have a short-name with a single dash. +There are two types of options to PTCLMmkdata: required and optional. +The three required options are the three settings that MUST be specified for PTCLMmkdata to work at all. The other settings have default values that will default to something useful. Most options use a double dash "--" "longname" such as "--list", but the most common options also have a short-name with a single dash. -The required options to PTCLMmkdata are: inputdata directory (-d) and site-name (-s). Inputdata directory is the directory where you have the CESM inputdata files. Finally site-name is the name of the site that you want to run for. Site-name is a Fluxnet site name from the list of sites you are running on (see the --sitegroupname for more information about the site lists). +The required options to PTCLMmkdata are: inputdata directory (-d) and site-name (-s). +Inputdata directory is the directory where you have the CESM inputdata files. Finally site-name is the name of the site that you want to run for. Site-name is a Fluxnet site name from the list of sites you are running on (see the --sitegroupname for more information about the site lists). -After PTCLMmkdata is run you can run **create_newcase** to setup a case to use the datasets created. It also creates a ``README.PTCLM`` in that directory that documents the commandline options to PTCLMmkdata that were used to create it. +After PTCLMmkdata is run you can run **create_newcase** to setup a case to use the datasets created. +It also creates a ``README.PTCLM`` in that directory that documents the commandline options to PTCLMmkdata that were used to create it. -After "help" the "list" option is one of the most useful options for getting help on using PTCLMmkdata. This option gives you information about some of the other options to PTCLMmkdata. To get a list of the sites that can be used for PTCLMmkdata use the "--list" option as follows. +After "help" the "list" option is one of the most useful options for getting help on using PTCLMmkdata. +This option gives you information about some of the other options to PTCLMmkdata. To get a list of the sites that can be used for PTCLMmkdata use the "--list" option as follows. :: > cd $CTSMROOT/tools/PTCLM @@ -26,21 +30,23 @@ The output to the above command is as follows: Steps in running PTCLMmkdata ============================ -1. Build the CLM tools Next you need to make sure all the CLM FORTRAN tools are built. +1. Build the CLM tools + Next you need to make sure all the CLM FORTRAN tools are built. :: > cd $CTSMROOT/tools/PTCLM > ./buildtools > gmake clean -2. Run PTCLMmkdata Next you actually run PTCLMmkdata which does the different things listed below: +2. Run PTCLMmkdata + Next you actually run PTCLMmkdata which does the different things listed below: - a. PTCLMmkdata names your output file directory based on your input + a. PTCLMmkdata names your output file directory based on your input :: [Prefix_]SiteCode - Where: + Where: ``Prefix`` is from the caseidprefix option (or blank if not used). ``SiteCode`` is the site name you entered with the -s option. @@ -51,17 +57,26 @@ Steps in running PTCLMmkdata > cd scripts > ./PTCLMmkdata -s US-UMB -d $MYCSMDATA - b. PTCLMmkdata creates datasets for you It will populate $MYCSMDATA with new datasets it creates using the CLM tools. + b. PTCLMmkdata creates datasets for you + It will populate $MYCSMDATA with new datasets it creates using the CLM tools. - c. If a transient compset and PTCLMmkdata finds a _dynpftdata.txt file If you are running a transient compset (such as the "I_1850-2000_CN" compset) AND you there is a file in the PTCLM_sitedata directory under the PTCLMmkdata directory called $SITE_dynpftdata.txt it will use this file for the land-use changes. Otherwise it will leave land-use constant, unless you use the pftgrid option so it uses the global dataset for landuse changes. See the Section called Dynamic Land-Use Change Files for use by PTCLMmkdata for more information on this. There is a sample transient dataset called US-Ha1_dynpftdata.txt. Transient compsets, are compsets that create transient land-use change and forcing conditions such as: 'I_1850-2000', 'I_1850-2000_CN', 'I_RCP8.5_CN', 'I_RCP6.0_CN', 'I_RCP4.5_CN', or 'I_RCP2.6_CN'. + c. If a transient compset and PTCLMmkdata finds a _dynpftdata.txt file + If you are running a transient compset (such as the "I_1850-2000_CN" compset) AND you there is a file in the PTCLM_sitedata directory under the PTCLMmkdata directory called $SITE_dynpftdata.txt it will use this file for the land-use changes. + Otherwise it will leave land-use constant, unless you use the pftgrid option so it uses the global dataset for landuse changes. + See the Section called Dynamic Land-Use Change Files for use by PTCLMmkdata for more information on this. + There is a sample transient dataset called US-Ha1_dynpftdata.txt. + Transient compsets, are compsets that create transient land-use change and forcing conditions such as: 'I_1850-2000', 'I_1850-2000_CN', 'I_RCP8.5_CN', 'I_RCP6.0_CN', 'I_RCP4.5_CN', or 'I_RCP2.6_CN'. - d. PTCLMmkdata creates a pft-physiology for you PTCLMmkdata will create a local copy of the pft-physiology specific for your site that you could then customize with changes specific for that site. + d. PTCLMmkdata creates a pft-physiology for you + PTCLMmkdata will create a local copy of the pft-physiology specific for your site that you could then customize with changes specific for that site. - e. PTCLMmkdata creates a README.PTCLM for you PTCLMmkdata will create a simple text file with the command line for it in a file called README.PTCLM in the case directory it creates for you. + e. PTCLMmkdata creates a README.PTCLM for you + PTCLMmkdata will create a simple text file with the command line for it in a file called README.PTCLM in the case directory it creates for you. 3. Run create_newcase pointing to the directory created -4. Customize, setup, build and run case as normal You then customize your case as you would normally. See the Chapter 1 chapter for more information on doing this. +4. Customize, setup, build and run case as normal + You then customize your case as you would normally. See the Chapter 1 chapter for more information on doing this. PTCLMmkdata options ========================= @@ -78,7 +93,8 @@ Configure options include: This option is for running PTCLMmkdata with a different root directory to CESM than the version PTCLMmkdata exists in. Normally you do NOT need to use this option. ``--sitegroupname`` - In the PTCLMmkdata directory there is a subdirectory "PTCLM_sitedata" that contains files with the site, PFT and soil data information for groups of sites. These site groups are all separate ASCII files with the same prefix followed by a "_*data.txt" name. See `the Section called PTCLMmkdata Group Site Lists `_ for more information on these files. By default we have provided three different valid group names: + In the PTCLMmkdata directory there is a subdirectory "PTCLM_sitedata" that contains files with the site, PFT and soil data information for groups of sites. + These site groups are all separate ASCII files with the same prefix followed by a "_*data.txt" name. See `the Section called PTCLMmkdata Group Site Lists `_ for more information on these files. By default we have provided three different valid group names: EXAMPLE ------- @@ -86,7 +102,11 @@ AmeriFlux Fluxnet-Canada -The EXAMPLE is the group used by default and ONLY includes the US-UMB site as that is the only site we have data provided for. The other two site groups include the site information for all of both the AmeriFlux and Fluxnet-Canada sites. You can use the "sitegroupname" option to use one of the other lists, or you can create your own lists using the EXAMPLE file as an example. Your list of sites could be real world locations or could be theoretical "virtual" sites given to exercise CLM on differing biomes for example. Note, see `the Section called Converting AmeriFlux Data for use by PTCLMmkdata `_ with permission information to use the US-UMB data. +The EXAMPLE is the group used by default and ONLY includes the US-UMB site as that is the only site we have data provided for. +The other two site groups include the site information for all of both the AmeriFlux and Fluxnet-Canada sites. +You can use the "sitegroupname" option to use one of the other lists, or you can create your own lists using the EXAMPLE file as an example. +Your list of sites could be real world locations or could be theoretical "virtual" sites given to exercise CLM on differing biomes for example. +Note, see `the Section called Converting AmeriFlux Data for use by PTCLMmkdata `_ with permission information to use the US-UMB data. ``--donot_use_tower_yrs`` This option is used with the "useQIAN" option to set the years to cycle over for the Qian data. In this case Qian atmospheric forcing will be used, but the simulation will run over the same years that tower site is available for this site. @@ -107,8 +127,10 @@ The options that with a "grid" suffix all mean to create datasets using the glob Because supported single-point datasets already have the data created for them, you MUST use the "nopointdata" and "ndepgrid" options when you are using a supported single-point site. You must use "ndepgrid" even for a compset without CN. You also can NOT use the options: "soilgrid", "pftgrid", "aerdepgrid", or "owritesrfaer". ``--pftgrid`` - This option says to use the PFT values provided on the global dataset rather than using the specific site based values from the PTCLM_sitedata/\*_pftdata.txt file when creating the surface dataset. This option must NOT be used when you you are using a site that is a supported single point dataset. + This option says to use the PFT values provided on the global dataset rather than using the specific site based values from the PTCLM_sitedata/\*_pftdata.txt file when creating the surface dataset. + This option must NOT be used when you you are using a site that is a supported single point dataset. ``--soilgrid`` - This option says to use the soil values provided on the global dataset rather than using the specific site based values from the PTCLM_sitedata/\*_soildata.txt file when creating the surface dataset. This option must NOT be used when you you are using a site that is a supported single point dataset. + This option says to use the soil values provided on the global dataset rather than using the specific site based values from the PTCLM_sitedata/\*_soildata.txt file when creating the surface dataset. + This option must NOT be used when you you are using a site that is a supported single point dataset. diff --git a/doc/source/users_guide/running-single-points/running-pts_mode-configurations.rst b/doc/source/users_guide/running-single-points/running-pts_mode-configurations.rst index 9362e93fe8..b5ce4eadb7 100644 --- a/doc/source/users_guide/running-single-points/running-pts_mode-configurations.rst +++ b/doc/source/users_guide/running-single-points/running-pts_mode-configurations.rst @@ -6,7 +6,8 @@ Running a single point using global data - PTS_MODE **************************************************** -``PTS_MODE`` enables you to run the model using global datasets, but just picking a single point from those datasets and operating on it. It can be a very quick way to do fast simulations and get a quick turnaround. +``PTS_MODE`` enables you to run the model using global datasets, but just picking a single point from those datasets and operating on it. +It can be a very quick way to do fast simulations and get a quick turnaround. To setup a ``PTS_MODE`` simulation you use the "-pts_lat" and "-pts_lon" arguments to **create_newcase** to give the latitude and longitude of the point you want to simulate for (the code will pick the point on the global grid nearest to the point you give. Here's an example to setup a simulation for the nearest point at 2-degree resolution to Boulder Colorado. :: @@ -28,6 +29,11 @@ Then setup, build and run as normal. We make sure initial conditions are NOT use Running in a single processor ============================== -Note, that when running with ``PTS_MODE`` the number of processors is automatically set to one. When running a single grid point you can only use a single processor. You might also want to set the ``env_build.xml`` variable: ``MPILIB=mpi-serial`` to ``TRUE`` so that you can also run interactively without having to use MPI to start up your job. +Note, that when running with ``PTS_MODE`` the number of processors is automatically set to one. +When running a single grid point you can only use a single processor. +You might also want to set the ``env_build.xml`` variable: ``MPILIB=mpi-serial`` to ``TRUE`` so that you can also run interactively without having to use MPI to start up your job. -On many machines, batch queues have a minimum number of nodes or processors that can be used. On these machines you may have to change the queue and possibly the time-limits of the job, to get it to run in the batch queue. On the NCAR machine, cheyenne, this is done for you automatically, and the "share" or "caldera" queue is used for such single-processor simulations. For single point mode you also may want to consider using a smaller workstation or cluster, rather than a super-computer, because you can't take advantage of the multi-processing power of the super-computer anyway. +On many machines, batch queues have a minimum number of nodes or processors that can be used. +On these machines you may have to change the queue and possibly the time-limits of the job, to get it to run in the batch queue. +On the NCAR machine, cheyenne, this is done for you automatically, and the "share" or "caldera" queue is used for such single-processor simulations. +For single point mode you also may want to consider using a smaller workstation or cluster, rather than a super-computer, because you can't take advantage of the multi-processing power of the super-computer anyway. diff --git a/doc/source/users_guide/running-single-points/running-single-point-configurations.rst b/doc/source/users_guide/running-single-points/running-single-point-configurations.rst index 778deb3220..4705148f8c 100644 --- a/doc/source/users_guide/running-single-points/running-single-point-configurations.rst +++ b/doc/source/users_guide/running-single-points/running-single-point-configurations.rst @@ -6,7 +6,9 @@ Running Single Point Configurations ****************************************** -In addition to ``PTS_MODE``, CLM supports running using single-point or regional datasets that are customized to a particular region. CLM supports a a small number of out-of-the-box single-point and regional datasets. However, users can create their own dataset. +In addition to ``PTS_MODE``, CLM supports running using single-point or regional datasets that are customized to a particular region. +CLM supports a a small number of out-of-the-box single-point and regional datasets. +However, users can create their own dataset. To get the list of supported dataset resolutions do this: :: @@ -14,15 +16,16 @@ To get the list of supported dataset resolutions do this: > cd $CTSMROOT/doc > ../bld/build-namelist -res list + Which results in the following: :: CLM build-namelist - valid values for res (Horizontal resolutions Note: 0.5x0.5, 5x5min, 10x10min, 3x3min and 0.33x0.33 are only used for CLM tools): - Values: default 512x1024 360x720cru 128x256 64x128 48x96 32x64 8x16 94x192 \ - 0.23x0.31 0.47x0.63 0.9x1.25 1.9x2.5 2.5x3.33 4x5 10x15 5x5_amazon 1x1_tropicAtl \ - 1x1_vancouverCAN 1x1_mexicocityMEX 1x1_asphaltjungleNJ 1x1_brazil 1x1_urbanc_alpha 1x1_numaIA \ - 1x1_smallvilleIA 0.5x0.5 3x3min 5x5min 10x10min 0.33x0.33 ne4np4 ne16np4 ne30np4 ne60np4 \ + Values: default 512x1024 360x720cru 128x256 64x128 48x96 32x64 8x16 94x192 \ + 0.23x0.31 0.47x0.63 0.9x1.25 1.9x2.5 2.5x3.33 4x5 10x15 5x5_amazon 1x1_tropicAtl \ + 1x1_vancouverCAN 1x1_mexicocityMEX 1x1_asphaltjungleNJ 1x1_brazil 1x1_urbanc_alpha 1x1_numaIA \ + 1x1_smallvilleIA 0.5x0.5 3x3min 5x5min 10x10min 0.33x0.33 ne4np4 ne16np4 ne30np4 ne60np4 \ ne120np4 ne240np4 wus12 us20 Default = 1.9x2.5 (NOTE: resolution and mask and other settings may influence what the default is) @@ -37,7 +40,7 @@ Example: Running CLM over a single-point test site in Brazil > cd scripts > set SITE=1x1_brazil - > ./create_newcase -case testSPDATASET -res $SITE -compset I2000Clm50SpGs + > ./create_newcase -case testSPDATASET -res $SITE -compset I2000Clm50SpGs > cd testSPDATASET Then setup, build and run normally. @@ -51,7 +54,7 @@ Example: Running CLM over the single-point of Mexicocity Mexico with the default > cd scripts # Set a variable to the site you want to use (as it's used several times below) > set SITE=1x1_mexicocityMEX - > ./create_newcase -case testSPDATASET -res $SITE -compset I1PtClm50SpGs + > ./create_newcase -case testSPDATASET -res $SITE -compset I1PtClm50SpGs > cd testSPDATASET Then setup, build and run normally. @@ -65,14 +68,21 @@ Then setup, build and run normally. Using Supported Single-point Datasets that have their own Atmospheric Forcing ================================================================================ -Of the supported single-point datasets we have three that also have atmospheric forcing data that go with them: Mexico City (Mexico), Vancouver, (Canada, British Columbia), and ``urbanc_alpha`` (test data for an Urban inter-comparison project). Mexico city and Vancouver also have namelist options in the source code for them to work with modified urban data parameters that are particular to these locations. To turn on the atmospheric forcing for these datasets, you set the ``env_run.xml DATM_MODE`` variable to ``CLM1PT``, and then the atmospheric forcing datasets will be used for the point picked. If you use one of the compsets that has "I1Pt" in the name that will be set automatically. +Of the supported single-point datasets we have three that also have atmospheric forcing data that go with them: Mexico City (Mexico), Vancouver, (Canada, British Columbia), and ``urbanc_alpha`` (test data for an Urban inter-comparison project). +Mexico city and Vancouver also have namelist options in the source code for them to work with modified urban data parameters that are particular to these locations. +To turn on the atmospheric forcing for these datasets, you set the ``env_run.xml DATM_MODE`` variable to ``CLM1PT``, and then the atmospheric forcing datasets will be used for the point picked. +If you use one of the compsets that has "I1Pt" in the name that will be set automatically. -When running with datasets that have their own atmospheric forcing you need to be careful to run over the period that data is available. If you have at least one year of forcing it will cycle over the available data over and over again no matter how long of a simulation you run. However, if you have less than a years worth of data (or if the start date doesn't start at the beginning of the year, or the end date doesn't end at the end of the year) then you won't be able to run over anything but the data extent. In this case you will need to carefully set the ``RUN_STARTDATE``, ``START_TOD`` and ``STOP_N/STOP_OPTION`` variables for your case to run over the entire time extent of your data. For the supported data points, these values are in the XML database and you can use the **queryDefaultNamelist.pl** script to query the values and set them for your case (they are set for the three urban test cases: Mexicocity, Vancouver, and urbanc_alpha). +When running with datasets that have their own atmospheric forcing you need to be careful to run over the period that data is available. +If you have at least one year of forcing it will cycle over the available data over and over again no matter how long of a simulation you run. +However, if you have less than a years worth of data (or if the start date doesn't start at the beginning of the year, or the end date doesn't end at the end of the year) then you won't be able to run over anything but the data extent. +In this case you will need to carefully set the ``RUN_STARTDATE``, ``START_TOD`` and ``STOP_N/STOP_OPTION`` variables for your case to run over the entire time extent of your data. +For the supported data points, these values are in the XML database and you can use the **queryDefaultNamelist.pl** script to query the values and set them for your case (they are set for the three urban test cases: Mexicocity, Vancouver, and urbanc_alpha). In the example below we will show how to do this for the Vancouver, Canada point. Example: Running CLM over the single-point of Vancouver Canada with supplied atmospheric forcing data for Vancouver. -------------------------------------------------------------------------------------------------------------------------- +------------------------------------------------------------------------------------------------------------------------- :: > cd scripts @@ -102,16 +112,19 @@ Example: Running CLM over the single-point of Vancouver Canada with supplied atm > ./case.setup + .. warning:: If you don't set the start-year and run-length carefully as shown above the model will abort with a "dtlimit error" in the atmosphere model. Since, the forcing data for this site (and the MexicoCity site) is less than a year, the model won't be able to run for a full year. The ``1x1_urbanc_alpha`` site has data for more than a full year, but neither year is complete hence, it has the same problem (see the problem for this site above). .. note:: Just like ``PTS_MODE`` above, By default it sets up to run with ``MPILIB=mpi-serial`` (in the env_build.xml file) turned on, which allows you to run the model interactively. .. note:: When running a ``pt1_pt1`` resolution the number of processors is automatically set to one. When running a single grid point you can only use a single processor. You might also want to set the ``env_build.xml`` variable: ``MPILIB=mpi-serial`` to ``TRUE`` so that you can also run interactively without having to use mpi to start up your job. + Creating your own single-point dataset =================================================== -The following provides an example of setting up a case using ``CLM_USRDAT_NAME`` where you rename the files according to the ``CLM_USRDAT_NAME`` convention. We have an example of such datafiles in the repository for a specific region over Alaska (actually just a sub-set of the global f19 grid). +The following provides an example of setting up a case using ``CLM_USRDAT_NAME`` where you rename the files according to the ``CLM_USRDAT_NAME`` convention. +We have an example of such datafiles in the repository for a specific region over Alaska (actually just a sub-set of the global f19 grid). Example: Using CLM_USRDAT_NAME to run a simulation using user datasets for a specific region over Alaska ----------------------------------------------------------------------------------------------------------------------- @@ -160,7 +173,7 @@ Example: Creating a surface dataset for a single point > setenv OCNDOM domain.ocn_noocean.nc > setenv ATMDOM domain.lnd.{$GRIDNAME}_noocean.nc > ./gen_domain -m $MAPFILE -o $OCNDOM -l $ATMDOM - # Save the location where the domain file was created + # Save the location where the domain file was created > setenv GENDOM_PATH `pwd` # Finally create the surface dataset > cd ../../../../lnd/clm/tools/|version|/mksurfdata_map/src @@ -176,11 +189,11 @@ Example: Setting up a case from the single-point surface dataset just created # First setup an environment variable that points to the top of the CESM directory. > setenv CESMROOT - # Next make sure you have a inputdata location that you can write to + # Next make sure you have a inputdata location that you can write to # You only need to do this step once, so you won't need to do this in the future > setenv MYCSMDATA $HOME/inputdata # Set env var for the directory for input data > ./link_dirtree $CSMDATA $MYCSMDATA - # Copy the file you created above to your new $MYCSMDATA location following the CLMUSRDAT + # Copy the file you created above to your new $MYCSMDATA location following the CLMUSRDAT # naming convention (leave off the creation date) > cp $CESMROOT/$CTSMROOT/tools/mksurfdata_map/surfdata_${GRIDNAME}_simyr1850_$CDATE.nc \ $MYCSMDATA/lnd/clm2/surfdata_map/surfdata_${GRIDNAME}_simyr1850.nc diff --git a/doc/source/users_guide/running-single-points/single-point-and-regional-grid-configurations.rst b/doc/source/users_guide/running-single-points/single-point-and-regional-grid-configurations.rst index a927bed53e..9564b1649c 100644 --- a/doc/source/users_guide/running-single-points/single-point-and-regional-grid-configurations.rst +++ b/doc/source/users_guide/running-single-points/single-point-and-regional-grid-configurations.rst @@ -6,7 +6,8 @@ Single and Regional Grid Configurations ***************************************** -CLM allows you to set up and run cases with a single-point or a local region as well as global resolutions. This is often useful for running quick cases for testing, evaluating specific vegetation types, or land-units, or running with observed data for a specific site. +CLM allows you to set up and run cases with a single-point or a local region as well as global resolutions. +This is often useful for running quick cases for testing, evaluating specific vegetation types, or land-units, or running with observed data for a specific site. There are three different ways to do this for normal-supported site @@ -27,13 +28,26 @@ There are three different ways to do this for normal-supported site Choosing the right single point options ========================================= -Running for a *normal supported site* is a great solution, if one of the supported single-point/regional datasets, is your region of interest (see `the Section called Running Supported Single-point/Regional Datasets `_). All the datasets are created for you, and you can easily select one and run, out of the box with it using a supported resolution from the top level of the CESM scripts. The problem is that there is a very limited set of supported datasets. You can also use this method for your own datasets, but you have to create the datasets, and add them to the XML database in scripts, CLM and to the DATM. This is worthwhile if you want to repeat many multiple cases for a given point or region. +Running for a *normal supported site* is a great solution, if one of the supported single-point/regional datasets, is your region of interest (see `the Section called Running Supported Single-point/Regional Datasets `_). +All the datasets are created for you, and you can easily select one and run, out of the box with it using a supported resolution from the top level of the CESM scripts. +The problem is that there is a very limited set of supported datasets. +You can also use this method for your own datasets, but you have to create the datasets, and add them to the XML database in scripts, CLM and to the DATM. This is worthwhile if you want to repeat many multiple cases for a given point or region. -In general `the Section called Running PTS_MODE configurations `_ is the quick and dirty method that gets you started without having to create datasets -- but has limitations. It's good for an initial attempt at seeing results for a point of interest, but since you can NOT restart with it, it's usage is limited. It is the quickest method as you can create a case for it directly from **create_newcase**. Although you can't restart, running a single point is very fast, and you can run for long simulation times even without restarts. +In general `the Section called Running PTS_MODE configurations `_ is the quick and dirty method that gets you started without having to create datasets -- but has limitations. +It's good for an initial attempt at seeing results for a point of interest, but since you can NOT restart with it, it's usage is limited. +It is the quickest method as you can create a case for it directly from **create_newcase**. Although you can't restart, running a single point is very fast, and you can run for long simulation times even without restarts. -Next, ``CLM_USRDAT_NAME`` is the best way to setup cases quickly where you have to create your own datasets (see `the Section called Creating your own single-point/regional surface datasets `_). With this method you don't have to change DATM or add files to the XML database -- but you have to follow a strict naming convention for files. However, once the files are named and in the proper location, you can easily setup new cases that use these datasets. This is good for treating all the required datasets as a "group" and for a particular model version. For advanced CLM developers who need to track dataset changes with different model versions you would be best off adding these datasets as supported datasets with the "normal supported datasets" method. +Next, ``CLM_USRDAT_NAME`` is the best way to setup cases quickly where you have to create your own datasets (see `the Section called Creating your own single-point/regional surface datasets `_). +With this method you don't have to change DATM or add files to the XML database -- but you have to follow a strict naming convention for files. +However, once the files are named and in the proper location, you can easily setup new cases that use these datasets. +This is good for treating all the required datasets as a "group" and for a particular model version. For advanced CLM developers who need to track dataset changes with different model versions you would be best off adding these datasets as supported datasets with the "normal supported datasets" method. -Lastly *PTCLMmkdata* is a great way to easily create datasets, setup simulations and run simulations for tower sites. It takes advantage of both normal supported site functionality and CLM_USRDAT_NAME internally. A big advantage to it, is that it's one-stop shopping, it runs tools to create datasets, and runs **create_newcase** and sets the appropriate env variables for you. So you only have to learn how to run one tool, rather than work with many different ones. PTCLMmkdata is described in the next chapter `Chapter 6 `_. +Lastly *PTCLMmkdata* is a great way to easily create datasets, setup simulations and run simulations for tower sites. +It takes advantage of both normal supported site functionality and CLM_USRDAT_NAME internally. +A big advantage to it, is that it's one-stop shopping, it runs tools to create datasets, and runs **create_newcase** and sets the appropriate env variables for you. So you only have to learn how to run one tool, rather than work with many different ones. PTCLMmkdata is described in the next chapter `Chapter 6 `_. -Finally, if you also have meteorology data that you want to force your CLM simulations with you'll need to setup cases as described in `the Section called Running with your own atmosphere forcing `_. You'll need to create CLM datasets either according to ``CLM_USRDAT_NAME``. You may also need to modify DATM to use your forcing data. And you'll need to change your forcing data to be in a format that DATM can use. In the PTCLMmkdata chapter `the Section called Converting AmeriFlux Data for use by PTCLMmkdata in Chapter 6 `_ section tells you how to use AmeriFlux data for atmospheric forcing. +Finally, if you also have meteorology data that you want to force your CLM simulations with you'll need to setup cases as described in `the Section called Running with your own atmosphere forcing `_. +You'll need to create CLM datasets either according to ``CLM_USRDAT_NAME``. +You may also need to modify DATM to use your forcing data. +And you'll need to change your forcing data to be in a format that DATM can use. In the PTCLMmkdata chapter `the Section called Converting AmeriFlux Data for use by PTCLMmkdata in Chapter 6 `_ section tells you how to use AmeriFlux data for atmospheric forcing. diff --git a/doc/source/users_guide/running-special-cases/Running-stand-alone-CLM-with-transient-historical-CO2-concentration.rst b/doc/source/users_guide/running-special-cases/Running-stand-alone-CLM-with-transient-historical-CO2-concentration.rst index 9e9bacaf1e..9883662a4b 100644 --- a/doc/source/users_guide/running-special-cases/Running-stand-alone-CLM-with-transient-historical-CO2-concentration.rst +++ b/doc/source/users_guide/running-special-cases/Running-stand-alone-CLM-with-transient-historical-CO2-concentration.rst @@ -6,24 +6,38 @@ Running with historical CO2 forcing ===================================== -In this case you want to run a simulation with stand-alone CLM responding to changes in CO2 for a historical period. For this example, we will start with the "I_1850-2000_CN" compset that has transient: land-use, Nitrogen and Aerosol deposition already. You could also use another compset if you didn't want these other features to be transient. In order to get CO2 to be transient we need to add a new streams file and add it to the list of streams in the user_nl_datm file. You also need a NetCDF datafile that datm can read that gives the variation. You could supply your own file, but we have a standard file that is used by CAM for this and our example will make use of this file. +In this case you want to run a simulation with stand-alone CLM responding to changes in CO2 for a historical period. +For this example, we will start with the "I_1850-2000_CN" compset that has transient: land-use, Nitrogen and Aerosol deposition already. +You could also use another compset if you didn't want these other features to be transient. +In order to get CO2 to be transient we need to add a new streams file and add it to the list of streams in the user_nl_datm file. +You also need a NetCDF datafile that datm can read that gives the variation. You could supply your own file, but we have a standard file that is used by CAM for this and our example will make use of this file. .. note:: Most everything here has to do with changing datm rather than CLM to allow this to happen. As such the user that wishes to do this should first become more familiar with datm and read the `CESM Data Model User's Guide `_ especially as it pertains to the datm. .. warning:: This section documents the process for doing something that is non-standard. There may be errors with the documentation and process, and you may have to do some work before all of this works for you. If that is the case, we recommend that you do further research into understanding the process and the files, as well as understanding the datm and how it works. You may have to read documentation found in the code for datm as well as "csm_share". -The datm has "streams" files that have rough XML-like syntax and specify the location and file to get data from, as well as information on the variable names and the data locations of the grid points. The datm expects specific variable names and the datm "maps" the expected variable names from the file to the names expected by datm. The file we are working with here is a file with a single-point, that covers the entire globe (so the vertices go from -90 to 90 degrees in latitude and 0 to 360 degrees in longitude). Since it's a single point it's a little easier to work with than datasets that may be at a given horizontal resolution. The datm also expects that variables will be in certain units, and only expects a limited number of variables so arbitrary fields can NOT be exchanged this way. However, the process would be similar for datasets that do contain more than one point. +The datm has "streams" files that have rough XML-like syntax and specify the location and file to get data from, as well as information on the variable names and the data locations of the grid points. +The datm expects specific variable names and the datm "maps" the expected variable names from the file to the names expected by datm. +The file we are working with here is a file with a single-point, that covers the entire globe (so the vertices go from -90 to 90 degrees in latitude and 0 to 360 degrees in longitude). +Since it's a single point it's a little easier to work with than datasets that may be at a given horizontal resolution. +The datm also expects that variables will be in certain units, and only expects a limited number of variables so arbitrary fields can NOT be exchanged this way. +However, the process would be similar for datasets that do contain more than one point. -The three things that are needed: a domain file, a data file, and a streams text file. The domain file is a CF-compliant NetCDF file that has information on the grid points (latitudes and longitudes for cell-centers and vertices, mask, fraction, and areas). The datafile is a CF-compliant NetCDF file with the data that will be mapped. The streams text file is the XML-like file that tells datm how to find the files and how to map the variables datm knows about to the variable names on the NetCDF files. Note, that in our case the domain file and the data file are the same file. In other cases, the domain file may be separate from the data file. +The three things that are needed: a domain file, a data file, and a streams text file. +The domain file is a CF-compliant NetCDF file that has information on the grid points (latitudes and longitudes for cell-centers and vertices, mask , fraction, and areas). +The datafile is a CF-compliant NetCDF file with the data that will be mapped. +The streams text file is the XML-like file that tells datm how to find the files and how to map the variables datm knows about to the variable names on the NetCDF files. Note, that in our case the domain file and the data file are the same file. In other cases, the domain file may be separate from the data file. + +First we are going to create a case, and we will edit the ``user_nl_datm`` so that we add a CO2 data stream in. +There is a streams text file available in ``$CTSMROOT/doc/UsersGuide/co2_streams.txt``, that includes file with a CO2 time-series from 1765 to 2007. -First we are going to create a case, and we will edit the ``user_nl_datm`` so that we add a CO2 data stream in. There is a streams text file available in ``$CTSMROOT/doc/UsersGuide/co2_streams.txt``, that includes file with a CO2 time-series from 1765 to 2007. Example: Transient Simulation with Historical CO2 -------------------------------------------------------------- :: > cd scripts - > ./create_newcase -case DATM_CO2_TSERIES -res f19_g17_gl4 -compset IHistClm50BgcCrop + > ./create_newcase -case DATM_CO2_TSERIES -res f19_g17_gl4 -compset IHistClm50BgcCrop > cd DATM_CO2_TSERIES # Historical CO2 will already be setup correctly for this compset diff --git a/doc/source/users_guide/running-special-cases/Running-with-MOAR-data-as-atmospheric-forcing-to-spinup-the-model.rst b/doc/source/users_guide/running-special-cases/Running-with-MOAR-data-as-atmospheric-forcing-to-spinup-the-model.rst index 7f210ba151..12903a18b5 100644 --- a/doc/source/users_guide/running-special-cases/Running-with-MOAR-data-as-atmospheric-forcing-to-spinup-the-model.rst +++ b/doc/source/users_guide/running-special-cases/Running-with-MOAR-data-as-atmospheric-forcing-to-spinup-the-model.rst @@ -6,9 +6,11 @@ Running with MOAR data ======================== -Because it takes so long to spinup the CN model (as we just saw previously), if you are doing fully coupled simulations with active atmosphere and ocean, you will want to do the spinup portion of this "offline". So instead of doing expensive fully coupled simulations for the spinup duration, you run CLM in a very cheap "I" compset using atmospheric forcing from a shorter fully coupled simulation (or a simulation run previously by someone else). +Because it takes so long to spinup the CN model (as we just saw previously), if you are doing fully coupled simulations with active atmosphere and ocean, you will want to do the spinup portion of this "offline". +So instead of doing expensive fully coupled simulations for the spinup duration, you run CLM in a very cheap "I" compset using atmospheric forcing from a shorter fully coupled simulation (or a simulation run previously by someone else). -In this example we will use the ``I1850Clm50BgcSpinup compset`` to setup CLM to run with atmospheric forcing from a previous fully coupled simulation with data that is already stored on disk on cheyenne. There are several simulations that have high frequency data for which we can do this. You can also do this on a machine other than cheyenne, but would need to download the data from the Earth System Grid and change the datapath similar to `Example 4-11 `_. +In this example we will use the ``I1850Clm50BgcSpinup compset`` to setup CLM to run with atmospheric forcing from a previous fully coupled simulation with data that is already stored on disk on cheyenne. +There are several simulations that have high frequency data for which we can do this. You can also do this on a machine other than cheyenne, but would need to download the data from the Earth System Grid and change the datapath similar to `Example 4-11 `_. Example: Simulation with MOAR Data on cheyenne ------------------------------------------------------------- @@ -19,7 +21,7 @@ Example: Simulation with MOAR Data on cheyenne > cd MOARforce1850 # The following sets the casename to point to for atm forcing (you could also use an editor) > ./xmlchange DATM_CPL_CASE=b40.1850.track1.1deg.006a - # The following sets the align year and years to run over for atm forcing + # The following sets the align year and years to run over for atm forcing # (you could also use an editor) > ./xmlchange DATM_CPL_YR_ALIGN=1,DATM_CPL_YR_START=960,DATM_CPL_YR_END=1030 > ./case.setup diff --git a/doc/source/users_guide/running-special-cases/Running-with-anomaly-forcing.rst b/doc/source/users_guide/running-special-cases/Running-with-anomaly-forcing.rst index 06429688d4..10af089814 100644 --- a/doc/source/users_guide/running-special-cases/Running-with-anomaly-forcing.rst +++ b/doc/source/users_guide/running-special-cases/Running-with-anomaly-forcing.rst @@ -5,7 +5,7 @@ ============================== Running with anomaly forcing ============================== -Because performing fully coupled climate simulations is computationally expensive, an alternate method of running land-only simulations forced by future climate projections was developed for CTSM called 'anomaly forcing'. The anomaly forcing method uses a previously completed fully coupled simulation to create monthly anomalies, relative to the present day, of near-surface atmospheric states and fluxes. These anomalies, representing the evolution of future climate projections, are applied to a repeating cycle of present day atmospheric forcing data, either as an additive (for states) or multiplicative (for fluxes) quantity. Thus, high-frequency variability is obtained from the present day atmospheric forcing data, while the long-term evolution of the climate is determined by the anomaly forcing dataset. +Because performing fully coupled climate simulations is computationally expensive, an alternate method of running land-only simulations forced by future climate projections was developed for CTSM called 'anomaly forcing'. The anomaly forcing method uses a previously completed fully coupled simulation to create monthly anomalies, relative to the present day, of near-surface atmospheric states and fluxes. These anomalies, representing the evolution of future climate projections, are applied to a repeating cycle of present day atmospheric forcing data, either as an additive (for states) or multiplicative (for fluxes) quantity. Thus, high-frequency variability is obtained from the present day atmospheric forcing data, while the long-term evolution of the climate is determined by the anomaly forcing dataset. To enable anomaly forcing in a CTSM simulation, the following namelist variable can be added to the user\_nl\_datm file: @@ -15,7 +15,7 @@ Any combination or subset of forcing variables can be used, e.g. to modify only anomaly\_forcing = 'Anomaly.Forcing.Temperature' -which will only adjust the temperature (TBOT). +which will only adjust the temperature (TBOT). After the namelist has been created, the run directory will be populated with files such as these: diff --git a/doc/source/users_guide/running-special-cases/Running-with-your-own-previous-simulation-as-atmospheric-forcing-to-spinup-the-model.rst b/doc/source/users_guide/running-special-cases/Running-with-your-own-previous-simulation-as-atmospheric-forcing-to-spinup-the-model.rst index af98005840..34bb12ab49 100644 --- a/doc/source/users_guide/running-special-cases/Running-with-your-own-previous-simulation-as-atmospheric-forcing-to-spinup-the-model.rst +++ b/doc/source/users_guide/running-special-cases/Running-with-your-own-previous-simulation-as-atmospheric-forcing-to-spinup-the-model.rst @@ -6,7 +6,8 @@ Running with atmospheric forcing from a previous simulation ============================================================= -Another way that you might want to spinup the model is to run your own simulation for a relatively short period (either a B, E, or F compset) and then use it as forcing for your "I" case later. By only running 20 to 50 years for the fully coupled case, you'll save a substantial amount of computer time rather than running the entire spinup period with a fully coupled model. +Another way that you might want to spinup the model is to run your own simulation for a relatively short period (either a B, E, or F compset) and then use it as forcing for your "I" case later. +By only running 20 to 50 years for the fully coupled case, you'll save a substantial amount of computer time rather than running the entire spinup period with a fully coupled model. The first thing we need to do is to run a fully coupled case and save the atmospheric coupling fields on a three hourly basis. In this example, we will run on cheyenne and archive the data to a local disk that we can then use in the next simulation. @@ -18,7 +19,7 @@ Example: Fully Coupled Simulation to Create Data to Force Next Example Simulatio > ./create_newcase -case myB1850 -res f09_g17_gl4 -compset B1850 > cd myB1850 > ./case.setup - # Set histaux_a2x3hr to .true. in your user_nl_cpl output from the atmosphere model + # Set histaux_a2x3hr to .true. in your user_nl_cpl output from the atmosphere model # will be saved 3 hourly echo "histaux_a2x3hr=.true." >> user_nl_cpl # edit the driver code in order to save the correct list of fields (see note below) @@ -28,7 +29,7 @@ Example: Fully Coupled Simulation to Create Data to Force Next Example Simulatio > ./case.build # The following sets the archival disk space (you could also use an editor) > ./xmlchange DOUT_S_ROOT='/glade/home/$USER/$CASE' - # Make sure files are archived to disk, but NOT to long term storage + # Make sure files are archived to disk, but NOT to long term storage # (you could also use an editor) > ./xmlchange DOUT_S=TRUE,DOUT_L_MS=FALSE # Set the run length to run a total of 20 years (you could also use an editor) @@ -47,7 +48,7 @@ Example: Simulation Forced with Data from the Previous Simulation > cd frcWmyB1850 # The following sets the casename to point to for atm forcing (you could also use an editor) > ./xmlchange DATM_CPLHIST_CASE="myB1850" - # The following sets the align year and years to run over for atm forcing + # The following sets the align year and years to run over for atm forcing # (you could also use an editor) > ./xmlchange DATM_CPLHIST_YR_ALIGN="1",DATM_CPLHIST_YR_START=1,DATM_CPLHIST_YR_END=20 # Set the strm_datdir in the namelist_defaults_datm.xml @@ -59,6 +60,7 @@ Example: Simulation Forced with Data from the Previous Simulation > ./case.build > ./case.submit + .. note:: We did this by editing the "namelist_defaults_datm.xml" which will change the settings for ALL future ``I1850Clm50BgcSpinup`` cases you run. You could also do this by editing the path in the resulting streams text files in the CaseDocs directory, and then create a "user\_" streams file with the correct path. This would change the streams file JUST for this case. The steps do it this way are: :: diff --git a/doc/source/users_guide/running-special-cases/Spinning-up-the-Satellite-Phenology-Model-CLMSP-spinup.rst b/doc/source/users_guide/running-special-cases/Spinning-up-the-Satellite-Phenology-Model-CLMSP-spinup.rst index 3292a2bbf6..d6b6c74d91 100644 --- a/doc/source/users_guide/running-special-cases/Spinning-up-the-Satellite-Phenology-Model-CLMSP-spinup.rst +++ b/doc/source/users_guide/running-special-cases/Spinning-up-the-Satellite-Phenology-Model-CLMSP-spinup.rst @@ -6,9 +6,16 @@ Spinning up the Satellite Phenology Model =========================================== -To spin-up the CLMSP model you merely need to run CLMSP for about 50 simulation years starting from arbitrary initial conditions. You then use the final restart file for initial conditions in other simulations. Because, this is a straight forward operation we will NOT give the details on how to do that here, but leave it as an exercise for the reader. See the `Example 4-7 `_ as an example of doing this as the last step for CLMCN. +To spin-up the CLMSP model you merely need to run CLMSP for about 50 simulation years starting from arbitrary initial conditions. +You then use the final restart file for initial conditions in other simulations. +Because, this is a straight forward operation we will NOT give the details on how to do that here, but leave it as an exercise for the reader. +See the `Example 4-7 `_ as an example of doing this as the last step for CLMCN. -You can also start from a default initial file that is setup as part of the selected compset. :numref:`Figure SP spinup plot for 1850` shows spinup behavior for an 1850 SP case that loops over one year of coupler history output for atmospheric forcing (generated from the fully coupled model), initialized with an initial file generated from a GSWP3 atmospheric forcing case. Note that it takes less than 10 years for state variables such as FSH (sensible heat flux), EFLX_LH_TOT (latent heat flux), GPP (photosynthesis), H2OSOI (soil water), and TSOI (soil temperature) to reach a specified equilibrium state (denoted by the dotted lines) due to the different atmospheric forcing. TWS (total water storage) may take a bit longer. +You can also start from a default initial file that is setup as part of the selected compset. :numref:`Figure SP spinup plot for 1850` shows +spinup behavior for an 1850 SP case that loops over one year of coupler history output for atmospheric forcing (generated from the fully coupled model), +initialized with an initial file generated from a GSWP3 atmospheric forcing case. Note that it takes less than 10 years for state variables +such as FSH (sensible heat flux), EFLX_LH_TOT (latent heat flux), GPP (photosynthesis), H2OSOI (soil water), and TSOI (soil temperature) to reach +a specified equilibrium state (denoted by the dotted lines) due to the different atmospheric forcing. TWS (total water storage) may take a bit longer. .. _Figure SP spinup plot for 1850: @@ -16,7 +23,8 @@ You can also start from a default initial file that is setup as part of the sele SP spinup plot for year 1850. Variables examined are FSH (sensible heat flux), EFLX_LH_TOT (latent heat flux), GPP (photosynthesis), TWS (total water storage), H2OSOI (volumetric soil water in layer 8) and TSOI (soil temperature in layer 10). Generated using .../tools/contrib/SpinupStability_SP.ncl. -:numref:`Figure SP spinup plot for 2000 CO2` shows spinup behavior for the same case but also changes CO2 to present-day conditions (379ppmv). Again, it takes about 10 years to reach equilibrium. +:numref:`Figure SP spinup plot for 2000 CO2` shows spinup behavior for the same case but also changes CO2 to present-day conditions (379ppmv). +Again, it takes about 10 years to reach equilibrium. .. _Figure SP spinup plot for 2000 CO2: diff --git a/doc/source/users_guide/running-special-cases/Spinning-up-the-biogeochemistry-BGC-spinup.rst b/doc/source/users_guide/running-special-cases/Spinning-up-the-biogeochemistry-BGC-spinup.rst index 20cbdae1e5..2ce977fc7e 100644 --- a/doc/source/users_guide/running-special-cases/Spinning-up-the-biogeochemistry-BGC-spinup.rst +++ b/doc/source/users_guide/running-special-cases/Spinning-up-the-biogeochemistry-BGC-spinup.rst @@ -6,7 +6,9 @@ Spinup of |version|-BGC-Crop ========================== -To get the |version|-BGC model to a steady state, you first run it from arbitrary initial conditions using the "accelerated decomposition spinup" (-bgc_spinup on in CLM **configure**, see example below) mode for about 200 simulation years. :numref:`Figure BGC AD spinup plot for 1850 GSWP3` shows spinup behavior for an 1850 BGC accelerated decomposition (AD) case using GSWP3 atmospheric forcing. Generally, the criteria that less than 3% of the land surface be in total ecosystem carbon disequilibrium takes the longest to satisfy due to slow soil carbon (TOTSOMC) turnover times in the Arctic. +To get the |version|-BGC model to a steady state, you first run it from arbitrary initial conditions using the "accelerated decomposition spinup" (-bgc_spinup on in CLM **configure**, see example below) mode for about 200 simulation years. :numref:`Figure BGC AD spinup plot for 1850 GSWP3` shows spinup behavior for an 1850 +BGC accelerated decomposition (AD) case using GSWP3 atmospheric forcing. Generally, the criteria that less than 3% of the land surface be in +total ecosystem carbon disequilibrium takes the longest to satisfy due to slow soil carbon (TOTSOMC) turnover times in the Arctic. .. _Figure BGC AD spinup plot for 1850 GSWP3: @@ -14,7 +16,11 @@ To get the |version|-BGC model to a steady state, you first run it from arbitrar BGC AD spinup plot for a year 1850 case with GSWP3 atmospheric forcing. Variables examined are TOTECOSYSC (total ecosystem carbon), TOTSOMC (total soil organic matter carbon), TOTVEGC (total vegetation carbon), TLAI (total leaf area index), GPP (gross primary production) and TWS (total water storage). Generated using .../tools/contrib/SpinupStability.ncl. -After this you branch from this mode in the "final spinup" (-bgc_spinup off in CLM **configure**, see example below), and run for several hundred simulation years. :numref:`Figure BGC pAD spinup plot for 1850 GSWP3` shows spinup behavior for an 1850 BGC post accelerated decomposition (pAD) case using GSWP3 atmospheric forcing. As before, the criteria that less than 3% of the land surface be in total ecosystem carbon disequilibrium takes the longest to satisfy. It can be difficult to meet this strict criteria in less than 1000 years and users may want to relax this criteria depending on their application. +After this you branch from this mode in the "final spinup" (-bgc_spinup off in CLM **configure**, see example below), and run for several hundred simulation years. +:numref:`Figure BGC pAD spinup plot for 1850 GSWP3` shows spinup behavior for an 1850 +BGC post accelerated decomposition (pAD) case using GSWP3 atmospheric forcing. As before, the criteria that less than 3% of the land surface be in +total ecosystem carbon disequilibrium takes the longest to satisfy. It can be difficult to meet this strict criteria in less than 1000 years and users may want to relax this +criteria depending on their application. .. _Figure BGC pAD spinup plot for 1850 GSWP3: @@ -22,7 +28,10 @@ After this you branch from this mode in the "final spinup" (-bgc_spinup off in C BGC pAD spinup plot for a year 1850 case with GSWP3 atmospheric forcing and initialization from the end of the BGC AD spinup case. Variables examined are TOTECOSYSC (total ecosystem carbon), TOTSOMC (total soil organic matter carbon), TOTVEGC (total vegetation carbon), TLAI (total leaf area index), GPP (gross primary production) and TWS (total water storage). Generated using .../tools/contrib/SpinupStability.ncl. -You can also start from a default initial file that is setup as part of the selected compset. :numref:`Figure BGC initialized spinup plot for 1850` shows spinup behavior for an 1850 pAD BGC case that loops over one year of coupler history output for atmospheric forcing (generated from the fully coupled model), initialized with a BGC initial file generated from a GSWP3 atmospheric forcing case. Note that it takes about 10 years for variables such as TLAI (total leaf area index), GPP (gross primary production), and TWS (total water storage) to reach a specified equilibrium state (denoted by the dotted lines) due to the different atmospheric forcing. +You can also start from a default initial file that is setup as part of the selected compset. :numref:`Figure BGC initialized spinup plot for 1850` shows +spinup behavior for an 1850 pAD BGC case that loops over one year of coupler history output for atmospheric forcing (generated from the fully coupled model), +initialized with a BGC initial file generated from a GSWP3 atmospheric forcing case. Note that it takes about 10 years for variables +such as TLAI (total leaf area index), GPP (gross primary production), and TWS (total water storage) to reach a specified equilibrium state (denoted by the dotted lines) due to the different atmospheric forcing. .. _Figure BGC initialized spinup plot for 1850: @@ -30,7 +39,8 @@ You can also start from a default initial file that is setup as part of the sele BGC initialized spinup plot for year 1850. Variables examined are TOTECOSYSC (total ecosystem carbon), TOTSOMC (total soil organic matter carbon), TOTVEGC (total vegetation carbon), TLAI (total leaf area index), GPP (gross primary production) and TWS (total water storage). Generated using .../tools/contrib/SpinupStability.ncl. -:numref:`Figure BGC initialized spinup plot for 2000 CO2` shows spinup behavior for the same case but also changes CO2 to present-day conditions (379ppmv). Again, it takes about 10 years to reach equilibrium for TLAI, GPP, and TWS. +:numref:`Figure BGC initialized spinup plot for 2000 CO2` shows spinup behavior for the same case but also changes CO2 to present-day conditions (379ppmv). +Again, it takes about 10 years to reach equilibrium for TLAI, GPP, and TWS. .. _Figure BGC initialized spinup plot for 2000 CO2: @@ -38,11 +48,14 @@ You can also start from a default initial file that is setup as part of the sele BGC initialized spinup plot for year 2000 CO2. Variables examined are TOTECOSYSC (total ecosystem carbon), TOTSOMC (total soil organic matter carbon), TOTVEGC (total vegetation carbon), TLAI (total leaf area index), GPP (gross primary production) and TWS (total water storage). Generated using .../tools/contrib/SpinupStability.ncl. -If you use the default initial file and you signficantly change model behavior or atmospheric forcing, and you are concerned about the carbon equilibrium (e.g., TOTECOSYSC, TOTSOMC, TOTVEGC), particularly at high latitudes, then we recommend you put the model back into AD mode to reach a new equilibrium. In this configuration, this will also automatically reseed "dead" plant functional types in the initial file with a bit of leaf carbon to give those plant functional types another chance to grow under the new atmospheric forcing or model conditions. +If you use the default initial file and you signficantly change model behavior or atmospheric forcing, and you are concerned about the carbon +equilibrium (e.g., TOTECOSYSC, TOTSOMC, TOTVEGC), particularly at high latitudes, then we recommend you put the model back into AD mode to +reach a new equilibrium. In this configuration, this will also automatically reseed "dead" plant functional types in the initial file with a +bit of leaf carbon to give those plant functional types another chance to grow under the new atmospheric forcing or model conditions. **1. |version| accelerated-decomposition (AD) spinup** For the first step of running 200+ years in "-bgc_spinup on" mode, you will setup a case, and then edit the values in env_build.xml and env_run.xml so that the right configuration is turned on and the simulation is setup to run for the required length of simulation time. So do the following: - + Example:: AD_SPINUP Simulation for |version|-BGC -------------------------------------------------------- :: @@ -99,3 +112,5 @@ To assess if the model is spunup, plot trends for CLMBGC variables of interest u .. note:: This same final spinup procedure works for |version|-CN as well. + + diff --git a/doc/source/users_guide/running-special-cases/running-the-prognostic-crop-model.rst b/doc/source/users_guide/running-special-cases/running-the-prognostic-crop-model.rst index caa7b86552..20ea12e91f 100644 --- a/doc/source/users_guide/running-special-cases/running-the-prognostic-crop-model.rst +++ b/doc/source/users_guide/running-special-cases/running-the-prognostic-crop-model.rst @@ -6,14 +6,17 @@ Running the prognostic crop model =================================== -The prognostic crop model is setup to work with CLM4.0, CLM4.5 or |version| with either BGC or CN (with or without DV). In order to use the initial condition file, we need to set the ``RUN_TYPE`` to startup rather than ``hybrid`` since the compset for f19 sets up to use an initial condition file without crop active. To activate the crop model you can choose a compset that has "Crop" in the name such as "I1850Clm50BgcCropCru" or simply add "-crop" to ``CLM_BLDNML_OPTS`` (or for CLM4.0 add "-crop on" to ``CLM_CONFIG_OPTS``). +The prognostic crop model is setup to work with CLM4.0, CLM4.5 or |version| with either BGC or CN (with or without DV). +In order to use the initial condition file, we need to set the ``RUN_TYPE`` to startup rather than ``hybrid`` since the compset for f19 sets up to use an initial condition file without crop active. +To activate the crop model you can choose a compset that has "Crop" in the name such as "I1850Clm50BgcCropCru" or simply add +"-crop" to ``CLM_BLDNML_OPTS`` (or for CLM4.0 add "-crop on" to ``CLM_CONFIG_OPTS``). Example: Crop Simulation ------------------------------------ :: > cd scripts - > ./create_newcase -case CROP -res f19_g17_gl4 -compset I1850Clm50BgcCropCru + > ./create_newcase -case CROP -res f19_g17_gl4 -compset I1850Clm50BgcCropCru > cd CROP > ./case.setup diff --git a/doc/source/users_guide/running-special-cases/running-with-irrigation.rst b/doc/source/users_guide/running-special-cases/running-with-irrigation.rst index f4b04c5b59..aa99179971 100644 --- a/doc/source/users_guide/running-special-cases/running-with-irrigation.rst +++ b/doc/source/users_guide/running-special-cases/running-with-irrigation.rst @@ -6,7 +6,12 @@ Running with irrigation =================================== -In CLM4.0 irrigation isn't an allowed option. In CLM4.5 irrigation can ONLY be used WITH crop. With CLM5.0 irrigation can be used whether crop is on or not -- **BUT** if crop is off, your surface datasets **HAVE** to have irrigation defined appropriately. Right now *ALL* surface datasets without crop enabled have irrigation hard-wired on. In order to create datasets with irrigation off, you'd need to make changes to ``mksurfdata_map`` in order to have all generic crops to be non-irrigated. To turn on irrigation in |version| we simply add "-irrig on" to ``CLM_BLDNML_OPTS``. +In CLM4.0 irrigation isn't an allowed option. +In CLM4.5 irrigation can ONLY be used WITH crop. With CLM5.0 irrigation can be used whether crop is on or not -- **BUT** +if crop is off, your surface datasets **HAVE** to have irrigation defined appropriately. Right now *ALL* surface +datasets without crop enabled have irrigation hard-wired on. In order to create datasets with irrigation off, you'd need +to make changes to ``mksurfdata_map`` in order to have all generic crops to be non-irrigated. +To turn on irrigation in |version| we simply add "-irrig on" to ``CLM_BLDNML_OPTS``. Example: Irrigation Simulation ------------------------------------------ @@ -26,3 +31,4 @@ Example: Irrigation Simulation > ./case.build > ./case.submit + diff --git a/doc/source/users_guide/running-special-cases/what-is-a-special-case.rst b/doc/source/users_guide/running-special-cases/what-is-a-special-case.rst index 4f6a46a7d5..5a42858818 100644 --- a/doc/source/users_guide/running-special-cases/what-is-a-special-case.rst +++ b/doc/source/users_guide/running-special-cases/what-is-a-special-case.rst @@ -6,7 +6,9 @@ What is a special case? ========================= -All of the following special cases cases that take more than one step to do. The straightforward cases have compsets and/or build-namelist use-cases setup for them or require simple editing of a single-case. All of the cases here require you to do at least two simulations with different configurations, or require more complex editing of the case (changing the streams files). +All of the following special cases cases that take more than one step to do. +The straightforward cases have compsets and/or build-namelist use-cases setup for them or require simple editing of a single-case. +All of the cases here require you to do at least two simulations with different configurations, or require more complex editing of the case (changing the streams files). .. note:: The cases in this chapter are more sophisticated and require more technical knowledge and skill than cases in previous chapters. The user should be very familiar with doing simple cases before moving onto the cases described here. diff --git a/doc/source/users_guide/setting-up-and-running-a-case/choosing-a-compset.rst b/doc/source/users_guide/setting-up-and-running-a-case/choosing-a-compset.rst index a081f9e869..c2bb0b606b 100644 --- a/doc/source/users_guide/setting-up-and-running-a-case/choosing-a-compset.rst +++ b/doc/source/users_guide/setting-up-and-running-a-case/choosing-a-compset.rst @@ -6,22 +6,29 @@ Choosing a compset ==================== -When setting up a new case one of the first choices to make is which "component set" (or compset) to use. The compset refers to which component models are used as well as specific settings for them. We label the different types of compsets with a different letter of the alphabet from "A" (for all data model) to "X" (for all dead model). The compsets of interest when working with CLM are the "I" compsets (which contain CLM with a data atmosphere model and a stub ocean, and stub sea-ice models), "E" and "F" compsets (which contain CLM with the active atmosphere model (CAM), prescribed sea-ice model, and a data ocean model), and "B" compsets which have all active components. Below we go into details on the "I" compsets which emphasize CLM as the only active model, and just mention the two other categories. +When setting up a new case one of the first choices to make is which "component set" (or compset) to use. +The compset refers to which component models are used as well as specific settings for them. +We label the different types of compsets with a different letter of the alphabet from "A" (for all data model) to "X" (for all dead model). +The compsets of interest when working with CLM are the "I" compsets (which contain CLM with a data atmosphere model and a stub ocean, and stub sea-ice models), "E" and "F" compsets (which contain CLM with the active atmosphere model (CAM), prescribed sea-ice model, and a data ocean model), and "B" compsets which have all active components. +Below we go into details on the "I" compsets which emphasize CLM as the only active model, and just mention the two other categories. To run CLM coupled to CAM ("E" or "F" compsets) or fully coupled ("B compsets) you need to be running CLM from a CESM checkout rather than a CTSM checkout (see :ref:`ctsm_vs_cesm_checkout`). -When working with CLM you usually want to start with a relevant "I" compset before moving to the more complex cases that involve other active model components. The "I" compsets can exercise CLM in a way that is similar to the coupled modes, but with much lower computational cost and faster turnaround times. +When working with CLM you usually want to start with a relevant "I" compset before moving to the more complex cases that involve other active model components. +The "I" compsets can exercise CLM in a way that is similar to the coupled modes, but with much lower computational cost and faster turnaround times. Compsets coupled to data atmosphere and stub ocean/sea-ice ("I" compsets) ------------------------------------------------------------------------- `Supported CLM Configurations `_ are listed in `Table 1-1 `_ for the Scientifically Supported compsets (have been scientifically validated with long simulations) and in `Table 1-2 `_ for the Functionally Supported compsets (we've only checked that they function). -Here is the entire list of compsets available. + +Here is the entire list of compsets available. `CESM compsets `_ -Note that using the "-user_compset" option even more combinations are possible. To get a list of the compsets use the "query_config" command as follows: +Note that using the "-user_compset" option even more combinations are possible. To get a list of the compsets use the "query_config" +command as follows: :: $CTSMROOT/cime/scripts/query_config --compsets clm @@ -36,4 +43,6 @@ Fully coupled compsets are compsets that start with "B" in the name. They are de Conclusion to choosing a compset -------------------------------- -We've introduced the basic type of compsets that use CLM and given some further details for the "standalone CLM" (or "I" compsets). The `$CTSMROOT/cime_config/config_compsets.xml `_ lists all of the compsets and gives a full description of each of them. In the next section we look into customizing the setup time options for compsets using CLM. +We've introduced the basic type of compsets that use CLM and given some further details for the "standalone CLM" (or "I" compsets). +The `$CTSMROOT/cime_config/config_compsets.xml `_ lists all of the compsets and gives a full description of each of them. +In the next section we look into customizing the setup time options for compsets using CLM. diff --git a/doc/source/users_guide/setting-up-and-running-a-case/customizing-the-clm-configuration.rst b/doc/source/users_guide/setting-up-and-running-a-case/customizing-the-clm-configuration.rst index 5321e471c2..08041c522a 100644 --- a/doc/source/users_guide/setting-up-and-running-a-case/customizing-the-clm-configuration.rst +++ b/doc/source/users_guide/setting-up-and-running-a-case/customizing-the-clm-configuration.rst @@ -6,7 +6,9 @@ Customizing CLM's Configuration ******************************** -The section of the |cesmrelease| Quickstart `CESM Create a Case `_ gives instructions on creating a case. Also see a similar section in the CIME User's-Guide `CIME Create a case `_. What is of interest here is how to customize your use of CLM for the case that you created. +The section of the |cesmrelease| Quickstart `CESM Create a Case `_ gives instructions on creating a case. +Also see a similar section in the CIME User's-Guide `CIME Create a case `_. +What is of interest here is how to customize your use of CLM for the case that you created. For CLM when **preview_namelist**, **case.build**, or **case.run** are called there are two steps that take place: @@ -18,7 +20,8 @@ When customizing your case at the **case.setup** step you are able to modify the There are five different types of customization for the configuration that we will discuss: |version| in |cesmrelease| build-time options, |version| in |cesmrelease| run-time options, User Namelist, other noteworthy |cesmrelease| configuration items, the CLM **configure** script options, and the CLM **build-namelist** script options. -Information on all of the CLM script, configuration, build and run items is found under ``$CTSMROOT/cime_config/config_component.xml``. See `CLM CASEROOT Variable Definitions `_. +Information on all of the CLM script, configuration, build and run items is found under ``$CTSMROOT/cime_config/config_component.xml``. +See `CLM CASEROOT Variable Definitions `_. ================================ CLM Script configuration items @@ -43,7 +46,14 @@ For the precedence of the different options to **build-namelist** see the sectio The first item ``CLM_CONFIG_OPTS`` has to do with customizing the CLM build-time options for your case, the rest all have to do with generating the namelist. CLM_CONFIG_OPTS - The option ``CLM_CONFIG_OPTS`` is all about passing command line arguments to the CLM **configure** script. It is important to note that some compsets, may already put a value into the ``CLM_CONFIG_OPTS`` variable. You can still add more options to your ``CLM_CONFIG_OPTS`` but make sure you add to what is already there rather than replacing it. Hence, we recommend using the "-append" option to the xmlchange script. In `the Section called More information on the CLM configure script `_ below we will go into more details on options that can be customized in the CLM "**configure**" script. It's also important to note that the **$CTSMROOT/cime_config/buildnml** script may already invoke certain CLM **configure** options and as such those command line options are NOT going to be available to change at this step (nor would you want to change them). The options to CLM **configure** are given with the "-help" option which is given in `the Section called More information on the CLM configure script `_... note:: ``CLM_CONFIG_OPTS`` is locked after the **case.build** script is run. If you want to change something in ``CLM_CONFIG_OPTS`` you'll need to clean the build and rerun **case.build**. The other env variables can be changed at run-time so are never locked. + The option ``CLM_CONFIG_OPTS`` is all about passing command line arguments to the CLM **configure** script. + It is important to note that some compsets, may already put a value into the ``CLM_CONFIG_OPTS`` variable. + You can still add more options to your ``CLM_CONFIG_OPTS`` but make sure you add to what is already there rather than replacing it. + Hence, we recommend using the "-append" option to the xmlchange script. + In `the Section called More information on the CLM configure script `_ below we will go into more details on options that can be customized in the CLM "**configure**" script. + It's also important to note that the **$CTSMROOT/cime_config/buildnml** script may already invoke certain CLM **configure** options and as such those command line options are NOT going to be available to change at this step (nor would you want to change them). + The options to CLM **configure** are given with the "-help" option which is given in `the Section called More information on the CLM configure script `_. + .. note:: ``CLM_CONFIG_OPTS`` is locked after the **case.build** script is run. If you want to change something in ``CLM_CONFIG_OPTS`` you'll need to clean the build and rerun **case.build**. The other env variables can be changed at run-time so are never locked. CLM_NML_USE_CASE ``CLM_NML_USE_CASE`` is used to set a particular set of conditions that set multiple namelist items, all centering around a particular usage of the model. To list the valid options do the following: @@ -55,46 +65,46 @@ CLM_NML_USE_CASE The output of the above command is: :: - CLM build-namelist - use cases: 1850-2100_rcp2.6_glacierMEC_transient 1850-2100_rcp2.6_transient \ - 1850-2100_rcp4.5_glacierMEC_transient 1850-2100_rcp4.5_transient \ - 1850-2100_rcp6_glacierMEC_transient 1850-2100_rcp6_transient \ - 1850-2100_rcp8.5_glacierMEC_transient 1850-2100_rcp8.5_transient 1850_control \ - 1850_glacierMEC_control 2000-2100_rcp8.5_transient 2000_control 2000_glacierMEC_control \ + CLM build-namelist - use cases: 1850-2100_rcp2.6_glacierMEC_transient 1850-2100_rcp2.6_transient \ + 1850-2100_rcp4.5_glacierMEC_transient 1850-2100_rcp4.5_transient \ + 1850-2100_rcp6_glacierMEC_transient 1850-2100_rcp6_transient \ + 1850-2100_rcp8.5_glacierMEC_transient 1850-2100_rcp8.5_transient 1850_control \ + 1850_glacierMEC_control 2000-2100_rcp8.5_transient 2000_control 2000_glacierMEC_control \ 20thC_glacierMEC_transient 20thC_transient glacierMEC_pd stdurbpt_pd Use cases are:... - - 1850-2100_rcp2.6_glacierMEC_transient = Simulate transient land-use, and aerosol deposition changes \ + + 1850-2100_rcp2.6_glacierMEC_transient = Simulate transient land-use, and aerosol deposition changes \ with historical data from 1850 to 2005 and then with the RCP2.6 scenario from IMAGE - - 1850-2100_rcp2.6_transient = Simulate transient land-use, and aerosol deposition changes with \ + + 1850-2100_rcp2.6_transient = Simulate transient land-use, and aerosol deposition changes with \ historical data from 1850 to 2005 and then with the RCP2.6 scenario from IMAGE - - 1850-2100_rcp4.5_glacierMEC_transient = Simulate transient land-use, and aerosol deposition changes \ + + 1850-2100_rcp4.5_glacierMEC_transient = Simulate transient land-use, and aerosol deposition changes \ with historical data from 1850 to 2005 and then with the RCP4.5 scenario from MINICAM - - 1850-2100_rcp4.5_transient = Simulate transient land-use, and aerosol deposition changes with \ + + 1850-2100_rcp4.5_transient = Simulate transient land-use, and aerosol deposition changes with \ historical data from 1850 to 2005 and then with the RCP4.5 scenario from MINICAM - - 1850-2100_rcp6_glacierMEC_transient = Simulate transient land-use, and aerosol deposition changes \ + + 1850-2100_rcp6_glacierMEC_transient = Simulate transient land-use, and aerosol deposition changes \ with historical data from 1850 to 2005 and then with the RCP6 scenario from AIM - - 1850-2100_rcp6_transient = Simulate transient land-use, and aerosol deposition changes with \ + + 1850-2100_rcp6_transient = Simulate transient land-use, and aerosol deposition changes with \ historical data from 1850 to 2005 and then with the RCP6 scenario from AIM - - 1850-2100_rcp8.5_glacierMEC_transient = Simulate transient land-use, and aerosol deposition changes \ + + 1850-2100_rcp8.5_glacierMEC_transient = Simulate transient land-use, and aerosol deposition changes \ with historical data from 1850 to 2005 and then with the RCP8.5 scenario from MESSAGE - - 1850-2100_rcp8.5_transient = Simulate transient land-use, and aerosol deposition changes with \ + + 1850-2100_rcp8.5_transient = Simulate transient land-use, and aerosol deposition changes with \ historical data from 1850 to 2005 and then with the RCP8.5 scenario from MESSAGE - + 1850_control = Conditions to simulate 1850 land-use 1850_glacierMEC_control = Running an IG case for 1850 conditions with the ice sheet model glimmer - 2000-2100_rcp8.5_transient = Simulate transient land-use, and aerosol deposition changes with \ + 2000-2100_rcp8.5_transient = Simulate transient land-use, and aerosol deposition changes with \ historical data from 2000 to 2005 and then with the RCP8.5 scenario from MESSAGE - + 2000_control = Conditions to simulate 2000 land-use 2000_glacierMEC_control = Running an IG case for 2000 conditions with the ice sheet model glimmer - 20thC_glacierMEC_transient = Simulate transient land-use, and aerosol deposition changes from 1850 \ + 20thC_glacierMEC_transient = Simulate transient land-use, and aerosol deposition changes from 1850 \ to 2005 20thC_transient = Simulate transient land-use, and aerosol deposition changes from 1850 to 2005 glacierMEC_pd = Running an IG case with the ice sheet model glimmer @@ -103,7 +113,8 @@ CLM_NML_USE_CASE .. note::See `the Section called Precedence of Options `_ section for the precedence of this option relative to the others. CLM_BLDNML_OPTS - The option CLM_BLDNML_OPTS is for passing options to the CLM "build-namelist" script. As with the CLM "configure" script the CLM $CTSMROOT/cime_config/buildnml may already invoke certain options and as such those options will NOT be available to be set here. The best way to see what options can be sent to the "build-namelist" script is to do + The option CLM_BLDNML_OPTS is for passing options to the CLM "build-namelist" script. + As with the CLM "configure" script the CLM $CTSMROOT/cime_config/buildnml may already invoke certain options and as such those options will NOT be available to be set here. The best way to see what options can be sent to the "build-namelist" script is to do :: > cd $CTSMROOT/bld @@ -117,26 +128,26 @@ CLM_BLDNML_OPTS Create the namelist for CLM OPTIONS - -[no-]chk_res Also check [do NOT check] to make sure the resolution and + -[no-]chk_res Also check [do NOT check] to make sure the resolution and land-mask is valid. -clm_demand "list" List of variables to require on clm namelist besides the usuals. "-clm_demand list" to list valid options. (can include a list member "null" which does nothing) -clm_startfile "file" CLM restart file to start from. - -clm_start_type "type" Start type of simulation + -clm_start_type "type" Start type of simulation (default, cold, arb_ic, startup, continue, or branch) (default=do the default type for this configuration) (cold=always start with arbitrary initial conditions) - (arb_ic=start with arbitrary initial conditions if + (arb_ic=start with arbitrary initial conditions if initial conditions don't exist) (startup=ensure that initial conditions are being used) - -clm_usr_name "name" Dataset resolution/descriptor for personal datasets. + -clm_usr_name "name" Dataset resolution/descriptor for personal datasets. Default: not used Example: 1x1pt_boulderCO_c090722 to describe location, number of pts, and date files created -co2_type "value" Set CO2 the type of CO2 variation to use. -co2_ppmv "value" Set CO2 concentration to use when co2_type is constant (ppmv). - -config "filepath" Read the given CLM configuration cache file. + -config "filepath" Read the given CLM configuration cache file. Default: "config_cache.xml". -csmdata "dir" Root directory of CESM input data. Can also be set by using the CSMDATA environment variable. @@ -146,11 +157,11 @@ CLM_BLDNML_OPTS "drv_flds_in" file for the driver to pass dry-deposition to the atm. Default: -no-drydep (Note: buildnml.csh copies the file for use by the driver) - -glc_grid "grid" Glacier model grid and resolution when glacier model, - Only used if glc_nec > 0 for determining fglcmask + -glc_grid "grid" Glacier model grid and resolution when glacier model, + Only used if glc_nec > 0 for determining fglcmask Default: gland5UM (i.e. gland20, gland10 etcetera) - -glc_nec Glacier number of elevation classes [0 | 3 | 5 | 10 | 36] + -glc_nec Glacier number of elevation classes [0 | 3 | 5 | 10 | 36] (default is 0) (standard option with land-ice model is 10) -glc_smb Only used if glc_nec > 0 If .true., pass surface mass balance info to GLC @@ -159,10 +170,10 @@ CLM_BLDNML_OPTS -help [or -h] Print usage to STDOUT. -ignore_ic_date Ignore the date on the initial condition files when determining what input initial condition file to use. - -ignore_ic_year Ignore just the year part of the date on the initial condition files + -ignore_ic_year Ignore just the year part of the date on the initial condition files when determining what input initial condition file to use. - -infile "filepath" Specify a file (or list of files) containing namelists to - read values from. + -infile "filepath" Specify a file (or list of files) containing namelists to + read values from. If used with a CLM build with multiple ensembles (ninst_lnd>1) and the filename entered is a directory to files of the @@ -177,14 +188,14 @@ CLM_BLDNML_OPTS file specified. -irrig "value" If .true. turn irrigation on with namelist logical irrigate (for |version| physics) - (requires crop to be on in the clm configuration) + (requires crop to be on in the clm configuration) Seek surface datasets with irrigation turned on. (for CLM4.0 physics) Default: .false. -l_ncpl "LND_NCPL" Number of CLM coupling time-steps in a day. -lnd_frac "domainfile" Land fraction file (the input domain file) -mask "landmask" Type of land-mask (default, navy, gx3v5, gx1v5 etc.) "-mask list" to list valid land masks. - -namelist "namelist" Specify namelist settings directly on the commandline by supplying + -namelist "namelist" Specify namelist settings directly on the commandline by supplying a string containing FORTRAN namelist syntax, e.g., -namelist "&clm_inparm dt=1800 /" -no-megan DO NOT PRODUCE a megan_emis_nl namelist that will go into the @@ -193,7 +204,7 @@ CLM_BLDNML_OPTS (Note: buildnml.csh copies the file for use by the driver) -[no-]note Add note to output namelist [do NOT add note] about the arguments to build-namelist. - -rcp "value" Representative concentration pathway (rcp) to use for + -rcp "value" Representative concentration pathway (rcp) to use for future scenarios. "-rcp list" to list valid rcp settings. -res "resolution" Specify horizontal grid. Use nlatxnlon for spectral grids; @@ -201,7 +212,7 @@ CLM_BLDNML_OPTS in degrees for latitude and longitude respectively) "-res list" to list valid resolutions. -s Turns on silent mode - only fatal messages issued. - -sim_year "year" Year to simulate for input datasets + -sim_year "year" Year to simulate for input datasets (i.e. 1850, 2000, 1850-2000, 1850-2100) "-sim_year list" to list valid simulation years -bgc_spinup "on|off" CLM 4.5 Only. For CLM 4.0, spinup is controlled from configure. @@ -218,14 +229,14 @@ CLM_BLDNML_OPTS mode. The spinup state is saved to the restart file. - If the values match between the model and the restart - file it proceeds as directed. + If the values match between the model and the restart + file it proceeds as directed. If the restart file is in spinup mode and the model is in - normal mode, then it performs the exit spinup step - and proceeds in normal mode after that. + normal mode, then it performs the exit spinup step + and proceeds in normal mode after that. - If the restart file has normal mode and the model is in + If the restart file has normal mode and the model is in spinup, then it enters spinup. This is useful if you change a parameter and want to rapidly re-equilibrate without doing a cold start. @@ -236,6 +247,8 @@ CLM_BLDNML_OPTS "-use_case list" to list valid use-cases. -version Echo the SVN tag name used to check out this CLM distribution. + + Note: The precedence for setting the values of namelist variables is (highest to lowest): 0. namelist values set by specific command-line options, like, -d, -sim_year (i.e. CLM_BLDNML_OPTS env_run variable) @@ -249,9 +262,11 @@ CLM_BLDNML_OPTS (i.e. CLM_NML_USE_CASE env_run variable) 5. values from the namelist defaults file. -The **$CTSMROOT/cime_config/buildnml** script already sets the resolution and mask as well as the CLM **configure** file, and defines an input namelist and namelist input file, and the output namelist directory, and sets the start-type (from ``RUN_TYPE``), namelist options (from ``CLM_NAMELIST_OPTS``), co2_ppmv (from ``CCSM_CO2_PPMV``, co2_type (from ``CLM_CO2_TYPE``), lnd_frac (from ``LND_DOMAIN_PATH`` and ``LND_DOMAIN_FILE``), l_ncpl (from ``LND_NCPL``, glc_grid, glc_smb, glc_nec (from ``GLC_GRID``, ``GLC_SMB``, and ``GLC_NEC``), and "clm_usr_name" is set (to ``CLM_USRDAT_NAME >``when the grid is set to ``CLM_USRDAT_NAME``. Hence only the following different options can be set: -1. +The **$CTSMROOT/cime_config/buildnml** script already sets the resolution and mask as well as the CLM **configure** file, and defines an input namelist and namelist input file, and the output namelist directory, and sets the start-type (from ``RUN_TYPE``), namelist options (from ``CLM_NAMELIST_OPTS``), co2_ppmv (from ``CCSM_CO2_PPMV``, co2_type (from ``CLM_CO2_TYPE``), lnd_frac (from ``LND_DOMAIN_PATH`` and ``LND_DOMAIN_FILE``), l_ncpl (from ``LND_NCPL``, glc_grid, glc_smb, glc_nec (from ``GLC_GRID``, ``GLC_SMB``, and ``GLC_NEC``), and "clm_usr_name" is set (to ``CLM_USRDAT_NAME >``when the grid is set to ``CLM_USRDAT_NAME``. +Hence only the following different options can be set: + +1. -bgc_spinup #. -chk_res @@ -276,6 +291,7 @@ The **$CTSMROOT/cime_config/buildnml** script already sets the resolution and ma #. -verbose + "-bgc_spinup" is an option only available for |version| for any configuration when CN is turned on (so either CLMCN or CLMBGC). It can be set to "on" or "off". If "on" the model will go into Accelerated Decomposition mode, while for "off" (the default) it will have standard decomposition rates. If you are starting up from initial condition files the model will check what mode the initial condition file is in and do the appropriate action on the first time-step to change the Carbon pools to the appropriate spinup setting. See `the Section called Spinning up the |version| biogeochemistry (CLMBGC spinup) in Chapter 4 `_ for an example using this option. "-chk_res" ensures that the resolution chosen is supported by CLM. If the resolution is NOT supported it will cause the CLM **build-namelist** to abort when run. So when either **preview_namelist**, **case.build** or **case.run** is executed it will abort early. Since, the CESM scripts only support certain resolutions anyway, in general this option is NOT needed in the context of running CESM cases. @@ -291,6 +307,7 @@ To see a list of valid variables that you could set do this: > cd $CTSMROOT/doc > ../bld/build-namelist -clm_demand list + .. note:: Using a 20th-Century transient compset or the ``20thC_transient`` use-case using ``CLM_NML_USE_CASE`` would set this as well, but would also use dynamic nitrogen and aerosol deposition files, so using ``-clm_demand`` would be a way to get *just* dynamic vegetation types and NOT the other files as well. "-drydep" adds the dry-deposition namelist to the driver. This is a driver namelist, but adding the option here has CLM **build-namelist** create the ``drv_flds_in`` file that the driver will copy over and use. Invoking this option does have an impact on performance even for I compsets and will slow the model down. It's also only useful when running with an active atmosphere model that makes use of this information. @@ -299,7 +316,9 @@ To see a list of valid variables that you could set do this: "-ignore_ic_year" ignores the Initial Conditions (IC) year for finding initial condition files to startup from. The date is used, but the year is ignored. Without this option or the "-ignore_ic_date" option below, the date and year of the file comes into play. -When "-irrig on" is used **build-namelist** will try to find surface datasets that have the irrigation model enabled (when running with Sattellitte Phenology). When running with the prognostic crop model on, "-irrig on" will turn irrigate crops on, while "-irrig off" will manage all crop areas as rain-fed without irrigation. +When "-irrig on" is used **build-namelist** will try to find surface datasets that have the irrigation model enabled (when running +with Sattellitte Phenology). When running with the prognostic crop model on, "-irrig on" will turn irrigate crops on, while "-irrig off" +will manage all crop areas as rain-fed without irrigation. "no-megan" means do NOT add the MEGAN model Biogenic Volatile Organic Compounds (BVOC) namelist to the driver. This namelist is created by default, so normally this WILL be done. This is a driver namelist, so unless "no-megan" is specified the CLM **build-namelist** will create the ``drv_flds_in`` file that the driver will copy over and use (if you are running with CAM and CAM produces this file as well, it's file will have precedence). @@ -317,7 +336,7 @@ When "-irrig on" is used **build-namelist** will try to find surface datasets th > cd $CTSMROOT/doc > ../bld/build-namelist -sim_year list -``CLM_NAMELIST_OPTS`` +``CLM_NAMELIST_OPTS`` passes namelist items into one of the CLM namelists. .. note:: For character namelist items you need to use "'" as quotes for strings so that the scripts don't get confused with other quotes they use. @@ -329,18 +348,21 @@ When "-irrig on" is used **build-namelist** will try to find surface datasets th Example, you want to set ``hist_fincl1`` to add the variable 'HK' to your history files. To do so edit ``env_run.xml`` and add a setting for ``hist_fincl1``. So do the following: :: - + > ./xmlchange CLM_NAMELIST_OPTS="hist_fincl1='HK'" For a list of the history fields available see `CLM History Fields `_. .. note::See `the Section called Precedence of Options `_ section for the precedence of this option relative to the others. -``CLM_FORCE_COLDSTART`` +``CLM_FORCE_COLDSTART`` when set to on, *requires* that your simulation do a cold start from arbitrary initial conditions. If this is NOT set, it will use an initial condition file if it can find an appropriate one, and otherwise do a cold start. ``CLM_FORCE_COLDSTART`` is a good way to ensure that you are doing a cold start if that is what you want to do. -``CLM_USRDAT_NAME`` - Provides a way to enter your own datasets into the namelist. The files you create must be named with specific naming conventions outlined in: `the Section called Creating your own single-point/regional surface datasets in Chapter 5 `_. To see what the expected names of the files are, use the **queryDefaultNamelist.pl** to see what the names will need to be. For example if your ``CLM_USRDAT_NAME`` will be "1x1_boulderCO", with a "navy" land-mask, constant simulation year range, for 1850, the following will list what your filenames should be: +``CLM_USRDAT_NAME`` + Provides a way to enter your own datasets into the namelist. + The files you create must be named with specific naming conventions outlined in: `the Section called Creating your own single-point/regional surface datasets in Chapter 5 `_. + To see what the expected names of the files are, use the **queryDefaultNamelist.pl** to see what the names will need to be. + For example if your ``CLM_USRDAT_NAME`` will be "1x1_boulderCO", with a "navy" land-mask, constant simulation year range, for 1850, the following will list what your filenames should be: :: > cd $CTSMROOT/bld @@ -350,8 +372,11 @@ When "-irrig on" is used **build-namelist** will try to find surface datasets th .. note: See `the Section called Precedence of Options `_ section for the precedence of this option relative to the others. -``CLM_CO2_TYPE`` - sets the type of input CO2 for either "constant", "diagnostic" or prognostic". If "constant" the value from ``CCSM_CO2_PPMV`` will be used. If "diagnostic" or "prognostic" the values MUST be sent from the atmosphere model. For more information on how to send CO2 from the data atmosphere model see `the Section called Running stand-alone CLM with transient historical CO2 concentration in Chapter 4 `_. +``CLM_CO2_TYPE`` + sets the type of input CO2 for either "constant", "diagnostic" or prognostic". + If "constant" the value from ``CCSM_CO2_PPMV`` will be used. + If "diagnostic" or "prognostic" the values MUST be sent from the atmosphere model. + For more information on how to send CO2 from the data atmosphere model see `the Section called Running stand-alone CLM with transient historical CO2 concentration in Chapter 4 `_. =============== User Namelist @@ -388,7 +413,7 @@ Example: user_nl_clm namelist file 'FSDSVD','FSDSND','FSDSVI','FSDSNI', 'FSRVD','FSRND','FSRVI','FSRNI', 'TSA','FCTR','FCEV','QBOT','RH2M','H2OSOI', - 'H2OSNO','SOILLIQ','SOILICE', + 'H2OSNO','SOILLIQ','SOILICE', 'TSA_U', 'TSA_R', 'TREFMNAV_U', 'TREFMNAV_R', 'TREFMXAV_U', 'TREFMXAV_R', @@ -403,6 +428,7 @@ Example: user_nl_clm namelist file hist_mfilt = 1, 30, 28, 24 hist_nhtfrq = 0, -24, -6, -1 + **Note:** The comments at the top are some guidance given in the default user_nl_clm and just give some guidance on how to set variables and use the file. **Note:** See `the Section called Precedence of Options `_ section for the precedence of this option relative to the others. @@ -481,7 +507,10 @@ Like other datasets, if you want to use a given initial condition file to be use Other noteworthy configuration items ------------------------------------ -For running "I" cases there are several other noteworthy configuration items that you may want to work with. Most of these involve settings for the DATM, but one ``CCSM_CO2_PPMV`` applies to all models. The list of DATM settings is `here `_. If you are running an B, E, or F case that doesn't use the DATM obviously the DATM_* settings will not be used. All of the settings below are in your ``env_build.xml`` and ``env_run.xml`` files +For running "I" cases there are several other noteworthy configuration items that you may want to work with. +Most of these involve settings for the DATM, but one ``CCSM_CO2_PPMV`` applies to all models. The list of DATM +settings is `here `_. +If you are running an B, E, or F case that doesn't use the DATM obviously the DATM_* settings will not be used. All of the settings below are in your ``env_build.xml`` and ``env_run.xml`` files :: CCSM_CO2_PPMV @@ -496,7 +525,7 @@ For running "I" cases there are several other noteworthy configuration items tha DATM_CPL_YR_START DATM_CPL_YR_END -``CCSM_CO2_PPMV`` +``CCSM_CO2_PPMV`` Sets the mixing ratio of CO2 in parts per million by volume for ALL CESM components to use. Note that most compsets already set this value to something reasonable. Also note that some compsets may tell the atmosphere model to override this value with either historic or ramped values. If the CCSM_BGC variable is set to something other than "none" the atmosphere model will determine CO2, and CLM will listen and use what the atmosphere sends it. On the CLM side the namelist item co2_type tells CLM to use the value sent from the atmosphere rather than a value set on it's own namelist. ``DATM_MODE`` @@ -510,19 +539,21 @@ For running "I" cases there are several other noteworthy configuration items tha CLM1PT CPLHISTForcing -``CLMCRUNCEP`` - The standard mode for CLM4.5 of using global atmospheric data that was developed by CRU using NCEP data from 1901 to 2010 (version 4 of this series). See `the Section called CLMCRUNCEP mode and it's DATM settings `_ for more information on the DATM settings for ``CLMCRUNCEP`` mode. +``CLMCRUNCEP`` + The standard mode for CLM4.5 of using global atmospheric data that was developed by CRU using NCEP data from 1901 to 2010 (version 4 of this series). + See `the Section called CLMCRUNCEP mode and it's DATM settings `_ for more information on the DATM settings for ``CLMCRUNCEP`` mode. -``CLMCRUNCEPv7`` - Version 7 of the CRUNCEP data from 1901 to 2016. See `the Section called CLMCRUNCEPv7 mode and it's DATM settings `_ for more information on the DATM settings for ``CLMCRUNCEP`` mode. +``CLMCRUNCEPv7`` + Version 7 of the CRUNCEP data from 1901 to 2016. + See `the Section called CLMCRUNCEPv7 mode and it's DATM settings `_ for more information on the DATM settings for ``CLMCRUNCEP`` mode. ``CLMGSWP3v1`` GSWP3 version 1 forcing data based on NCEP reanalysis with bias corrections by GSWP3 from 1901 to 2010. -``CLM_QIAN`` +``CLM_QIAN`` The standard mode for CLM4.0 of using global atmospheric data that was developed by Qian et. al. for CLM using NCEP data from 1948 to 2004. See the `Section called CLM_QIAN mode and it's DATM settings `_ for more information on the DATM settings for ``CLM_QIAN`` mode. ``CLM1PT`` is for the special cases where we have single-point tower data for particular sites. Right now we only have data for three urban locations: MexicoCity Mexico, Vancouver Canada, and the urban-c alpha site. And we have data for the US-UMB AmeriFlux tower site for University of Michigan Biological Station. See `the Section called CLM1PT mode and it's DATM settings `_ for more information on the DATM settings for ``CLM1PT`` mode. ``CPLHISTForcing`` is for running with atmospheric forcing from a previous CESM simulation. See `the Section called CPLHISTForcing mode and it's DATM settings `_ for more information on the DATM settings for ``CPLHISTForcing`` mode. -``DATM_PRESAERO`` +``DATM_PRESAERO`` sets the prescribed aerosol mode for the data atmosphere model. The list of valid options include: ``clim_1850`` = constant year 1850 conditions @@ -611,23 +642,23 @@ The output to the above command is as follows: or double leading dashes. A consequence of this is that single letter options may NOT be bundled. - -bgc Build CLM with BGC package [ none | cn | cndv ] + -bgc Build CLM with BGC package [ none | cn | cndv ] (default is none). -cache Name of output cache file (default: config_cache.xml). - -cachedir Name of directory where output cache file is written + -cachedir Name of directory where output cache file is written (default: CLM build directory). -clm4me Turn Methane model: [on | off] Requires bgc=cn/cndv (Carbon Nitrogen model) (ONLY valid for |version|!) - -clm_root Root directory of clm source code + -clm_root Root directory of clm source code (default: directory above location of this script) -cppdefs A string of user specified CPP defines. Appended to Makefile defaults. e.g. -cppdefs '-DVAR1 -DVAR2' -vichydro Turn VIC hydrologic parameterizations : [on | off] (default is off) - -crop Toggle for prognostic crop model. [on | off] (default is off) + -crop Toggle for prognostic crop model. [on | off] (default is off) (can ONLY be turned on when BGC type is CN or CNDV) -comp_intf Component interface to use (ESMF or MCT) (default MCT) - -defaults Specify full path to a configuration file which will be used + -defaults Specify full path to a configuration file which will be used to supply defaults instead of the defaults in bld/config_files. This file is used to specify model configuration parameters only. Parameters relating to the build which are system dependent will @@ -635,13 +666,13 @@ The output to the above command is as follows: -exlaklayers Turn on extra lake layers (25 layers instead of 10) [on | off] (ONLY valid for |version|!) -help [or -h] Print usage to STDOUT. - -nofire Turn off wildfires for BGC setting of CN + -nofire Turn off wildfires for BGC setting of CN (default includes fire for CN) -noio Turn history output completely off (typically for testing). - -phys Value of clm4_0 or |version| (default is clm4_0) + -phys Value of clm4_0 or |version| (default is clm4_0) -silent [or -s] Turns on silent mode - only fatal messages issued. -sitespf_pt Setup for the given site specific single-point resolution. - -snicar_frc Turn on SNICAR radiative forcing calculation. [on | off] + -snicar_frc Turn on SNICAR radiative forcing calculation. [on | off] (default is off) -spinup CLM 4.0 Only. For CLM 4.5, spinup is controlled from build-namelist. Turn on given spinup mode for BGC setting of CN (level) @@ -655,11 +686,11 @@ The output to the above command is as follows: Directories containing user source code. -verbose [or -v] Turn on verbose echoing of settings made by configure. -version Echo the SVN tag name used to check out this CLM distribution. - -vsoilc_centbgc Turn on vertical soil Carbon profile, CENTURY model decomposition, \ - - split Nitrification/de-Nitrification into two mineral + -vsoilc_centbgc Turn on vertical soil Carbon profile, CENTURY model decomposition, \ + + split Nitrification/de-Nitrification into two mineral pools for NO3 and NH4 (requires clm4me Methane model), and - eliminate inconsistent duplicate soil hydraulic + eliminate inconsistent duplicate soil hydraulic parameters used in soil biogeochem. (requires either CN or CNDV) (ONLY valid for |version|!) @@ -669,4 +700,6 @@ The output to the above command is as follows: no-nitrif Turn the Nitrification/denitrification off [no-vert,no-cent,no-nitrif,no-vert:no-cent] -We've given details on how to use the options in env_build.xml and env_run.xml to interact with the CLM "configure" and "build-namelist" scripts, as well as giving a good understanding of how these scripts work and the options to them. In the next section we give further details on the CLM namelist. You could customize the namelist for these options after "case.setup" is run. + +We've given details on how to use the options in env_build.xml and env_run.xml to interact with the CLM "configure" and "build-namelist" scripts, as well as giving a good understanding of how these scripts work and the options to them. +In the next section we give further details on the CLM namelist. You could customize the namelist for these options after "case.setup" is run. diff --git a/doc/source/users_guide/setting-up-and-running-a-case/customizing-the-clm-namelist.rst b/doc/source/users_guide/setting-up-and-running-a-case/customizing-the-clm-namelist.rst index afd850d458..064d3f5979 100644 --- a/doc/source/users_guide/setting-up-and-running-a-case/customizing-the-clm-namelist.rst +++ b/doc/source/users_guide/setting-up-and-running-a-case/customizing-the-clm-namelist.rst @@ -8,7 +8,9 @@ Once a case has run **case.setup**, we can then customize the case further, by editing the run-time namelist for CLM. First let's list the definition of each namelist item and their valid values, and then we'll list the default values for them. Next for some of the most used or tricky namelist items we'll give examples of their use, and give you example namelists that highlight these features. -In the following, various examples of namelists are provided that feature the use of different namelist options to customize a case for particular uses. Most the examples revolve around how to customize the output history fields. This should give you a good basis for setting up your own CLM namelist. +In the following, various examples of namelists are provided that feature the use of different namelist options to customize a case for particular uses. +Most the examples revolve around how to customize the output history fields. +This should give you a good basis for setting up your own CLM namelist. ----------------------------------------------------- Definition of Namelist items and their default values @@ -38,14 +40,17 @@ Included in the table are the following pieces of information: - units + Table 1-3. CLM History Fields from a BgcCrop case ------------------------------------------------- For Table from a BgcCrop case, please see :doc:`history_fields_nofates`. + Table 1-4. CLM History Fields from a Fates case ----------------------------------------------- For Table from a Fates case, please see :doc:`history_fields_fates`. + --------------------------------------------- Examples of using different namelist features --------------------------------------------- @@ -109,7 +114,8 @@ Example 1-2. Default CLM Namelist Adding/removing fields on your primary history file --------------------------------------------------- -The primary history files are output monthly, and contain an extensive list of fieldnames, but the list of fieldnames can be added to using ``hist_fincl1`` or removed from by adding fieldnames to ``hist_fexcl1``. A sample user namelist ``user_nl_clm`` adding few new fields (cosine of solar zenith angle, and solar declination) and excluding a few standard fields is (ground temperature, vegetation temperature, soil temperature and soil water).: +The primary history files are output monthly, and contain an extensive list of fieldnames, but the list of fieldnames can be added to using ``hist_fincl1`` or removed from by adding fieldnames to ``hist_fexcl1``. +A sample user namelist ``user_nl_clm`` adding few new fields (cosine of solar zenith angle, and solar declination) and excluding a few standard fields is (ground temperature, vegetation temperature, soil temperature and soil water).: Example 1-3. Example user_nl_clm namelist adding and removing fields on primary history file -------------------------------------------------------------------------------------------- @@ -118,14 +124,22 @@ Example 1-3. Example user_nl_clm namelist adding and removing fields on primary hist_fincl1 = 'COSZEN', 'DECL' hist_fexcl1 = 'TG', 'TV', 'TSOI', 'H2OSOI' + Adding auxiliary history files and changing output frequency ------------------------------------------------------------ -The ``hist_fincl2`` through ``hist_fincl6`` set of namelist variables add given history fieldnames to auxiliary history file "streams", and ``hist_fexcl2`` through ``hist_fexcl6`` set of namelist variables remove given history fieldnames from history file auxiliary "streams". A history "stream" is a set of history files that are produced at a given frequency. By default there is only one stream of monthly data files. To add more streams you add history fieldnames to ``hist_fincl2`` through ``hist_fincl6``. The output frequency and the way averaging is done can be different for each history file stream. By default the primary history files are monthly and any others are daily. You can have up to six active history streams, but you need to activate them in order. So if you activate stream "6" by setting ``hist_fincl6``, but if any of ``hist_fincl2`` through ``hist_fincl5`` are unset, only the history streams up to the first blank one will be activated. +The ``hist_fincl2`` through ``hist_fincl6`` set of namelist variables add given history fieldnames to auxiliary history file "streams", and ``hist_fexcl2`` through ``hist_fexcl6`` set of namelist variables remove given history fieldnames from history file auxiliary "streams". +A history "stream" is a set of history files that are produced at a given frequency. +By default there is only one stream of monthly data files. +To add more streams you add history fieldnames to ``hist_fincl2`` through ``hist_fincl6``. +The output frequency and the way averaging is done can be different for each history file stream. +By default the primary history files are monthly and any others are daily. You can have up to six active history streams, but you need to activate them in order. So if you activate stream "6" by setting ``hist_fincl6``, but if any of ``hist_fincl2`` through ``hist_fincl5`` are unset, only the history streams up to the first blank one will be activated. The frequency of the history file streams is given by the namelist variable ``hist_nhtfrq`` which is an array of rank six for each history stream. The values of the array ``hist_nhtfrq`` must be integers, where the following values have the given meaning: -*Positive value* means the output frequency is the number of model steps between output. *Negative value* means the output frequency is the absolute value in hours given (i.e -1 would mean an hour and -24 would mean a full day). Daily (-24) is the default value for all auxiliary files. *Zero* means the output frequency is monthly. This is the default for the primary history files. +*Positive value* means the output frequency is the number of model steps between output. +*Negative value* means the output frequency is the absolute value in hours given (i.e -1 would mean an hour and -24 would mean a full day). Daily (-24) is the default value for all auxiliary files. +*Zero* means the output frequency is monthly. This is the default for the primary history files. The number of samples on each history file stream is given by the namelist variable ``hist_mfilt`` which is an array of rank six for each history stream. The values of the array ``hist_mfilt`` must be positive integers. By default the primary history file stream has one time sample on it (i.e. output is to separate monthly files), and all other streams have thirty time samples on them. @@ -145,7 +159,12 @@ Example: user_nl_clm namelist adding auxiliary history files and changing output Removing all history fields --------------------------- -Sometimes for various reasons you want to remove all the history fields either because you want to do testing without any output, or you only want a very small custom list of output fields rather than the default extensive list of fields. By default only the primary history files are active, so technically using ``hist_fexcl1`` explained in the first example, you could list ALL of the history fields that are output in ``hist_fexcl1`` and then you wouldn't get any output. However, as the list is very extensive this would be a cumbersome thing to do. So to facilitate this ``hist_empty_htapes`` allows you to turn off all default output. You can still use ``hist_fincl1`` to turn your own list of fields on, but you then start from a clean slate. A sample user namelist ``user_nl_clm`` turning off all history fields and then activating just a few selected fields (ground and vegetation temperatures and absorbed solar radiation) is: +Sometimes for various reasons you want to remove all the history fields either because you want to do testing without any output, or you only want a very small custom list of output fields rather than the default extensive list of fields. +By default only the primary history files are active, so technically using ``hist_fexcl1`` explained in the first example, you could list ALL of the history fields that are output in ``hist_fexcl1`` and then you wouldn't get any output. +However, as the list is very extensive this would be a cumbersome thing to do. +So to facilitate this ``hist_empty_htapes`` allows you to turn off all default output. +You can still use ``hist_fincl1`` to turn your own list of fields on, but you then start from a clean slate. +A sample user namelist ``user_nl_clm`` turning off all history fields and then activating just a few selected fields (ground and vegetation temperatures and absorbed solar radiation) is: Example 1-5. Example user_nl_clm namelist removing all history fields --------------------------------------------------------------------- @@ -154,46 +173,62 @@ Example 1-5. Example user_nl_clm namelist removing all history fields hist_empty_htapes = .true. hist_fincl1 = 'TG', 'TV', 'FSA' + Various ways to change history output averaging flags ----------------------------------------------------- -There are two ways to change the averaging of output history fields. The first is using ``hist_avgflag_pertape`` which gives a default value for each history stream, the second is when you add fields using ``hist_fincl*``, you add an averaging flag to the end of the field name after a colon (for example 'TSOI:X', would output the maximum of TSOI). The types of averaging that can be done are: +There are two ways to change the averaging of output history fields. +The first is using ``hist_avgflag_pertape`` which gives a default value for each history stream, the second is when you add fields using ``hist_fincl*``, you add an averaging flag to the end of the field name after a colon (for example 'TSOI:X', would output the maximum of TSOI). +The types of averaging that can be done are: - *A* Average, over the output interval. - *I* Instantaneous, output the value at the output interval. - *X* Maximum, over the output interval. - *M* Minimum, over the output interval. -The default averaging depends on the specific fields, but for most fields is an average. A sample user namelist ``user_nl_clm`` making the monthly output fields all averages (except TSOI for the first two streams and FIRE for the 5th stream), and adding auxiliary file streams for instantaneous (6-hourly), maximum (daily), minimum (daily), and average (daily). For some of the fields we diverge from the per-tape value given and customize to some different type of optimization. +The default averaging depends on the specific fields, but for most fields is an average. +A sample user namelist ``user_nl_clm`` making the monthly output fields all averages (except TSOI for the first two streams and FIRE for the 5th stream), and adding auxiliary file streams for instantaneous (6-hourly), maximum (daily), minimum (daily), and average (daily). +For some of the fields we diverge from the per-tape value given and customize to some different type of optimization. Example: user_nl_clm namelist with various ways to average history fields ------------------------------------------------------------------------------------- :: hist_empty_htapes = .true. - hist_fincl1 = 'TSOI:X', 'TG', 'TV', 'FIRE', 'FSR', 'FSH', + hist_fincl1 = 'TSOI:X', 'TG', 'TV', 'FIRE', 'FSR', 'FSH', 'EFLX_LH_TOT', 'WT' - hist_fincl2 = 'TSOI:X', 'TG', 'TV', 'FIRE', 'FSR', 'FSH', + hist_fincl2 = 'TSOI:X', 'TG', 'TV', 'FIRE', 'FSR', 'FSH', 'EFLX_LH_TOT', 'WT' - hist_fincl3 = 'TSOI', 'TG:I', 'TV', 'FIRE', 'FSR', 'FSH', + hist_fincl3 = 'TSOI', 'TG:I', 'TV', 'FIRE', 'FSR', 'FSH', 'EFLX_LH_TOT', 'WT' - hist_fincl4 = 'TSOI', 'TG', 'TV:I', 'FIRE', 'FSR', 'FSH', + hist_fincl4 = 'TSOI', 'TG', 'TV:I', 'FIRE', 'FSR', 'FSH', 'EFLX_LH_TOT', 'WT' - hist_fincl5 = 'TSOI', 'TG', 'TV', 'FIRE:I', 'FSR', 'FSH', + hist_fincl5 = 'TSOI', 'TG', 'TV', 'FIRE:I', 'FSR', 'FSH', 'EFLX_LH_TOT', 'WT' hist_avgflag_pertape = 'A', 'I', 'X', 'M', 'A' hist_nhtfrq = 0, -6, -24, -24, -24 -In the example we put the same list of fields on each of the tapes: soil-temperature, ground temperature, vegetation temperature, emitted longwave radiation, reflected solar radiation, sensible heat, total latent-heat, and total water storage. We also modify the soil-temperature for the primary and secondary auxiliary tapes by outputting them for a maximum instead of the prescribed per-tape of average and instantaneous respectively. For the tertiary auxiliary tape we output ground temperature instantaneous instead of as a maximum, and for the fourth auxiliary tape we output vegetation temperature instantaneous instead of as a minimum. Finally, for the fifth auxiliary tapes we output ``FIRE`` instantaneously instead of as an average. +In the example we put the same list of fields on each of the tapes: soil-temperature, ground temperature, vegetation temperature, emitted longwave radiation, reflected solar radiation, sensible heat, total latent-heat, and total water storage. +We also modify the soil-temperature for the primary and secondary auxiliary tapes by outputting them for a maximum instead of the prescribed per-tape of average and instantaneous respectively. +For the tertiary auxiliary tape we output ground temperature instantaneous instead of as a maximum, and for the fourth auxiliary tape we output vegetation temperature instantaneous instead of as a minimum. +Finally, for the fifth auxiliary tapes we output ``FIRE`` instantaneously instead of as an average. .. note:: We also use ``hist_empty_htapes`` as in the previous example, so we can list ONLY the fields that we want on the primary history tapes. Outputting history files as a vector in order to analyze the plant function types within gridcells -------------------------------------------------------------------------------------------------- -By default the output to history files are the grid-cell average of all land-units, and vegetation types within that grid-cell, and output is on the full 2D latitude/longitude grid with ocean masked out. Sometimes it's important to understand how different land-units or vegetation types are acting within a grid-cell. The way to do this is to output history files as a 1D-vector of all land-units and vegetation types. In order to display this, you'll need to do extensive post-processing to make sense of the output. Often you may only be interested in a few points, so once you figure out the 1D indices for the grid-cells of interest, you can easily view that data. 1D vector output can also be useful for single point datasets, since it's then obvious that all data is for the same grid cell. +By default the output to history files are the grid-cell average of all land-units, and vegetation types within that grid-cell, and output is on the full 2D latitude/longitude grid with ocean masked out. +Sometimes it's important to understand how different land-units or vegetation types are acting within a grid-cell. +The way to do this is to output history files as a 1D-vector of all land-units and vegetation types. +In order to display this, you'll need to do extensive post-processing to make sense of the output. +Often you may only be interested in a few points, so once you figure out the 1D indices for the grid-cells of interest, you can easily view that data. +1D vector output can also be useful for single point datasets, since it's then obvious that all data is for the same grid cell. -To do this you use ``hist_dov2xy`` which is an array of rank six for each history stream. Set it to ``.false.`` if you want one of the history streams to be a 1D vector. You can also use ``hist_type1d_pertape`` if you want to average over all the: Plant-Function-Types, columns, land-units, or grid-cells. A sample user namelist ``user_nl_clm`` leaving the primary monthly files as 2D, and then doing grid-cell (GRID), column (COLS), and no averaging over auxiliary tapes output daily for a single field (ground temperature) is: +To do this you use ``hist_dov2xy`` which is an array of rank six for each history stream. +Set it to ``.false.`` if you want one of the history streams to be a 1D vector. +You can also use ``hist_type1d_pertape`` if you want to average over all the: Plant-Function-Types, columns, land-units, or grid-cells. +A sample user namelist ``user_nl_clm`` leaving the primary monthly files as 2D, and then doing grid-cell (GRID), column (COLS), and no averaging over auxiliary tapes output daily for a single field (ground temperature) is: Example: user_nl_clm namelist outputting some files in 1D Vector format ----------------------------------------------------------------------- @@ -212,4 +247,10 @@ Example: user_nl_clm namelist outputting some files in 1D Vector format .. note:: Technically the default for hist_nhtfrq is for primary files output monthly and the other auxiliary tapes for daily, so we don't actually have to include hist_nhtfrq, we could use the default for it. Here we specify it for clarity. -Visualizing global 1D vector files will take effort. You'll probably want to do some post-processing and possibly just extract out single points of interest to see what is going on. Since, the output is a 1D vector, of only land-points traditional plots won't be helpful. The number of points per grid-cell will also vary for anything, but grid-cell averaging. You'll need to use the output fields pfts1d_ixy, and pfts1d_jxy, to get the mapping of the fields to the global 2D array. pfts1d_itype_veg gives you the PFT number for each PFT. Most likely you'll want to do this analysis in a data processing tool (such as NCL, Matlab, Mathmatica, IDL, etcetera that is able to read and process NetCDF data files). +Visualizing global 1D vector files will take effort. +You'll probably want to do some post-processing and possibly just extract out single points of interest to see what is going on. +Since, the output is a 1D vector, of only land-points traditional plots won't be helpful. +The number of points per grid-cell will also vary for anything, but grid-cell averaging. +You'll need to use the output fields pfts1d_ixy, and pfts1d_jxy, to get the mapping of the fields to the global 2D array. +pfts1d_itype_veg gives you the PFT number for each PFT. +Most likely you'll want to do this analysis in a data processing tool (such as NCL, Matlab, Mathmatica, IDL, etcetera that is able to read and process NetCDF data files). diff --git a/doc/source/users_guide/setting-up-and-running-a-case/customizing-the-datm-namelist.rst b/doc/source/users_guide/setting-up-and-running-a-case/customizing-the-datm-namelist.rst index df55e46b22..dcc7fa3cbb 100644 --- a/doc/source/users_guide/setting-up-and-running-a-case/customizing-the-datm-namelist.rst +++ b/doc/source/users_guide/setting-up-and-running-a-case/customizing-the-datm-namelist.rst @@ -11,7 +11,11 @@ When running "I" compsets with CLM you use the DATM model to give atmospheric fo 1. **DATM Main Namelist and Stream Namlist gorup** (``datm_in``) 2. **DATM stream files** -The `Data Model Documentation `_ gives the details of all the options for the data models and for DATM specifically. It goes into detail on all namelist items both for DATM and for DATM streams. So here we won't list ALL of the DATM namelist options, nor go into great details about stream files. But, we will talk about a few of the different options that are relevant for running with CLM. All of the options for changing the namelists or stream files is done by editing the ``user_nl_datm`` file. +The `Data Model Documentation `_ gives the details of all the options for the data models and for DATM specifically. +It goes into detail on all namelist items both for DATM and for DATM streams. +So here we won't list ALL of the DATM namelist options, nor go into great details about stream files. +But, we will talk about a few of the different options that are relevant for running with CLM. +All of the options for changing the namelists or stream files is done by editing the ``user_nl_datm`` file. Because, they aren't useful for work with CLM we will NOT discuss any of the options for the main DATM namelist. Use the DATM Users Guide at the link above to find details of that. For the streams namelist we will discuss three items: @@ -28,7 +32,9 @@ mapalgo ``mapalgo`` sets the spatial interpolation method to go from the DATM input data to the output DATM model grid. The default is ``bilinear``. For ``CLM1PT`` we set it to ``nn`` to just select the nearest neighbor. This saves time and we also had problems running the interpolation for single-point mode. taxmode - ``taxmode`` is the time axis mode. For CLM we usually have it set to ``cycle`` which means that once the end of the data is reached it will start over at the beginning. The extend modes is used have it use the last time-step of the forcing data once it reaches the end of forcing data (or use the first time-step before it reaches where the forcing data starts). See the warning below about the extend mode. + ``taxmode`` is the time axis mode. + For CLM we usually have it set to ``cycle`` which means that once the end of the data is reached it will start over at the beginning. + The extend modes is used have it use the last time-step of the forcing data once it reaches the end of forcing data (or use the first time-step before it reaches where the forcing data starts). See the warning below about the extend mode. .. warning:: *THE extend OPTION NEEDS TO BE USED WITH CAUTION!* It is only invoked by default for the CLM1PT mode and is only intended for the supported urban datasets to extend the data for a single time-step. If you have the model *run extensively through periods in this mode you will effectively be repeating that last time-step over that entire period*. This means the output of your simulation will be worthless. @@ -48,13 +54,23 @@ In the sections below we go over each of the relevant ``DATM_MODE`` options and CLMGSWP3v1 mode and it's DATM settings -------------------------------------- -In ``CLMGSWP3v1`` mode the GSWP3 NCEP forcing dataset is used and all of it's data is on a 3-hourly interval. Like ``CLM_QIAN`` the dataset is divided into those three data streams: solar, precipitation, and everything else (temperature, pressure, humidity, Long-Wave down and wind). The time-stamps of the data were also adjusted so that they are the beginning of the interval for solar, and the middle for the other two. Because, of this the ``offset`` is set to zero, and the ``tintalgo`` is: ``coszen``, ``nearest``, and ``linear`` for the solar, precipitation and other data respectively. ``taxmode`` is set to ``cycle`` and ``mapalgo`` is set to ``bilinear`` so that the data is spatially interpolated from the input exact half degree grid to the grid the atmosphere model is being run at (to run at this same model resolution use the 360x720cru_360x720cru resolution). +In ``CLMGSWP3v1`` mode the GSWP3 NCEP forcing dataset is used and all of it's data is on a 3-hourly interval. +Like ``CLM_QIAN`` the dataset is divided into those three data streams: solar, precipitation, and everything else (temperature, pressure, humidity, Long-Wave down and wind). +The time-stamps of the data were also adjusted so that they are the beginning of the interval for solar, and the middle for the other two. +Because, of this the ``offset`` is set to zero, and the ``tintalgo`` is: ``coszen``, ``nearest``, and ``linear`` for the solar, precipitation and other data respectively. +``taxmode`` is set to ``cycle`` and ``mapalgo`` is set to ``bilinear`` so that the data is spatially interpolated from the input exact half degree grid to the grid the atmosphere model is being run at (to run at this same model resolution use the 360x720cru_360x720cru resolution). ---------------------------------------- CLMCRUNCEPv7 mode and it's DATM settings ---------------------------------------- -In ``CLMCRUNCEPv7`` mode the CRUNCEP dataset is used and all of it's data is on a 6-hourly interval. Like ``CLM_QIAN`` the dataset is divided into those three data streams: solar, precipitation, and everything else (temperature, pressure, humidity and wind). The time-stamps of the data were also adjusted so that they are the beginning of the interval for solar, and the middle for the other two. Because, of this the ``offset`` is set to zero, and the ``tintalgo`` is: ``coszen``, ``nearest``, and ``linear`` for the solar, precipitation and other data respectively. ``taxmode`` is set to ``cycle`` and ``mapalgo`` is set to ``bilinear`` so that the data is spatially interpolated from the input exact half degree grid to the grid the atmosphere model is being run at (to run at this same model resolution use the 360x720cru_360x720cru resolution)... note:: The "everything else" data stream (of temperature, pressure, humidity and wind) also includes the data for longwave downward forcing as well. Our simulations showed sensitivity to this field, so we backed off in using it, and let DATM calculate longwave down from the other fields. +In ``CLMCRUNCEPv7`` mode the CRUNCEP dataset is used and all of it's data is on a 6-hourly interval. +Like ``CLM_QIAN`` the dataset is divided into those three data streams: solar, precipitation, and everything else (temperature, pressure, humidity and wind). +The time-stamps of the data were also adjusted so that they are the beginning of the interval for solar, and the middle for the other two. +Because, of this the ``offset`` is set to zero, and the ``tintalgo`` is: ``coszen``, ``nearest``, and ``linear`` for the solar, precipitation and other data respectively. +``taxmode`` is set to ``cycle`` and ``mapalgo`` is set to ``bilinear`` so that the data is spatially interpolated from the input exact half degree grid to the grid the atmosphere model is being run at (to run at this same model resolution use the 360x720cru_360x720cru resolution). + +.. note:: The "everything else" data stream (of temperature, pressure, humidity and wind) also includes the data for longwave downward forcing as well. Our simulations showed sensitivity to this field, so we backed off in using it, and let DATM calculate longwave down from the other fields. For more information on CRUNCEP forcing see `http://dods.extra.cea.fr/data/p529viov/cruncep/ `_. @@ -68,7 +84,11 @@ CLMCRUNCEP mode and it's DATM settings CLM_QIAN mode and it's DATM settings ------------------------------------ -In ``CLM_QIAN`` mode the Qian dataset is used which has 6-hourly solar and precipitation data, and 3-hourly for everything else. The dataset is divided into those three data streams: solar, precipitation, and everything else (temperature, pressure, humidity and wind). The time-stamps of the data were also adjusted so that they are the beginning of the interval for solar, and the middle for the other two. Because, of this the ``offset`` is set to zero, and the ``tintalgo`` is: ``coszen``, ``nearest``, and ``linear`` for the solar, precipitation and other data respectively. ``taxmode`` is set to ``cycle`` and ``mapalgo`` is set to ``bilinear`` so that the data is spatially interpolated from the input T62 grid to the grid the atmosphere model is being run at. +In ``CLM_QIAN`` mode the Qian dataset is used which has 6-hourly solar and precipitation data, and 3-hourly for everything else. +The dataset is divided into those three data streams: solar, precipitation, and everything else (temperature, pressure, humidity and wind). +The time-stamps of the data were also adjusted so that they are the beginning of the interval for solar, and the middle for the other two. +Because, of this the ``offset`` is set to zero, and the ``tintalgo`` is: ``coszen``, ``nearest``, and ``linear`` for the solar, precipitation and other data respectively. +``taxmode`` is set to ``cycle`` and ``mapalgo`` is set to ``bilinear`` so that the data is spatially interpolated from the input T62 grid to the grid the atmosphere model is being run at. Normally you wouldn't customize the ``CLM_QIAN`` settings, but you might replicate it's use for your own global data that had similar temporal characteristics. @@ -76,7 +96,15 @@ Normally you wouldn't customize the ``CLM_QIAN`` settings, but you might replica CLM1PT mode and it's DATM settings ---------------------------------- -In ``CLM1PT`` mode the model is assumed to have half-hourly or hourly data for a single-point. For the supported datasets that is exactly what it has. But, if you add your own data you may need to make adjustments accordingly. Using the ``CLM_USRDAT_NAME`` resolution you can easily extend this mode for your own datasets that may be regional or even global and could be at different temporal frequencies. If you do so you'll need to make adjustments to your DATM settings. The dataset has all data in a single stream file. The time-stamps of the data were also adjusted so that they are at the middle of the interval. Because, of this the ``offset`` is set to zero, and the ``tintalgo`` is set to ``nearest``. ``taxmode`` is set to ``extend`` and ``mapalgo`` is set to ``nn`` so that simply the nearest point is used. +In ``CLM1PT`` mode the model is assumed to have half-hourly or hourly data for a single-point. +For the supported datasets that is exactly what it has. +But, if you add your own data you may need to make adjustments accordingly. +Using the ``CLM_USRDAT_NAME`` resolution you can easily extend this mode for your own datasets that may be regional or even global and could be at different temporal frequencies. +If you do so you'll need to make adjustments to your DATM settings. +The dataset has all data in a single stream file. +The time-stamps of the data were also adjusted so that they are at the middle of the interval. +Because, of this the ``offset`` is set to zero, and the ``tintalgo`` is set to ``nearest``. +``taxmode`` is set to ``extend`` and ``mapalgo`` is set to ``nn`` so that simply the nearest point is used. If you are using your own data for this mode and it's not at least hourly you'll want to adjust the DATM settings for it. If the data is three or six hourly, you'll need to divide it up into separate streams like in ``CLM_QIAN`` mode which will require fairly extensive changes to the DATM namelist and streams files. For an example of doing this see `Example 5-8 `_. @@ -84,6 +112,16 @@ If you are using your own data for this mode and it's not at least hourly you'll CPLHISTForcing mode and it's DATM settings ------------------------------------------ -In ``CPLHISTForcing`` mode the model is assumed to have 3-hourly for a global grid from a previous CESM simulation. Like ``CLM_QIAN`` mode the data is divided into three streams: one for precipitation, one for solar, and one for everything else. The time-stamps for Coupler history files for CESM is at the end of the interval, so the ``offset`` needs to be set in order to adjust the time-stamps to what it needs to be for the ``tintalgo`` settings. For precipitation ``taxmode`` is set to ``nearest`` so the ``offset`` is set to ``-5400`` seconds so that the ending time-step is adjusted by an hour and half to the middle of the interval. For solar ``taxmode`` is set to ``coszen`` so the offset is set to ``-10800`` seconds so that the ending time-step is adjust by three hours to the beginning of the interval. For everything else ``taxmode`` is set to ``linear`` so the offset is set to ``-5400`` seconds so that the ending time-step is adjusted by an hour and half to the middle of the interval. For an example of such a case see `the Section called Running with MOAR data as atmospheric forcing to spinup the model in Chapter 4 `_. +In ``CPLHISTForcing`` mode the model is assumed to have 3-hourly for a global grid from a previous CESM simulation. +Like ``CLM_QIAN`` mode the data is divided into three streams: one for precipitation, one for solar, and one for everything else. +The time-stamps for Coupler history files for CESM is at the end of the interval, so the ``offset`` needs to be set in order to adjust the time-stamps to what it needs to be for the ``tintalgo`` settings. +For precipitation ``taxmode`` is set to ``nearest`` so the ``offset`` is set to ``-5400`` seconds so that the ending time-step is adjusted by an hour and half to the middle of the interval. +For solar ``taxmode`` is set to ``coszen`` so the offset is set to ``-10800`` seconds so that the ending time-step is adjust by three hours to the beginning of the interval. +For everything else ``taxmode`` is set to ``linear`` so the offset is set to ``-5400`` seconds so that the ending time-step is adjusted by an hour and half to the middle of the interval. +For an example of such a case see `the Section called Running with MOAR data as atmospheric forcing to spinup the model in Chapter 4 `_. + -Normally you wouldn't modify the DATM settings for this mode. However, if you had data at a different frequency than 3-hours you would need to modify the ``offset`` and possibly the ``taxmode``. The other two things that you might modify would be the path to the data or the domain file for the resolution (which is currently hardwired to f09). For data at a different input resolution you would need to change the domain file in the streams file to use a domain file to the resolution that the data comes in on. +Normally you wouldn't modify the DATM settings for this mode. +However, if you had data at a different frequency than 3-hours you would need to modify the ``offset`` and possibly the ``taxmode``. +The other two things that you might modify would be the path to the data or the domain file for the resolution (which is currently hardwired to f09). +For data at a different input resolution you would need to change the domain file in the streams file to use a domain file to the resolution that the data comes in on. diff --git a/doc/source/users_guide/setting-up-and-running-a-case/history_fields_fates.rst b/doc/source/users_guide/setting-up-and-running-a-case/history_fields_fates.rst index ab5f28012a..ea7c23d22a 100644 --- a/doc/source/users_guide/setting-up-and-running-a-case/history_fields_fates.rst +++ b/doc/source/users_guide/setting-up-and-running-a-case/history_fields_fates.rst @@ -1,18 +1,18 @@ ============================= CTSM History Fields (fates) ============================= - + CAUTION: Not all variables are relevant / present for all CTSM cases. Key flags used in this CTSM case: use_cn = F use_crop = F use_fates = T - -=================================== ================ ============================================================================================== ================================================================= ======= + +=================================== ================ ============================================================================================== ================================================================= ======= CTSM History Fields ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Variable Name Level Dim. Long Description Units Active? -=================================== ================ ============================================================================================== ================================================================= ======= +=================================== ================ ============================================================================================== ================================================================= ======= A5TMIN - 5-day running mean of min 2-m temperature K F ACTUAL_IMMOB - actual N immobilization gN/m^2/s T AGLB - Aboveground leaf biomass kg/m^2 F diff --git a/doc/source/users_guide/setting-up-and-running-a-case/history_fields_nofates.rst b/doc/source/users_guide/setting-up-and-running-a-case/history_fields_nofates.rst index 8e914d8a70..4e96f5fb91 100644 --- a/doc/source/users_guide/setting-up-and-running-a-case/history_fields_nofates.rst +++ b/doc/source/users_guide/setting-up-and-running-a-case/history_fields_nofates.rst @@ -1,18 +1,18 @@ ============================= CTSM History Fields (nofates) ============================= - + CAUTION: Not all variables are relevant / present for all CTSM cases. Key flags used in this CTSM case: use_cn = T use_crop = T use_fates = F - -=================================== ================ ============================================================================================== ================================================================= ======= + +=================================== ================ ============================================================================================== ================================================================= ======= CTSM History Fields ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Variable Name Level Dim. Long Description Units Active? -=================================== ================ ============================================================================================== ================================================================= ======= +=================================== ================ ============================================================================================== ================================================================= ======= A10TMIN - 10-day running mean of min 2-m temperature K F A5TMIN - 5-day running mean of min 2-m temperature K F ACTUAL_IMMOB - actual N immobilization gN/m^2/s T diff --git a/doc/source/users_guide/testing/index.rst b/doc/source/users_guide/testing/index.rst index 7d1370dec6..b9e99506e1 100644 --- a/doc/source/users_guide/testing/index.rst +++ b/doc/source/users_guide/testing/index.rst @@ -16,3 +16,4 @@ Testing testing.rst + diff --git a/doc/source/users_guide/testing/testing.rst b/doc/source/users_guide/testing/testing.rst index c821ba19e7..a01630c293 100644 --- a/doc/source/users_guide/testing/testing.rst +++ b/doc/source/users_guide/testing/testing.rst @@ -6,12 +6,25 @@ Testing ******* -Technically, you could use the customization we gave in `Chapter 1 `_ to test various configuration and namelist options for CLM. Sometimes, it's also useful to have automated tests though to test that restarts give exactly the same results as without a restart. It's also useful to have automated tests to run over a wide variety of configurations, resolutions, and namelist options. To do that we have several different types of scripts set up to make running comprehensive testing of CLM easy. There are two types of testing scripts for CLM. The first are the CESM test scripts, which utilize the **create_newcase** scripts that we shown how to use in this User's Guide. The second are a set of stand-alone scripts that use the CLM **configure** and **build-namelist** scripts to build and test the model as well as testing the CLM tools as well. Below we will go into further details of how to use both methods. +Technically, you could use the customization we gave in `Chapter 1 `_ to test various configuration and namelist options for CLM. +Sometimes, it's also useful to have automated tests though to test that restarts give exactly the same results as without a restart. +It's also useful to have automated tests to run over a wide variety of configurations, resolutions, and namelist options. +To do that we have several different types of scripts set up to make running comprehensive testing of CLM easy. +There are two types of testing scripts for CLM. +The first are the CESM test scripts, which utilize the **create_newcase** scripts that we shown how to use in this User's Guide. +The second are a set of stand-alone scripts that use the CLM **configure** and **build-namelist** scripts to build and test the model as well as testing the CLM tools as well. +Below we will go into further details of how to use both methods. + CIME Testing scripts ==================== -We first introduce the test scripts that work for all CESM components. The CIME script **create_test** runs a specific type of test, at a given resolution, for a given compset using a given machine. See `CIME Chapter on Testing `_ for how to use it to run single tests as well as lists of tests. The standard testname for CLM is "aux_clm" for cheyenne with intel and gnu compilers as well as the CGD machine hobart for intel, nag, and pgi compilers. There's also a shorter test list called "clm_short". Also see the `CTSM Wiki on Testing `_. +We first introduce the test scripts that work for all CESM components. +The CIME script **create_test** runs a specific type of test, at a given resolution, for a given compset using a given machine. +See `CIME Chapter on Testing `_ for how to use it to run single +tests as well as lists of tests. The standard testname for CLM is "aux_clm" for cheyenne with intel and gnu compilers as +well as the CGD machine hobart for intel, nag, and pgi compilers. There's also a shorter test list called "clm_short". Also +see the `CTSM Wiki on Testing `_. CTSM Tools Testing ================== @@ -28,12 +41,13 @@ CTSM Fortran Unit Tests CTSM Build-namelist Tests ========================= -Run the following perl tester that +Run the following perl tester that :: > cd bld/unit_testers > ./build-namelist_test.pl + Testing PTCLM ============= @@ -42,5 +56,6 @@ Testing PTCLM To run on cheyenne, you do the following: + .. include:: ../../../../tools/PTCLM/test/README.run_cheyenne :literal: diff --git a/doc/source/users_guide/trouble-shooting/trouble-shooting.rst b/doc/source/users_guide/trouble-shooting/trouble-shooting.rst index 6fc53c3a89..2228caa740 100644 --- a/doc/source/users_guide/trouble-shooting/trouble-shooting.rst +++ b/doc/source/users_guide/trouble-shooting/trouble-shooting.rst @@ -37,7 +37,7 @@ It is important to examine all of the component log files in the run directory f 398: iam = 362: gridcell latitude = -70.0000000 398: iam = 362: pft type = 10 398: iam = 362: column type = 1 - 398: iam = 362: landunit type = 1 + 398: iam = 362: landunit type = 1 398: ENDRUN: 398: ERROR: 398: ERROR: carbon or nitrogen state critically negative ERROR in CNPrecisionControl @@ -79,7 +79,7 @@ If you are writing your own ``endrun`` call, you can get this additional informa You can get this same information without aborting the run via a call to ``write_point_context``, which is also defined in the ``abortutils`` module; e.g.:: - if (abs(carbon_patch(p)) < ccrit) then + if (abs(carbon_patch(p)) < ccrit) then call write_point_context(subgrid_index=p, subgrid_level=subgrid_level_patch) end if @@ -110,14 +110,17 @@ The second method is to use the local index along with the processor number:: write(iulog,*)'CNCStateUpdate1Mod +leafc_xfer_to_leafc: ',cf_veg%leafc_xfer_to_leafc_patch(p)*dt end if -By placing these write statements in the code, one can get a sense of how leafc is evolving toward a negative state and why. This is a very complex example of troubleshooting. To make a long story short, as described `here `_, the error turned out to be caused by a few lines in the phenology code that weren't handling a 20 minute time step properly, thus an actual bug in the code. This was also a good example of where a much less computationally expensive land-only simulation was able to be used for debugging instead of the orginal expensive fully-coupled simulation. +By placing these write statements in the code, one can get a sense of how leafc is evolving toward a negative state and why. +This is a very complex example of troubleshooting. To make a long story short, as described `here `_, the error turned out to be caused by a few lines in the phenology code that weren't handling a 20 minute time step properly, thus an actual bug in the code. This was also a good example of where a much less computationally expensive land-only simulation was able to be used for debugging instead of the orginal expensive fully-coupled simulation. Another method of troubleshooting is to use the **point_of_interest** module. Use the point_of_interest module -------------------------------- -It is common, when debugging, to want to print the values of various variables for all patches or columns of certain landunit types within a certain grid cell of interest. For example, one might be able to identify a certain grid cell with an erroneous value for a particular history field variable (e.g., GPP) using for example ncview. Once the latitude and longitude of this grid cell has been determined, the point_of_interest module (**src/utils/point_of_interest.F90**) helps create the logical functions needed to do this. This module is compiled into every CTSM build, but is not invoked by default. To use it +It is common, when debugging, to want to print the values of various variables for all patches or columns of certain landunit types within a certain grid cell of interest. For example, one might be able to identify a certain grid cell with an erroneous value for a particular history field variable (e.g., GPP) using for example ncview. Once the latitude and longitude of this grid cell has been determined, the point_of_interest module (**src/utils/point_of_interest.F90**) helps create the logical functions needed to do this. +This module is compiled into every CTSM build, but is not invoked by default. +To use it (1) Enter in the latitude/longitude of the point of interest in the function **at_poi** in **point_of_interest.F90** by setting the variables **poi_lat** and **poi_lon**. @@ -171,12 +174,12 @@ Simplifying to one processor removes all multi-processing problems and makes the # Set tasks and threads for each component to 1 # You could also set threads to something > 1 for speed, but still # run interactively if threading isn't an issue. - + > ./xmlchange NTASKS_ATM=1,NTHRDS_ATM=1,NTASKS_LND=1,NTHRDS_LND=1,NTASKS_ICE=1,NTHRDS_ICE=1 > ./xmlchange NTASKS_OCN=1,NTHRDS_OCN=1,NTASKS_CPL=1,NTHRDS_CPL=1,NTASKS_GLC=1,NTHRDS_GLC=1 # set MPILIB to mpi-serial so that you can run interactively > ./xmlchange MPILIB=mpi-serial - > ./case.setup + > ./case.setup # Then build your case # And finally run, by running the *.run script interactively @@ -193,5 +196,9 @@ Along the same lines, you might try running a simpler case, trying another comps Run with a debugger ------------------- -Another suggestion is to run the model with a debugger such as: **ddt**, **dbx**, **gdb**, or **totalview**. Often to run with a debugger you will need to reduce the number of processors as outlined above. Some debuggers such as **dbx** will only work with one processor, while more advanced debuggers such as **totalview** can work with both MPI tasks and OMP threads. Even simple debuggers though can be used to query core files, to see where the code was at when it died (for example using the **where** in **dbx** for a core file can be very helpful. For help in running with a debugger you will need to contact your system administrators for the machine you are running on. +Another suggestion is to run the model with a debugger such as: **ddt**, **dbx**, **gdb**, or **totalview**. +Often to run with a debugger you will need to reduce the number of processors as outlined above. +Some debuggers such as **dbx** will only work with one processor, while more advanced debuggers such as **totalview** can work with both MPI tasks and OMP threads. +Even simple debuggers though can be used to query core files, to see where the code was at when it died (for example using the **where** in **dbx** for a core file can be very helpful. +For help in running with a debugger you will need to contact your system administrators for the machine you are running on. diff --git a/doc/source/users_guide/using-clm-tools/building-the-clm-tools.rst b/doc/source/users_guide/using-clm-tools/building-the-clm-tools.rst index 09725c8afc..14c3a75207 100644 --- a/doc/source/users_guide/using-clm-tools/building-the-clm-tools.rst +++ b/doc/source/users_guide/using-clm-tools/building-the-clm-tools.rst @@ -4,9 +4,16 @@ .. include:: ../substitutions.rst -The CLM FORTRAN tools all have similar makefiles, and similar options for building. The tools **cprnc** and **gen_domain** use the CIME configure/build system which is described in the next section. +The CLM FORTRAN tools all have similar makefiles, and similar options for building. The tools +**cprnc** and **gen_domain** use the CIME configure/build system which is described in the next section. -The Makefiles (for **mksurfdata_map** and **mkprocdata_map**) use GNU Make extensions and thus require that you use GNU make to use them. They also auto detect the type of platform you are on, using "uname -s" and set the compiler, compiler flags and such accordingly. There are also environment variables that can be set to set things that must be customized. All the tools use NetCDF and hence require the path to the NetCDF libraries and include files. On some platforms (such as Linux) multiple compilers can be used, and hence there are env variables that can be set to change the FORTRAN and/or "C" compilers used. The tools also allow finer control, by also allowing the user to add compiler flags they choose, for both FORTRAN and "C", as well as picking the compiler, linker and and add linker options. Finally the tools allow you to turn optimization on (which is off by default but on for **mksurfdata_map**) with the OPT flag so that the tool will run faster. +The Makefiles (for **mksurfdata_map** and **mkprocdata_map**) use GNU Make extensions and thus require that you use GNU make to use them. +They also auto detect the type of platform you are on, using "uname -s" and set the compiler, compiler flags and such accordingly. +There are also environment variables that can be set to set things that must be customized. +All the tools use NetCDF and hence require the path to the NetCDF libraries and include files. +On some platforms (such as Linux) multiple compilers can be used, and hence there are env variables that can be set to change the FORTRAN and/or "C" compilers used. +The tools also allow finer control, by also allowing the user to add compiler flags they choose, for both FORTRAN and "C", as well as picking the compiler, linker and and add linker options. +Finally the tools allow you to turn optimization on (which is off by default but on for **mksurfdata_map**) with the OPT flag so that the tool will run faster. Options used by all: **mksurfdata_map** @@ -101,5 +108,7 @@ The *README.filecopies* (which can be found in ``$CTSMROOT/tools``) is repeated **cprnc** and *gen_domain** both use the CIME configure/build system rather than the CLM specific version described above. -See `CIME documentation on adding grids `_ for more information on adding grids, creating mapping files, and running **gen_domain**. Also see the CIME file: ``$CTSMROOT/tools/mapping/gen_domain_files/INSTALL`` for how to build **gen_domain**. +See `CIME documentation on adding grids `_ for +more information on adding grids, creating mapping files, and running **gen_domain**. Also see the CIME file: +``$CTSMROOT/tools/mapping/gen_domain_files/INSTALL`` for how to build **gen_domain**. diff --git a/doc/source/users_guide/using-clm-tools/cprnc.rst b/doc/source/users_guide/using-clm-tools/cprnc.rst index 67ea63e638..050e059296 100644 --- a/doc/source/users_guide/using-clm-tools/cprnc.rst +++ b/doc/source/users_guide/using-clm-tools/cprnc.rst @@ -6,7 +6,13 @@ Comparing History Files ========================= -**cprnc** is a tool shared by |cesmrelease| to compare two NetCDF history files. It differences every field that is shared on both files, and reports a summary of the difference. The summary includes the three largest differences, as well as the root mean square (RMS) difference. It also gives some summary information on the field as well. You have to enter at least one file, and up to two files. With one file it gives you summary information on the file, and with two it gives you information on the differences between the two. At the end it will give you a summary of the fields compared and how many fields were different and how many were identical. +**cprnc** is a tool shared by |cesmrelease| to compare two NetCDF history files. +It differences every field that is shared on both files, and reports a summary of the difference. +The summary includes the three largest differences, as well as the root mean square (RMS) difference. +It also gives some summary information on the field as well. +You have to enter at least one file, and up to two files. +With one file it gives you summary information on the file, and with two it gives you information on the differences between the two. +At the end it will give you a summary of the fields compared and how many fields were different and how many were identical. Options: diff --git a/doc/source/users_guide/using-clm-tools/creating-domain-files.rst b/doc/source/users_guide/using-clm-tools/creating-domain-files.rst index 202881bf20..972967da0c 100644 --- a/doc/source/users_guide/using-clm-tools/creating-domain-files.rst +++ b/doc/source/users_guide/using-clm-tools/creating-domain-files.rst @@ -6,7 +6,8 @@ Creating CLM domain files ***************************** -*gen_domain* to create a domain file for datm from a mapping file. **gen_domain** is a tool that is a part of CIME. The domain file is then used by BOTH DATM AND CLM to define the grid and land-mask. The general data flow is shown in two figures. :numref:`Figure mkmapdata.sh` shows the general flow for a general global case (or for a regional grid that DOES include ocean). :numref:`Figure mknoocnmap.pl` shows the use of **mknoocnmap.pl** (see `the Section called Using mknocnmap.pl to create grid and maps for single-point regional grids `_) to create a regional or single-point map file that is then run through **gen_domain** to create the domain file for it. As stated before :numref:`Figure Data_Flow_Legend` is the legend for both of these figures. See `the $CIMEROOT/tools/mapping/gen_domain_files/README `_ file for more help on **gen_domain**. +*gen_domain* to create a domain file for datm from a mapping file. **gen_domain** is a tool that is a part of CIME. The domain file is then used by BOTH DATM AND CLM to define the grid and land-mask. The general data flow is shown in two figures. :numref:`Figure mkmapdata.sh` shows the general flow for a general global case (or for a regional grid that DOES include ocean). :numref:`Figure mknoocnmap.pl` shows the use of **mknoocnmap.pl** (see `the Section called Using mknocnmap.pl to create grid and maps for single-point regional grids `_) to create a regional or single-point map file that is then run through **gen_domain** to create the domain file for it. As stated before :numref:`Figure Data_Flow_Legend` is the legend for both of these figures. See `the +$CIMEROOT/tools/mapping/gen_domain_files/README `_ file for more help on **gen_domain**. Here we create domain files for a regular global domain. diff --git a/doc/source/users_guide/using-clm-tools/creating-input-for-surface-dataset-generation.rst b/doc/source/users_guide/using-clm-tools/creating-input-for-surface-dataset-generation.rst index 9c6e8a1f20..6048baa98c 100644 --- a/doc/source/users_guide/using-clm-tools/creating-input-for-surface-dataset-generation.rst +++ b/doc/source/users_guide/using-clm-tools/creating-input-for-surface-dataset-generation.rst @@ -6,10 +6,11 @@ Creating input for surface dataset generation ********************************************* -1. Generating SCRIP grid files +1. Generating SCRIP grid files ================================== -The utility ``mkmapdata.sh`` requires SCRIP format input files to describe the input and output grids that maps are generated for. CLM provides a utility, ``mkmapgrids`` that generates those files. The program converts old formats of CAM or CLM grid files to SCRIP grid format. There is also a NCL script (``mkscripgrid.ncl``) to create regular latitude longitude regional or single-point grids at the resolution the user desires. +The utility ``mkmapdata.sh`` requires SCRIP format input files to describe the input and output grids that maps are generated for. CLM provides a utility, ``mkmapgrids`` that generates those files. +The program converts old formats of CAM or CLM grid files to SCRIP grid format. There is also a NCL script (``mkscripgrid.ncl``) to create regular latitude longitude regional or single-point grids at the resolution the user desires. SCRIP grid files for all the standard model resolutions and the raw surface datasets have already been done and the files are in the XML database. Hence, this step doesn't need to be done -- EXCEPT WHEN YOU ARE CREATING YOUR OWN GRIDS. @@ -26,9 +27,9 @@ If you want to create a regular latitude/longitude single-point or regional grid -name [-or -n] Name to use to describe point OPTIONS - -dx Size of total grid in degrees in longitude direction + -dx Size of total grid in degrees in longitude direction (default is 0.1) - -dy Size of total grid in degrees in latitude direction + -dy Size of total grid in degrees in latitude direction (default is 0.1) -silent [or -s] Make output silent -help [or -h] Print usage to STDOUT. @@ -38,12 +39,19 @@ If you want to create a regular latitude/longitude single-point or regional grid See :numref:`Figure mknoocnmap.pl` for a visual representation of this process. + 2. Creating mapping files for mksurfdata_map ============================================== -``mkmapdata.sh`` uses the above SCRIP grid input files to create SCRIP mapping data files (uses ESMF). +``mkmapdata.sh`` uses the above SCRIP grid input files to create SCRIP mapping data files (uses ESMF). -The bash shell script ``$CTSMROOT/tools/mkmapgrids/mkmapdata.sh`` uses **ESMF_RegridWeightGen** to create a list of maps from the raw datasets that are input to **mksurfdata_map**. Each dataset that has a different grid, or land-mask needs a different mapping file for it, but many different raw datasets share the same grid/land-mask as other files. Hence, there doesn't need to be a different mapping file for EACH raw dataset -- just for each raw dataset that has a DIFFERENT grid or land-mask.. See :numref:`Figure mkmapdata.sh` for a visual representation of how this works. The bash script figures out which mapping files it needs to create and then runs **ESMF_RegridWeightGen** for each one. You can then either enter the datasets into the XML database (see `Chapter 3 `_ or leave the files in place, and use the "-res usrspec -usr_gname -usr_gdate" options to **mksurfdata_map** (see `the Section called Running mksurfdata.pl `_ below). mkmapdata.sh has a help option with the following +The bash shell script ``$CTSMROOT/tools/mkmapgrids/mkmapdata.sh`` uses **ESMF_RegridWeightGen** to create a list of maps from the raw datasets that are input to **mksurfdata_map**. +Each dataset that has a different grid, or land-mask needs a different mapping file for it, but many different raw datasets share the same grid/land-mask as other files. +Hence, there doesn't need to be a different mapping file for EACH raw dataset -- just for each raw dataset that has a DIFFERENT grid or land-mask.. +See :numref:`Figure mkmapdata.sh` for a visual representation of how this works. +The bash script figures out which mapping files it needs to create and then runs **ESMF_RegridWeightGen** for each one. +You can then either enter the datasets into the XML database (see `Chapter 3 `_ or leave the files in place, and use the "-res usrspec -usr_gname -usr_gdate" options to **mksurfdata_map** (see `the Section called Running mksurfdata.pl `_ below). +mkmapdata.sh has a help option with the following :: ../../tools/mkmapdata/mkmapdata.sh @@ -52,13 +60,13 @@ The bash shell script ``$CTSMROOT/tools/mkmapgrids/mkmapdata.sh`` uses **ESMF_Re usage on cheyenne: ./mkmapdata.sh - valid arguments: - [-f|--gridfile ] - Full pathname of model SCRIP grid file to use + valid arguments: + [-f|--gridfile ] + Full pathname of model SCRIP grid file to use This variable should be set if this is not a supported grid This variable will override the automatic generation of the - filename generated from the -res argument - the filename is generated ASSUMING that this is a supported + filename generated from the -res argument + the filename is generated ASSUMING that this is a supported grid that has entries in the file namelist_defaults_clm.xml the -r|--res argument MUST be specied if this argument is specified [-r|--res ] @@ -67,7 +75,7 @@ The bash shell script ``$CTSMROOT/tools/mkmapgrids/mkmapdata.sh`` uses **ESMF_Re Model output grid type supported values are [regional,global], (default is global) [-b|--batch] - Toggles batch mode usage. + Toggles batch mode usage. If you want to run in batch mode you need to have a separate batch script for a supported machine that calls this script interactively - you cannot submit this @@ -77,13 +85,13 @@ The bash shell script ``$CTSMROOT/tools/mkmapgrids/mkmapdata.sh`` uses **ESMF_Re also writes data to clm.input_data_list [-d|--debug] Toggles debug-only (don't actually run mkmapdata just echo what would happen) - [-h|--help] + [-h|--help] Displays this help message [-v|--verbose] - Toggle verbose usage -- log more information on what is happening + Toggle verbose usage -- log more information on what is happening You can also set the following env variables: - ESMFBIN_PATH - Path to ESMF binaries + ESMFBIN_PATH - Path to ESMF binaries (default is /contrib/esmf-5.3.0-64-O/bin) CSMDATA ------ Path to CESM input data (default is /glade/p/cesm/cseg/inputdata) @@ -92,10 +100,11 @@ The bash shell script ``$CTSMROOT/tools/mkmapgrids/mkmapdata.sh`` uses **ESMF_Re REGRID_PROC -- Number of MPI processors to use (default is 8) - **pass environment variables by preceding above commands + **pass environment variables by preceding above commands with 'env var1=setting var2=setting ' ********************** + .. _Figure mkmapdata.sh: .. figure:: mkmapdata_details.jpeg diff --git a/doc/source/users_guide/using-clm-tools/datasts-for-observational-sites.rst b/doc/source/users_guide/using-clm-tools/datasts-for-observational-sites.rst index 4ddd738b5d..7fb915a6ed 100644 --- a/doc/source/users_guide/using-clm-tools/datasts-for-observational-sites.rst +++ b/doc/source/users_guide/using-clm-tools/datasts-for-observational-sites.rst @@ -4,6 +4,16 @@ Datasets for Observational Sites ================================== -There are two ways to customize datasets for a particular observational site. The first is to customize the input to the tools that create the dataset, and the second is to over-write the default data after you've created a given dataset. Depending on the tool it might be easier to do it one way or the other. In `Table 3-1 `_ we list the files that are most likely to be customized and the way they might be customized. Of those files, the ones you are most likely to customize are: fatmlndfrc, fsurdat, faerdep (for DATM), and stream_fldfilename_ndep. Note **mksurfdata_map** as documented previously has options to overwrite the vegetation and soil types. For more information on this also see `the Section called Creating your own single-point/regional surface datasets in Chapter 5 `_. And PTCLM uses these methods to customize datasets see `Chapter 6 `_. +There are two ways to customize datasets for a particular observational site. +The first is to customize the input to the tools that create the dataset, and the second is to over-write the default data after you've created a given dataset. +Depending on the tool it might be easier to do it one way or the other. +In `Table 3-1 `_ we list the files that are most likely to be customized and the way they might be customized. +Of those files, the ones you are most likely to customize are: fatmlndfrc, fsurdat, faerdep (for DATM), and stream_fldfilename_ndep. +Note **mksurfdata_map** as documented previously has options to overwrite the vegetation and soil types. +For more information on this also see `the Section called Creating your own single-point/regional surface datasets in Chapter 5 `_. +And PTCLM uses these methods to customize datasets see `Chapter 6 `_. -Another aspect of customizing your input datasets is customizing the input atmospheric forcing datasets. See `the Section called Running with your own atmosphere forcing in Chapter 5 `_ for more information on this. Also the chapter on PTCLM in `the Section called Converting AmeriFlux Data for use by PTCLM in Chapter 6 `_ has information on using the AmeriFlux tower site data as atmospheric forcing. + +Another aspect of customizing your input datasets is customizing the input atmospheric forcing datasets. +See `the Section called Running with your own atmosphere forcing in Chapter 5 `_ for more information on this. +Also the chapter on PTCLM in `the Section called Converting AmeriFlux Data for use by PTCLM in Chapter 6 `_ has information on using the AmeriFlux tower site data as atmospheric forcing. diff --git a/doc/source/users_guide/using-clm-tools/observational-sites-datasets.rst b/doc/source/users_guide/using-clm-tools/observational-sites-datasets.rst index 8fafca1df0..b5cc2efad9 100644 --- a/doc/source/users_guide/using-clm-tools/observational-sites-datasets.rst +++ b/doc/source/users_guide/using-clm-tools/observational-sites-datasets.rst @@ -6,6 +6,15 @@ Observational Sites Datasets ******************************* -There are two ways to customize datasets for a particular observational site. The first is to customize the input to the tools that create the dataset, and the second is to over-write the default data after you've created a given dataset. Depending on the tool it might be easier to do it one way or the other. In `Table 3-1 `_ we list the files that are most likely to be customized and the way they might be customized. Of those files, the ones you are most likely to customize are: fatmlndfrc, fsurdat, faerdep (for DATM), and stream_fldfilename_ndep. Note **mksurfdata_map** as documented previously has options to overwrite the vegetation and soil types. For more information on this also see `the Section called Creating your own single-point/regional surface datasets in Chapter 5 `_. And PTCLM uses these methods to customize datasets see `Chapter 6 `_. +There are two ways to customize datasets for a particular observational site. +The first is to customize the input to the tools that create the dataset, and the second is to over-write the default data after you've created a given dataset. +Depending on the tool it might be easier to do it one way or the other. +In `Table 3-1 `_ we list the files that are most likely to be customized and the way they might be customized. +Of those files, the ones you are most likely to customize are: fatmlndfrc, fsurdat, faerdep (for DATM), and stream_fldfilename_ndep. +Note **mksurfdata_map** as documented previously has options to overwrite the vegetation and soil types. +For more information on this also see `the Section called Creating your own single-point/regional surface datasets in Chapter 5 `_. +And PTCLM uses these methods to customize datasets see `Chapter 6 `_. -Another aspect of customizing your input datasets is customizing the input atmospheric forcing datasets. See `the Section called Running with your own atmosphere forcing in Chapter 5 `_ for more information on this. Also the chapter on PTCLM in `the Section called Converting AmeriFlux Data for use by PTCLM in Chapter 6 `_ has information on using the AmeriFlux tower site data as atmospheric forcing. +Another aspect of customizing your input datasets is customizing the input atmospheric forcing datasets. +See `the Section called Running with your own atmosphere forcing in Chapter 5 `_ for more information on this. +Also the chapter on PTCLM in `the Section called Converting AmeriFlux Data for use by PTCLM in Chapter 6 `_ has information on using the AmeriFlux tower site data as atmospheric forcing. diff --git a/doc/source/users_guide/using-clm-tools/what-are-the-clm-tools.rst b/doc/source/users_guide/using-clm-tools/what-are-the-clm-tools.rst index dd650a79e9..a8663176e1 100644 --- a/doc/source/users_guide/using-clm-tools/what-are-the-clm-tools.rst +++ b/doc/source/users_guide/using-clm-tools/what-are-the-clm-tools.rst @@ -6,9 +6,14 @@ What are the CLM tools ======================== -There are several tools provided with CLM that allow you to create your own input datasets at resolutions you choose, or to interpolate initial conditions to a different resolution, or used to compare CLM history files between different cases. The tools are all available in the ``$CTSMROOT/tools`` directory. Most of the tools are FORTRAN stand-alone programs in their own directory, but there is also a suite of NCL scripts in the ``$CTSMROOT/tools//ncl_scripts`` directory, and some of the tools are scripts that may also call the ESMF regridding program. Some of the NCL scripts are very specialized and not meant for general use, and we won't document them here. They still contain documentation in the script itself and the README file in the tools directory. +There are several tools provided with CLM that allow you to create your own input datasets at resolutions you choose, or to interpolate initial conditions to a different resolution, or used to compare CLM history files between different cases. +The tools are all available in the ``$CTSMROOT/tools`` directory. +Most of the tools are FORTRAN stand-alone programs in their own directory, but there is also a suite of NCL scripts in the ``$CTSMROOT/tools//ncl_scripts`` directory, and some of the tools are scripts that may also call the ESMF regridding program. +Some of the NCL scripts are very specialized and not meant for general use, and we won't document them here. +They still contain documentation in the script itself and the README file in the tools directory. -The tools produce files that can be used for CLM4.5 and |version|. They do **NOT** produce files that can be used for CLM4.0. If you need files for CLM4.0, you'll need to use a previous version of CLM. +The tools produce files that can be used for CLM4.5 and |version|. They do **NOT** produce files that can be used for CLM4.0. +If you need files for CLM4.0, you'll need to use a previous version of CLM. The list of generally important scripts and programs are as follows. @@ -24,42 +29,60 @@ The list of generally important scripts and programs are as follows. #. *$CIMEROOT/tools/cprnc* to compare two NetCDF files. -In the sections to come we will go into detailed description of how to use each of these tools in turn. First, however we will discuss the common environment variables and options that are used by all of the FORTRAN tools. Second, we go over the outline of the entire file creation process for all input files needed by CLM for a new resolution, then we turn to each tool. In the last section we will discuss how to customize files for particular observational sites. +In the sections to come we will go into detailed description of how to use each of these tools in turn. +First, however we will discuss the common environment variables and options that are used by all of the FORTRAN tools. +Second, we go over the outline of the entire file creation process for all input files needed by CLM for a new resolution, then we turn to each tool. +In the last section we will discuss how to customize files for particular observational sites. The FORTRAN tools (mksurfdata_map and mkprocdata_map) run, with a namelist (mksurfdata_map) to provide options, or with command line arguments (mkprocdata_map). -In the following sections, we will outline how to make these files available for build-namelist so that you can easily create simulations that include them. In the chapter on single-point and regional datasets we also give an alternative way to enter new datasets without having to edit files. +In the following sections, we will outline how to make these files available for build-namelist so that you can easily create simulations that include them. +In the chapter on single-point and regional datasets we also give an alternative way to enter new datasets without having to edit files. ------------------------------------ Running FORTRAN tools with namelists ------------------------------------ -**mksurfdata_map** runs with a namelist that is read from standard input. Hence, you create a namelist and then run them by redirecting the namelist file into standard input as follows: +**mksurfdata_map** runs with a namelist that is read from standard input. +Hence, you create a namelist and then run them by redirecting the namelist file into standard input as follows: :: ./program < namelist -There is a sample namelist called ``$CTSMROOT/tools/mksurfdata_map/mksurfdata_map.namleist`` that shows you what the namelist should look like. **mksurfdata_map** also has a script that creates the namelist and runs the program for you. Namelists that you create should be similar to the example namelist. The namelist values are also documented along with the other namelists in the: +There is a sample namelist called ``$CTSMROOT/tools/mksurfdata_map/mksurfdata_map.namleist`` that shows you what the +namelist should look like. **mksurfdata_map** also has a script that creates the namelist and runs the program for you. +Namelists that you create should be similar to the example namelist. +The namelist values are also documented along with the other namelists in the: :: - $CTSMROOT/bld/namelist_files/namelist_definition.xml`` file - and default values in the: + $CTSMROOT/bld/namelist_files/namelist_definition.xml`` file + and default values in the: $CTSMROOT/bld/namelist_files/namelist_defaults_clm_tools.xml`` file. ----------------------------------------------- Running FORTRAN tools with command line options ----------------------------------------------- -**gen_domain**, mkprocdata_map, and **cprnc** run with command line arguments. The detailed sections below will give you more information on the command line arguments specific to each tool. Also running the tool without any arguments will give you a general synopsis on how to run the tool. +**gen_domain**, mkprocdata_map, and **cprnc** run with command line arguments. +The detailed sections below will give you more information on the command line arguments specific to each tool. +Also running the tool without any arguments will give you a general synopsis on how to run the tool. ----------------------------------------- Running FORTRAN tools built with SMP=TRUE ----------------------------------------- -When you enable ``SMP=TRUE`` on your build of one of the tools that make use of it, you are using OpenMP for shared memory parallelism (SMP). In SMP loops are run in parallel with different threads run on different processors all of which access the same memory (called on-node). Thus you can only usefully run up to the number of processors that are available on a single-node of the machine you are running on. For example, on the NCAR machine cheyenne there are 36 processors per node, so you can use up to 36 processors. +When you enable ``SMP=TRUE`` on your build of one of the tools that make use of it, you are using OpenMP for shared memory parallelism (SMP). +In SMP loops are run in parallel with different threads run on different processors all of which access the same memory (called on-node). +Thus you can only usefully run up to the number of processors that are available on a single-node of the machine you are running on. +For example, on the NCAR machine cheyenne there are 36 processors per node, so you can use up to 36 processors. + --------- Using NCL --------- -In the tools directory ``$CTSMROOT/tools/ncl_scripts`` and in a few other locations there are scripts that use NCAR Command Language (NCL). Unlike the FORTRAN tools, you will need to get a copy of NCL in order to use them. You also won't have to build an executable in order to use them, hence no Makefile is provided. NCL is provided for free download as either binaries or source code from: `http://www.ncl.ucar.edu/ `_. The NCL web-site also contains documentation on NCL and it's use. These scripts are stand-alone and at most use environment variables to control how to use them. In some cases there are perl scripts with command line arguments that call the NCL scripts to control what they do. +In the tools directory ``$CTSMROOT/tools/ncl_scripts`` and in a few other locations there are scripts that use NCAR Command Language (NCL). +Unlike the FORTRAN tools, you will need to get a copy of NCL in order to use them. +You also won't have to build an executable in order to use them, hence no Makefile is provided. +NCL is provided for free download as either binaries or source code from: `http://www.ncl.ucar.edu/ `_. +The NCL web-site also contains documentation on NCL and it's use. These scripts are stand-alone and at most use environment variables to control how to use them. In some cases there are perl scripts with command line arguments that call the NCL scripts to control what they do. diff --git a/src/biogeochem/CNProductsMod.F90 b/src/biogeochem/CNProductsMod.F90 index a5f69696b0..4ef5c7c86f 100644 --- a/src/biogeochem/CNProductsMod.F90 +++ b/src/biogeochem/CNProductsMod.F90 @@ -13,7 +13,6 @@ module CNProductsMod use clm_time_manager , only : get_step_size_real use SpeciesBaseType , only : species_base_type use PatchType , only : patch - use clm_varctl , only : use_fates_bgc ! implicit none private @@ -347,17 +346,6 @@ subroutine InitCold(this, bounds) this%tot_woodprod_grc(g) = 0._r8 end do - ! We don't call the woodproduct fluxes routine if - ! no veg patches are active. This is what happens - ! when fates is on. Woodproduct fluxes use a p2g - ! upscaling for the gru_ pools. Must zero it here then. - if(use_fates_bgc)then - do g = bounds%begg, bounds%endg - this%gru_prod10_gain_grc(g) = 0._r8 - this%gru_prod100_gain_grc(g) = 0._r8 - end do - end if - ! Need to set these patch-level fluxes to 0 everywhere for the sake of special ! landunits (because they don't get set over special landunits in the run loop) do p = bounds%begp, bounds%endp @@ -399,7 +387,6 @@ subroutine Restart(this, bounds, ncid, flag, & ! !LOCAL VARIABLES: logical :: template_provided logical :: readvar - integer :: g character(len=*), parameter :: subname = 'Restart' !----------------------------------------------------------------------- @@ -498,20 +485,7 @@ subroutine Restart(this, bounds, ncid, flag, & end if if (flag == 'read') then - - ! We don't call the woodproduct fluxes routine if - ! no veg patches are active. This is what happens - ! when fates is on. Woodproduct fluxes use a p2g - ! upscaling for the gru_ pools. Must zero it here then. - if(use_fates_bgc)then - do g = bounds%begg, bounds%endg - this%gru_prod10_gain_grc(g) = 0._r8 - this%gru_prod100_gain_grc(g) = 0._r8 - end do - end if - call this%ComputeSummaryVars(bounds) - end if end subroutine Restart @@ -815,7 +789,6 @@ subroutine ComputeProductSummaryVars(this, bounds) ! fluxes into wood & crop product pools, from landcover change this%cropprod1_grc(g) = this%cropprod1_grc(g) + this%dwt_cropprod1_gain_grc(g)*dt - this%prod10_grc(g) = this%prod10_grc(g) + this%dwt_prod10_gain_grc(g)*dt this%prod100_grc(g) = this%prod100_grc(g) + this%dwt_prod100_gain_grc(g)*dt @@ -861,7 +834,7 @@ subroutine ComputeSummaryVars(this, bounds) this%tot_woodprod_grc(g) = & this%prod10_grc(g) + & this%prod100_grc(g) - + ! total loss from wood products this%tot_woodprod_loss_grc(g) = & this%prod10_loss_grc(g) + & diff --git a/src/biogeochem/CNVegCarbonStateType.F90 b/src/biogeochem/CNVegCarbonStateType.F90 index 8ce278c166..7515051d38 100644 --- a/src/biogeochem/CNVegCarbonStateType.F90 +++ b/src/biogeochem/CNVegCarbonStateType.F90 @@ -1612,6 +1612,7 @@ subroutine Restart ( this, bounds, ncid, flag, carbon_type, reseed_dead_plants, this%leafc_storage_patch(i) = c12_cnveg_carbonstate_inst%leafc_storage_patch(i) * c3_r2 else this%leafc_storage_patch(i) = c12_cnveg_carbonstate_inst%leafc_storage_patch(i) * c4_r2 + this%leafc_storage_patch(i) = c12_cnveg_carbonstate_inst%leafc_storage_patch(i) * c4_r2 endif end do end if diff --git a/src/biogeochem/DryDepVelocity.F90 b/src/biogeochem/DryDepVelocity.F90 index 6ca6868ed5..a6a91df539 100644 --- a/src/biogeochem/DryDepVelocity.F90 +++ b/src/biogeochem/DryDepVelocity.F90 @@ -287,6 +287,7 @@ subroutine depvel_compute( bounds, & if ( n_drydep == 0 ) return associate( & + forc_solai => atm2lnd_inst%forc_solai_grc , & ! Input: [real(r8) (:,:) ] direct beam radiation (visible only) forc_solad => atm2lnd_inst%forc_solad_grc , & ! Input: [real(r8) (:,:) ] direct beam radiation (visible only) forc_t => atm2lnd_inst%forc_t_downscaled_col , & ! Input: [real(r8) (:) ] downscaled atmospheric temperature (Kelvin) forc_q => wateratm2lndbulk_inst%forc_q_downscaled_col , & ! Input: [real(r8) (:) ] downscaled atmospheric specific humidity (kg/kg) diff --git a/src/biogeophys/AerosolMod.F90 b/src/biogeophys/AerosolMod.F90 index bce2b6f9ab..f0e0c3fa88 100644 --- a/src/biogeophys/AerosolMod.F90 +++ b/src/biogeophys/AerosolMod.F90 @@ -15,7 +15,6 @@ module AerosolMod use WaterDiagnosticBulkType , only : waterdiagnosticbulk_type use ColumnType , only : col use abortutils , only : endrun - use CLM_varctl , only : snicar_use_aerosol ! ! !PUBLIC TYPES: implicit none @@ -807,32 +806,6 @@ subroutine AerosolFluxes(bounds, num_snowc, filter_snowc, & forc_aer(g,13) + forc_aer(g,14) end do - ! if turn off aerosol effect in snow, zero out deposition flux - if (.not. snicar_use_aerosol) then - do c = bounds%begc,bounds%endc - - flx_bc_dep_dry(c) = 0._r8 - flx_bc_dep_wet(c) = 0._r8 - flx_bc_dep_phi(c) = 0._r8 - flx_bc_dep_pho(c) = 0._r8 - flx_bc_dep(c) = 0._r8 - flx_oc_dep_dry(c) = 0._r8 - flx_oc_dep_wet(c) = 0._r8 - flx_oc_dep_phi(c) = 0._r8 - flx_oc_dep_pho(c) = 0._r8 - flx_oc_dep(c) = 0._r8 - flx_dst_dep_wet1(c) = 0._r8 - flx_dst_dep_dry1(c) = 0._r8 - flx_dst_dep_wet2(c) = 0._r8 - flx_dst_dep_dry2(c) = 0._r8 - flx_dst_dep_wet3(c) = 0._r8 - flx_dst_dep_dry3(c) = 0._r8 - flx_dst_dep_wet4(c) = 0._r8 - flx_dst_dep_dry4(c) = 0._r8 - flx_dst_dep(c) = 0._r8 - end do - end if - ! aerosol deposition fluxes into top layer ! This is done after the inter-layer fluxes so that some aerosol ! is in the top layer after deposition, and is not immediately diff --git a/src/biogeophys/BareGroundFluxesMod.F90 b/src/biogeophys/BareGroundFluxesMod.F90 index 7dfa83820d..645b908157 100644 --- a/src/biogeophys/BareGroundFluxesMod.F90 +++ b/src/biogeophys/BareGroundFluxesMod.F90 @@ -306,6 +306,10 @@ subroutine BareGroundFluxes(bounds, num_noexposedvegp, filter_noexposedvegp, & ulrad(p) = 0._r8 dhsdt_canopy(p) = 0._r8 eflx_sh_stem(p) = 0._r8 + z0mv(p) = 0._r8 + z0hv(p) = 0._r8 + z0qv(p) = 0._r8 + ur(p) = max(params_inst%wind_min,sqrt(forc_u(g)*forc_u(g)+forc_v(g)*forc_v(g))) dth(p) = thm(p)-t_grnd(c) diff --git a/src/biogeophys/SnowSnicarMod.F90 b/src/biogeophys/SnowSnicarMod.F90 index 9a95188232..77cc5b53d6 100644 --- a/src/biogeophys/SnowSnicarMod.F90 +++ b/src/biogeophys/SnowSnicarMod.F90 @@ -11,9 +11,7 @@ module SnowSnicarMod use shr_kind_mod , only : r8 => shr_kind_r8 use shr_sys_mod , only : shr_sys_flush use shr_log_mod , only : errMsg => shr_log_errMsg - use clm_varctl , only : iulog, snicar_numrad_snw, & - snicar_snw_shape, snicar_snobc_intmix, & - snicar_snodst_intmix, do_sno_oc + use clm_varctl , only : iulog use clm_varcon , only : tfrz use shr_const_mod , only : SHR_CONST_RHOICE use abortutils , only : endrun @@ -48,20 +46,21 @@ module SnowSnicarMod ! !PUBLIC DATA MEMBERS: integer, public, parameter :: sno_nbr_aer = 8 ! number of aerosol species in snowpack ! (indices described above) [nbr] + logical, public, parameter :: DO_SNO_OC = .false. ! parameter to include organic carbon (OC) + ! in snowpack radiative calculations logical, public, parameter :: DO_SNO_AER = .true. ! parameter to include aerosols in snowpack radiative calculations ! !PRIVATE DATA MEMBERS: - integer, parameter :: default_number_bands = 5 ! currently the only alternative is 480 bands - integer, parameter :: highest_default_band = 5 - integer, parameter :: sec_highest_default_band = 4 - integer, parameter :: high_number_bands = 480 + integer, parameter :: numrad_snw = 5 ! number of spectral bands used in snow model [nbr] + integer, parameter :: nir_bnd_bgn = 2 ! first band index in near-IR spectrum [idx] + integer, parameter :: nir_bnd_end = 5 ! ending near-IR band index [idx] integer, parameter :: idx_Mie_snw_mx = 1471 ! number of effective radius indices used in Mie lookup table [idx] - integer, parameter :: idx_T_max = 11 ! maximum temperature index used in aging lookup table [idx] + integer, parameter :: idx_T_max = 11 ! maxiumum temperature index used in aging lookup table [idx] integer, parameter :: idx_T_min = 1 ! minimum temperature index used in aging lookup table [idx] - integer, parameter :: idx_Tgrd_max = 31 ! maximum temperature gradient index used in aging lookup table [idx] + integer, parameter :: idx_Tgrd_max = 31 ! maxiumum temperature gradient index used in aging lookup table [idx] integer, parameter :: idx_Tgrd_min = 1 ! minimum temperature gradient index used in aging lookup table [idx] - integer, parameter :: idx_rhos_max = 8 ! maximum snow density index used in aging lookup table [idx] + integer, parameter :: idx_rhos_max = 8 ! maxiumum snow density index used in aging lookup table [idx] integer, parameter :: idx_rhos_min = 1 ! minimum snow density index used in aging lookup table [idx] integer, parameter :: snw_rds_max_tbl = 1500 ! maximum effective radius defined in Mie lookup table [microns] @@ -71,8 +70,10 @@ module SnowSnicarMod real(r8), parameter :: min_snw = 1.0E-30_r8 ! minimum snow mass required for SNICAR RT calculation [kg m-2] + !real(r8), parameter :: C1_liq_Brun89 = 1.28E-17_r8 ! constant for liquid water grain growth [m3 s-1], + ! from Brun89 real(r8), parameter :: C1_liq_Brun89 = 0._r8 ! constant for liquid water grain growth [m3 s-1], - ! from Brun89: zeroed to accomodate dry snow aging, was 1.28E-17_r8 + ! from Brun89: zeroed to accomodate dry snow aging real(r8), parameter :: tim_cns_bc_rmv = 2.2E-8_r8 ! time constant for removal of BC in snow on sea-ice ! [s-1] (50% mass removal/year) @@ -89,71 +90,66 @@ module SnowSnicarMod ! (idx_Mie_snw_mx is number of snow radii with defined parameters (i.e. from 30um to 1500um)) ! direct-beam weighted ice optical properties - real(r8), allocatable :: ss_alb_snw_drc(:,:) ! (idx_Mie_snw_mx, numrad_snw) - real(r8), allocatable :: asm_prm_snw_drc(:,:) - real(r8), allocatable :: ext_cff_mss_snw_drc(:,:) + real(r8) :: ss_alb_snw_drc(idx_Mie_snw_mx,numrad_snw) + real(r8) :: asm_prm_snw_drc(idx_Mie_snw_mx,numrad_snw) + real(r8) :: ext_cff_mss_snw_drc(idx_Mie_snw_mx,numrad_snw) ! diffuse radiation weighted ice optical properties - real(r8), allocatable :: ss_alb_snw_dfs(:,:) ! (idx_Mie_snw_mx, numrad_snw) - real(r8), allocatable :: asm_prm_snw_dfs(:,:) - real(r8), allocatable :: ext_cff_mss_snw_dfs(:,:) + real(r8) :: ss_alb_snw_dfs(idx_Mie_snw_mx,numrad_snw) + real(r8) :: asm_prm_snw_dfs(idx_Mie_snw_mx,numrad_snw) + real(r8) :: ext_cff_mss_snw_dfs(idx_Mie_snw_mx,numrad_snw) - ! hydrophilic BC - real(r8), allocatable :: ss_alb_bc_hphil(:) ! (numrad_snw) - real(r8), allocatable :: asm_prm_bc_hphil(:) - real(r8), allocatable :: ext_cff_mss_bc_hphil(:) + ! hydrophiliic BC + real(r8) :: ss_alb_bc1(numrad_snw) + real(r8) :: asm_prm_bc1(numrad_snw) + real(r8) :: ext_cff_mss_bc1(numrad_snw) ! hydrophobic BC - real(r8), allocatable :: ss_alb_bc_hphob(:) ! (numrad_snw) - real(r8), allocatable :: asm_prm_bc_hphob(:) - real(r8), allocatable :: ext_cff_mss_bc_hphob(:) - - ! hydrophilic OC - real(r8), allocatable :: ss_alb_oc_hphil(:) ! (numrad_snw) - real(r8), allocatable :: asm_prm_oc_hphil(:) - real(r8), allocatable :: ext_cff_mss_oc_hphil(:) + real(r8) :: ss_alb_bc2(numrad_snw) + real(r8) :: asm_prm_bc2(numrad_snw) + real(r8) :: ext_cff_mss_bc2(numrad_snw) ! hydrophobic OC - real(r8), allocatable :: ss_alb_oc_hphob(:) ! (numrad_snw) - real(r8), allocatable :: asm_prm_oc_hphob(:) - real(r8), allocatable :: ext_cff_mss_oc_hphob(:) + real(r8) :: ss_alb_oc1(numrad_snw) + real(r8) :: asm_prm_oc1(numrad_snw) + real(r8) :: ext_cff_mss_oc1(numrad_snw) + + ! hydrophilic OC + real(r8) :: ss_alb_oc2(numrad_snw) + real(r8) :: asm_prm_oc2(numrad_snw) + real(r8) :: ext_cff_mss_oc2(numrad_snw) ! dust species 1: - real(r8), allocatable :: ss_alb_dst1(:) ! (numrad_snw) - real(r8), allocatable :: asm_prm_dst1(:) - real(r8), allocatable :: ext_cff_mss_dst1(:) + real(r8) :: ss_alb_dst1(numrad_snw) + real(r8) :: asm_prm_dst1(numrad_snw) + real(r8) :: ext_cff_mss_dst1(numrad_snw) ! dust species 2: - real(r8), allocatable :: ss_alb_dst2(:) ! (numrad_snw) - real(r8), allocatable :: asm_prm_dst2(:) - real(r8), allocatable :: ext_cff_mss_dst2(:) + real(r8) :: ss_alb_dst2(numrad_snw) + real(r8) :: asm_prm_dst2(numrad_snw) + real(r8) :: ext_cff_mss_dst2(numrad_snw) ! dust species 3: - real(r8), allocatable :: ss_alb_dst3(:) ! (numrad_snw) - real(r8), allocatable :: asm_prm_dst3(:) - real(r8), allocatable :: ext_cff_mss_dst3(:) + real(r8) :: ss_alb_dst3(numrad_snw) + real(r8) :: asm_prm_dst3(numrad_snw) + real(r8) :: ext_cff_mss_dst3(numrad_snw) ! dust species 4: - real(r8), allocatable :: ss_alb_dst4(:) ! (numrad_snw) - real(r8), allocatable :: asm_prm_dst4(:) - real(r8), allocatable :: ext_cff_mss_dst4(:) - - ! downward solar radiation spectral weights for 5-band or 480-band - real(r8), allocatable :: flx_wgt_dir(:) ! (numrad_snw) ! direct - real(r8), allocatable :: flx_wgt_dif(:) ! (numrad_snw) ! diffuse + real(r8) :: ss_alb_dst4(numrad_snw) + real(r8) :: asm_prm_dst4(numrad_snw) + real(r8) :: ext_cff_mss_dst4(numrad_snw) ! best-fit parameters for snow aging defined over: ! 11 temperatures from 225 to 273 K ! 31 temperature gradients from 0 to 300 K/m ! 8 snow densities from 0 to 350 kg/m3 ! (arrays declared here, but are set in iniTimeConst) - real(r8), allocatable :: snowage_tau(:,:,:) ! (idx_rhos_max, idx_Tgrd_max, idx_T_max) - real(r8), allocatable :: snowage_kappa(:,:,:) - real(r8), allocatable :: snowage_drdt0(:,:,:) + real(r8), pointer :: snowage_tau(:,:,:) ! (idx_rhos_max,idx_Tgrd_max,idx_T_max) + real(r8), pointer :: snowage_kappa(:,:,:) ! (idx_rhos_max,idx_Tgrd_max,idx_T_max) + real(r8), pointer :: snowage_drdt0(:,:,:) ! idx_rhos_max,idx_Tgrd_max,idx_T_max) ! ! !REVISION HISTORY: - ! Created by Mark Flanner (Univ. of Michigan) - ! Updated by Cenlin He (NCAR) based on Flanner et al. 2021 GMD + ! Created by Mark Flanner character(len=*), parameter, private :: sourcefile = & __FILE__ @@ -186,7 +182,7 @@ subroutine readParams( ncid ) end subroutine readParams !----------------------------------------------------------------------- - subroutine SNICAR_RT (bounds, num_nourbanc, filter_nourbanc, & + subroutine SNICAR_RT (flg_snw_ice, bounds, num_nourbanc, filter_nourbanc, & coszen, flg_slr_in, h2osno_liq, h2osno_ice, h2osno_total, snw_rds, & mss_cnc_aer_in, albsfc, albout, flx_abs, waterdiagnosticbulk_inst) ! @@ -208,25 +204,13 @@ subroutine SNICAR_RT (bounds, num_nourbanc, filter_nourbanc, & ! Present-day climate forcing and response from black carbon in snow, ! J. Geophys. Res., 112, D11202, doi: 10.1029/2006JD008003 ! - ! Updated radiative transfer solver: - ! - ! The multi-layer solution for multiple-scattering used here is from: - ! Briegleb, P. and Light, B.: A Delta-Eddington mutiple scattering - ! parameterization for solar radiation in the sea ice component of the - ! community climate system model, 2007. - ! - ! The implementation of the SNICAR-AD model in CLM is described in: - ! Dang et al.2019, Inter-comparison and improvement of 2-stream shortwave - ! radiative transfer models for unified treatment of cryospheric surfaces - ! in ESMs; and Flanner et al. 2021, SNICAR-ADv3: a community tool for modeling - ! spectral snow albedo - ! ! !USES: - use clm_varpar , only : nlevsno, numrad, ivis, inir + use clm_varpar , only : nlevsno, numrad use clm_time_manager , only : get_nstep use shr_const_mod , only : SHR_CONST_PI ! ! !ARGUMENTS: + integer , intent(in) :: flg_snw_ice ! flag: =1 when called from CLM, =2 when called from CSIM type (bounds_type), intent(in) :: bounds integer , intent(in) :: num_nourbanc ! number of columns in non-urban filter integer , intent(in) :: filter_nourbanc(:) ! column filter for non-urban points @@ -245,19 +229,17 @@ subroutine SNICAR_RT (bounds, num_nourbanc, filter_nourbanc, & ! !LOCAL VARIABLES: ! ! variables for snow radiative transfer calculations - integer :: nir_bnd_bgn ! first band index in near-IR spectrum [idx] - integer :: nir_bnd_end ! ending near-IR band index [idx] ! Local variables representing single-column values of arrays: integer :: snl_lcl ! negative number of snow layers [nbr] integer :: snw_rds_lcl(-nlevsno+1:0) ! snow effective radius [m^-6] - real(r8):: flx_slrd_lcl(1:snicar_numrad_snw) ! direct beam incident irradiance [W/m2] (set to 1) - real(r8):: flx_slri_lcl(1:snicar_numrad_snw) ! diffuse incident irradiance [W/m2] (set to 1) + real(r8):: flx_slrd_lcl(1:numrad_snw) ! direct beam incident irradiance [W/m2] (set to 1) + real(r8):: flx_slri_lcl(1:numrad_snw) ! diffuse incident irradiance [W/m2] (set to 1) real(r8):: mss_cnc_aer_lcl(-nlevsno+1:0,1:sno_nbr_aer) ! aerosol mass concentration (lyr,aer_nbr) [kg/kg] real(r8):: h2osno_lcl ! total column snow mass [kg/m2] real(r8):: h2osno_liq_lcl(-nlevsno+1:0) ! liquid water mass [kg/m2] real(r8):: h2osno_ice_lcl(-nlevsno+1:0) ! ice mass [kg/m2] - real(r8):: albsfc_lcl(1:snicar_numrad_snw) ! albedo of underlying surface [frc] + real(r8):: albsfc_lcl(1:numrad_snw) ! albedo of underlying surface [frc] real(r8):: ss_alb_snw_lcl(-nlevsno+1:0) ! single-scatter albedo of ice grains (lyr) [frc] real(r8):: asm_prm_snw_lcl(-nlevsno+1:0) ! asymmetry parameter of ice grains (lyr) [frc] real(r8):: ext_cff_mss_snw_lcl(-nlevsno+1:0) ! mass extinction coefficient of ice grains (lyr) [m2/kg] @@ -265,21 +247,25 @@ subroutine SNICAR_RT (bounds, num_nourbanc, filter_nourbanc, & real(r8):: asm_prm_aer_lcl(sno_nbr_aer) ! asymmetry parameter of aerosol species (aer_nbr) [frc] real(r8):: ext_cff_mss_aer_lcl(sno_nbr_aer) ! mass extinction coefficient of aerosol species (aer_nbr) [m2/kg] + ! Other local variables integer :: APRX_TYP ! two-stream approximation type ! (1=Eddington, 2=Quadrature, 3=Hemispheric Mean) [nbr] integer :: DELTA ! flag to use Delta approximation (Joseph, 1976) ! (1= use, 0= don't use) - real(r8):: flx_wgt(1:snicar_numrad_snw) ! weights applied to spectral bands, - ! specific to direct and diffuse cases (bnd) [frc] + real(r8):: flx_wgt(1:numrad_snw) ! weights applied to spectral bands, + ! specific to direct and diffuse cases (bnd) [frc] + integer :: flg_nosnl ! flag: =1 if there is snow, but zero snow layers, ! =0 if at least 1 snow layer [flg] integer :: trip ! flag: =1 to redo RT calculation if result is unrealistic integer :: flg_dover ! defines conditions for RT redo (explained below) + real(r8):: albedo ! temporary snow albedo [frc] real(r8):: flx_sum ! temporary summation variable for NIR weighting - real(r8):: albout_lcl(snicar_numrad_snw) ! snow albedo by band [frc] - real(r8):: flx_abs_lcl(-nlevsno+1:1,snicar_numrad_snw)! absorbed flux per unit incident flux at top of snowpack (lyr,bnd) [frc] + real(r8):: albout_lcl(numrad_snw) ! snow albedo by band [frc] + real(r8):: flx_abs_lcl(-nlevsno+1:1,numrad_snw)! absorbed flux per unit incident flux at top of snowpack (lyr,bnd) [frc] + real(r8):: L_snw(-nlevsno+1:0) ! h2o mass (liquid+solid) in snow layer (lyr) [kg/m2] real(r8):: tau_snw(-nlevsno+1:0) ! snow optical depth (lyr) [unitless] real(r8):: L_aer(-nlevsno+1:0,sno_nbr_aer) ! aerosol mass in snow layer (lyr,nbr_aer) [kg/m2] @@ -288,6 +274,7 @@ subroutine SNICAR_RT (bounds, num_nourbanc, filter_nourbanc, & real(r8):: tau_clm(-nlevsno+1:0) ! column optical depth from layer bottom to snowpack top (lyr) [unitless] real(r8):: omega_sum ! temporary summation of single-scatter albedo of all aerosols [frc] real(r8):: g_sum ! temporary summation of asymmetry parameter of all aerosols [frc] + real(r8):: tau(-nlevsno+1:0) ! weighted optical depth of snow+aerosol layer (lyr) [unitless] real(r8):: omega(-nlevsno+1:0) ! weighted single-scatter albedo of snow+aerosol layer (lyr) [frc] real(r8):: g(-nlevsno+1:0) ! weighted asymmetry parameter of snow+aerosol layer (lyr) [frc] @@ -296,9 +283,10 @@ subroutine SNICAR_RT (bounds, num_nourbanc, filter_nourbanc, & real(r8):: omega_star(-nlevsno+1:0) ! transformed (i.e. Delta-Eddington) SSA of snow+aerosol layer (lyr) [frc] real(r8):: g_star(-nlevsno+1:0) ! transformed (i.e. Delta-Eddington) asymmetry paramater of snow+aerosol layer ! (lyr) [frc] + integer :: nstep ! current timestep [nbr] (debugging only) integer :: g_idx, c_idx, l_idx ! gridcell, column, and landunit indices [idx] - integer :: bnd_idx ! spectral band index (1 <= bnd_idx <= snicar_numrad_snw) [idx] + integer :: bnd_idx ! spectral band index (1 <= bnd_idx <= numrad_snw) [idx] integer :: rds_idx ! snow effective radius index for retrieving ! Mie parameters from lookup table [idx] integer :: snl_btm ! index of bottom snow layer (0) [idx] @@ -307,7 +295,8 @@ subroutine SNICAR_RT (bounds, num_nourbanc, filter_nourbanc, & integer :: i ! layer index [idx] integer :: j ! aerosol number index [idx] integer :: n ! tridiagonal matrix index [idx] - integer :: m ! secondary layer index [idx] + integer :: m ! secondary layer index [idx] + real(r8):: F_direct(-nlevsno+1:0) ! direct-beam radiation at bottom of layer interface (lyr) [W/m^2] real(r8):: F_net(-nlevsno+1:0) ! net radiative flux at bottom of layer interface (lyr) [W/m^2] real(r8):: F_abs(-nlevsno+1:0) ! net absorbed radiative energy (lyr) [W/m^2] @@ -318,14 +307,13 @@ subroutine SNICAR_RT (bounds, num_nourbanc, filter_nourbanc, & real(r8):: energy_sum ! sum of all energy terms; should be 0.0 [W/m^2] real(r8):: F_direct_btm ! direct-beam radiation at bottom of snowpack [W/m^2] real(r8):: mu_not ! cosine of solar zenith angle (used locally) [frc] + integer :: err_idx ! counter for number of times through error loop [nbr] real(r8):: lat_coord ! gridcell latitude (debugging only) real(r8):: lon_coord ! gridcell longitude (debugging only) integer :: sfctype ! underlying surface type (debugging only) real(r8):: pi ! 3.1415... - !----------------------------------------------------------------------- - ! variables used for Toon et al. 1989 2-stream solver (Flanner et al. 2007): ! intermediate variables for radiative transfer approximation: real(r8):: gamma1(-nlevsno+1:0) ! two-stream coefficient from Toon et al. (lyr) [unitless] real(r8):: gamma2(-nlevsno+1:0) ! two-stream coefficient from Toon et al. (lyr) [unitless] @@ -350,252 +338,6 @@ subroutine SNICAR_RT (bounds, num_nourbanc, filter_nourbanc, & real(r8):: DS(-2*nlevsno+1:0) ! tri-diag intermediate variable from Toon et al. (2*lyr) real(r8):: X(-2*nlevsno+1:0) ! tri-diag intermediate variable from Toon et al. (2*lyr) real(r8):: Y(-2*nlevsno+1:0) ! tri-diag intermediate variable from Toon et al. (2*lyr) - - !----------------------------------------------------------------------- - ! variables used for Adding-doubling 2-stream solver based on SNICAR-ADv3 version - ! (Dang et al. 2019; Flanner et al. 2021) - real(r8):: trndir(-nlevsno+1:1) ! solar beam down transmission from top - real(r8):: trntdr(-nlevsno+1:1) ! total transmission to direct beam for layers above - real(r8):: trndif(-nlevsno+1:1) ! diffuse transmission to diffuse beam for layers above - real(r8):: rupdir(-nlevsno+1:1) ! reflectivity to direct radiation for layers below - real(r8):: rupdif(-nlevsno+1:1) ! reflectivity to diffuse radiation for layers below - real(r8):: rdndif(-nlevsno+1:1) ! reflectivity to diffuse radiation for layers above - real(r8):: dfdir(-nlevsno+1:1) ! down-up flux at interface due to direct beam at top surface - real(r8):: dfdif(-nlevsno+1:1) ! down-up flux at interface due to diffuse beam at top surface - real(r8):: dftmp(-nlevsno+1:1) ! temporary variable for down-up flux at interface - real(r8):: rdir(-nlevsno+1:0) ! layer reflectivity to direct radiation - real(r8):: rdif_a(-nlevsno+1:0) ! layer reflectivity to diffuse radiation from above - real(r8):: rdif_b(-nlevsno+1:0) ! layer reflectivity to diffuse radiation from below - real(r8):: tdir(-nlevsno+1:0) ! layer transmission to direct radiation (solar beam + diffuse) - real(r8):: tdif_a(-nlevsno+1:0) ! layer transmission to diffuse radiation from above - real(r8):: tdif_b(-nlevsno+1:0) ! layer transmission to diffuse radiation from below - real(r8):: trnlay(-nlevsno+1:0) ! solar beam transm for layer (direct beam only) - real(r8):: ts ! layer delta-scaled extinction optical depth - real(r8):: ws ! layer delta-scaled single scattering albedo - real(r8):: gs ! layer delta-scaled asymmetry parameter - real(r8):: extins ! extinction - real(r8):: alp ! temporary for alpha - real(r8):: gam ! temporary for agamm - real(r8):: amg ! alp - gam - real(r8):: apg ! alp + gam - real(r8):: ue ! temporary for u - real(r8):: refk ! interface multiple scattering - real(r8):: refkp1 ! interface multiple scattering for k+1 - real(r8):: refkm1 ! interface multiple scattering for k-1 - real(r8):: tdrrdir ! direct tran times layer direct ref - real(r8):: tdndif ! total down diffuse = tot tran - direct tran - real(r8):: taus ! scaled extinction optical depth - real(r8):: omgs ! scaled single particle scattering albedo - real(r8):: asys ! scaled asymmetry parameter - real(r8):: lm ! temporary for el - real(r8):: mu ! cosine solar zenith for either snow or water - real(r8):: ne ! temporary for n - real(r8):: R1 ! perpendicular polarization reflection amplitude - real(r8):: R2 ! parallel polarization reflection amplitude - real(r8):: T1 ! perpendicular polarization transmission amplitude - real(r8):: T2 ! parallel polarization transmission amplitude - real(r8):: Rf_dir_a ! fresnel reflection to direct radiation - real(r8):: Tf_dir_a ! fresnel transmission to direct radiation - real(r8):: Rf_dif_a ! fresnel reflection to diff radiation from above - real(r8):: Rf_dif_b ! fresnel reflection to diff radiation from below - real(r8):: Tf_dif_a ! fresnel transmission to diff radiation from above - real(r8):: Tf_dif_b ! fresnel transmission to diff radiation from below - real(r8):: gwt ! gaussian weight - real(r8):: swt ! sum of weights - real(r8):: trn ! layer transmission - real(r8):: rdr ! rdir for gaussian integration - real(r8):: tdr ! tdir for gaussian integration - real(r8):: smr ! accumulator for rdif gaussian integration - real(r8):: smt ! accumulator for tdif gaussian integration - real(r8):: exp_min ! minimum exponential value - - integer :: ng ! gaussian integration index - integer, parameter :: ngmax = 8 ! max gaussian integration index - real(r8), parameter :: difgauspt(ngmax) = & ! Gaussian integration angles (radians) - (/ 0.9894009_r8, 0.9445750_r8, & - 0.8656312_r8, 0.7554044_r8, & - 0.6178762_r8, 0.4580168_r8, & - 0.2816036_r8, 0.0950125_r8/) - real(r8), parameter :: difgauswt(ngmax) = & ! Gaussian integration coefficients/weights - (/ 0.0271525_r8, 0.0622535_r8, & - 0.0951585_r8, 0.1246290_r8, & - 0.1495960_r8, 0.1691565_r8, & - 0.1826034_r8, 0.1894506_r8/) - - integer :: snl_btm_itf ! index of bottom snow layer interfaces (1) [idx] - ! constants used in algorithm - real(r8), parameter :: c0 = 0.0_r8 - real(r8), parameter :: c1 = 1.0_r8 - real(r8), parameter :: c3 = 3.0_r8 - real(r8), parameter :: c4 = 4.0_r8 - real(r8), parameter :: c6 = 6.0_r8 - real(r8), parameter :: cp01 = 0.01_r8 - real(r8), parameter :: cp5 = 0.5_r8 - real(r8), parameter :: cp75 = 0.75_r8 - real(r8), parameter :: c1p5 = 1.5_r8 - real(r8), parameter :: trmin = 0.001_r8 - real(r8), parameter :: argmax = 10.0_r8 ! maximum argument of exponential - ! constants and coefficients used for SZA parameterization - real(r8), parameter :: sza_a0 = 0.085730_r8 - real(r8), parameter :: sza_a1 = -0.630883_r8 - real(r8), parameter :: sza_a2 = 1.303723_r8 - real(r8), parameter :: sza_b0 = 1.467291_r8 - real(r8), parameter :: sza_b1 = -3.338043_r8 - real(r8), parameter :: sza_b2 = 6.807489_r8 - real(r8), parameter :: puny = 1.0e-11_r8 - real(r8), parameter :: mu_75 = 0.2588_r8 ! cosine of 75 degree - real(r8):: sza_c1 ! coefficient, SZA parameteirzation - real(r8):: sza_c0 ! coefficient, SZA parameterization - real(r8):: sza_factor ! factor used to adjust NIR direct albedo - real(r8):: flx_sza_adjust ! direct NIR flux adjustment from sza_factor - real(r8):: mu0 ! incident solar zenith angle - - !----------------------------------------------------------------------- - ! variables used for nonspherical snow grain treatment (He et al. 2017 J of Climate): - character(len=15) :: sno_shp(-nlevsno+1:0) ! Snow shape type: sphere, spheroid, hexagonal plate, koch snowflake - ! currently only assuming same shapes for all snow layers - real(r8) :: sno_fs(-nlevsno+1:0) ! Snow shape factor: ratio of nonspherical grain effective radii to that of equal-volume sphere - ! only activated when snicar_snw_shape is nonspherical - ! 0=use recommended default value (He et al. 2017); - ! others(01.2um, no BC-snow int mixing effect) - real(r8), parameter :: bcint_wvl(sixteen_bands+1) = & ! Parameterization band (0.2-1.2um) for BC-induced enhancement in snow 1-omega - (/ 0.20_r8, 0.25_r8, 0.30_r8, 0.33_r8, 0.36_r8, 0.40_r8, 0.44_r8, 0.48_r8, & - 0.52_r8, 0.57_r8, 0.64_r8, 0.69_r8, 0.75_r8, 0.78_r8, 0.87_r8, 1._r8, 1.2_r8 /) - real(r8), parameter :: bcint_d0(sixteen_bands) = & ! Parameterization coefficients at each band center wavelength - (/ 2.48045_r8 , 4.70305_r8 , 4.68619_r8 , 4.67369_r8 , 4.65040_r8 , & - 2.40364_r8 , 7.95408E-1_r8, 2.92745E-1_r8, 8.63396E-2_r8, 2.76299E-2_r8, & - 1.40864E-2_r8, 8.65705E-3_r8, 6.12971E-3_r8, 4.45697E-3_r8, 3.06648E-2_r8, & - 7.96544E-1_r8 /) - real(r8), parameter :: bcint_d1(sixteen_bands) = & ! Parameterization coefficients at each band center wavelength - (/ 9.77209E-1_r8, 9.73317E-1_r8, 9.79650E-1_r8, 9.84579E-1_r8, 9.93537E-1_r8, & - 9.95955E-1_r8, 9.95218E-1_r8, 9.74284E-1_r8, 9.81193E-1_r8, 9.81239E-1_r8, & - 9.55515E-1_r8, 9.10491E-1_r8, 8.74196E-1_r8, 8.27238E-1_r8, 4.82870E-1_r8, & - 4.36649E-2_r8 /) - real(r8), parameter :: bcint_d2(sixteen_bands) = & ! Parameterization coefficients at each band center wavelength - (/ 3.95960E-1_r8, 2.04820E-1_r8, 2.07410E-1_r8, 2.09390E-1_r8, 2.13030E-1_r8, & - 4.18570E-1_r8, 1.29682_r8 , 3.75514_r8 , 1.27372E+1_r8, 3.93293E+1_r8, & - 8.78918E+1_r8, 1.86969E+2_r8, 3.45600E+2_r8, 7.08637E+2_r8, 1.41067E+3_r8, & - 2.57288E+2_r8 /) - real(r8), parameter :: den_bc = 1.7_r8 ! BC particle density (g/cm3) - real(r8), parameter :: den_bc_target = 1.49_r8 ! target BC particle density (g/cm3) used in BC MAC adjustment - real(r8), parameter :: Re_bc = 0.045_r8 ! target BC effective radius (um) used in BC MAC adjustment - real(r8), parameter :: radius_1 = 0.1_r8 ! used with Re_bc (um) - real(r8), parameter :: radius_2 = 0.05_r8 ! used with Re_bc (um) - ! Eq. 1a,1b and Table S1 in He et al. 2018 GRL - ! Parameterization coefficients for BC size adjustment in BC-snow int mix - integer, parameter :: three_bands = 3 - real(r8), parameter :: bcint_m(three_bands) = (/ -0.8724_r8, -0.1866_r8, -0.0046_r8 /) - real(r8), parameter :: bcint_n(three_bands) = (/ -0.0072_r8, -0.1918_r8, -0.5177_r8 /) - - real(r8) :: bcint_m_tmp ! temporary of bcint_m - real(r8) :: bcint_n_tmp ! temporary of bcint_n - real(r8) :: bcint_dd ! intermediate parameter - real(r8) :: bcint_dd2 ! intermediate parameter - real(r8) :: bcint_f ! intermediate parameter - real(r8) :: enh_omg_bcint_intp ! BC-induced enhancement in snow 1-omega (logscale) interpolated to CLM wavelength - real(r8) :: enh_omg_bcint_intp2 ! BC-induced enhancement in snow 1-omega interpolated to CLM wavelength - real(r8) :: wvl_doint ! wavelength doing BC-snow int mixing (<=1.2um) - integer :: ibb ! loop index - - !----------------------------------------------------------------------- - ! variables used for dust-snow internal mixing (He et al. 2019 JAMES): - real(r8) :: enh_omg_dstint ! dust-induced enhancement in snow single-scattering co-albedo (1-omega) - integer, parameter :: size_bins = 6 - real(r8) :: enh_omg_dstint_tmp(size_bins) ! temporary dust-induced enhancement in snow 1-omega - real(r8) :: enh_omg_dstint_tmp2(size_bins) ! temporary dust-induced enhancement in snow 1-omega - real(r8) :: dstint_wvl_ct(size_bins) ! Parameterization band center wavelength (um) - ! initialize for dust-snow internal mixing - ! Eq. 1 and Table 1 in He et al. 2019 JAMES (wavelength>1.2um, no dust-snow int mixing effect) - real(r8), parameter :: dstint_wvl(size_bins+1) = & ! Parameterization band (0.2-1.2um) for dust-induced enhancement in snow 1-omega - (/ 0.2_r8, 0.2632_r8, 0.3448_r8, 0.4415_r8, 0.625_r8, 0.7782_r8, 1.2422_r8/) - real(r8), parameter :: dstint_a1(size_bins) = & ! Parameterization coefficients at each band center wavelength - (/ -2.1307E+1_r8, -1.5815E+1_r8, -9.2880_r8 , 1.1115_r8 , 1.0307_r8 , 1.0185_r8 /) - real(r8), parameter :: dstint_a2(size_bins) = & ! Parameterization coefficients at each band center wavelength - (/ 1.1746E+2_r8, 9.3241E+1_r8, 4.0605E+1_r8, 3.7389E-1_r8, 1.4800E-2_r8, 2.8921E-4_r8 /) - real(r8), parameter :: dstint_a3(size_bins) = & ! Parameterization coefficients at each band center wavelength - (/ 9.9701E-1_r8, 9.9781E-1_r8, 9.9848E-1_r8, 1.0035_r8 , 1.0024_r8 , 1.0356_r8 /) - - real(r8) :: enh_omg_dstint_intp ! dust-induced enhancement in snow 1-omega (logscale) interpolated to CLM wavelength - real(r8) :: enh_omg_dstint_intp2 ! dust-induced enhancement in snow 1-omega interpolated to CLM wavelength - real(r8) :: tot_dst_snw_conc ! total dust content in snow across all size bins (ppm=ug/g) - integer :: idb ! loop index - - real(r8), parameter :: enh_omg_max = 1.e5_r8 ! reasonable maximum value for enh_omg_[bc,dst]int_intp2 - - ! unit conversions - real(r8), parameter :: kg_kg_to_ppm = 1.e6_r8 ! kg/kg to ppm - real(r8), parameter :: kg_to_ug = 1.e9_r8 ! kg to micrograms - - character(len=*), parameter :: subname = 'SNICAR_RT' !----------------------------------------------------------------------- ! Enforce expected array sizes @@ -611,36 +353,10 @@ subroutine SNICAR_RT (bounds, num_nourbanc, filter_nourbanc, & associate(& snl => col%snl , & ! Input: [integer (:)] negative number of snow layers (col) [nbr] + frac_sno => waterdiagnosticbulk_inst%frac_sno_eff_col & ! Input: [real(r8) (:)] fraction of ground covered by snow (0 to 1) ) - ! initialize parameter and - ! SNICAR/CLM snow band center wavelength (um) - allocate(wvl_ct(snicar_numrad_snw)) - select case (snicar_numrad_snw) - case (default_number_bands) - nir_bnd_bgn = 2 - wvl_ct(:) = (/ 0.5_r8, 0.85_r8, 1.1_r8, 1.35_r8, 3.25_r8 /) ! 5-band - case (high_number_bands) - nir_bnd_bgn = 51 - do igb = 1, snicar_numrad_snw - wvl_ct(igb) = 0.205_r8 + 0.01_r8 * (igb - 1._r8) ! 480-band - enddo - case default - write(iulog,*) subname//' ERROR: unknown snicar_numrad_snw value: ', snicar_numrad_snw - call endrun(msg=errMsg(sourcefile, __LINE__)) - end select - nir_bnd_end = snicar_numrad_snw - - ! initialize for nonspherical snow grains - sno_shp(:) = snicar_snw_shape ! currently only assuming same shapes for all snow layers - sno_fs(:) = 0._r8 - sno_AR(:) = 0._r8 - - g_wvl_ct(1:seven_bands) = g_wvl(2:seven_bands+1) * 0.5_r8 + g_wvl(1:seven_bands) * 0.5_r8 - dstint_wvl_ct(1:size_bins) = dstint_wvl(2:size_bins+1) * 0.5_r8 + dstint_wvl(1:size_bins) * 0.5_r8 - bcint_wvl_ct(1:sixteen_bands) = bcint_wvl(2:sixteen_bands+1) * 0.5_r8 + bcint_wvl(1:sixteen_bands) * 0.5_r8 - ! Define constants pi = SHR_CONST_PI @@ -651,17 +367,24 @@ subroutine SNICAR_RT (bounds, num_nourbanc, filter_nourbanc, & nstep = get_nstep() ! Loop over all non-urban columns + ! (when called from CSIM, there is only one column) do fc = 1,num_nourbanc c_idx = filter_nourbanc(fc) + ! Zero absorbed radiative fluxes: do i=-nlevsno+1,1,1 - flx_abs_lcl(i,:) = 0._r8 + flx_abs_lcl(:,:) = 0._r8 flx_abs(c_idx,i,:) = 0._r8 enddo ! set snow/ice mass to be used for RT: - h2osno_lcl = h2osno_total(c_idx) + if (flg_snw_ice == 1) then + h2osno_lcl = h2osno_total(c_idx) + else + h2osno_lcl = h2osno_ice(c_idx,0) + endif + ! Qualifier for computing snow RT: ! 1) sunlight from atmosphere model @@ -670,32 +393,47 @@ subroutine SNICAR_RT (bounds, num_nourbanc, filter_nourbanc, & if ((coszen(c_idx) > 0._r8) .and. (h2osno_lcl > min_snw)) then ! Set variables specific to CLM - ! If there is snow, but zero snow layers, we must create a layer locally. - ! This layer is presumed to have the fresh snow effective radius. - if (snl(c_idx) > -1) then - flg_nosnl = 1 - snl_lcl = -1 - h2osno_ice_lcl(0) = h2osno_lcl - h2osno_liq_lcl(0) = 0._r8 - snw_rds_lcl(0) = snw_rds_min_int - else - flg_nosnl = 0 - snl_lcl = snl(c_idx) - h2osno_liq_lcl(:) = h2osno_liq(c_idx,:) - h2osno_ice_lcl(:) = h2osno_ice(c_idx,:) - snw_rds_lcl(:) = snw_rds(c_idx,:) - endif + if (flg_snw_ice == 1) then + ! If there is snow, but zero snow layers, we must create a layer locally. + ! This layer is presumed to have the fresh snow effective radius. + if (snl(c_idx) > -1) then + flg_nosnl = 1 + snl_lcl = -1 + h2osno_ice_lcl(0) = h2osno_lcl + h2osno_liq_lcl(0) = 0._r8 + snw_rds_lcl(0) = snw_rds_min_int + else + flg_nosnl = 0 + snl_lcl = snl(c_idx) + h2osno_liq_lcl(:) = h2osno_liq(c_idx,:) + h2osno_ice_lcl(:) = h2osno_ice(c_idx,:) + snw_rds_lcl(:) = snw_rds(c_idx,:) + endif + + snl_btm = 0 + snl_top = snl_lcl+1 - snl_btm = 0 - snl_top = snl_lcl+1 + ! for debugging only + l_idx = col%landunit(c_idx) + g_idx = col%gridcell(c_idx) + sfctype = lun%itype(l_idx) + lat_coord = grc%latdeg(g_idx) + lon_coord = grc%londeg(g_idx) - ! for debugging only - l_idx = col%landunit(c_idx) - g_idx = col%gridcell(c_idx) - sfctype = lun%itype(l_idx) - lat_coord = grc%latdeg(g_idx) - lon_coord = grc%londeg(g_idx) + ! Set variables specific to CSIM + else + flg_nosnl = 0 + snl_lcl = -1 + h2osno_liq_lcl(:) = h2osno_liq(c_idx,:) + h2osno_ice_lcl(:) = h2osno_ice(c_idx,:) + snw_rds_lcl(:) = snw_rds(c_idx,:) + snl_btm = 0 + snl_top = 0 + sfctype = -1 + lat_coord = -90 + lon_coord = 0 + endif ! Set local aerosol array do j=1,sno_nbr_aer @@ -704,15 +442,16 @@ subroutine SNICAR_RT (bounds, num_nourbanc, filter_nourbanc, & ! Set spectral underlying surface albedos to their corresponding VIS or NIR albedos - albsfc_lcl(1:(nir_bnd_bgn-1)) = albsfc(c_idx,ivis) - albsfc_lcl(nir_bnd_bgn:nir_bnd_end) = albsfc(c_idx,inir) - + albsfc_lcl(1) = albsfc(c_idx,1) + albsfc_lcl(nir_bnd_bgn:nir_bnd_end) = albsfc(c_idx,2) + ! Error check for snow grain size: do i=snl_top,snl_btm,1 if ((snw_rds_lcl(i) < snw_rds_min_tbl) .or. (snw_rds_lcl(i) > snw_rds_max_tbl)) then write (iulog,*) "SNICAR ERROR: snow grain radius of ", snw_rds_lcl(i), " out of bounds." write (iulog,*) "NSTEP= ", nstep + write (iulog,*) "flg_snw_ice= ", flg_snw_ice write (iulog,*) "column: ", c_idx, " level: ", i, " snl(c)= ", snl_lcl write (iulog,*) "lat= ", lat_coord, " lon= ", lon_coord write (iulog,*) "h2osno_total(c)= ", h2osno_lcl @@ -720,7 +459,6 @@ subroutine SNICAR_RT (bounds, num_nourbanc, filter_nourbanc, & endif enddo - ! Incident flux weighting parameters ! - sum of all VIS bands must equal 1 ! - sum of all NIR bands must equal 1 @@ -732,37 +470,102 @@ subroutine SNICAR_RT (bounds, num_nourbanc, filter_nourbanc, & ! Band 4: 1.2-1.5um (NIR) ! Band 5: 1.5-5.0um (NIR) ! - ! Hyperspectral (10-nm) bands (480-band case) - ! Bands 1~50 : 0.2-0.7um (VIS) - ! Bands 51~480: 0.7~5.0um (NIR) - ! ! The following weights are appropriate for surface-incident flux in a mid-latitude winter atmosphere ! -! ! works for both 5-band & 480-band, flux weights directly read from input data - ! Direct: - if (flg_slr_in == 1) then - flx_wgt(1:snicar_numrad_snw) = flx_wgt_dir(1:snicar_numrad_snw) ! VIS or NIR band sum is already normalized to 1.0 in input data - ! Diffuse: - elseif (flg_slr_in == 2) then - flx_wgt(1:snicar_numrad_snw) = flx_wgt_dif(1:snicar_numrad_snw) ! VIS or NIR band sum is already normalized to 1.0 in input data - endif + ! 3-band weights + if (numrad_snw==3) then + ! Direct: + if (flg_slr_in == 1) then + flx_wgt(1) = 1._r8 + flx_wgt(2) = 0.66628670195247_r8 + flx_wgt(3) = 0.33371329804753_r8 + ! Diffuse: + elseif (flg_slr_in == 2) then + flx_wgt(1) = 1._r8 + flx_wgt(2) = 0.77887652162877_r8 + flx_wgt(3) = 0.22112347837123_r8 + endif - exp_min = exp(-argmax) + ! 5-band weights + elseif(numrad_snw==5) then + ! Direct: + if (flg_slr_in == 1) then + flx_wgt(1) = 1._r8 + flx_wgt(2) = 0.49352158521175_r8 + flx_wgt(3) = 0.18099494230665_r8 + flx_wgt(4) = 0.12094898498813_r8 + flx_wgt(5) = 0.20453448749347_r8 + ! Diffuse: + elseif (flg_slr_in == 2) then + flx_wgt(1) = 1._r8 + flx_wgt(2) = 0.58581507618433_r8 + flx_wgt(3) = 0.20156903770812_r8 + flx_wgt(4) = 0.10917889346386_r8 + flx_wgt(5) = 0.10343699264369_r8 + endif + endif ! Loop over snow spectral bands - do bnd_idx = 1,snicar_numrad_snw - ! flg_dover is not used since this algorithm is stable for mu_not > 0.01 - ! mu_not is cosine solar zenith angle above the fresnel level; make - ! sure mu_not is large enough for stable and meaningful radiation - ! solution: .01 is like sun just touching horizon with its lower edge - ! equivalent to mu0 in sea-ice shortwave model ice_shortwave.F90 - mu_not = max(coszen(c_idx), cp01) + do bnd_idx = 1,numrad_snw - flg_dover = 1 ! default is to redo - err_idx = 0 ! number of times through loop + mu_not = coszen(c_idx) ! must set here, because of error handling + flg_dover = 1 ! default is to redo + err_idx = 0 ! number of times through loop do while (flg_dover > 0) + ! DEFAULT APPROXIMATIONS: + ! VIS: Delta-Eddington + ! NIR (all): Delta-Hemispheric Mean + ! WARNING: DO NOT USE DELTA-EDDINGTON FOR NIR DIFFUSE - this sometimes results in negative albedo + ! + ! ERROR CONDITIONS: + ! Conditions which cause "trip", resulting in redo of RT approximation: + ! 1. negative absorbed flux + ! 2. total absorbed flux greater than incident flux + ! 3. negative albedo + ! NOTE: These errors have only been encountered in spectral bands 4 and 5 + ! + ! ERROR HANDLING + ! 1st error (flg_dover=2): switch approximation (Edd->HM or HM->Edd) + ! 2nd error (flg_dover=3): change zenith angle by 0.02 (this happens about 1 in 10^6 cases) + ! 3rd error (flg_dover=4): switch approximation with new zenith + ! Subsequent errors: repeatedly change zenith and approximations... + + if (bnd_idx == 1) then + if (flg_dover == 2) then + APRX_TYP = 3 + elseif (flg_dover == 3) then + APRX_TYP = 1 + if (coszen(c_idx) > 0.5_r8) then + mu_not = mu_not - 0.02_r8 + else + mu_not = mu_not + 0.02_r8 + endif + elseif (flg_dover == 4) then + APRX_TYP = 3 + else + APRX_TYP = 1 + endif + + else + if (flg_dover == 2) then + APRX_TYP = 1 + elseif (flg_dover == 3) then + APRX_TYP = 3 + if (coszen(c_idx) > 0.5_r8) then + mu_not = mu_not - 0.02_r8 + else + mu_not = mu_not + 0.02_r8 + endif + elseif (flg_dover == 4) then + APRX_TYP = 1 + else + APRX_TYP = 3 + endif + + endif + ! Set direct or diffuse incident irradiance to 1 ! (This has to be within the bnd loop because mu_not is adjusted in rare cases) if (flg_slr_in == 1) then @@ -775,238 +578,81 @@ subroutine SNICAR_RT (bounds, num_nourbanc, filter_nourbanc, & ! Pre-emptive error handling: aerosols can reap havoc on these absorptive bands. ! Since extremely high soot concentrations have a negligible effect on these bands, zero them. - if (snicar_numrad_snw == default_number_bands .and. (bnd_idx == highest_default_band .or. bnd_idx == sec_highest_default_band)) then + if ( (numrad_snw == 5).and.((bnd_idx == 5).or.(bnd_idx == 4)) ) then mss_cnc_aer_lcl(:,:) = 0._r8 endif - if ( (snicar_numrad_snw == high_number_bands).and.(bnd_idx > 100) ) then ! >1.2um + if ( (numrad_snw == 3).and.(bnd_idx == 3) ) then mss_cnc_aer_lcl(:,:) = 0._r8 endif - - !--------------------------- Start snow & aerosol optics -------------------------------- - ! Define local Mie parameters based on snow grain size and aerosol species retrieved from a lookup table. - - ! Spherical snow: single-scatter albedo, mass extinction coefficient, asymmetry factor + ! Define local Mie parameters based on snow grain size and aerosol species, + ! retrieved from a lookup table. if (flg_slr_in == 1) then do i=snl_top,snl_btm,1 rds_idx = snw_rds_lcl(i) - snw_rds_min_tbl + 1 ! snow optical properties (direct radiation) ss_alb_snw_lcl(i) = ss_alb_snw_drc(rds_idx,bnd_idx) + asm_prm_snw_lcl(i) = asm_prm_snw_drc(rds_idx,bnd_idx) ext_cff_mss_snw_lcl(i) = ext_cff_mss_snw_drc(rds_idx,bnd_idx) - if (sno_shp(i) == 'sphere') asm_prm_snw_lcl(i) = asm_prm_snw_drc(rds_idx,bnd_idx) enddo elseif (flg_slr_in == 2) then do i=snl_top,snl_btm,1 rds_idx = snw_rds_lcl(i) - snw_rds_min_tbl + 1 ! snow optical properties (diffuse radiation) ss_alb_snw_lcl(i) = ss_alb_snw_dfs(rds_idx,bnd_idx) + asm_prm_snw_lcl(i) = asm_prm_snw_dfs(rds_idx,bnd_idx) ext_cff_mss_snw_lcl(i) = ext_cff_mss_snw_dfs(rds_idx,bnd_idx) - if (sno_shp(i) == 'sphere') asm_prm_snw_lcl(i) = asm_prm_snw_dfs(rds_idx,bnd_idx) enddo endif - ! Nonspherical snow: shape-dependent asymmetry factors - do i=snl_top,snl_btm,1 + ! aerosol species 1 optical properties + ss_alb_aer_lcl(1) = ss_alb_bc1(bnd_idx) + asm_prm_aer_lcl(1) = asm_prm_bc1(bnd_idx) + ext_cff_mss_aer_lcl(1) = ext_cff_mss_bc1(bnd_idx) - select case (sno_shp(i)) - case ('spheroid') - diam_ice = 2._r8 * snw_rds_lcl(i) ! unit: microns - if (sno_fs(i) == 0._r8) then - fs_sphd = fs_sphd_default ! default; He et al. (2017), Table 1 - else - fs_sphd = sno_fs(i) ! user specified value - endif - fs_hex = fs_hex_ref ! reference shape factor - if (sno_AR(i) == 0._r8) then - AR_tmp = AR_tmp_default_1 ! default; He et al. (2017), Table 1 - else - AR_tmp = sno_AR(i) ! user specified value - endif - do igb = 1, seven_bands - g_ice_Cg_tmp(igb) = g_b0(igb) * ((fs_sphd/fs_hex)**g_b1(igb)) * (diam_ice**g_b2(igb)) ! Eq.7, He et al. (2017) - gg_ice_F07_tmp(igb) = g_F07_c0(igb) + g_F07_c1(igb) * AR_tmp + g_F07_c2(igb) * (AR_tmp * AR_tmp) ! Eqn. 3.1 in Fu (2007) - enddo - - case ('hexagonal_plate') - diam_ice = 2._r8 * snw_rds_lcl(i) ! unit: microns - if (sno_fs(i) == 0._r8) then - fs_hex0 = fs_hex_ref ! default; He et al. (2017), Table 1 - else - fs_hex0 = sno_fs(i) ! user specified value - endif - fs_hex = fs_hex_ref ! reference shape factor - if (sno_AR(i) == 0._r8) then - AR_tmp = AR_tmp_default_2 ! default; He et al. (2017), Table 1 - else - AR_tmp = sno_AR(i) ! user specified value - endif - do igb = 1, seven_bands - g_ice_Cg_tmp(igb) = g_b0(igb) * ((fs_hex0/fs_hex)**g_b1(igb)) * (diam_ice**g_b2(igb)) ! Eq.7, He et al. (2017) - gg_ice_F07_tmp(igb) = g_F07_p0(igb) + g_F07_p1(igb) * log(AR_tmp) + g_F07_p2(igb) * (log(AR_tmp) * log(AR_tmp)) ! Eqn. 3.3 in Fu (2007) - enddo - - case ('koch_snowflake') - diam_ice = 2._r8 * snw_rds_lcl(i) / 0.544_r8 ! unit: microns - if (sno_fs(i) == 0._r8) then - fs_koch = fs_koch_default ! default; He et al. (2017), Table 1 - else - fs_koch = sno_fs(i) ! user specified value - endif - fs_hex = fs_hex_ref ! reference shape factor - if (sno_AR(i) == 0._r8) then - AR_tmp = AR_tmp_default_2 ! default; He et al. (2017), Table 1 - else - AR_tmp = sno_AR(i) ! user specified value - endif - do igb = 1, seven_bands - g_ice_Cg_tmp(igb) = g_b0(igb) * ((fs_koch/fs_hex)**g_b1(igb)) * (diam_ice**g_b2(igb)) ! Eq.7, He et al. (2017) - gg_ice_F07_tmp(igb) = g_F07_p0(igb) + g_F07_p1(igb) * log(AR_tmp) + g_F07_p2(igb) * (log(AR_tmp) * log(AR_tmp)) ! Eqn. 3.3 in Fu (2007) - enddo - - case ('sphere') - ! DO NOTHING - case default - write(iulog,*) subname//' ERROR: unknown sno_shp for i: ', sno_shp(i), i - call endrun(msg=errMsg(sourcefile, __LINE__)) - end select - - ! compute nonspherical snow asymmetry factor - if (sno_shp(i) /= 'sphere') then - ! 7 wavelength bands for g_ice to be interpolated into targeted SNICAR bands here - ! use the piecewise linear interpolation subroutine created at the end of this module - ! tests showed the piecewise linear interpolation has similar results as pchip interpolation - call piecewise_linear_interp1d(seven_bands, g_wvl_ct, g_ice_Cg_tmp, wvl_ct(bnd_idx), g_Cg_intp) - call piecewise_linear_interp1d(seven_bands, g_wvl_ct, gg_ice_F07_tmp, wvl_ct(bnd_idx), gg_F07_intp) - g_ice_F07 = gg_F07_intp + 0.5_r8 * (1._r8 - gg_F07_intp) / ss_alb_snw_lcl(i) ! Eq.2.2 in Fu (2007) - asm_prm_snw_lcl(i) = g_ice_F07 * g_Cg_intp ! Eq.6, He et al. (2017) - endif + ! aerosol species 2 optical properties + ss_alb_aer_lcl(2) = ss_alb_bc2(bnd_idx) + asm_prm_aer_lcl(2) = asm_prm_bc2(bnd_idx) + ext_cff_mss_aer_lcl(2) = ext_cff_mss_bc2(bnd_idx) + + ! aerosol species 3 optical properties + ss_alb_aer_lcl(3) = ss_alb_oc1(bnd_idx) + asm_prm_aer_lcl(3) = asm_prm_oc1(bnd_idx) + ext_cff_mss_aer_lcl(3) = ext_cff_mss_oc1(bnd_idx) + + ! aerosol species 4 optical properties + ss_alb_aer_lcl(4) = ss_alb_oc2(bnd_idx) + asm_prm_aer_lcl(4) = asm_prm_oc2(bnd_idx) + ext_cff_mss_aer_lcl(4) = ext_cff_mss_oc2(bnd_idx) + + ! aerosol species 5 optical properties + ss_alb_aer_lcl(5) = ss_alb_dst1(bnd_idx) + asm_prm_aer_lcl(5) = asm_prm_dst1(bnd_idx) + ext_cff_mss_aer_lcl(5) = ext_cff_mss_dst1(bnd_idx) + + ! aerosol species 6 optical properties + ss_alb_aer_lcl(6) = ss_alb_dst2(bnd_idx) + asm_prm_aer_lcl(6) = asm_prm_dst2(bnd_idx) + ext_cff_mss_aer_lcl(6) = ext_cff_mss_dst2(bnd_idx) + + ! aerosol species 7 optical properties + ss_alb_aer_lcl(7) = ss_alb_dst3(bnd_idx) + asm_prm_aer_lcl(7) = asm_prm_dst3(bnd_idx) + ext_cff_mss_aer_lcl(7) = ext_cff_mss_dst3(bnd_idx) + + ! aerosol species 8 optical properties + ss_alb_aer_lcl(8) = ss_alb_dst4(bnd_idx) + asm_prm_aer_lcl(8) = asm_prm_dst4(bnd_idx) + ext_cff_mss_aer_lcl(8) = ext_cff_mss_dst4(bnd_idx) - asm_prm_snw_lcl(i) = min(0.99_r8, asm_prm_snw_lcl(i)) !avoid unreasonable values (rarely occur in large-size spheroid cases) - - enddo ! snow layer loop - - ! aerosol species 2 optical properties, hydrophobic BC - ss_alb_aer_lcl(2) = ss_alb_bc_hphob(bnd_idx) - asm_prm_aer_lcl(2) = asm_prm_bc_hphob(bnd_idx) - ext_cff_mss_aer_lcl(2) = ext_cff_mss_bc_hphob(bnd_idx) - ! aerosol species 3 optical properties, hydrophilic OC - ss_alb_aer_lcl(3) = ss_alb_oc_hphil(bnd_idx) - asm_prm_aer_lcl(3) = asm_prm_oc_hphil(bnd_idx) - ext_cff_mss_aer_lcl(3) = ext_cff_mss_oc_hphil(bnd_idx) - ! aerosol species 4 optical properties, hydrophobic OC - ss_alb_aer_lcl(4) = ss_alb_oc_hphob(bnd_idx) - asm_prm_aer_lcl(4) = asm_prm_oc_hphob(bnd_idx) - ext_cff_mss_aer_lcl(4) = ext_cff_mss_oc_hphob(bnd_idx) - - ! Optics for BC/dust-snow external mixing: - ! aerosol species 1 optical properties, hydrophilic BC - ss_alb_aer_lcl(1) = ss_alb_bc_hphil(bnd_idx) - asm_prm_aer_lcl(1) = asm_prm_bc_hphil(bnd_idx) - ext_cff_mss_aer_lcl(1) = ext_cff_mss_bc_hphil(bnd_idx) - ! aerosol species 5 optical properties, dust size1 - ss_alb_aer_lcl(5) = ss_alb_dst1(bnd_idx) - asm_prm_aer_lcl(5) = asm_prm_dst1(bnd_idx) - ext_cff_mss_aer_lcl(5) = ext_cff_mss_dst1(bnd_idx) - ! aerosol species 6 optical properties, dust size2 - ss_alb_aer_lcl(6) = ss_alb_dst2(bnd_idx) - asm_prm_aer_lcl(6) = asm_prm_dst2(bnd_idx) - ext_cff_mss_aer_lcl(6) = ext_cff_mss_dst2(bnd_idx) - ! aerosol species 7 optical properties, dust size3 - ss_alb_aer_lcl(7) = ss_alb_dst3(bnd_idx) - asm_prm_aer_lcl(7) = asm_prm_dst3(bnd_idx) - ext_cff_mss_aer_lcl(7) = ext_cff_mss_dst3(bnd_idx) - ! aerosol species 8 optical properties, dust size4 - ss_alb_aer_lcl(8) = ss_alb_dst4(bnd_idx) - asm_prm_aer_lcl(8) = asm_prm_dst4(bnd_idx) - ext_cff_mss_aer_lcl(8) = ext_cff_mss_dst4(bnd_idx) ! 1. snow and aerosol layer column mass (L_snw, L_aer [kg/m^2]) ! 2. optical Depths (tau_snw, tau_aer) ! 3. weighted Mie properties (tau, omega, g) - wvl_doint = wvl_ct(bnd_idx) - ! Weighted Mie parameters of each layer do i=snl_top,snl_btm,1 - - ! Start BC/dust-snow internal mixing for wavelength<=1.2um - if (wvl_doint <= 1.2_r8) then - - ! BC-snow internal mixing applied to hydrophilic BC if activated - ! BC-snow internal mixing primarily affect snow single-scattering albedo - if ( snicar_snobc_intmix .and. (mss_cnc_aer_lcl(i,1) > 0._r8) ) then - ! result from Eq.8b in He et al.(2017) is based on BC Re=0.1um & - ! MAC=6.81 m2/g (@550 nm) & BC density=1.7g/cm3 (den_bc). - ! To be consistent with Bond et al. 2006 recommeded value (BC MAC=7.5 m2/g @550nm) - ! we made adjustments on BC size & density as follows to get MAC=7.5m2/g: - ! (1) We use BC Re=0.045um [geometric mean diameter=0.06um (Dentener et al.2006, - ! Yu and Luo,2009) & geometric std=1.5 (Flanner et al.2007;Aoki et al., 2011)]. - ! (2) We tune BC density from 1.7 to 1.49 g/cm3 (den_bc_target) (Aoki et al., 2011). - ! These adjustments also lead to consistent results with Flanner et al. 2012 (ACP) lookup table - ! for BC-snow internal mixing enhancement in albedo reduction (He et al. 2018 ACP) - do ibb=1,sixteen_bands - enh_omg_bcint_tmp(ibb) = bcint_d0(ibb) * & - ( (mss_cnc_aer_lcl(i,1) * kg_to_ug * den_bc / den_bc_target + bcint_d2(ibb))**bcint_d1(ibb) ) - ! adjust enhancment factor for BC effective size from 0.1um to Re_bc (He et al. 2018 GRL Eqs.1a,1b) - if (ibb < 3) then ! near-UV - bcint_m_tmp = bcint_m(1) - bcint_n_tmp = bcint_n(1) - else if (ibb >= 3 .and. ibb <= 11) then ! visible - bcint_m_tmp = bcint_m(2) - bcint_n_tmp = bcint_n(2) - else ! ibb > 11, NIR - bcint_m_tmp = bcint_m(3) - bcint_n_tmp = bcint_n(3) - endif - bcint_dd = (Re_bc / radius_2)**bcint_m_tmp - bcint_dd2 = (radius_1 / radius_2)**bcint_m_tmp - bcint_f = (Re_bc / radius_1)**bcint_n_tmp - - enh_omg_bcint_tmp2(ibb)=LOG10(max(1._r8,bcint_dd*((enh_omg_bcint_tmp(ibb)/bcint_dd2)**bcint_f))) - enddo - ! piecewise linear interpolate into targeted SNICAR bands in a logscale space - call piecewise_linear_interp1d(sixteen_bands,bcint_wvl_ct,enh_omg_bcint_tmp2,wvl_doint,enh_omg_bcint_intp) - ! update snow single-scattering albedo - enh_omg_bcint_intp2 = 10._r8 ** enh_omg_bcint_intp - enh_omg_bcint_intp2 = min(enh_omg_max, max(enh_omg_bcint_intp2, 1._r8)) ! constrain enhancement to a reasonable range - ss_alb_snw_lcl(i) = 1._r8 - (1._r8 - ss_alb_snw_lcl(i)) * enh_omg_bcint_intp2 - ss_alb_snw_lcl(i) = max(0.5_r8, min(ss_alb_snw_lcl(i),1._r8)) - ! reset hydrophilic BC property to 0 since it is accounted by updated snow ss_alb above - ss_alb_aer_lcl(1) = 0.0 - asm_prm_aer_lcl(1) = 0.0 - ext_cff_mss_aer_lcl(1) = 0.0 - endif ! end if BC-snow mixing type - - ! Dust-snow internal mixing applied to all size bins if activated - ! Dust-snow internal mixing primarily affect snow single-scattering albedo - ! default optics of externally mixed dust at 4 size bins based on effective - ! radius of 1.38um and sigma=2.0 with truncation to each size bin (Flanner et al. 2021 GMD) - ! parameterized dust-snow int mix results based on effective radius of 1.1um and sigma=2.0 - ! from (He et al. 2019 JAMES). Thus, the parameterization can be approximately applied to - ! all dust size bins here. - tot_dst_snw_conc = (mss_cnc_aer_lcl(i,5) + mss_cnc_aer_lcl(i,6) + & - mss_cnc_aer_lcl(i,7) + mss_cnc_aer_lcl(i,8)) * kg_kg_to_ppm - if ( snicar_snodst_intmix .and. (tot_dst_snw_conc > 0._r8) ) then - do idb=1, size_bins - enh_omg_dstint_tmp(idb) = dstint_a1(idb)+dstint_a2(idb)*(tot_dst_snw_conc**dstint_a3(idb)) - enh_omg_dstint_tmp2(idb) = LOG10(max(enh_omg_dstint_tmp(idb),1._r8)) - enddo - ! piecewise linear interpolate into targeted SNICAR bands in a logscale space - call piecewise_linear_interp1d(size_bins,dstint_wvl_ct,enh_omg_dstint_tmp2,wvl_doint,enh_omg_dstint_intp) - ! update snow single-scattering albedo - enh_omg_dstint_intp2 = 10._r8 ** enh_omg_dstint_intp - enh_omg_dstint_intp2 = min(enh_omg_max, max(enh_omg_dstint_intp2, 1._r8)) ! constrain enhancement to a reasonable range - ss_alb_snw_lcl(i) = 1._r8 - (1._r8 - ss_alb_snw_lcl(i)) * enh_omg_dstint_intp2 - ss_alb_snw_lcl(i) = max(0.5_r8, min(ss_alb_snw_lcl(i),1._r8)) - ! reset all dust optics to zero since it is accounted by updated snow ss_alb above - ss_alb_aer_lcl(5:8) = 0._r8 - asm_prm_aer_lcl(5:8) = 0._r8 - ext_cff_mss_aer_lcl(5:8) = 0._r8 - endif ! end if dust-snow internal mixing - - endif ! end if BC/dust-snow internal mixing (bands<1.2um) - L_snw(i) = h2osno_ice_lcl(i)+h2osno_liq_lcl(i) tau_snw(i) = L_snw(i)*ext_cff_mss_snw_lcl(i) @@ -1028,15 +674,14 @@ subroutine SNICAR_RT (bounds, num_nourbanc, filter_nourbanc, & tau(i) = tau_sum + tau_snw(i) omega(i) = (1/tau(i))*(omega_sum+(ss_alb_snw_lcl(i)*tau_snw(i))) g(i) = (1/(tau(i)*omega(i)))*(g_sum+ (asm_prm_snw_lcl(i)*ss_alb_snw_lcl(i)*tau_snw(i))) - - enddo ! end do snow layers + enddo ! DELTA transformations, if requested if (DELTA == 1) then do i=snl_top,snl_btm,1 g_star(i) = g(i)/(1+g(i)) - omega_star(i) = (1._r8 - g(i) * g(i)) * omega(i) / (1._r8 - omega(i) * (g(i) * g(i))) - tau_star(i) = (1._r8 - omega(i) * (g(i) * g(i))) * tau(i) + omega_star(i) = ((1-(g(i)**2))*omega(i)) / (1-(omega(i)*(g(i)**2))) + tau_star(i) = (1-(omega(i)*(g(i)**2)))*tau(i) enddo else do i=snl_top,snl_btm,1 @@ -1045,283 +690,247 @@ subroutine SNICAR_RT (bounds, num_nourbanc, filter_nourbanc, & tau_star(i) = tau(i) enddo endif - !--------------------------- End of snow & aerosol optics -------------------------------- - - !--------------------------- Start Adding-doubling RT solver -------------------------------- - - ! Given input vertical profiles of optical properties, evaluate the - ! monochromatic Delta-Eddington adding-doubling solution - - ! trndir, trntdr, trndif, rupdir, rupdif, rdndif are variables at the layer interface, - ! for snow with layers from snl_top to snl_btm there are snl_top to snl_btm+1 layer interface - snl_btm_itf = snl_btm + 1 - - ! initialization for layer interface - do i = snl_top,snl_btm_itf,1 - trndir(i) = c0 - trntdr(i) = c0 - trndif(i) = c0 - rupdir(i) = c0 - rupdif(i) = c0 - rdndif(i) = c0 - enddo - ! initialize top interface of top layer - trndir(snl_top) = c1 - trntdr(snl_top) = c1 - trndif(snl_top) = c1 - rdndif(snl_top) = c0 - - ! begin main level loop for snow layer interfaces except for the very bottom - do i = snl_top,snl_btm,1 - - ! initialize all layer apparent optical properties to 0 - rdir (i) = c0 - rdif_a(i) = c0 - rdif_b(i) = c0 - tdir (i) = c0 - tdif_a(i) = c0 - tdif_b(i) = c0 - trnlay(i) = c0 - - ! compute next layer Delta-eddington solution only if total transmission - ! of radiation to the interface just above the layer exceeds trmin. - if (trntdr(i) > trmin ) then - - ! delta-transformed single-scattering properties of this layer - ts = tau_star(i) - ws = omega_star(i) - gs = g_star(i) - - ! Delta-Eddington solution expressions, Eq. 50: Briegleb and Light 2007 - lm = sqrt(c3*(c1-ws)*(c1 - ws*gs)) - ue = c1p5*(c1 - ws*gs)/lm - extins = max(exp_min, exp(-lm*ts)) - ne = ((ue+c1)*(ue+c1)/extins) - ((ue-c1)*(ue-c1)*extins) - - ! first calculation of rdif, tdif using Delta-Eddington formulas - ! Eq.: Briegleb 1992; alpha and gamma for direct radiation - rdif_a(i) = (ue * ue - c1) * (c1 / extins - extins) / ne - tdif_a(i) = c4*ue/ne - - ! evaluate rdir,tdir for direct beam - trnlay(i) = max(exp_min, exp(-ts/mu_not)) - - ! Delta-Eddington solution expressions - ! Eq. 50: Briegleb and Light 2007; alpha and gamma for direct radiation - alp = cp75*ws*mu_not*((c1 + gs*(c1-ws))/(c1 - lm*lm*mu_not*mu_not)) - gam = cp5*ws*((c1 + c3*gs*(c1-ws)*mu_not*mu_not)/(c1-lm*lm*mu_not*mu_not)) - apg = alp + gam - amg = alp - gam - rdir(i) = apg*rdif_a(i) + amg*(tdif_a(i)*trnlay(i) - c1) - tdir(i) = apg*tdif_a(i) + (amg* rdif_a(i)-apg+c1)*trnlay(i) - - ! recalculate rdif,tdif using direct angular integration over rdir,tdir, - ! since Delta-Eddington rdif formula is not well-behaved (it is usually - ! biased low and can even be negative); use ngmax angles and gaussian - ! integration for most accuracy: - R1 = rdif_a(i) ! use R1 as temporary - T1 = tdif_a(i) ! use T1 as temporary - swt = c0 - smr = c0 - smt = c0 - ! gaussian angles for the AD integral - do ng=1,ngmax - mu = difgauspt(ng) - gwt = difgauswt(ng) - swt = swt + mu*gwt - trn = max(exp_min, exp(-ts/mu)) - alp = cp75*ws*mu*((c1 + gs*(c1-ws))/(c1 - lm*lm*mu*mu)) - gam = cp5*ws*((c1 + c3*gs*(c1-ws)*mu*mu)/(c1-lm*lm*mu*mu)) - apg = alp + gam - amg = alp - gam - rdr = apg*R1 + amg*T1*trn - amg - tdr = apg*T1 + amg*R1*trn - apg*trn + trn - smr = smr + mu*rdr*gwt - smt = smt + mu*tdr*gwt - enddo ! ng - rdif_a(i) = smr/swt - tdif_a(i) = smt/swt - - ! homogeneous layer - rdif_b(i) = rdif_a(i) - tdif_b(i) = tdif_a(i) - - endif ! trntdr(k) > trmin - - ! Calculate the solar beam transmission, total transmission, and - ! reflectivity for diffuse radiation from below at interface i, - ! the top of the current layer k: - ! - ! layers interface - ! - ! --------------------- i-1 - ! i-1 - ! --------------------- i - ! i - ! --------------------- - - trndir(i+1) = trndir(i)*trnlay(i) ! solar beam transmission from top - refkm1 = c1/(c1 - rdndif(i)*rdif_a(i)) ! interface multiple scattering for i-1 - tdrrdir = trndir(i)*rdir(i) ! direct tran times layer direct ref - tdndif = trntdr(i) - trndir(i) ! total down diffuse = tot tran - direct tran - trntdr(i+1) = trndir(i)*tdir(i) + & ! total transmission to direct beam for layers above - (tdndif + tdrrdir*rdndif(i))*refkm1*tdif_a(i) - ! Eq. B4; Briegleb and Light 2007 - rdndif(i+1) = rdif_b(i) + & ! reflectivity to diffuse radiation for layers above - (tdif_b(i)*rdndif(i)*refkm1*tdif_a(i)) - trndif(i+1) = trndif(i)*refkm1*tdif_a(i) ! diffuse transmission to diffuse beam for layers above - - enddo ! end i main level loop - - ! compute reflectivity to direct and diffuse radiation for layers - ! below by adding succesive layers starting from the underlying - ! ground and working upwards: - ! - ! layers interface - ! - ! --------------------- i - ! i - ! --------------------- i+1 - ! i+1 - ! --------------------- - - ! set the underlying ground albedo == albedo of near-IR - ! unless bnd_idx < nir_bnd_bgn, for visible - rupdir(snl_btm_itf) = albsfc(c_idx,inir) - rupdif(snl_btm_itf) = albsfc(c_idx,inir) - if (bnd_idx < nir_bnd_bgn) then - rupdir(snl_btm_itf) = albsfc(c_idx,ivis) - rupdif(snl_btm_itf) = albsfc(c_idx,ivis) - endif - - do i=snl_btm,snl_top,-1 - ! interface scattering Eq. B5; Briegleb and Light 2007 - refkp1 = c1/( c1 - rdif_b(i)*rupdif(i+1)) - ! dir from top layer plus exp tran ref from lower layer, interface - ! scattered and tran thru top layer from below, plus diff tran ref - ! from lower layer with interface scattering tran thru top from below - rupdir(i) = rdir(i) & - + ( trnlay(i) *rupdir(i+1) & - + (tdir(i)-trnlay(i))*rupdif(i+1) ) * refkp1 * tdif_b(i) - ! dif from top layer from above, plus dif tran upwards reflected and - ! interface scattered which tran top from below - rupdif(i) = rdif_a(i) + tdif_a(i)*rupdif(i+1)*refkp1*tdif_b(i) - enddo ! i - - ! net flux (down-up) at each layer interface from the - ! snow top (i = snl_top) to bottom interface above land (i = snl_btm_itf) - ! the interface reflectivities and transmissivities required - ! to evaluate interface fluxes are returned from solution_dEdd; - ! now compute up and down fluxes for each interface, using the - ! combined layer properties at each interface: - ! - ! layers interface - ! - ! --------------------- i - ! i - ! --------------------- - - do i = snl_top, snl_btm_itf - ! interface scattering, Eq. 52; Briegleb and Light 2007 - refk = c1/(c1 - rdndif(i)*rupdif(i)) - ! dir tran ref from below times interface scattering, plus diff - ! tran and ref from below times interface scattering - ! fdirup(i) = (trndir(i)*rupdir(i) + & - ! (trntdr(i)-trndir(i)) & - ! *rupdif(i))*refk - ! dir tran plus total diff trans times interface scattering plus - ! dir tran with up dir ref and down dif ref times interface scattering - ! fdirdn(i) = trndir(i) + (trntdr(i) & - ! - trndir(i) + trndir(i) & - ! *rupdir(i)*rdndif(i))*refk - ! diffuse tran ref from below times interface scattering - ! fdifup(i) = trndif(i)*rupdif(i)*refk - ! diffuse tran times interface scattering - ! fdifdn(i) = trndif(i)*refk - - ! netflux, down - up - ! dfdir = fdirdn - fdirup - dfdir(i) = trndir(i) & - + (trntdr(i)-trndir(i)) * (c1 - rupdif(i)) * refk & - - trndir(i)*rupdir(i) * (c1 - rdndif(i)) * refk - if (dfdir(i) < puny) dfdir(i) = c0 - ! dfdif = fdifdn - fdifup - dfdif(i) = trndif(i) * (c1 - rupdif(i)) * refk - if (dfdif(i) < puny) dfdif(i) = c0 - enddo ! k - - ! SNICAR_AD_RT is called twice for direct and diffuse incident fluxes - ! direct incident - if (flg_slr_in == 1) then - albedo = rupdir(snl_top) - dftmp = dfdir - refk = c1/(c1 - rdndif(snl_top)*rupdif(snl_top)) - F_sfc_pls = (trndir(snl_top)*rupdir(snl_top) + & - (trntdr(snl_top)-trndir(snl_top)) & - *rupdif(snl_top))*refk - !diffuse incident - else - albedo = rupdif(snl_top) - dftmp = dfdif - refk = c1/(c1 - rdndif(snl_top)*rupdif(snl_top)) - F_sfc_pls = trndif(snl_top)*rupdif(snl_top)*refk - endif - - ! Absorbed flux in each layer - do i=snl_top,snl_btm,1 - F_abs(i) = dftmp(i)-dftmp(i+1) - flx_abs_lcl(i,bnd_idx) = F_abs(i) - - ! ERROR check: negative absorption - if (flx_abs_lcl(i,bnd_idx) < -0.00001_r8) then - write (iulog,"(a,e13.6,a,i6,a,i6)") "SNICAR ERROR: negative absoption : ", & - flx_abs_lcl(i,bnd_idx), " at timestep: ", nstep, " at column: ", c_idx - write(iulog,*) "SNICAR_AD STATS: snw_rds(0)= ", snw_rds(c_idx,0) - write(iulog,*) "SNICAR_AD STATS: L_snw(0)= ", L_snw(0) - write(iulog,*) "SNICAR_AD STATS: h2osno= ", h2osno_lcl, " snl= ", snl_lcl - write(iulog,*) "SNICAR_AD STATS: soot1(0)= ", mss_cnc_aer_lcl(0,1) - write(iulog,*) "SNICAR_AD STATS: soot2(0)= ", mss_cnc_aer_lcl(0,2) - write(iulog,*) "SNICAR_AD STATS: dust1(0)= ", mss_cnc_aer_lcl(0,3) - write(iulog,*) "SNICAR_AD STATS: dust2(0)= ", mss_cnc_aer_lcl(0,4) - write(iulog,*) "SNICAR_AD STATS: dust3(0)= ", mss_cnc_aer_lcl(0,5) - write(iulog,*) "SNICAR_AD STATS: dust4(0)= ", mss_cnc_aer_lcl(0,6) - call endrun(subgrid_index=c_idx, subgrid_level=subgrid_level_column, msg=errmsg(sourcefile, __LINE__)) - endif - enddo - - ! absobed flux by the underlying ground - F_btm_net = dftmp(snl_btm_itf) - - ! note here, snl_btm_itf = 1 by snow column set up in CLM - flx_abs_lcl(1,bnd_idx) = F_btm_net - - if (flg_nosnl == 1) then - ! If there are no snow layers (but still snow), all absorbed energy must be in top soil layer - !flx_abs_lcl(:,bnd_idx) = 0._r8 - !flx_abs_lcl(1,bnd_idx) = F_abs(0) + F_btm_net - - ! changed on 20070408: - ! OK to put absorbed energy in the fictitous snow layer because routine SurfaceRadiation - ! handles the case of no snow layers. Then, if a snow layer is addded between now and - ! SurfaceRadiation (called in CanopyHydrology), absorbed energy will be properly distributed. - flx_abs_lcl(0,bnd_idx) = F_abs(0) - flx_abs_lcl(1,bnd_idx) = F_btm_net - endif - - !Underflow check (we've already tripped the error condition above) - do i=snl_top,1,1 - flx_abs_lcl(i,bnd_idx) = max(0._r8, flx_abs_lcl(i,bnd_idx)) - enddo - - F_abs_sum = 0._r8 - do i=snl_top,snl_btm,1 - F_abs_sum = F_abs_sum + F_abs(i) - enddo - - ! no need to repeat calculations for adding-doubling solver - flg_dover = 0 - - !--------------------------- End of Adding-doubling RT solver -------------------------------- + + ! Total column optical depth: + ! tau_clm(i) = total optical depth above the bottom of layer i + tau_clm(snl_top) = 0._r8 + do i=snl_top+1,snl_btm,1 + tau_clm(i) = tau_clm(i-1)+tau_star(i-1) + enddo + + ! Direct radiation at bottom of snowpack: + F_direct_btm = albsfc_lcl(bnd_idx)*mu_not * & + exp(-(tau_clm(snl_btm)+tau_star(snl_btm))/mu_not)*pi*flx_slrd_lcl(bnd_idx) + + ! Intermediates + ! Gamma values are approximation-specific. + + ! Eddington + if (APRX_TYP==1) then + do i=snl_top,snl_btm,1 + gamma1(i) = (7._r8-(omega_star(i)*(4._r8+(3._r8*g_star(i)))))/4._r8 + gamma2(i) = -(1._r8-(omega_star(i)*(4._r8-(3._r8*g_star(i)))))/4._r8 + gamma3(i) = (2._r8-(3._r8*g_star(i)*mu_not))/4._r8 + gamma4(i) = 1._r8-gamma3(i) + mu_one = 0.5_r8 + enddo + + ! Quadrature + elseif (APRX_TYP==2) then + do i=snl_top,snl_btm,1 + gamma1(i) = (3._r8**0.5)*(2._r8-(omega_star(i)*(1._r8+g_star(i))))/2._r8 + gamma2(i) = omega_star(i)*(3._r8**0.5)*(1._r8-g_star(i))/2._r8 + gamma3(i) = (1._r8-((3._r8**0.5)*g_star(i)*mu_not))/2._r8 + gamma4(i) = 1._r8-gamma3(i) + mu_one = 1._r8/(3._r8**0.5_r8) + enddo + + ! Hemispheric Mean + elseif (APRX_TYP==3) then + do i=snl_top,snl_btm,1 + gamma1(i) = 2._r8 - (omega_star(i)*(1._r8+g_star(i))) + gamma2(i) = omega_star(i)*(1-g_star(i)) + gamma3(i) = (1._r8-((3._r8**0.5_r8)*g_star(i)*mu_not))/2._r8 + gamma4(i) = 1._r8-gamma3(i) + mu_one = 0.5_r8 + enddo + endif + + ! Intermediates for tri-diagonal solution + do i=snl_top,snl_btm,1 + lambda(i) = sqrt(abs((gamma1(i)**2) - (gamma2(i)**2))) + GAMMA(i) = gamma2(i)/(gamma1(i)+lambda(i)) + + e1(i) = 1+(GAMMA(i)*exp(-lambda(i)*tau_star(i))) + e2(i) = 1-(GAMMA(i)*exp(-lambda(i)*tau_star(i))) + e3(i) = GAMMA(i) + exp(-lambda(i)*tau_star(i)) + e4(i) = GAMMA(i) - exp(-lambda(i)*tau_star(i)) + enddo !enddo over snow layers + + + ! Intermediates for tri-diagonal solution + do i=snl_top,snl_btm,1 + if (flg_slr_in == 1) then + + C_pls_btm(i) = (omega_star(i)*pi*flx_slrd_lcl(bnd_idx)* & + exp(-(tau_clm(i)+tau_star(i))/mu_not)* & + (((gamma1(i)-(1/mu_not))*gamma3(i))+ & + (gamma4(i)*gamma2(i))))/((lambda(i)**2)-(1/(mu_not**2))) + + C_mns_btm(i) = (omega_star(i)*pi*flx_slrd_lcl(bnd_idx)* & + exp(-(tau_clm(i)+tau_star(i))/mu_not)* & + (((gamma1(i)+(1/mu_not))*gamma4(i))+ & + (gamma2(i)*gamma3(i))))/((lambda(i)**2)-(1/(mu_not**2))) + + C_pls_top(i) = (omega_star(i)*pi*flx_slrd_lcl(bnd_idx)* & + exp(-tau_clm(i)/mu_not)*(((gamma1(i)-(1/mu_not))* & + gamma3(i))+(gamma4(i)*gamma2(i))))/((lambda(i)**2)-(1/(mu_not**2))) + + C_mns_top(i) = (omega_star(i)*pi*flx_slrd_lcl(bnd_idx)* & + exp(-tau_clm(i)/mu_not)*(((gamma1(i)+(1/mu_not))* & + gamma4(i))+(gamma2(i)*gamma3(i))))/((lambda(i)**2)-(1/(mu_not**2))) + + else + C_pls_btm(i) = 0._r8 + C_mns_btm(i) = 0._r8 + C_pls_top(i) = 0._r8 + C_mns_top(i) = 0._r8 + endif + enddo + + ! Coefficients for tridiaganol matrix solution + do i=2*snl_lcl+1,0,1 + + !Boundary values for i=1 and i=2*snl_lcl, specifics for i=odd and i=even + if (i==(2*snl_lcl+1)) then + A(i) = 0._r8 + B(i) = e1(snl_top) + D(i) = -e2(snl_top) + E(i) = flx_slri_lcl(bnd_idx)-C_mns_top(snl_top) + + elseif(i==0) then + A(i) = e1(snl_btm)-(albsfc_lcl(bnd_idx)*e3(snl_btm)) + B(i) = e2(snl_btm)-(albsfc_lcl(bnd_idx)*e4(snl_btm)) + D(i) = 0._r8 + E(i) = F_direct_btm-C_pls_btm(snl_btm)+(albsfc_lcl(bnd_idx)*C_mns_btm(snl_btm)) + + elseif(mod(i,2)==-1) then ! If odd and i>=3 (n=1 for i=3) + n=floor(i/2.0) + A(i) = (e2(n)*e3(n))-(e4(n)*e1(n)) + B(i) = (e1(n)*e1(n+1))-(e3(n)*e3(n+1)) + D(i) = (e3(n)*e4(n+1))-(e1(n)*e2(n+1)) + E(i) = (e3(n)*(C_pls_top(n+1)-C_pls_btm(n)))+(e1(n)*(C_mns_btm(n)-C_mns_top(n+1))) + + elseif(mod(i,2)==0) then ! If even and i<=2*snl_lcl + n=(i/2) + A(i) = (e2(n+1)*e1(n))-(e3(n)*e4(n+1)) + B(i) = (e2(n)*e2(n+1))-(e4(n)*e4(n+1)) + D(i) = (e1(n+1)*e4(n+1))-(e2(n+1)*e3(n+1)) + E(i) = (e2(n+1)*(C_pls_top(n+1)-C_pls_btm(n)))+(e4(n+1)*(C_mns_top(n+1)-C_mns_btm(n))) + endif + enddo + + AS(0) = A(0)/B(0) + DS(0) = E(0)/B(0) + + do i=-1,(2*snl_lcl+1),-1 + X(i) = 1/(B(i)-(D(i)*AS(i+1))) + AS(i) = A(i)*X(i) + DS(i) = (E(i)-(D(i)*DS(i+1)))*X(i) + enddo + + Y(2*snl_lcl+1) = DS(2*snl_lcl+1) + do i=(2*snl_lcl+2),0,1 + Y(i) = DS(i)-(AS(i)*Y(i-1)) + enddo + + ! Downward direct-beam and net flux (F_net) at the base of each layer: + do i=snl_top,snl_btm,1 + F_direct(i) = mu_not*pi*flx_slrd_lcl(bnd_idx)*exp(-(tau_clm(i)+tau_star(i))/mu_not) + F_net(i) = (Y(2*i-1)*(e1(i)-e3(i))) + (Y(2*i)*(e2(i)-e4(i))) + & + C_pls_btm(i) - C_mns_btm(i) - F_direct(i) + enddo + + ! Upward flux at snowpack top: + F_sfc_pls = (Y(2*snl_lcl+1)*(exp(-lambda(snl_top)*tau_star(snl_top))+ & + GAMMA(snl_top))) + (Y(2*snl_lcl+2)*(exp(-lambda(snl_top)* & + tau_star(snl_top))-GAMMA(snl_top))) + C_pls_top(snl_top) + + ! Net flux at bottom = absorbed radiation by underlying surface: + F_btm_net = -F_net(snl_btm) + + + ! Bulk column albedo and surface net flux + albedo = F_sfc_pls/((mu_not*pi*flx_slrd_lcl(bnd_idx))+flx_slri_lcl(bnd_idx)) + F_sfc_net = F_sfc_pls - ((mu_not*pi*flx_slrd_lcl(bnd_idx))+flx_slri_lcl(bnd_idx)) + + trip = 0 + ! Absorbed flux in each layer + do i=snl_top,snl_btm,1 + if(i==snl_top) then + F_abs(i) = F_net(i)-F_sfc_net + else + F_abs(i) = F_net(i)-F_net(i-1) + endif + flx_abs_lcl(i,bnd_idx) = F_abs(i) + + + ! ERROR check: negative absorption + if (flx_abs_lcl(i,bnd_idx) < -0.00001_r8) then + trip = 1 + endif + enddo + + flx_abs_lcl(1,bnd_idx) = F_btm_net + + if (flg_nosnl == 1) then + ! If there are no snow layers (but still snow), all absorbed energy must be in top soil layer + !flx_abs_lcl(:,bnd_idx) = 0._r8 + !flx_abs_lcl(1,bnd_idx) = F_abs(0) + F_btm_net + + ! changed on 20070408: + ! OK to put absorbed energy in the fictitous snow layer because routine SurfaceRadiation + ! handles the case of no snow layers. Then, if a snow layer is addded between now and + ! SurfaceRadiation (called in CanopyHydrology), absorbed energy will be properly distributed. + flx_abs_lcl(0,bnd_idx) = F_abs(0) + flx_abs_lcl(1,bnd_idx) = F_btm_net + + endif + + !Underflow check (we've already tripped the error condition above) + do i=snl_top,1,1 + if (flx_abs_lcl(i,bnd_idx) < 0._r8) then + flx_abs_lcl(i,bnd_idx) = 0._r8 + endif + enddo + + F_abs_sum = 0._r8 + do i=snl_top,snl_btm,1 + F_abs_sum = F_abs_sum + F_abs(i) + enddo + + + !ERROR check: absorption greater than incident flux + ! (should make condition more generic than "1._r8") + if (F_abs_sum > 1._r8) then + trip = 1 + endif + + !ERROR check: + if ((albedo < 0._r8).and.(trip==0)) then + trip = 1 + endif + + ! Set conditions for redoing RT calculation + if ((trip == 1).and.(flg_dover == 1)) then + flg_dover = 2 + elseif ((trip == 1).and.(flg_dover == 2)) then + flg_dover = 3 + elseif ((trip == 1).and.(flg_dover == 3)) then + flg_dover = 4 + elseif((trip == 1).and.(flg_dover == 4).and.(err_idx < 20)) then + flg_dover = 3 + err_idx = err_idx + 1 + elseif((trip == 1).and.(flg_dover == 4).and.(err_idx >= 20)) then + flg_dover = 0 + write(iulog,*) "SNICAR ERROR: FOUND A WORMHOLE. STUCK IN INFINITE LOOP! Called from: ", flg_snw_ice + write(iulog,*) "SNICAR STATS: snw_rds(0)= ", snw_rds(c_idx,0) + write(iulog,*) "SNICAR STATS: L_snw(0)= ", L_snw(0) + write(iulog,*) "SNICAR STATS: h2osno= ", h2osno_lcl, " snl= ", snl_lcl + write(iulog,*) "SNICAR STATS: soot1(0)= ", mss_cnc_aer_lcl(0,1) + write(iulog,*) "SNICAR STATS: soot2(0)= ", mss_cnc_aer_lcl(0,2) + write(iulog,*) "SNICAR STATS: dust1(0)= ", mss_cnc_aer_lcl(0,3) + write(iulog,*) "SNICAR STATS: dust2(0)= ", mss_cnc_aer_lcl(0,4) + write(iulog,*) "SNICAR STATS: dust3(0)= ", mss_cnc_aer_lcl(0,5) + write(iulog,*) "SNICAR STATS: dust4(0)= ", mss_cnc_aer_lcl(0,6) + l_idx = col%landunit(c_idx) + write(iulog,*) "column index: ", c_idx + write(iulog,*) "landunit type", lun%itype(l_idx) + write(iulog,*) "frac_sno: ", frac_sno(c_idx) + call endrun(subgrid_index=c_idx, subgrid_level=subgrid_level_column, msg=errmsg(sourcefile, __LINE__)) + else + flg_dover = 0 + endif enddo !enddo while (flg_dover > 0) @@ -1331,20 +940,12 @@ subroutine SNICAR_RT (bounds, num_nourbanc, filter_nourbanc, & if (abs(energy_sum) > 0.00001_r8) then write (iulog,"(a,e12.6,a,i6,a,i6)") "SNICAR ERROR: Energy conservation error of : ", energy_sum, & " at timestep: ", nstep, " at column: ", c_idx - write(iulog,*) "F_abs_sum: ",F_abs_sum - write(iulog,*) "F_btm_net: ",F_btm_net - write(iulog,*) "F_sfc_pls: ",F_sfc_pls - write(iulog,*) "mu_not*pi*flx_slrd_lcl(bnd_idx): ", mu_not*pi*flx_slrd_lcl(bnd_idx) - write(iulog,*) "flx_slri_lcl(bnd_idx)", flx_slri_lcl(bnd_idx) - write(iulog,*) "bnd_idx", bnd_idx - write(iulog,*) "F_abs", F_abs - write(iulog,*) "albedo", albedo call endrun(subgrid_index=c_idx, subgrid_level=subgrid_level_column, msg=errmsg(sourcefile, __LINE__)) endif albout_lcl(bnd_idx) = albedo - ! Fail if albedo > 1 + ! Check that albedo is less than 1 if (albout_lcl(bnd_idx) > 1.0) then write (iulog,*) "SNICAR ERROR: Albedo > 1.0 at c: ", c_idx, " NSTEP= ",nstep @@ -1380,74 +981,32 @@ subroutine SNICAR_RT (bounds, num_nourbanc, filter_nourbanc, & ! Weight output NIR albedo appropriately - select case (snicar_numrad_snw) - case (default_number_bands) ! 5-band case - ! VIS band - albout(c_idx,ivis) = albout_lcl(ivis) - case (high_number_bands) ! 480-band case - ! average for VIS band - flx_sum = 0._r8 - do bnd_idx= 1, (nir_bnd_bgn-1) - flx_sum = flx_sum + flx_wgt(bnd_idx)*albout_lcl(bnd_idx) - end do - albout(c_idx,ivis) = flx_sum / sum(flx_wgt(1:(nir_bnd_bgn-1))) - end select - - ! average for NIR band (5 or 480-band case) - flx_sum = 0._r8 - do bnd_idx = nir_bnd_bgn, nir_bnd_end - flx_sum = flx_sum + flx_wgt(bnd_idx) * albout_lcl(bnd_idx) + albout(c_idx,1) = albout_lcl(1) + flx_sum = 0._r8 + do bnd_idx= nir_bnd_bgn,nir_bnd_end + flx_sum = flx_sum + flx_wgt(bnd_idx)*albout_lcl(bnd_idx) end do - albout(c_idx,inir) = flx_sum / sum(flx_wgt(nir_bnd_bgn:nir_bnd_end)) + albout(c_idx,2) = flx_sum / sum(flx_wgt(nir_bnd_bgn:nir_bnd_end)) ! Weight output NIR absorbed layer fluxes (flx_abs) appropriately - select case (snicar_numrad_snw) - case (default_number_bands) ! 5-band case - ! VIS band - flx_abs(c_idx,:,1) = flx_abs_lcl(:,1) - case (high_number_bands) ! 480-band case - ! average for VIS band - do i=snl_top,1,1 - flx_sum = 0._r8 - do bnd_idx= 1,(nir_bnd_bgn-1) - flx_sum = flx_sum + flx_wgt(bnd_idx)*flx_abs_lcl(i,bnd_idx) - enddo - flx_abs(c_idx,i,ivis) = flx_sum / sum(flx_wgt(1:(nir_bnd_bgn-1))) - end do - end select - - ! average for NIR band (5 or 480-band case) - do i = snl_top, 1, 1 + flx_abs(c_idx,:,1) = flx_abs_lcl(:,1) + do i=snl_top,1,1 flx_sum = 0._r8 - do bnd_idx = nir_bnd_bgn, nir_bnd_end - flx_sum = flx_sum + flx_wgt(bnd_idx) * flx_abs_lcl(i,bnd_idx) - end do - flx_abs(c_idx,i,inir) = flx_sum / sum(flx_wgt(nir_bnd_bgn:nir_bnd_end)) + do bnd_idx= nir_bnd_bgn,nir_bnd_end + flx_sum = flx_sum + flx_wgt(bnd_idx)*flx_abs_lcl(i,bnd_idx) + enddo + flx_abs(c_idx,i,2) = flx_sum / sum(flx_wgt(nir_bnd_bgn:nir_bnd_end)) end do - ! high solar zenith angle adjustment for Adding-doubling solver results - ! near-IR direct albedo/absorption adjustment for high solar zenith angles - ! solar zenith angle parameterization - ! calculate the scaling factor for NIR direct albedo if SZA>75 degree - if ((mu_not < mu_75) .and. (flg_slr_in == 1)) then - sza_c1 = sza_a0 + sza_a1 * mu_not + sza_a2 * (mu_not * mu_not) - sza_c0 = sza_b0 + sza_b1 * mu_not + sza_b2 * (mu_not * mu_not) - sza_factor = sza_c1 * (log10(snw_rds_lcl(snl_top) * c1) - c6) + sza_c0 - flx_sza_adjust = albout(c_idx,inir) * (sza_factor-c1) * sum(flx_wgt(nir_bnd_bgn:nir_bnd_end)) - albout(c_idx,inir) = albout(c_idx,inir) * sza_factor - flx_abs(c_idx,snl_top,inir) = flx_abs(c_idx,snl_top,inir) - flx_sza_adjust - endif - - - ! If snow < minimum_snow, but > 0, and there is sun, set albedo to underlying surface albedo + ! If snow < minimum_snow, but > 0, and there is sun, set albedo to underlying surface albedo elseif ( (coszen(c_idx) > 0._r8) .and. (h2osno_lcl < min_snw) .and. (h2osno_lcl > 0._r8) ) then - albout(c_idx,ivis) = albsfc(c_idx,ivis) - albout(c_idx,inir) = albsfc(c_idx,inir) + albout(c_idx,1) = albsfc(c_idx,1) + albout(c_idx,2) = albsfc(c_idx,2) - ! There is either zero snow, or no sun + ! There is either zero snow, or no sun else - albout(c_idx,ivis) = 0._r8 - albout(c_idx,inir) = 0._r8 + albout(c_idx,1) = 0._r8 + albout(c_idx,2) = 0._r8 endif ! if column has snow and coszen > 0 enddo ! loop over all columns @@ -1497,7 +1056,7 @@ subroutine SnowAge_grain(bounds, & ! !USES: use clm_time_manager , only : get_step_size_real, get_nstep use clm_varpar , only : nlevsno - use clm_varcon, only: spval, secsphr + use clm_varcon , only : spval use shr_const_mod , only : SHR_CONST_RHOICE, SHR_CONST_PI ! ! !ARGUMENTS: @@ -1608,18 +1167,30 @@ subroutine SnowAge_grain(bounds, & ! make sure rhos doesn't drop below 50 (see rhos_idx below) rhos=max(50._r8,rhos) - ! best-fit table indices + ! best-fit table indecies T_idx = nint((t_soisno(c_idx,i)-223) / 5) + 1 Tgrd_idx = nint(dTdz(c_idx,i) / 10) + 1 rhos_idx = nint((rhos-50) / 50) + 1 - ! boundary checks - T_idx = max(T_idx, idx_T_min) - T_idx = min(T_idx, idx_T_max) - Tgrd_idx = max(Tgrd_idx, idx_Tgrd_min) - Tgrd_idx = min(Tgrd_idx, idx_Tgrd_max) - rhos_idx = max(rhos_idx, idx_rhos_min) - rhos_idx = min(rhos_idx, idx_rhos_max) + ! boundary check: + if (T_idx < idx_T_min) then + T_idx = idx_T_min + endif + if (T_idx > idx_T_max) then + T_idx = idx_T_max + endif + if (Tgrd_idx < idx_Tgrd_min) then + Tgrd_idx = idx_Tgrd_min + endif + if (Tgrd_idx > idx_Tgrd_max) then + Tgrd_idx = idx_Tgrd_max + endif + if (rhos_idx < idx_rhos_min) then + rhos_idx = idx_rhos_min + endif + if (rhos_idx > idx_rhos_max) then + rhos_idx = idx_rhos_max + endif ! best-fit parameters bst_tau = snowage_tau(rhos_idx,Tgrd_idx,T_idx) @@ -1628,11 +1199,13 @@ subroutine SnowAge_grain(bounds, & !LvK extra boundary check, to prevent when using old restart file with lower snw_rds_min than current run - snw_rds(c_idx,i) = max(snw_rds(c_idx,i), snw_rds_min) + if (snw_rds(c_idx,i) < snw_rds_min) then + snw_rds(c_idx,i) = snw_rds_min + endif ! change in snow effective radius, using best-fit parameters dr_fresh = snw_rds(c_idx,i)-snw_rds_min - dr = (bst_drdt0 * (bst_tau / (dr_fresh + bst_tau))**(1._r8 / bst_kappa)) * (dtime / secsphr) + dr = (bst_drdt0*(bst_tau/(dr_fresh+bst_tau))**(1/bst_kappa)) * (dtime/3600) ! !********** 2. WET SNOW AGING *********** @@ -1647,7 +1220,7 @@ subroutine SnowAge_grain(bounds, & !dr_wet = 1E6_r8*(dtime*(C1_liq_Brun89 + C2_liq_Brun89*(frc_liq**(3))) / (4*SHR_CONST_PI*(snw_rds(c_idx,i)/1E6)**(2))) !simplified, units of microns: dr_wet = 1E18_r8*(dtime*(params_inst%C2_liq_Brun89*(frc_liq**(3))) / & - (4._r8 * SHR_CONST_PI * (snw_rds(c_idx,i) * snw_rds(c_idx,i)))) + (4*SHR_CONST_PI*snw_rds(c_idx,i)**(2))) dr = dr + dr_wet @@ -1701,8 +1274,13 @@ subroutine SnowAge_grain(bounds, & !********** 5. CHECK BOUNDARIES *********** ! ! boundary check - snw_rds(c_idx,i) = max(snw_rds(c_idx,i), snw_rds_min) - snw_rds(c_idx,i) = min(snw_rds(c_idx,i), snw_rds_max) + if (snw_rds(c_idx,i) < snw_rds_min) then + snw_rds(c_idx,i) = snw_rds_min + endif + + if (snw_rds(c_idx,i) > snw_rds_max) then + snw_rds(c_idx,i) = snw_rds_max + end if ! set top layer variables for history files if (i == snl_top) then @@ -1784,8 +1362,7 @@ end function FreshSnowRadius subroutine SnowOptics_init( ) use fileutils , only : getfil - use CLM_varctl , only : fsnowoptics, snicar_numrad_snw - use CLM_varctl , only : snicar_solarspec, snicar_dust_optics + use CLM_varctl , only : fsnowoptics use spmdMod , only : masterproc use ncdio_pio , only : file_desc_t, ncd_io, ncd_pio_openfile, ncd_pio_closefile @@ -1793,334 +1370,64 @@ subroutine SnowOptics_init( ) character(len=256) :: locfn ! local filename character(len= 32) :: subname = 'SnowOptics_init' ! subroutine name integer :: ier ! error status - logical :: readv ! has variable been read in or not - character(len=100) :: errCode = '-Error reading fsnowoptics file:' - character(len=100) :: tString ! temp. var for reading - character(len=3) :: short_case_dust_opt ! subset of tString - character(len=3) :: short_case_solarspec ! subset of tString ! - ! Initialize optical variables - allocate(ss_alb_snw_drc(idx_Mie_snw_mx,snicar_numrad_snw)) - allocate(asm_prm_snw_drc(idx_Mie_snw_mx,snicar_numrad_snw)) - allocate(ext_cff_mss_snw_drc(idx_Mie_snw_mx,snicar_numrad_snw)) - allocate(ss_alb_snw_dfs(idx_Mie_snw_mx,snicar_numrad_snw)) - allocate(asm_prm_snw_dfs(idx_Mie_snw_mx,snicar_numrad_snw)) - allocate(ext_cff_mss_snw_dfs(idx_Mie_snw_mx,snicar_numrad_snw)) - allocate(ss_alb_bc_hphil(snicar_numrad_snw)) - allocate(asm_prm_bc_hphil(snicar_numrad_snw)) - allocate(ext_cff_mss_bc_hphil(snicar_numrad_snw)) - allocate(ss_alb_bc_hphob(snicar_numrad_snw)) - allocate(asm_prm_bc_hphob(snicar_numrad_snw)) - allocate(ext_cff_mss_bc_hphob(snicar_numrad_snw)) - allocate(ss_alb_oc_hphil(snicar_numrad_snw)) - allocate(asm_prm_oc_hphil(snicar_numrad_snw)) - allocate(ext_cff_mss_oc_hphil(snicar_numrad_snw)) - allocate(ss_alb_oc_hphob(snicar_numrad_snw)) - allocate(asm_prm_oc_hphob(snicar_numrad_snw)) - allocate(ext_cff_mss_oc_hphob(snicar_numrad_snw)) - allocate(ss_alb_dst1(snicar_numrad_snw)) - allocate(asm_prm_dst1(snicar_numrad_snw)) - allocate(ext_cff_mss_dst1(snicar_numrad_snw)) - allocate(ss_alb_dst2(snicar_numrad_snw)) - allocate(asm_prm_dst2(snicar_numrad_snw)) - allocate(ext_cff_mss_dst2(snicar_numrad_snw)) - allocate(ss_alb_dst3(snicar_numrad_snw)) - allocate(asm_prm_dst3(snicar_numrad_snw)) - allocate(ext_cff_mss_dst3(snicar_numrad_snw)) - allocate(ss_alb_dst4(snicar_numrad_snw)) - allocate(asm_prm_dst4(snicar_numrad_snw)) - allocate(ext_cff_mss_dst4(snicar_numrad_snw)) - allocate(flx_wgt_dir(snicar_numrad_snw)) - allocate(flx_wgt_dif(snicar_numrad_snw)) - - if (masterproc) write(iulog,*) 'Attempting to read snow optical properties...' + ! Open optics file: + if(masterproc) write(iulog,*) 'Attempting to read snow optical properties .....' call getfil (fsnowoptics, locfn, 0) call ncd_pio_openfile(ncid, locfn, 0) if(masterproc) write(iulog,*) subname,trim(fsnowoptics) - select case (snicar_solarspec) - case ('mid_latitude_winter') ! mid-latitude winter spectrum - short_case_solarspec = 'mlw' - case ('mid_latitude_summer') ! mid-latitude summer spectrum - short_case_solarspec = 'mls' - case ('sub_arctic_winter') ! sub-Arctic winter spectrum - short_case_solarspec = 'saw' - case ('sub_arctic_summer') ! sub-Arctic summer spectrum - short_case_solarspec = 'sas' - case ('summit_greenland_summer') ! Summit,Greenland,summer spectrum - short_case_solarspec = 'smm' - case ('high_mountain_summer') ! High Mountain summer spectrum - short_case_solarspec = 'hmn' - case default - write(iulog,*) subname//' ERROR: unknown snicar_solarspec: ', snicar_solarspec - call endrun(msg=errMsg(sourcefile, __LINE__)) - end select - - select case (snicar_dust_optics) ! dust optical properties - case ('sahara') ! Saharan dust (Balkanski et al., 2007, central hematite) - short_case_dust_opt = 'sah' - case ('san_juan_mtns_colorado') ! San Juan Mountains, CO (Skiles et al, 2017) - short_case_dust_opt = 'col' - case ('greenland') ! Greenland (Polashenski et al., 2015, central absorptivity) - short_case_dust_opt = 'gre' - case default - write(iulog,*) subname//' ERROR: unknown snicar_dust_optics: ', snicar_dust_optics - call endrun(msg=errMsg(sourcefile, __LINE__)) - end select - - !--------------------- for 5-band data - select case (snicar_numrad_snw) - case (default_number_bands) ! 5-band case - - ! The argument posNOTonfile=.true. is used here because this is a non-spatial file. - ! This argument is relevant when running single_column. - ! flux weights/spectrum - tString = 'flx_wgt_dir5_'//short_case_solarspec - call ncd_io(trim(tString), flx_wgt_dir, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'flx_wgt_dif5_'//short_case_solarspec - call ncd_io(trim(tString), flx_wgt_dif, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - ! - ! THIS NOTE APPLIES TO ALL THE call ncd_io LINES BELOW WHERE - ! bcphob AND ocphob GET ASSIGNED TO VARIABLES SUFFIXED bc_hphil/oc_hphil: - ! - ! Assumption (1) applies here, in the input section. - ! Assumption (2) applies later, in the snicar code. - ! - ! 1) In this section, hydrophillic particles behave like hydrophobic - ! particles. We assume bc_hphil/oc_hphil to have the same optics as bc_hphob/oc_hphob - ! because sulfate coating on the bc_hphil/oc_hphil surface is assumed to be - ! dissolved into the hydrometeo (i.e, snow grain here) during the - ! deposition process. This is different from the assumption made in - ! prior model versions, where bc_hphil/oc_hphil was coated by undissolved - ! sulfate. - ! 2) Later, in the snicar code, if the bc-snow internal mixing option - ! is on, bc_hphil/oc_hphil (internally mixed within the snow grain) will be - ! treated differently than bc_hphob/oc_hphob (mixed externally or outside the - ! snow grain). - ! - ! BC species 1 Mie parameters, uncoated BC, same as bc_hphob before BC-snow internal mixing - tString = 'ss_alb_bcphob_dif_'//short_case_solarspec - call ncd_io(trim(tString), ss_alb_bc_hphil, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'asm_prm_bcphob_dif_'//short_case_solarspec - call ncd_io(trim(tString), asm_prm_bc_hphil, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'ext_cff_mss_bcphob_dif_'//short_case_solarspec - call ncd_io(trim(tString), ext_cff_mss_bc_hphil, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - ! BC species 2 Mie parameters, uncoated BC - tString = 'ss_alb_bcphob_dif_'//short_case_solarspec - call ncd_io(trim(tString), ss_alb_bc_hphob, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'asm_prm_bcphob_dif_'//short_case_solarspec - call ncd_io(trim(tString), asm_prm_bc_hphob, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'ext_cff_mss_bcphob_dif_'//short_case_solarspec - call ncd_io(trim(tString), ext_cff_mss_bc_hphob, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - ! OC species 1 Mie parameters, uncoated OC, same as oc_hphob before OC-snow internal mixing - tString = 'ss_alb_ocphob_dif_'//short_case_solarspec - call ncd_io(trim(tString), ss_alb_oc_hphil, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'asm_prm_ocphob_dif_'//short_case_solarspec - call ncd_io(trim(tString), asm_prm_oc_hphil, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'ext_cff_mss_ocphob_dif_'//short_case_solarspec - call ncd_io(trim(tString), ext_cff_mss_oc_hphil, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - ! OC species 2 Mie parameters, uncoated OC - tString = 'ss_alb_ocphob_dif_'//short_case_solarspec - call ncd_io(trim(tString), ss_alb_oc_hphob, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'asm_prm_ocphob_dif_'//short_case_solarspec - call ncd_io(trim(tString), asm_prm_oc_hphob, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'ext_cff_mss_ocphob_dif_'//short_case_solarspec - call ncd_io(trim(tString), ext_cff_mss_oc_hphob, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - ! ice refractive index (Picard et al., 2016) - tString = 'ss_alb_ice_pic16_dir_'//short_case_solarspec - call ncd_io(trim(tString), ss_alb_snw_drc, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'asm_prm_ice_pic16_dir_'//short_case_solarspec - call ncd_io(trim(tString),asm_prm_snw_drc, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'ext_cff_mss_ice_pic16_dir_'//short_case_solarspec - call ncd_io(trim(tString), ext_cff_mss_snw_drc, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'ss_alb_ice_pic16_dif_'//short_case_solarspec - call ncd_io(trim(tString), ss_alb_snw_dfs, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'asm_prm_ice_pic16_dif_'//short_case_solarspec - call ncd_io(trim(tString),asm_prm_snw_dfs, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'ext_cff_mss_ice_pic16_dif_'//short_case_solarspec - call ncd_io(trim(tString), ext_cff_mss_snw_dfs, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - - ! dust species 1 Mie parameters - tString = 'ss_alb_dust01_'//short_case_dust_opt//'_dif_'//short_case_solarspec - call ncd_io(trim(tString), ss_alb_dst1, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'asm_prm_dust01_'//short_case_dust_opt//'_dif_'//short_case_solarspec - call ncd_io(trim(tString), asm_prm_dst1, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'ext_cff_mss_dust01_'//short_case_dust_opt//'_dif_'//short_case_solarspec - call ncd_io(trim(tString), ext_cff_mss_dst1, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - ! dust species 2 Mie parameters - tString = 'ss_alb_dust02_'//short_case_dust_opt//'_dif_'//short_case_solarspec - call ncd_io(trim(tString), ss_alb_dst2, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'asm_prm_dust02_'//short_case_dust_opt//'_dif_'//short_case_solarspec - call ncd_io(trim(tString), asm_prm_dst2, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'ext_cff_mss_dust02_'//short_case_dust_opt//'_dif_'//short_case_solarspec - call ncd_io(trim(tString), ext_cff_mss_dst2, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - ! dust species 3 Mie parameters - tString = 'ss_alb_dust03_'//short_case_dust_opt//'_dif_'//short_case_solarspec - call ncd_io(trim(tString), ss_alb_dst3, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'asm_prm_dust03_'//short_case_dust_opt//'_dif_'//short_case_solarspec - call ncd_io(trim(tString), asm_prm_dst3, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'ext_cff_mss_dust03_'//short_case_dust_opt//'_dif_'//short_case_solarspec - call ncd_io(trim(tString), ext_cff_mss_dst3, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - ! dust species 4 Mie parameters - tString = 'ss_alb_dust04_'//short_case_dust_opt//'_dif_'//short_case_solarspec - call ncd_io(trim(tString), ss_alb_dst4, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'asm_prm_dust04_'//short_case_dust_opt//'_dif_'//short_case_solarspec - call ncd_io(trim(tString), asm_prm_dst4, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'ext_cff_mss_dust04_'//short_case_dust_opt//'_dif_'//short_case_solarspec - call ncd_io(trim(tString), ext_cff_mss_dst4, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - - !-------------------- for 480-band data - case (high_number_bands) - - ! BC species 1 Mie parameters, uncoated BC, same as bc_hphob before BC-snow internal mixing - tString = 'ss_alb_bcphob' - call ncd_io(trim(tString), ss_alb_bc_hphil, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'asm_prm_bcphob' - call ncd_io(trim(tString), asm_prm_bc_hphil, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'ext_cff_mss_bcphob' - call ncd_io(trim(tString), ext_cff_mss_bc_hphil, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - ! BC species 2 Mie parameters, uncoated BC - tString = 'ss_alb_bcphob' - call ncd_io(trim(tString), ss_alb_bc_hphob, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'asm_prm_bcphob' - call ncd_io(trim(tString), asm_prm_bc_hphob, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'ext_cff_mss_bcphob' - call ncd_io(trim(tString), ext_cff_mss_bc_hphob, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - ! OC species 1 Mie parameters, uncoated OC, same as oc_hphob before OC-snow internal mixing - tString = 'ss_alb_ocphob' - call ncd_io(trim(tString), ss_alb_oc_hphil, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'asm_prm_ocphob' - call ncd_io(trim(tString), asm_prm_oc_hphil, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'ext_cff_mss_ocphob' - call ncd_io(trim(tString), ext_cff_mss_oc_hphil, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - ! OC species 2 Mie parameters, uncoated OC - tString = 'ss_alb_ocphob' - call ncd_io(trim(tString), ss_alb_oc_hphob, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'asm_prm_ocphob' - call ncd_io(trim(tString), asm_prm_oc_hphob, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'ext_cff_mss_ocphob' - call ncd_io(trim(tString), ext_cff_mss_oc_hphob, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - - ! snow optical properties derived from different ice refractive index dataset - ! same value for direct and diffuse due to high spectral res without spectra averaging in database (Picard et al., 2016) - tString = 'ss_alb_ice_pic16' - call ncd_io(trim(tString), ss_alb_snw_drc, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'asm_prm_ice_pic16' - call ncd_io(trim(tString), asm_prm_snw_drc, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'ext_cff_mss_ice_pic16' - call ncd_io(trim(tString), ext_cff_mss_snw_drc, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'ss_alb_ice_pic16' - call ncd_io(trim(tString), ss_alb_snw_dfs, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'asm_prm_ice_pic16' - call ncd_io(trim(tString), asm_prm_snw_dfs, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'ext_cff_mss_ice_pic16' - call ncd_io(trim(tString), ext_cff_mss_snw_dfs, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - - ! dust optical properties - ! dust species 1 Mie parameters - tString = 'ss_alb_dust01_'//short_case_dust_opt - call ncd_io(trim(tString), ss_alb_dst1, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'asm_prm_dust01_'//short_case_dust_opt - call ncd_io(trim(tString), asm_prm_dst1, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'ext_cff_mss_dust01_'//short_case_dust_opt - call ncd_io(trim(tString), ext_cff_mss_dst1, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - ! dust species 2 Mie parameters - tString = 'ss_alb_dust02_'//short_case_dust_opt - call ncd_io(trim(tString), ss_alb_dst2, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'asm_prm_dust02_'//short_case_dust_opt - call ncd_io(trim(tString), asm_prm_dst2, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'ext_cff_mss_dust02_'//short_case_dust_opt - call ncd_io(trim(tString), ext_cff_mss_dst2, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - ! dust species 3 Mie parameters - tString = 'ss_alb_dust03_'//short_case_dust_opt - call ncd_io(trim(tString), ss_alb_dst3, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'asm_prm_dust03_'//short_case_dust_opt - call ncd_io(trim(tString), asm_prm_dst3, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'ext_cff_mss_dust03_'//short_case_dust_opt - call ncd_io(trim(tString), ext_cff_mss_dst3, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - ! dust species 4 Mie parameters - tString = 'ss_alb_dust04_'//short_case_dust_opt - call ncd_io(trim(tString), ss_alb_dst4, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'asm_prm_dust04_'//short_case_dust_opt - call ncd_io(trim(tString), asm_prm_dst4, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'ext_cff_mss_dust04_'//short_case_dust_opt - call ncd_io(trim(tString), ext_cff_mss_dst4, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - - ! downward solar radiation spectral weights for 480-band - tString = 'flx_wgt_dir480_'//short_case_solarspec - call ncd_io(trim(tString), flx_wgt_dir, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'flx_wgt_dif480_'//short_case_solarspec - call ncd_io(trim(tString), flx_wgt_dif, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - - case default - write(iulog,*) subname//' ERROR: unknown snicar_numrad_snw: ', snicar_numrad_snw - call endrun(msg=errMsg(sourcefile, __LINE__)) - end select + ! direct-beam snow Mie parameters: + call ncd_io('ss_alb_ice_drc', ss_alb_snw_drc, 'read', ncid, posNOTonfile=.true.) + call ncd_io( 'asm_prm_ice_drc',asm_prm_snw_drc, 'read', ncid, posNOTonfile=.true.) + call ncd_io( 'ext_cff_mss_ice_drc', ext_cff_mss_snw_drc, 'read', ncid, posNOTonfile=.true.) + + ! diffuse snow Mie parameters + call ncd_io( 'ss_alb_ice_dfs', ss_alb_snw_dfs, 'read', ncid, posNOTonfile=.true.) + call ncd_io( 'asm_prm_ice_dfs', asm_prm_snw_dfs, 'read', ncid, posNOTonfile=.true.) + call ncd_io( 'ext_cff_mss_ice_dfs', ext_cff_mss_snw_dfs, 'read', ncid, posNOTonfile=.true.) + + ! BC species 1 Mie parameters + call ncd_io( 'ss_alb_bcphil', ss_alb_bc1, 'read', ncid, posNOTonfile=.true.) + call ncd_io( 'asm_prm_bcphil', asm_prm_bc1, 'read', ncid, posNOTonfile=.true.) + call ncd_io( 'ext_cff_mss_bcphil', ext_cff_mss_bc1, 'read', ncid, posNOTonfile=.true.) + + ! BC species 2 Mie parameters + call ncd_io( 'ss_alb_bcphob', ss_alb_bc2, 'read', ncid, posNOTonfile=.true.) + call ncd_io( 'asm_prm_bcphob', asm_prm_bc2, 'read', ncid, posNOTonfile=.true.) + call ncd_io( 'ext_cff_mss_bcphob', ext_cff_mss_bc2, 'read', ncid, posNOTonfile=.true.) + + ! OC species 1 Mie parameters + call ncd_io( 'ss_alb_ocphil', ss_alb_oc1, 'read', ncid, posNOTonfile=.true.) + call ncd_io( 'asm_prm_ocphil', asm_prm_oc1, 'read', ncid, posNOTonfile=.true.) + call ncd_io( 'ext_cff_mss_ocphil', ext_cff_mss_oc1, 'read', ncid, posNOTonfile=.true.) + + ! OC species 2 Mie parameters + call ncd_io( 'ss_alb_ocphob', ss_alb_oc2, 'read', ncid, posNOTonfile=.true.) + call ncd_io( 'asm_prm_ocphob', asm_prm_oc2, 'read', ncid, posNOTonfile=.true.) + call ncd_io( 'ext_cff_mss_ocphob', ext_cff_mss_oc2, 'read', ncid, posNOTonfile=.true.) + + ! dust species 1 Mie parameters + call ncd_io( 'ss_alb_dust01', ss_alb_dst1, 'read', ncid, posNOTonfile=.true.) + call ncd_io( 'asm_prm_dust01', asm_prm_dst1, 'read', ncid, posNOTonfile=.true.) + call ncd_io( 'ext_cff_mss_dust01', ext_cff_mss_dst1, 'read', ncid, posNOTonfile=.true.) + + ! dust species 2 Mie parameters + call ncd_io( 'ss_alb_dust02', ss_alb_dst2, 'read', ncid, posNOTonfile=.true.) + call ncd_io( 'asm_prm_dust02', asm_prm_dst2, 'read', ncid, posNOTonfile=.true.) + call ncd_io( 'ext_cff_mss_dust02', ext_cff_mss_dst2, 'read', ncid, posNOTonfile=.true.) + + ! dust species 3 Mie parameters + call ncd_io( 'ss_alb_dust03', ss_alb_dst3, 'read', ncid, posNOTonfile=.true.) + call ncd_io( 'asm_prm_dust03', asm_prm_dst3, 'read', ncid, posNOTonfile=.true.) + call ncd_io( 'ext_cff_mss_dust03', ext_cff_mss_dst3, 'read', ncid, posNOTonfile=.true.) + + ! dust species 4 Mie parameters + call ncd_io( 'ss_alb_dust04', ss_alb_dst4, 'read', ncid, posNOTonfile=.true.) + call ncd_io( 'asm_prm_dust04', asm_prm_dst4, 'read', ncid, posNOTonfile=.true.) + call ncd_io( 'ext_cff_mss_dust04', ext_cff_mss_dst4, 'read', ncid, posNOTonfile=.true.) + call ncd_pio_closefile(ncid) if (masterproc) then @@ -2133,20 +1440,20 @@ subroutine SnowOptics_init( ) write (iulog,*) 'SNICAR: Mie single scatter albedos for diffuse ice, rds=100um: ', & ss_alb_snw_dfs(71,1), ss_alb_snw_dfs(71,2), ss_alb_snw_dfs(71,3), & ss_alb_snw_dfs(71,4), ss_alb_snw_dfs(71,5) - if (do_sno_oc) then + if (DO_SNO_OC) then write (iulog,*) 'SNICAR: Including OC aerosols from snow radiative transfer calculations' else write (iulog,*) 'SNICAR: Excluding OC aerosols from snow radiative transfer calculations' endif write (iulog,*) 'SNICAR: Mie single scatter albedos for hydrophillic BC: ', & - ss_alb_bc_hphil(1), ss_alb_bc_hphil(2), ss_alb_bc_hphil(3), ss_alb_bc_hphil(4), ss_alb_bc_hphil(5) + ss_alb_bc1(1), ss_alb_bc1(2), ss_alb_bc1(3), ss_alb_bc1(4), ss_alb_bc1(5) write (iulog,*) 'SNICAR: Mie single scatter albedos for hydrophobic BC: ', & - ss_alb_bc_hphob(1), ss_alb_bc_hphob(2), ss_alb_bc_hphob(3), ss_alb_bc_hphob(4), ss_alb_bc_hphob(5) - if (do_sno_oc) then + ss_alb_bc2(1), ss_alb_bc2(2), ss_alb_bc2(3), ss_alb_bc2(4), ss_alb_bc2(5) + if (DO_SNO_OC) then write (iulog,*) 'SNICAR: Mie single scatter albedos for hydrophillic OC: ', & - ss_alb_oc_hphil(1), ss_alb_oc_hphil(2), ss_alb_oc_hphil(3), ss_alb_oc_hphil(4), ss_alb_oc_hphil(5) + ss_alb_oc1(1), ss_alb_oc1(2), ss_alb_oc1(3), ss_alb_oc1(4), ss_alb_oc1(5) write (iulog,*) 'SNICAR: Mie single scatter albedos for hydrophobic OC: ', & - ss_alb_oc_hphob(1), ss_alb_oc_hphob(2), ss_alb_oc_hphob(3), ss_alb_oc_hphob(4), ss_alb_oc_hphob(5) + ss_alb_oc2(1), ss_alb_oc2(2), ss_alb_oc2(3), ss_alb_oc2(4), ss_alb_oc2(5) endif write (iulog,*) 'SNICAR: Mie single scatter albedos for dust species 1: ', & ss_alb_dst1(1), ss_alb_dst1(2), ss_alb_dst1(3), ss_alb_dst1(4), ss_alb_dst1(5) @@ -2173,9 +1480,6 @@ subroutine SnowAge_init( ) character(len= 32) :: subname = 'SnowOptics_init' ! subroutine name integer :: varid ! netCDF id's integer :: ier ! error status - logical :: readv ! has variable been read in or not - character(len=100) :: errCode = '-Error reading snow aging parameters:' - character(len=100) :: tString ! temp. var for reading ! Open snow aging (effective radius evolution) file: allocate(snowage_tau(idx_rhos_max,idx_Tgrd_max,idx_T_max)) @@ -2189,15 +1493,9 @@ subroutine SnowAge_init( ) ! snow aging parameters - tString = 'tau' - call ncd_io(trim(tString), snowage_tau, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'kappa' - call ncd_io(trim(tString), snowage_kappa, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - tString = 'drdsdt0' - call ncd_io(trim(tString), snowage_drdt0, 'read', ncid, readv, posNOTonfile=.true.) - if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) + call ncd_io('tau', snowage_tau, 'read', ncid, posNOTonfile=.true.) + call ncd_io('kappa', snowage_kappa, 'read', ncid, posNOTonfile=.true.) + call ncd_io('drdsdt0', snowage_drdt0, 'read', ncid, posNOTonfile=.true.) call ncd_pio_closefile(ncid) if (masterproc) then @@ -2211,55 +1509,5 @@ subroutine SnowAge_init( ) endif end subroutine SnowAge_init - - !----------------------------------------------------------------------- - subroutine piecewise_linear_interp1d(nd, xd, yd, xi, yi) - - ! piecewise linear interpolation method for 1-dimensional data - ! original author: John Burkardt, Florida State University, 09/22/2012 - ! Licencing: Original code distributed under the GNU LGPL license - ! Original code: https://people.sc.fsu.edu/~jburkardt/f77_src/pwl_interp_1d/pwl_interp_1d.f - ! Added and modified by Cenlin He (NCAR), 01/27/2022 - - implicit none - - integer , intent(in) :: nd ! number of data points of (xd) - real(r8), intent(in) :: xd(1:nd) ! x-value of data points - real(r8), intent(in) :: yd(1:nd) ! y-value of data points - real(r8), intent(in) :: xi ! x-value for to-be-interpolated point - real(r8), intent(out) :: yi ! the interpolated value at xi - - ! local variables - integer :: i, k ! loop index - real(r8) :: t - - yi = 0._r8 - - ! if only one data point - if ( nd == 1 ) then - yi = yd(1) - return - endif - - ! if multiple data points - if ( xi < xd(1) ) then ! extrapolate - t = ( xi - xd(1) ) / ( xd(2) - xd(1) ) - yi = (1._r8 - t) * yd(1) + t * yd(2) - elseif ( xi > xd(nd) ) then ! extrapolate - t = ( xi - xd(nd-1) ) / ( xd(nd) - xd(nd-1) ) - yi = (1._r8 - t) * yd(nd-1) + t * yd(nd) - else ! piecsewise interpolate - do k = 2, nd - if ( (xd(k-1) <= xi) .and. (xi <= xd(k)) ) then - t = ( xi - xd(k-1) ) / ( xd(k) - xd(k-1) ) - yi = (1._r8 - t) * yd(k-1) + t * yd(k) - exit - endif - enddo - endif - - return - - end subroutine piecewise_linear_interp1d - + end module SnowSnicarMod diff --git a/src/biogeophys/SolarAbsorbedType.F90 b/src/biogeophys/SolarAbsorbedType.F90 index d1941f68cc..d42a072b06 100644 --- a/src/biogeophys/SolarAbsorbedType.F90 +++ b/src/biogeophys/SolarAbsorbedType.F90 @@ -168,7 +168,7 @@ subroutine InitHistory(this, bounds) ! ! !USES: use shr_infnan_mod, only : nan => shr_infnan_nan, assignment(=) - use clm_varctl , only : use_SSRE + use clm_varctl , only : use_snicar_frc , use_SSRE use clm_varpar , only : nlevsno use histFileMod , only : hist_addfld1d, hist_addfld2d use histFileMod , only : no_snow_normal @@ -375,6 +375,7 @@ subroutine Restart(this, bounds, ncid, flag) ! ! !USES: use shr_infnan_mod , only : shr_infnan_isnan + use clm_varctl , only : use_snicar_frc, iulog use spmdMod , only : masterproc use abortutils , only : endrun use ncdio_pio , only : file_desc_t, ncd_defvar, ncd_io, ncd_double, ncd_int, ncd_inqvdlen diff --git a/src/biogeophys/SurfaceAlbedoMod.F90 b/src/biogeophys/SurfaceAlbedoMod.F90 index d23320d5e7..ba025023db 100644 --- a/src/biogeophys/SurfaceAlbedoMod.F90 +++ b/src/biogeophys/SurfaceAlbedoMod.F90 @@ -12,11 +12,11 @@ module SurfaceAlbedoMod use decompMod , only : bounds_type, subgrid_level_patch use abortutils , only : endrun use landunit_varcon , only : istsoil, istcrop, istdlak - use clm_varcon , only : grlnd, spval + use clm_varcon , only : grlnd use clm_varpar , only : numrad, nlevcan, nlevsno, nlevcan - use clm_varctl , only : fsurdat, iulog, use_SSRE, do_sno_oc + use clm_varctl , only : fsurdat, iulog, use_snicar_frc, use_SSRE use pftconMod , only : pftcon - use SnowSnicarMod , only : sno_nbr_aer, SNICAR_RT, DO_SNO_AER + use SnowSnicarMod , only : sno_nbr_aer, SNICAR_RT, DO_SNO_AER, DO_SNO_OC use AerosolMod , only : aerosol_type use CanopyStateType , only : canopystate_type use LakeStateType , only : lakestate_type @@ -297,6 +297,7 @@ subroutine SurfaceAlbedo(bounds,nc, & real(r8) :: laisum ! sum of canopy layer lai for error check real(r8) :: saisum ! sum of canopy layer sai for error check integer :: flg_slr ! flag for SNICAR (=1 if direct, =2 if diffuse) + integer :: flg_snw_ice ! flag for SNICAR (=1 when called from CLM, =2 when called from sea-ice) integer :: num_vegsol ! number of vegetated patches where coszen>0 integer :: num_novegsol ! number of vegetated patches where coszen>0 integer :: filter_vegsol (bounds%endp-bounds%begp+1) ! patch filter where vegetated and coszen>0 @@ -348,7 +349,7 @@ subroutine SurfaceAlbedo(bounds,nc, & esai => canopystate_inst%esai_patch , & ! Input: [real(r8) (:) ] one-sided stem area index with burying by snow frac_sno => waterdiagnosticbulk_inst%frac_sno_col , & ! Input: [real(r8) (:) ] fraction of ground covered by snow (0 to 1) - fcansno => waterdiagnosticbulk_inst%fcansno_patch , & ! Input: [real(r8) (:) ] fraction of canopy that is snow-covered (0 to 1) + fcansno => waterdiagnosticbulk_inst%fcansno_patch , & ! Input: [real(r8) (:) ] fraction of canopy that is snow-covered (0 to 1) h2osoi_liq => waterstatebulk_inst%h2osoi_liq_col , & ! Input: [real(r8) (:,:) ] liquid water content (col,lyr) [kg/m2] h2osoi_ice => waterstatebulk_inst%h2osoi_ice_col , & ! Input: [real(r8) (:,:) ] ice lens content (col,lyr) [kg/m2] snw_rds => waterdiagnosticbulk_inst%snw_rds_col , & ! Input: [real(r8) (:,:) ] snow grain radius (col,lyr) [microns] @@ -386,22 +387,6 @@ subroutine SurfaceAlbedo(bounds,nc, & albsni_hst => surfalb_inst%albsni_hst_col , & ! Output: [real(r8) (:,:) ] snow ground albedo, diffuse, for history files (col,bnd) [frc] albd => surfalb_inst%albd_patch , & ! Output: [real(r8) (:,:) ] surface albedo (direct) albi => surfalb_inst%albi_patch , & ! Output: [real(r8) (:,:) ] surface albedo (diffuse) -! add new snicar output albedo variables for history fields - albgrd_hst => surfalb_inst%albgrd_hst_col , & ! Output: [real(r8) (:,:) ] ground albedo (direct) for history files - albgri_hst => surfalb_inst%albgri_hst_col , & ! Output: [real(r8) (:,:) ] ground albedo (diffuse) for history files - albgrd_pur_hst => surfalb_inst%albgrd_pur_hst_col , & ! Output: [real(r8) (:,:) ] pure snow ground albedo (direct) for history files - albgri_pur_hst => surfalb_inst%albgri_pur_hst_col , & ! Output: [real(r8) (:,:) ] pure snow ground albedo (diffuse) for history files - albgrd_bc_hst => surfalb_inst%albgrd_bc_hst_col , & ! Output: [real(r8) (:,:) ] ground albedo without BC (direct) for history files - albgri_bc_hst => surfalb_inst%albgri_bc_hst_col , & ! Output: [real(r8) (:,:) ] ground albedo without BC (diffuse) for history files - albgrd_oc_hst => surfalb_inst%albgrd_oc_hst_col , & ! Output: [real(r8) (:,:) ] ground albedo without OC (direct) for history files - albgri_oc_hst => surfalb_inst%albgri_oc_hst_col , & ! Output: [real(r8) (:,:) ] ground albedo without OC (diffuse) for history files - albgrd_dst_hst => surfalb_inst%albgrd_dst_hst_col , & ! Output: [real(r8) (:,:) ] ground albedo without dust (direct) for history files - albgri_dst_hst => surfalb_inst%albgri_dst_hst_col , & ! Output: [real(r8) (:,:) ] ground albedo without dust (diffuse) for history files - albsnd_hst2 => surfalb_inst%albsnd_hst2_col , & ! Output: [real(r8) (:,:) ] snow albedo, direct, for history files (col,bnd) for history files - albsni_hst2 => surfalb_inst%albsni_hst2_col , & ! Output: [real(r8) (:,:) ] snow ground albedo, diffuse, for history files (col,bnd) for history files - albd_hst => surfalb_inst%albd_hst_patch , & ! Output: [real(r8) (:,:) ] surface albedo (direct) for history files - albi_hst => surfalb_inst%albi_hst_patch , & ! Output: [real(r8) (:,:) ] surface albedo (diffuse) for history files -! end add new snicar albdSF => surfalb_inst%albdSF_patch , & ! Output: [real(r8) (:,:) ] diagnostic snow-free surface albedo (direct) albiSF => surfalb_inst%albiSF_patch , & ! Output: [real(r8) (:,:) ] diagnostic snow-free surface albedo (diffuse) fabd => surfalb_inst%fabd_patch , & ! Output: [real(r8) (:,:) ] flux absorbed by canopy per unit direct flux @@ -435,7 +420,7 @@ subroutine SurfaceAlbedo(bounds,nc, & do fp = 1,num_nourbanp p = filter_nourbanp(fp) g = patch%gridcell(p) - coszen_patch(p) = coszen_gcell(g) + coszen_patch(p) = coszen_gcell(g) end do ! Initialize output because solar radiation only done if coszen > 0 @@ -455,20 +440,6 @@ subroutine SurfaceAlbedo(bounds,nc, & albgri_oc(c,ib) = 0._r8 albgrd_dst(c,ib) = 0._r8 albgri_dst(c,ib) = 0._r8 -! add new snicar output variables for history files - albgrd_hst(c,ib) = spval - albgri_hst(c,ib) = spval - albgrd_pur_hst(c,ib) = spval - albgri_pur_hst(c,ib) = spval - albgrd_bc_hst(c,ib) = spval - albgri_bc_hst(c,ib) = spval - albgrd_oc_hst(c,ib) = spval - albgri_oc_hst(c,ib) = spval - albgrd_dst_hst(c,ib) = spval - albgri_dst_hst(c,ib) = spval - albsnd_hst2(c,ib) = spval - albsni_hst2(c,ib) = spval -! end add new snicar do i=-nlevsno+1,1,1 flx_absdv(c,i) = 0._r8 flx_absdn(c,i) = 0._r8 @@ -481,10 +452,6 @@ subroutine SurfaceAlbedo(bounds,nc, & p = filter_nourbanp(fp) albd(p,ib) = 1._r8 albi(p,ib) = 1._r8 -! add new snicar output variables for history files - albd_hst(p,ib) = spval - albi_hst(p,ib) = spval -! end add new snicar if (use_SSRE) then albdSF(p,ib) = 1._r8 albiSF(p,ib) = 1._r8 @@ -523,6 +490,7 @@ subroutine SurfaceAlbedo(bounds,nc, & ! set variables to pass to SNICAR. + flg_snw_ice = 1 ! calling from CLM, not CSIM do c=bounds%begc,bounds%endc albsfc(c,:) = albsoi(c,:) h2osno_liq(c,:) = h2osoi_liq(c,-nlevsno+1:0) @@ -550,11 +518,11 @@ subroutine SurfaceAlbedo(bounds,nc, & mss_cnc_aer_in_fdb(bounds%begc:bounds%endc,:,1) = mss_cnc_bcphi(bounds%begc:bounds%endc,:) mss_cnc_aer_in_fdb(bounds%begc:bounds%endc,:,2) = mss_cnc_bcpho(bounds%begc:bounds%endc,:) - ! do_sno_oc is set in SNICAR_varpar. Default case is to ignore OC concentrations because: + ! DO_SNO_OC is set in SNICAR_varpar. Default case is to ignore OC concentrations because: ! 1) Knowledge of their optical properties is primitive ! 2) When 'water-soluble' OPAC optical properties are applied to OC in snow, ! it has a negligible darkening effect. - if (do_sno_oc) then + if (DO_SNO_OC) then mss_cnc_aer_in_fdb(bounds%begc:bounds%endc,:,3) = mss_cnc_ocphi(bounds%begc:bounds%endc,:) mss_cnc_aer_in_fdb(bounds%begc:bounds%endc,:,4) = mss_cnc_ocpho(bounds%begc:bounds%endc,:) endif @@ -578,14 +546,14 @@ subroutine SurfaceAlbedo(bounds,nc, & mss_cnc_aer_in_frc_bc(bounds%begc:bounds%endc,:,6) = mss_cnc_dst2(bounds%begc:bounds%endc,:) mss_cnc_aer_in_frc_bc(bounds%begc:bounds%endc,:,7) = mss_cnc_dst3(bounds%begc:bounds%endc,:) mss_cnc_aer_in_frc_bc(bounds%begc:bounds%endc,:,8) = mss_cnc_dst4(bounds%begc:bounds%endc,:) - if (do_sno_oc) then + if (DO_SNO_OC) then mss_cnc_aer_in_frc_bc(bounds%begc:bounds%endc,:,3) = mss_cnc_ocphi(bounds%begc:bounds%endc,:) mss_cnc_aer_in_frc_bc(bounds%begc:bounds%endc,:,4) = mss_cnc_ocpho(bounds%begc:bounds%endc,:) endif ! BC FORCING CALCULATIONS flg_slr = 1; ! direct-beam - call SNICAR_RT(bounds, num_nourbanc, filter_nourbanc, & + call SNICAR_RT(flg_snw_ice, bounds, num_nourbanc, filter_nourbanc, & coszen_col(bounds%begc:bounds%endc), & flg_slr, & h2osno_liq(bounds%begc:bounds%endc, :), & @@ -599,7 +567,7 @@ subroutine SurfaceAlbedo(bounds,nc, & waterdiagnosticbulk_inst) flg_slr = 2; ! diffuse - call SNICAR_RT(bounds, num_nourbanc, filter_nourbanc, & + call SNICAR_RT(flg_snw_ice, bounds, num_nourbanc, filter_nourbanc, & coszen_col(bounds%begc:bounds%endc), & flg_slr, & h2osno_liq(bounds%begc:bounds%endc, :), & @@ -614,7 +582,7 @@ subroutine SurfaceAlbedo(bounds,nc, & ! 2. OC input array: ! set BC and dust concentrations, so OC_FRC=[(BC+OC+dust)-(BC+dust)] - if (do_sno_oc) then + if (DO_SNO_OC) then mss_cnc_aer_in_frc_oc(bounds%begc:bounds%endc,:,1) = mss_cnc_bcphi(bounds%begc:bounds%endc,:) mss_cnc_aer_in_frc_oc(bounds%begc:bounds%endc,:,2) = mss_cnc_bcpho(bounds%begc:bounds%endc,:) mss_cnc_aer_in_frc_oc(bounds%begc:bounds%endc,:,5) = mss_cnc_dst1(bounds%begc:bounds%endc,:) @@ -624,7 +592,7 @@ subroutine SurfaceAlbedo(bounds,nc, & ! OC FORCING CALCULATIONS flg_slr = 1; ! direct-beam - call SNICAR_RT(bounds, num_nourbanc, filter_nourbanc, & + call SNICAR_RT(flg_snw_ice, bounds, num_nourbanc, filter_nourbanc, & coszen_col(bounds%begc:bounds%endc), & flg_slr, & h2osno_liq(bounds%begc:bounds%endc, :), & @@ -638,7 +606,7 @@ subroutine SurfaceAlbedo(bounds,nc, & waterdiagnosticbulk_inst) flg_slr = 2; ! diffuse - call SNICAR_RT(bounds, num_nourbanc, filter_nourbanc, & + call SNICAR_RT(flg_snw_ice, bounds, num_nourbanc, filter_nourbanc, & coszen_col(bounds%begc:bounds%endc), & flg_slr, & h2osno_liq(bounds%begc:bounds%endc, :), & @@ -656,14 +624,14 @@ subroutine SurfaceAlbedo(bounds,nc, & ! set BC and OC concentrations, so DST_FRC=[(BC+OC+dust)-(BC+OC)] mss_cnc_aer_in_frc_dst(bounds%begc:bounds%endc,:,1) = mss_cnc_bcphi(bounds%begc:bounds%endc,:) mss_cnc_aer_in_frc_dst(bounds%begc:bounds%endc,:,2) = mss_cnc_bcpho(bounds%begc:bounds%endc,:) - if (do_sno_oc) then + if (DO_SNO_OC) then mss_cnc_aer_in_frc_dst(bounds%begc:bounds%endc,:,3) = mss_cnc_ocphi(bounds%begc:bounds%endc,:) mss_cnc_aer_in_frc_dst(bounds%begc:bounds%endc,:,4) = mss_cnc_ocpho(bounds%begc:bounds%endc,:) endif ! DUST FORCING CALCULATIONS flg_slr = 1; ! direct-beam - call SNICAR_RT(bounds, num_nourbanc, filter_nourbanc, & + call SNICAR_RT(flg_snw_ice, bounds, num_nourbanc, filter_nourbanc, & coszen_col(bounds%begc:bounds%endc), & flg_slr, & h2osno_liq(bounds%begc:bounds%endc, :), & @@ -677,7 +645,7 @@ subroutine SurfaceAlbedo(bounds,nc, & waterdiagnosticbulk_inst) flg_slr = 2; ! diffuse - call SNICAR_RT(bounds, num_nourbanc, filter_nourbanc, & + call SNICAR_RT(flg_snw_ice, bounds, num_nourbanc, filter_nourbanc, & coszen_col(bounds%begc:bounds%endc), & flg_slr, & h2osno_liq(bounds%begc:bounds%endc, :), & @@ -693,7 +661,7 @@ subroutine SurfaceAlbedo(bounds,nc, & ! 4. ALL AEROSOL FORCING CALCULATION ! (pure snow albedo) flg_slr = 1; ! direct-beam - call SNICAR_RT(bounds, num_nourbanc, filter_nourbanc, & + call SNICAR_RT(flg_snw_ice, bounds, num_nourbanc, filter_nourbanc, & coszen_col(bounds%begc:bounds%endc), & flg_slr, & h2osno_liq(bounds%begc:bounds%endc, :), & @@ -707,7 +675,7 @@ subroutine SurfaceAlbedo(bounds,nc, & waterdiagnosticbulk_inst) flg_slr = 2; ! diffuse - call SNICAR_RT(bounds, num_nourbanc, filter_nourbanc, & + call SNICAR_RT(flg_snw_ice, bounds, num_nourbanc, filter_nourbanc, & coszen_col(bounds%begc:bounds%endc), & flg_slr, & h2osno_liq(bounds%begc:bounds%endc, :), & @@ -723,7 +691,7 @@ subroutine SurfaceAlbedo(bounds,nc, & ! CLIMATE FEEDBACK CALCULATIONS, ALL AEROSOLS: flg_slr = 1; ! direct-beam - call SNICAR_RT(bounds, num_nourbanc, filter_nourbanc, & + call SNICAR_RT(flg_snw_ice, bounds, num_nourbanc, filter_nourbanc, & coszen_col(bounds%begc:bounds%endc), & flg_slr, & h2osno_liq(bounds%begc:bounds%endc, :), & @@ -737,7 +705,7 @@ subroutine SurfaceAlbedo(bounds,nc, & waterdiagnosticbulk_inst) flg_slr = 2; ! diffuse - call SNICAR_RT(bounds, num_nourbanc, filter_nourbanc, & + call SNICAR_RT(flg_snw_ice, bounds, num_nourbanc, filter_nourbanc, & coszen_col(bounds%begc:bounds%endc), & flg_slr, & h2osno_liq(bounds%begc:bounds%endc, :), & @@ -766,7 +734,7 @@ subroutine SurfaceAlbedo(bounds,nc, & albgrd_bc(c,ib) = albsod(c,ib)*(1.-frac_sno(c)) + albsnd_bc(c,ib)*frac_sno(c) albgri_bc(c,ib) = albsoi(c,ib)*(1.-frac_sno(c)) + albsni_bc(c,ib)*frac_sno(c) - if (do_sno_oc) then + if (DO_SNO_OC) then ! OC forcing albedo albgrd_oc(c,ib) = albsod(c,ib)*(1.-frac_sno(c)) + albsnd_oc(c,ib)*frac_sno(c) albgri_oc(c,ib) = albsoi(c,ib)*(1.-frac_sno(c)) + albsni_oc(c,ib)*frac_sno(c) @@ -1080,37 +1048,6 @@ subroutine SurfaceAlbedo(bounds,nc, & end do end do - ! add output variables for history files - do ib = 1, numrad - do fc = 1,num_nourbanc - c = filter_nourbanc(fc) - if (coszen_col(c) > 0._r8) then - albgrd_hst(c,ib) = albgrd(c,ib) - albgri_hst(c,ib) = albgri(c,ib) - albgrd_pur_hst(c,ib) = albgrd_pur(c,ib) - albgri_pur_hst(c,ib) = albgri_pur(c,ib) - albgrd_bc_hst(c,ib) = albgrd_bc(c,ib) - albgri_bc_hst(c,ib) = albgri_bc(c,ib) - albgrd_oc_hst(c,ib) = albgrd_oc(c,ib) - albgri_oc_hst(c,ib) = albgri_oc(c,ib) - albgrd_dst_hst(c,ib) = albgrd_dst(c,ib) - albgri_dst_hst(c,ib) = albgri_dst(c,ib) - if (h2osno_total(c) > 0._r8) then - albsnd_hst2(c,ib) = albsnd_hst(c,ib) - albsni_hst2(c,ib) = albsni_hst(c,ib) - end if - end if - end do - - do fp = 1,num_nourbanp - p = filter_nourbanp(fp) - if (coszen_patch(p) > 0._r8) then - albd_hst(p,ib) = albd(p,ib) - albi_hst(p,ib) = albi(p,ib) - end if - end do - end do - end associate end subroutine SurfaceAlbedo diff --git a/src/biogeophys/SurfaceAlbedoType.F90 b/src/biogeophys/SurfaceAlbedoType.F90 index a8b645b84a..dba2938d98 100644 --- a/src/biogeophys/SurfaceAlbedoType.F90 +++ b/src/biogeophys/SurfaceAlbedoType.F90 @@ -7,7 +7,7 @@ module SurfaceAlbedoType use decompMod , only : bounds_type use clm_varpar , only : numrad, nlevcan, nlevsno use abortutils , only : endrun - use clm_varctl , only : use_SSRE, use_snicar_frc + use clm_varctl , only : use_SSRE ! ! !PUBLIC TYPES: implicit none @@ -35,22 +35,6 @@ module SurfaceAlbedoType real(r8), pointer :: albsoi_col (:,:) ! col soil albedo: diffuse (col,bnd) [frc] real(r8), pointer :: albsnd_hst_col (:,:) ! col snow albedo, direct , for history files (col,bnd) [frc] real(r8), pointer :: albsni_hst_col (:,:) ! col snow albedo, diffuse, for history files (col,bnd) [frc] -! add new snicar output variables for albedo for history files only - real(r8), pointer :: albd_hst_patch (:,:) ! patch surface albedo (direct) for history files (numrad) - real(r8), pointer :: albi_hst_patch (:,:) ! patch surface albedo (diffuse) for history files (numrad) - real(r8), pointer :: albgrd_pur_hst_col (:,:) ! col pure snow ground direct albedo for history files (numrad) - real(r8), pointer :: albgri_pur_hst_col (:,:) ! col pure snow ground diffuse albedo for history files (numrad) - real(r8), pointer :: albgrd_bc_hst_col (:,:) ! col ground direct albedo without BC for history files (numrad) - real(r8), pointer :: albgri_bc_hst_col (:,:) ! col ground diffuse albedo without BC for history files (numrad) - real(r8), pointer :: albgrd_oc_hst_col (:,:) ! col ground direct albedo without OC for history files (numrad) - real(r8), pointer :: albgri_oc_hst_col (:,:) ! col ground diffuse albedo without OC for history files (numrad) - real(r8), pointer :: albgrd_dst_hst_col (:,:) ! col ground direct albedo without dust for history files (numrad) - real(r8), pointer :: albgri_dst_hst_col (:,:) ! col ground diffuse albedo without dust for history files (numrad) - real(r8), pointer :: albgrd_hst_col (:,:) ! col ground albedo (direct) for history files (numrad) - real(r8), pointer :: albgri_hst_col (:,:) ! col ground albedo (diffuse) for history files (numrad) - real(r8), pointer :: albsnd_hst2_col (:,:) ! col snow albedo, direct , for history files (col,bnd) [frc] - real(r8), pointer :: albsni_hst2_col (:,:) ! col snow albedo, diffuse, for history files (col,bnd) [frc] -! end add new snicar real(r8), pointer :: ftdd_patch (:,:) ! patch down direct flux below canopy per unit direct flx (numrad) real(r8), pointer :: ftid_patch (:,:) ! patch down diffuse flux below canopy per unit direct flx (numrad) @@ -173,23 +157,6 @@ subroutine InitAllocate(this, bounds) allocate(this%vcmaxcintsun_patch (begp:endp)) ; this%vcmaxcintsun_patch (:) = nan allocate(this%vcmaxcintsha_patch (begp:endp)) ; this%vcmaxcintsha_patch (:) = nan -! add new snicar output variables for albedo for history files only - allocate(this%albgrd_hst_col (begc:endc,numrad)) ; this%albgrd_hst_col (:,:) = spval - allocate(this%albgri_hst_col (begc:endc,numrad)) ; this%albgri_hst_col (:,:) = spval - allocate(this%albsnd_hst2_col (begc:endc,numrad)) ; this%albsnd_hst2_col (:,:) = spval - allocate(this%albsni_hst2_col (begc:endc,numrad)) ; this%albsni_hst2_col (:,:) = spval - allocate(this%albgrd_pur_hst_col (begc:endc,numrad)) ; this%albgrd_pur_hst_col (:,:) = spval - allocate(this%albgri_pur_hst_col (begc:endc,numrad)) ; this%albgri_pur_hst_col (:,:) = spval - allocate(this%albgrd_bc_hst_col (begc:endc,numrad)) ; this%albgrd_bc_hst_col (:,:) = spval - allocate(this%albgri_bc_hst_col (begc:endc,numrad)) ; this%albgri_bc_hst_col (:,:) = spval - allocate(this%albgrd_oc_hst_col (begc:endc,numrad)) ; this%albgrd_oc_hst_col (:,:) = spval - allocate(this%albgri_oc_hst_col (begc:endc,numrad)) ; this%albgri_oc_hst_col (:,:) = spval - allocate(this%albgrd_dst_hst_col (begc:endc,numrad)) ; this%albgrd_dst_hst_col (:,:) = spval - allocate(this%albgri_dst_hst_col (begc:endc,numrad)) ; this%albgri_dst_hst_col (:,:) = spval - allocate(this%albd_hst_patch (begp:endp,numrad)) ; this%albd_hst_patch (:,:) = spval - allocate(this%albi_hst_patch (begp:endp,numrad)) ; this%albi_hst_patch (:,:) = spval -! end and new snicar - end subroutine InitAllocate !----------------------------------------------------------------------- @@ -254,82 +221,6 @@ subroutine InitHistory(this, bounds) avgflag='A', long_name='surface albedo (indirect)', & ptr_patch=this%albi_patch, default=defaultoutput, c2l_scale_type='urbanf') -! add new snicar output variables for albedo for history files only - use_snicar_frc_if: if (use_snicar_frc) then - - this%albd_hst_patch(begp:endp,:) = spval - call hist_addfld2d (fname='ALBD_HIST', units='proportion', type2d='numrad', & - avgflag='A', long_name='surface albedo (direct)', & - ptr_patch=this%albd_hst_patch, default='inactive', c2l_scale_type='urbanf') - - this%albi_hst_patch(begp:endp,:) = spval - call hist_addfld2d (fname='ALBI_HIST', units='proportion', type2d='numrad', & - avgflag='A', long_name='surface albedo (indirect)', & - ptr_patch=this%albi_hst_patch, default='inactive', c2l_scale_type='urbanf') - - this%albgrd_hst_col(begc:endc,:) = spval - call hist_addfld2d (fname='ALBGRD_HIST', units='proportion', type2d='numrad', & - avgflag='A', long_name='ground albedo (direct)', & - ptr_col=this%albgrd_hst_col, default='inactive') - - this%albgri_hst_col(begc:endc,:) = spval - call hist_addfld2d (fname='ALBGRI_HIST', units='proportion', type2d='numrad', & - avgflag='A', long_name='ground albedo (indirect)', & - ptr_col=this%albgri_hst_col, default='inactive') - - this%albgrd_pur_hst_col(begc:endc,:) = spval - call hist_addfld2d (fname='ALBGRD_PUR_HIST', units='proportion', type2d='numrad', & - avgflag='A', long_name='ground albedo without aerosol in snow (direct)', & - ptr_col=this%albgrd_pur_hst_col, default='inactive') - - this%albgri_pur_hst_col(begc:endc,:) = spval - call hist_addfld2d (fname='ALBGRI_PUR_HIST', units='proportion', type2d='numrad', & - avgflag='A', long_name='ground albedo without aerosol in snow (diffuse)', & - ptr_col=this%albgri_pur_hst_col, default='inactive') - - this%albgrd_bc_hst_col(begc:endc,:) = spval - call hist_addfld2d (fname='ALBGRD_BC_HIST', units='proportion', type2d='numrad', & - avgflag='A', long_name='ground albedo without BC in snow (direct)', & - ptr_col=this%albgrd_bc_hst_col, default='inactive') - - this%albgri_bc_hst_col(begc:endc,:) = spval - call hist_addfld2d (fname='ALBGRI_BC_HIST', units='proportion', type2d='numrad', & - avgflag='A', long_name='ground albedo without BC in snow (diffuse)', & - ptr_col=this%albgri_bc_hst_col, default='inactive') - - this%albgrd_oc_hst_col(begc:endc,:) = spval - call hist_addfld2d (fname='ALBGRD_OC_HIST', units='proportion', type2d='numrad', & - avgflag='A', long_name='ground albedo without OC in snow (direct)', & - ptr_col=this%albgrd_oc_hst_col, default='inactive') - - this%albgri_oc_hst_col(begc:endc,:) = spval - call hist_addfld2d (fname='ALBGRI_OC_HIST', units='proportion', type2d='numrad', & - avgflag='A', long_name='ground albedo without OC in snow (diffuse)', & - ptr_col=this%albgri_oc_hst_col, default='inactive') - - this%albgrd_dst_hst_col(begc:endc,:) = spval - call hist_addfld2d (fname='ALBGRD_DST_HIST', units='proportion', type2d='numrad', & - avgflag='A', long_name='ground albedo without dust in snow (direct)', & - ptr_col=this%albgrd_dst_hst_col, default='inactive') - - this%albgri_dst_hst_col(begc:endc,:) = spval - call hist_addfld2d (fname='ALBGRI_DST_HIST', units='proportion', type2d='numrad', & - avgflag='A', long_name='ground albedo without dust in snow (diffuse)', & - ptr_col=this%albgri_dst_hst_col, default='inactive') - - this%albsnd_hst2_col(begc:endc,:) = spval - call hist_addfld2d (fname='ALBSND_HIST', units='proportion', type2d='numrad', & - avgflag='A', long_name='snow albedo (direct)', & - ptr_col=this%albsnd_hst2_col, default='inactive') - - this%albsni_hst2_col(begc:endc,:) = spval - call hist_addfld2d (fname='ALBSNI_HIST', units='proportion', type2d='numrad', & - avgflag='A', long_name='snow albedo (diffuse)', & - ptr_col=this%albsni_hst2_col, default='inactive') - - end if use_snicar_frc_if -! end add new snicar - end subroutine InitHistory !----------------------------------------------------------------------- @@ -379,7 +270,7 @@ subroutine InitCold(this, bounds) this%ftdd_patch (begp:endp, :) = 1.0_r8 this%ftid_patch (begp:endp, :) = 0.0_r8 this%ftii_patch (begp:endp, :) = 1.0_r8 - + end subroutine InitCold !--------------------------------------------------------------------- @@ -390,7 +281,7 @@ subroutine Restart(this, bounds, ncid, flag, & ! Read/Write module information to/from restart file. ! ! !USES: - use clm_varctl , only : use_snicar_frc, iulog + use clm_varctl , only : use_snicar_frc, iulog use spmdMod , only : masterproc use decompMod , only : bounds_type use abortutils , only : endrun @@ -562,7 +453,7 @@ subroutine Restart(this, bounds, ncid, flag, & this%vcmaxcintsha_patch(begp:endp) = 1._r8 end if - use_snicar_frc_if: if (use_snicar_frc) then + if (use_snicar_frc) then call restartvar(ncid=ncid, flag=flag, varname='albgrd_bc', xtype=ncd_double, & dim1name='column', dim2name='numrad', switchdim=.true., & @@ -652,94 +543,7 @@ subroutine Restart(this, bounds, ncid, flag, & this%albgri_dst_col(begc:endc,:) = this%albgri_col(begc:endc,:) end if -! add new snicar output variables for albedo for history files only - - call restartvar(ncid=ncid, flag=flag, varname='albd_hist', xtype=ncd_double, & - dim1name='pft', dim2name='numrad', switchdim=.true., & - long_name='surface albedo (direct) (0 to 1)', units='', & - scale_by_thickness=.false., & - interpinic_flag='interp', readvar=readvar, data=this%albd_hst_patch) - - call restartvar(ncid=ncid, flag=flag, varname='albi_hist', xtype=ncd_double, & - dim1name='pft', dim2name='numrad', switchdim=.true., & - long_name='surface albedo (diffuse) (0 to 1)', units='', & - scale_by_thickness=.false., & - interpinic_flag='interp', readvar=readvar, data=this%albi_hst_patch) - - call restartvar(ncid=ncid, flag=flag, varname='albgrd_hist', xtype=ncd_double, & - dim1name='column', dim2name='numrad', switchdim=.true., & - long_name='ground albedo (direct) (0 to 1)', units='', & - scale_by_thickness=.false., & - interpinic_flag='interp', readvar=readvar, data=this%albgrd_hst_col) - - call restartvar(ncid=ncid, flag=flag, varname='albgri_hist', xtype=ncd_double, & - dim1name='column', dim2name='numrad', switchdim=.true., & - long_name='ground albedo (indirect) (0 to 1)', units='', & - scale_by_thickness=.false., & - interpinic_flag='interp', readvar=readvar, data=this%albgri_hst_col) - - call restartvar(ncid=ncid, flag=flag, varname='albsnd_hst2', xtype=ncd_double, & - dim1name='column', dim2name='numrad', switchdim=.true., & - long_name='snow albedo (direct) (0 to 1)', units='proportion', & - scale_by_thickness=.false., & - interpinic_flag='interp', readvar=readvar, data=this%albsnd_hst2_col) - - call restartvar(ncid=ncid, flag=flag, varname='albsni_hst2', xtype=ncd_double, & - dim1name='column', dim2name='numrad', switchdim=.true., & - long_name='snow albedo (diffuse) (0 to 1)', units='proportion', & - scale_by_thickness=.false., & - interpinic_flag='interp', readvar=readvar, data=this%albsni_hst2_col) - - call restartvar(ncid=ncid, flag=flag, varname='albgrd_bc_hist', xtype=ncd_double, & - dim1name='column', dim2name='numrad', switchdim=.true., & - long_name='ground albedo without BC (direct) (0 to 1)', units='', & - scale_by_thickness=.false., & - interpinic_flag='interp',readvar=readvar, data=this%albgrd_bc_hst_col) - - call restartvar(ncid=ncid, flag=flag, varname='albgri_bc_hist', xtype=ncd_double, & - dim1name='column', dim2name='numrad', switchdim=.true., & - long_name='ground albedo without BC (diffuse) (0 to 1)', units='', & - scale_by_thickness=.false., & - interpinic_flag='interp', readvar=readvar, data=this%albgri_bc_hst_col) - - call restartvar(ncid=ncid, flag=flag, varname='albgrd_pur_hist', xtype=ncd_double, & - dim1name='column', dim2name='numrad', switchdim=.true., & - long_name='pure snow ground albedo (direct) (0 to 1)', units='', & - scale_by_thickness=.false., & - interpinic_flag='interp', readvar=readvar, data=this%albgrd_pur_hst_col) - - call restartvar(ncid=ncid, flag=flag, varname='albgri_pur_hist', xtype=ncd_double, & - dim1name='column', dim2name='numrad', switchdim=.true., & - long_name='pure snow ground albedo (diffuse) (0 to 1)', units='', & - scale_by_thickness=.false., & - interpinic_flag='interp', readvar=readvar, data=this%albgri_pur_hst_col) - - call restartvar(ncid=ncid, flag=flag, varname='albgrd_oc_hist', xtype=ncd_double, & - dim1name='column', dim2name='numrad', switchdim=.true., & - long_name='ground albedo without OC (direct) (0 to 1)', units='', & - scale_by_thickness=.false., & - interpinic_flag='interp', readvar=readvar, data=this%albgrd_oc_hst_col) - - call restartvar(ncid=ncid, flag=flag, varname='albgri_oc_hist', xtype=ncd_double, & - dim1name='column', dim2name='numrad', switchdim=.true., & - long_name='ground albedo without OC (diffuse) (0 to 1)', units='', & - scale_by_thickness=.false., & - interpinic_flag='interp', readvar=readvar, data=this%albgri_oc_hst_col) - - call restartvar(ncid=ncid, flag=flag, varname='albgrd_dst_hist', xtype=ncd_double, & - dim1name='column', dim2name='numrad', switchdim=.true., & - long_name='ground albedo without dust (direct) (0 to 1)', units='', & - scale_by_thickness=.false., & - interpinic_flag='interp', readvar=readvar, data=this%albgrd_dst_hst_col) - - call restartvar(ncid=ncid, flag=flag, varname='albgri_dst_hist', xtype=ncd_double, & - dim1name='column', dim2name='numrad', switchdim=.true., & - long_name='ground albedo without dust (diffuse) (0 to 1)', units='', & - scale_by_thickness=.false., & - interpinic_flag='interp', readvar=readvar, data=this%albgri_dst_hst_col) - - end if use_snicar_frc_if -! end add new snicar + end if ! end of if-use_snicar_frc ! patch type physical state variable - fabd call restartvar(ncid=ncid, flag=flag, varname='fabd', xtype=ncd_double, & diff --git a/src/biogeophys/SurfaceRadiationMod.F90 b/src/biogeophys/SurfaceRadiationMod.F90 index 03557c6476..5378e6315c 100644 --- a/src/biogeophys/SurfaceRadiationMod.F90 +++ b/src/biogeophys/SurfaceRadiationMod.F90 @@ -477,8 +477,9 @@ subroutine SurfaceRadiation(bounds, num_nourbanp, filter_nourbanp, & use clm_varpar , only : numrad, nlevsno use clm_varcon , only : spval use landunit_varcon , only : istsoil, istcrop - use clm_varctl , only : use_subgrid_fluxes, use_snicar_frc, iulog, use_SSRE, do_sno_oc + use clm_varctl , only : use_subgrid_fluxes, use_snicar_frc, iulog, use_SSRE use clm_time_manager , only : get_step_size_real, is_near_local_noon + use SnowSnicarMod , only : DO_SNO_OC use abortutils , only : endrun ! ! !ARGUMENTS: @@ -855,7 +856,7 @@ subroutine SurfaceRadiation(bounds, num_nourbanp, filter_nourbanp, & sfc_frc_bc(p) = sabg(p) - sabg_bc(p) ! OC aerosol forcing (patch-level): - if (do_sno_oc) then + if (DO_SNO_OC) then sfc_frc_oc(p) = sabg(p) - sabg_oc(p) else sfc_frc_oc(p) = 0._r8 diff --git a/src/biogeophys/UrbanAlbedoMod.F90 b/src/biogeophys/UrbanAlbedoMod.F90 index 2e854a0497..73fd3db08d 100644 --- a/src/biogeophys/UrbanAlbedoMod.F90 +++ b/src/biogeophys/UrbanAlbedoMod.F90 @@ -156,12 +156,7 @@ subroutine UrbanAlbedo (bounds, num_urbanl, filter_urbanl, & albgri => surfalb_inst%albgri_col , & ! Output: [real(r8) (:,:) ] urban col ground albedo (diffuse) albd => surfalb_inst%albd_patch , & ! Output [real(r8) (:,:) ] urban pft surface albedo (direct) albi => surfalb_inst%albi_patch , & ! Output: [real(r8) (:,:) ] urban pft surface albedo (diffuse) -! add new snicar albedo output for history files - albd_hst => surfalb_inst%albd_hst_patch , & ! Output: [real(r8) (:,:) ] surface albedo (direct) for history files - albi_hst => surfalb_inst%albi_hst_patch , & ! Output: [real(r8) (:,:) ] surface albedo (diffuse) for history files - albgrd_hst => surfalb_inst%albgrd_hst_col , & ! Output: [real(r8) (:,:) ] ground albedo (direct) for history files - albgri_hst => surfalb_inst%albgri_hst_col , & ! Output: [real(r8) (:,:) ] ground albedo (diffuse) for history files -! end add new snicar + begl => bounds%begl , & vf_sr => urbanparams_inst%vf_sr , & ! Input: [real(r8) (:) ] view factor of sky for road vf_sw => urbanparams_inst%vf_sw , & ! Input: [real(r8) (:) ] view factor of sky for one wall @@ -423,25 +418,12 @@ subroutine UrbanAlbedo (bounds, num_urbanl, filter_urbanl, & albgrd(c,ib) = sref_improad_dir(l,ib) albgri(c,ib) = sref_improad_dif(l,ib) endif -! add new snicar albedo variables for history fields - if (coszen(l) > 0._r8) then - albgrd_hst(c,ib) = albgrd(c,ib) - albgri_hst(c,ib) = albgri(c,ib) - end if -! end add new snicar end do do fp = 1,num_urbanp p = filter_urbanp(fp) c = patch%column(p) - l = patch%landunit(p) albd(p,ib) = albgrd(c,ib) albi(p,ib) = albgri(c,ib) -! add new snicar albedo variables for history fields - if (coszen(l) > 0._r8) then - albd_hst(p,ib) = albd(p,ib) - albi_hst(p,ib) = albi(p,ib) - end if -! end add new snicar end do end do end if diff --git a/src/cpl/nuopc/lnd_import_export.F90 b/src/cpl/nuopc/lnd_import_export.F90 index 5ed5ff76d1..340009ccb3 100644 --- a/src/cpl/nuopc/lnd_import_export.F90 +++ b/src/cpl/nuopc/lnd_import_export.F90 @@ -65,7 +65,7 @@ module lnd_import_export logical :: flds_co2a ! use case logical :: flds_co2b ! use case logical :: flds_co2c ! use case - logical :: force_send_to_atm ! Force sending export data to atmosphere even if ATM is not prognostic + logical :: force_send_to_atm = .true. ! Force sending export data to atmosphere even if ATM is not prognostic integer :: glc_nec ! number of glc elevation classes integer, parameter :: debug = 0 ! internal debug level @@ -201,8 +201,7 @@ subroutine advertise_fields(gcomp, flds_scalar_name, glc_present, cism_evolve, r ! Advertise export fields !-------------------------------- - call ReadCapNamelist( NLFilename, rc ) - if (ChkErr(rc,__LINE__,u_FILE_u)) return + call ReadCapNamelist( NLFilename ) ! Need to determine if there is no land for single column before the advertise call is done @@ -1290,32 +1289,25 @@ logical function fldchk(state, fldname) end function fldchk !=============================================================================== - subroutine ReadCapNamelist( NLFilename, rc ) + subroutine ReadCapNamelist( NLFilename ) ! ---------------------------------------------------- ! Read in tne namelist for CTSM nuopc cap level items ! ---------------------------------------------------- - use ESMF , only : ESMF_VMGetCurrent, ESMF_VMBroadcast, ESMF_VM use clm_nlUtilsMod , only : find_nlgroup_name + use shr_mpi_mod , only : shr_mpi_bcast + use spmdMod , only : mpicom use abortutils , only : endrun use shr_log_mod , only : errMsg => shr_log_errMsg ! !ARGUMENTS: character(len=*), intent(IN) :: NLFilename ! Namelist filename - integer, intent(out) :: rc ! ESMF return code ! !LOCAL VARIABLES: integer :: nu_nml ! unit for namelist file integer :: nml_error ! namelist i/o error flag - integer, target :: tmp(1) - type(ESMF_VM) :: vm character(*), parameter :: nml_name = "ctsm_nuopc_cap" ! MUST match with namelist name below - - namelist /ctsm_nuopc_cap/ force_send_to_atm - tmp = 0 - rc = ESMF_SUCCESS ! Read namelist - force_send_to_atm = .true. if (masterproc) then open( newunit=nu_nml, file=trim(NLFilename), status='old', iostat=nml_error ) call find_nlgroup_name(nu_nml, nml_name, status=nml_error) @@ -1326,16 +1318,10 @@ subroutine ReadCapNamelist( NLFilename, rc ) end if end if close(nu_nml) - if (force_send_to_atm) tmp(1) = 1 endif - call ESMF_VMGetCurrent(vm, rc=rc) - if (ChkErr(rc,__LINE__,u_FILE_u)) return ! Broadcast namelist to all processors - call ESMF_VMBroadcast(vm, tmp, 1, 0, rc=rc) - - force_send_to_atm = (tmp(1) == 1) - if (ChkErr(rc,__LINE__,u_FILE_u)) return + call shr_mpi_bcast(force_send_to_atm , mpicom) end subroutine ReadCapNamelist diff --git a/src/main/clm_varctl.F90 b/src/main/clm_varctl.F90 index 8ebc8fb08d..7fe5d24bba 100644 --- a/src/main/clm_varctl.F90 +++ b/src/main/clm_varctl.F90 @@ -230,36 +230,6 @@ module clm_varctl real(r8), public :: o3_ppbv = 100._r8 - ! number of wavelength bands used in SNICAR snow albedo calculation - integer, public :: snicar_numrad_snw = 5 - - ! type of downward solar radiation spectrum for SNICAR snow albedo calculation - ! options: - ! mid_latitude_winter, mid_latitude_summer, sub_arctic_winter, - ! sub_arctic_summer, summit_greenland_summer, high_mountain_summer; - character(len=25), public :: snicar_solarspec = 'mid_latitude_winter' - - ! dust optics type for SNICAR snow albedo calculation - ! options: - ! sahara: Saharan dust (Balkanski et al., 2007, central hematite) - ! san_juan_mtns_colorado: San Juan Mountains dust, CO (Skiles et al, 2017) - ! greenland: Greenland dust (Polashenski et al., 2015, central absorptivity) - character(len=25), public :: snicar_dust_optics = 'sahara' - ! option to turn off aerosol effect in snow in SNICAR - logical, public :: snicar_use_aerosol = .true. ! if .false., turn off aerosol deposition flux - - ! option for snow grain shape in SNICAR (He et al. 2017 JC) - character(len=25), public :: snicar_snw_shape = 'hexagonal_plate' ! sphere, spheroid, hexagonal_plate, koch_snowflake - - ! option to activate BC-snow internal mixing in SNICAR (He et al. 2017 JC), ceniln - logical, public :: snicar_snobc_intmix = .false. ! false->external mixing for all BC; true->internal mixing for hydrophilic BC - - ! option to activate dust-snow internal mixing in SNICAR (He et al. 2017 JC), ceniln - logical, public :: snicar_snodst_intmix = .false. ! false->external mixing for all dust; true->internal mixing for all dust - - ! option to activate OC in snow in SNICAR - logical, public :: do_sno_oc = .false. ! control to include organic carbon (OC) in snow - !---------------------------------------------------------- ! C isotopes !---------------------------------------------------------- diff --git a/src/main/controlMod.F90 b/src/main/controlMod.F90 index f19f135cb9..97d25075ad 100644 --- a/src/main/controlMod.F90 +++ b/src/main/controlMod.F90 @@ -234,7 +234,7 @@ subroutine control_init(dtime) use_fates_tree_damage ! Ozone vegetation stress method - namelist / clm_inparm / o3_veg_stress_method + namelist / clm_inparam / o3_veg_stress_method ! CLM 5.0 nitrogen flags namelist /clm_inparm/ use_flexibleCN, use_luna @@ -282,15 +282,10 @@ subroutine control_init(dtime) namelist /clm_inparm/ & use_lch4, use_nitrif_denitrif, use_extralakelayers, & - use_vichydro, use_cn, use_cndv, use_crop, use_fertilizer, & + use_vichydro, use_cn, use_cndv, use_crop, use_fertilizer, o3_veg_stress_method, & use_grainproduct, use_snicar_frc, use_vancouver, use_mexicocity, use_noio, & use_nguardrail - ! SNICAR - namelist /clm_inparm/ & - snicar_numrad_snw, snicar_solarspec, snicar_dust_optics, & - snicar_use_aerosol, snicar_snw_shape, snicar_snobc_intmix, & - snicar_snodst_intmix, do_sno_oc ! ---------------------------------------------------------------------- ! Default values @@ -614,24 +609,6 @@ subroutine control_init(dtime) errMsg(sourcefile, __LINE__)) end if - ! check on SNICAR BC-snow and dust-snow internal mixing - if ( snicar_snobc_intmix .and. snicar_snodst_intmix ) then - call endrun(msg=' ERROR: currently dust-snow and BC-snow internal mixing cannot be activated together'//& - errMsg(sourcefile, __LINE__)) - end if - - ! other SNICAR warnings - if ((snicar_snw_shape /= 'sphere' .and. snicar_snw_shape /= 'hexagonal_plate') .or. & - snicar_solarspec /= 'mid_latitude_winter' .or. & - snicar_dust_optics /= 'sahara' .or. & - snicar_numrad_snw /= 5 .or. & - snicar_snobc_intmix .or. snicar_snodst_intmix .or. & - .not. snicar_use_aerosol .or. & - do_sno_oc) then - call endrun(msg=' ERROR: You have selected an option that is EXPERIMENTAL, UNSUPPORTED, and UNTESTED. For guidance see namelist_defaults_ctsm.xml'//& - errMsg(sourcefile, __LINE__)) - end if - ! Consistency settings for nrevsn if (nsrest == nsrStartup ) nrevsn = ' ' @@ -859,14 +836,6 @@ subroutine control_spmd() call mpi_bcast (soil_layerstruct_predefined,len(soil_layerstruct_predefined), MPI_CHARACTER, 0, mpicom, ier) call mpi_bcast (soil_layerstruct_userdefined,size(soil_layerstruct_userdefined), MPI_REAL8, 0, mpicom, ier) call mpi_bcast (soil_layerstruct_userdefined_nlevsoi, 1, MPI_INTEGER, 0, mpicom, ier) - call mpi_bcast (snicar_numrad_snw, 1, MPI_INTEGER, 0, mpicom, ier) - call mpi_bcast (snicar_solarspec, len(snicar_solarspec), MPI_CHARACTER, 0, mpicom, ier) - call mpi_bcast (snicar_dust_optics, len(snicar_dust_optics), MPI_CHARACTER, 0, mpicom, ier) - call mpi_bcast (snicar_snw_shape, len(snicar_snw_shape), MPI_CHARACTER, 0, mpicom, ier) - call mpi_bcast (snicar_use_aerosol, 1, MPI_LOGICAL, 0, mpicom, ier) - call mpi_bcast (snicar_snobc_intmix, 1, MPI_LOGICAL, 0, mpicom, ier) - call mpi_bcast (snicar_snodst_intmix, 1, MPI_LOGICAL, 0, mpicom, ier) - call mpi_bcast (do_sno_oc, 1, MPI_LOGICAL, 0, mpicom, ier) ! snow pack variables call mpi_bcast (nlevsno, 1, MPI_INTEGER, 0, mpicom, ier) @@ -955,7 +924,6 @@ subroutine control_print () write(iulog,*) ' use_grainproduct = ', use_grainproduct write(iulog,*) ' o3_veg_stress_method = ', o3_veg_stress_method write(iulog,*) ' use_snicar_frc = ', use_snicar_frc - write(iulog,*) ' snicar_use_aerosol = ',snicar_use_aerosol write(iulog,*) ' use_vancouver = ', use_vancouver write(iulog,*) ' use_mexicocity = ', use_mexicocity write(iulog,*) ' use_noio = ', use_noio @@ -1044,14 +1012,6 @@ subroutine control_print () write(iulog,'(a)') ' snow aging parameters file = '//trim(fsnowaging) endif - write(iulog,*) ' SNICAR: downward solar radiation spectrum type =', snicar_solarspec - write(iulog,*) ' SNICAR: dust optics type = ', snicar_dust_optics - write(iulog,*) ' SNICAR: number of bands in snow albedo calculation =', snicar_numrad_snw - write(iulog,*) ' SNICAR: snow grain shape type = ', snicar_snw_shape - write(iulog,*) ' SNICAR: BC-snow internal mixing = ', snicar_snobc_intmix - write(iulog,*) ' SNICAR: dust-snow internal mixing = ', snicar_snodst_intmix - write(iulog,*) ' SNICAR: OC in snow = ', do_sno_oc - write(iulog,'(a,i8)') ' Number of snow layers =', nlevsno write(iulog,'(a,d20.10)') ' Max snow depth (mm) =', h2osno_max @@ -1131,6 +1091,7 @@ subroutine control_print () write(iulog, *) ' carbon_resp_opt = ', carbon_resp_opt end if write(iulog, *) ' use_luna = ', use_luna + write(iulog, *) ' ozone vegetation stress method = ', o3_veg_stress_method write(iulog, *) ' ED/FATES: ' write(iulog, *) ' use_fates = ', use_fates