How to calculate crop yield (tonnes/ha) simulated by CLM5?

Qi Ran

Qi Ran
New Member
What version of the code are you using?
CESM2.2 (CLM5, CAM6-chem/MOSAIC)
Composet: FCnudged

Have you made any changes to files in the source tree?
./xmlchange CLM_BLDNML_OPTS="-bgc bgc -crop" #turn on BGC and crop model
user_nl_cam: Nudge_Model =.false.
user_nl_clm: use_ozone = .true. #Turn on ozone damage

Describe every step you took leading up to the problem:
  • I output the variable GRAINC_TO_FOOD at monthly frequency
  • I then post-process the output to calculate annual crop yield (tonnes/ha)
My calculation steps are:
1. Convert monthly mean flux (GRAINC_TO_FOOD) to annual accumulated grain carbon:
  • For each month:
    Screenshot 2026-04-16 at 22.39.08.png
Δtm is seconds in month, and crop_frac represents the fraction (%) of cropland within the grid cell. "0.01" is unit conversion factor from g/m2 to tonnes/ha.
According to the CLM documentation (Section 2.26.2.4.4, Harvest), crop yield is calculated as:
Screenshot 2026-04-16 at 22.45.35.png
I think the unit for this calculation method is g/m2.

Describe your problem or question:
  1. Should crop fraction (PCT_LANDUNIT) be applied in yield calculation?
    • Or is GRAINC_TO_FOOD already normalized over crop area?
  2. When I compare my annual crop yield (left panel) with that from Lawrence et al., (2019) (the right panel):
The spatial pattern matches well, but the magnitude is much smaller (significantly underestimated).
1776373281130.pngScreenshot 2026-04-16 at 23.02.01.png
I would appreciate any comments on the discrepancy in my results. Could this be related to an issue in how I calculated crop yield (tonnes/ha)?
 

Qi Ran

Qi Ran
New Member
This is a good point @samrabin. I did a quick look at a CLM5 vs. CESM2 case, which looks like crop yields are lower in the B-case. I have no idea what to expect out of an F-case that's being nudged? It also makes me wonder what kind of initial conditions are being used in your case, @Qi Ran?
View attachment 7441
Hi, Will. Thank you for sharing the comparison between IHIST and BHIST. I agree that the different composet may contribute the bias of my simulation results compared to Lawrence et al. (2019). The initial conditions for my land and atmosphere components are "clmi.BHIST.2000-01-01.0.9x1.25_gx1v7_simyr2000_c200728.nc" and "f.e20.FCHIST.f09_f09_mg17.cesm2_0_rel.emis_fix.001.cam.i.1996-01-01-00000_c180716.nc", respectively.
 
Vote Upvote 0 Downvote

Qi Ran

Qi Ran
New Member
After re-reading, I think we've missed something important. The Lawrence et al. (2019) simulations were land-only runs, forced with offline climate data: "Note that we restrict our analysis to land‐only simulations in this manuscript." You're running full CESM, although with an "FCnudged" compset, which I'm not familiar with.
Hi, Sam. Thank you for pointing out this possible reason. It could indeed be a source of the discrepancy. In addition, I think the main reason may still be the difference between PFT-level output and grid-cell-level output. I asked Danica, and they indeed output PFT-level GRAINC_TO_FOOD and then converted it to dimensions of [cropPFT, lat, lon]. I am trying to run another year of the model to output the PFT-level results. Once I have the results, I will post them in the thread.
 
Vote Upvote 0 Downvote
Back
Top