mgt_harvbiomass Subroutine

subroutine mgt_harvbiomass(jj, iplant, iharvop)

Uses

~ ~ ~ PURPOSE ~ ~ ~ this subroutine performs the harvest operation for above ground biomass (no kill)

remove yield from seed, leaf, and stem - using hi_ovr for all parts check if above ground > minimum biomass to cut apply pest stress to harvest index - mass lost due to pests - don't add to residue add plant carbon for printing adjust foliar and internal pesticide for plant removal BUG FIX: original code kept yld_rto fraction instead of (1-yld_rto) pl_on clippings always return to soil regardless of sink flag (foliar pesticide — not part of the internal uptake pathway) add pesticide in clippings to soil surface pl_in clippings: return to soil for non-sink only for sink: pl_in clippings are permanently immobilized in removed biomass and do not return to soil (intentional — this fraction exits the active cycle) track internal pesticide returned to soil from harvest clipping sink: internal clipping mass is terminally removed from field, track it as harvest export (no return to soil) this is a guard that should not need to be triggered as pl_in is not populated when sink is 1 BUG FIX: remove clipping fraction from plant storage Previously, clippst was added to cs_soil but never removed from cs_pl, duplicating mass. After clipping, only harveff fraction remains on plant. update remaining plant organic pools add clippings (biomass left behind) to surface residue pool update total residue pool calculation for dead roots allocations, resetting phenology, updating other pools reset leaf area index and fraction of growing season assume the lai biomass relationship - 0.5 lai decline for biomass removal

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: jj
integer, intent(in) :: iplant
integer, intent(in) :: iharvop