c file name: npmin.for subroutine npmin (j) c + + + PURPOSE + + + c This subroutine computes mineral P flux between the labile(AP), active c mineral(PMN) and stable mineral(OP) P pools. c + + + COMMON BLOCKS + + + *$noereference include 'crop/csoil.inc' include 'crop/chumus.inc' include 'crop/cfert.inc' include 'crop/cenvr.inc' *$reference c + + + LOCAL VARIABLES + + + real rto,rmn,roc integer j c c + + + LOCAL VARIABLE DEFINITIONS + + + c rto - interim variable (2.171) c rmn - mineral P flow rate between labile and active P pools (kg/ha/d) c roc - mineral P flow rate between active and stable P pools (kg/ha/d) c c + + + OUTPUT FORMAT + + + c c + + + END OF SPECIFICATIONS + + + c c S5=.1*SUT*EXP(.115*T(j)-2.88) c calculate amount of P flowing from labile to active(rmn>0) or from active c to labile(rmn<0) mineral P pools. modified eqn. 2.171. PMN(j)=amount of c active mineral P pool. rto=psp(j)/(1.-psp(j)) rmn=(ap(j)-pmn(j)*rto) if (rmn.lt.0.) rmn=rmn*.1 c c calculate amount of P flowing from stable to active(roc>0) or from active c to stable(roc<0) mineral P pools. eqn. 2.176. OP(j)=amount of stable c mineral P pool. roc=bk(j)*(4.*pmn(j)-op(j)) if (roc.lt.0.) roc=roc*.1 op(j)=op(j)+roc pmn(j)=pmn(j)-roc+rmn ap(j)=ap(j)-rmn c write (38,3017)jd,psp(j),pmn(j),op(j),ap(j),rmn c3017 format (1x,i3,1x,5(f9.4,1x)) return end