c c subroutine burylift i (nlay,dflat,dstand,droot, i dblwgnd,buryf,liftf,fltcoef) c + + + PURPOSE + + + c c This subroutine performs the biomass manipulation process of transfering c the above ground biomass into the soil or the inverse process of bringing c buried biomass to the surface. It deals only with the biomass c pools (ie no live crop is involved) c c c + + + KEYWORDS + + + c bury, lift, biomass manipulation *$noreference include 'p1werm.inc' *$reference c c + + + ARGUMENT DECLARATIONS + + + integer nlay real buryf,liftf,fltcoef real dflat(mnbpls),dstand(mnbpls) real dblwgnd(mnbpls,mnsz), droot(mnbpls,mnsz) c c c + + + ARGUMENT DEFINITIONS + + + c c buryp - percent of flat material buried c dblwgnd - (decomp) below ground residue / layer and decomp c pool (kg / m^2) c dflat - (decomp) flat residue pools (kg / m^2) c droot - (decomp) root mass / layer and decomp pool c dstand - (decomp) standing residue pools (kg/ m^2) c fltcoef - flattening coefficient of an implement c liftp - percent of buried material lifted to the surface c nlay - number of soil layers used in the operation(s) c c + + + ACCESSED COMMON BLOCK VARIABLE DEFINITIONS + + + c c mnbpls - max number of biomass pools c mnsz - max number of soil layers c c + + + PARAMETERS + + + c c + + + LOCAL VARIABLES + + + c integer lay,i real bury(mnbpls),liftlay(mnbpls,mnsz),lifttot(mnbpls) c c + + + LOCAL VARIABLE DEFINITIONS + + + c c bury - mass of biomass that is buried c i - biomass pools (1-3) c lay - number of layers in a specified subregion c liftlay - buried material lifted to the surface in each layer c lifttot - total buried material lifted to the surface c c + + + END SPECIFICATIONS + + + c c perform the flatting of standing residue based upon the flatten c coefficient (fltcoef) c perform the lifting and burying of biomass simulataneously do 110 i=1,mnbpls dflat(i) = dflat(i)+dstand(i)*fltcoef c need to use temporary variables when performing the lifting c process. This is done so we do not lift something that has c just been buried. c bury(i)=dflat(i)*buryf do 100 lay=1,nlay liftlay(i,lay)=dblwgnd(i,lay)*liftf lifttot(i)=lifttot(i)+droot(i,lay)* & liftf+liftlay(i,lay) 100 continue 110 continue c Now let's update the 4 pool types using the temporary variables c we calculated above. do 201 i=1,mnbpls do 200 lay=1,nlay dblwgnd(i,lay) = dblwgnd(i,lay)+bury(i)/ & nlay-liftlay(i,lay) droot(i,lay) = droot(i,lay)*(1.0-liftf) 200 continue dflat(i)=dflat(i)-bury(i)+lifttot(i) dstand(i)=dstand(i)*(1.0-fltcoef) 201 continue end