From ee495a51ed87fbbdf54d26ab217080e32aea0ac7 Mon Sep 17 00:00:00 2001 From: Jinyun Tang Date: Thu, 24 Oct 2019 14:28:50 -0700 Subject: [PATCH] Fixed C mass blanace error when use_pheno_flux_limiter=.true. For ELM, when use_pheno_flux_limiter=.true., the components of maintance respiration are updated to avoid negative carbon state variables. However, the total maintenance respiration is not updated accordingly, causing an overesimation of total maintenance respiration mr. Now this bug is fixed by ensuring maintenance respiration is always recalculated by summing up its components. removed some obsolte comment in ELM Some comment lines are removed to avoid future confusion. --- components/clm/src/data_types/VegetationDataType.F90 | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/components/clm/src/data_types/VegetationDataType.F90 b/components/clm/src/data_types/VegetationDataType.F90 index 111ca39b5912..ae82dc52f9d7 100644 --- a/components/clm/src/data_types/VegetationDataType.F90 +++ b/components/clm/src/data_types/VegetationDataType.F90 @@ -8070,12 +8070,10 @@ subroutine veg_cf_summary(this, bounds, num_soilp, filter_soilp, num_soilc, filt this%psnshade_to_cpool(p) ! maintenance respiration (MR) - if ( trim(isotope) == 'c13' .or. trim(isotope) == 'c14') then - this%leaf_mr(p) = this%leaf_curmr(p) + this%leaf_xsmr(p) - this%froot_mr(p) = this%froot_curmr(p) + this%froot_xsmr(p) - this%livestem_mr(p) = this%livestem_curmr(p) + this%livestem_xsmr(p) - this%livecroot_mr(p) = this%livecroot_curmr(p) + this%livecroot_xsmr(p) - endif + this%leaf_mr(p) = this%leaf_curmr(p) + this%leaf_xsmr(p) + this%froot_mr(p) = this%froot_curmr(p) + this%froot_xsmr(p) + this%livestem_mr(p) = this%livestem_curmr(p) + this%livestem_xsmr(p) + this%livecroot_mr(p) = this%livecroot_curmr(p) + this%livecroot_xsmr(p) this%mr(p) = & this%leaf_mr(p) + &