CTSM
CTSM copied to clipboard
live coarse maintenance respiration is not included in the root respiration in src/biogeochem/CNVegCarbonFluxType.F90
Brief summary of bug
[Live coarse maintenance respiration is not included in the root respiration in src/biogeochem/CNVegCarbonFluxType.F90. I am not sure whether it is a bug. I am just curious why based on the understanding of the root respiration. The fact that it is not included in the root respiration in the code doesn't agree with the description of plant maintenance respiration in the CLM Technical Note.]
General bug information
CTSM version you are using: [Tag version PPE.n01_ctsm5.1.dev012.]
Does this bug cause significantly incorrect results in the model's science? [Not sure]
Configurations affected: [Fill this in if known.]
Details of bug
[I am checking the respiration code in src/biogeochem/CNVegCarbonFluxType.F90 For the soil respiration starting at line 4547 in CNVegCarbonFluxType.F90 this%sr_col(c) = & this%rr_col(c) + & soilbiogeochem_hr_col(c) where the root respiration is coded starting at line 4197: this%rr_patch(p) = & this%froot_mr_patch(p) + & this%cpool_froot_gr_patch(p) + & this%cpool_livecroot_gr_patch(p) + & this%cpool_deadcroot_gr_patch(p) + & this%transfer_froot_gr_patch(p) + & this%transfer_livecroot_gr_patch(p) + & this%transfer_deadcroot_gr_patch(p) + & this%cpool_froot_storage_gr_patch(p) + & this%cpool_livecroot_storage_gr_patch(p) + & this%cpool_deadcroot_storage_gr_patch(p)
Why the live coarse root respiration livecroot_mr_patch(p) is not included in the calculation of root respiration as described in the technical note ?
I checked the size of each vegetation carbon pool (leaf, live stem, dead stem, fine root, live coarse root, dead coarse root) and found the live coarse root carbon pool is the smallest. I am wondering whether it is because the size of live coarse root carbon is much smaller compared to other carbon pools so that the maintenance respiration from the live coarse root carbon is negligible and not included in the root respiration calculation ?
I don't have the respiration data from each carbon pool and couldn't check whether my assumption above is right. If someone else who has the data may go forward to check it. Or any other reason to explain the question ?]
Important details of your setup / configuration so we can reproduce the bug
The code doesn't cause the model to abort.
Important output or errors that show the problem
[Not sure whether it is a bug. If not, please explain the reason why the live coarse root maintenance respiration is not included in the root respiration in the code]
Thanks for digging into this, @XueliHuo. It does look like this is a bug. Including livecroot_mr_patch(p)
should be in the in the calculation of root respiration fluxes.
@ekluzek can you make open PR to address this. I'll review it when you're ready.
Finally, I'm assuming that root and soil respiration fluxes are both diagnostic history fields that won't mess up our balance checks.
Soil respiration is composed of root respiration and the heterotrophic respiration (soilbiogeochem_hr). Hence, the soil respiration calculated in the current version is underestimated because of missing livecroot_mr in root respiration. Will, you're right, it won't mess up the carbon balance check because in the carbon balance check the carbon output fluxes is ecosystem respiration which is the sum of autotrophic and heterotrophic respiration. And the autotrophic respiration includes maintenance respiration which includes the livecroot_mr.
Thanks for your response on the issue.
As expected this makes a difference to answers for BGC cases to many fields. SP cases are identical, but for example the tests:
SMS_Lm13_PS.f19_g17.I2000Clm51BgcCrop.cheyenne_intel.clm-cropMonthOutput SMS_Ly1_Mmpi-serial.1x1_brazil.IHistClm50BgcQianRs.cheyenne_intel.clm-output_bgc_highfreq
are different.