c subroutine npcy c c + + + PURPOSE + + + c This subroutine is the master nutrient cycling subroutine. c calls NPMIN, NYNIT, NLCH, NMNIM, AND NDNIT for each soil c layer. c c + + + KEWORDS + + + c nutrient cycling c + + + COMMON BLOCKS + + + *$noereference include 'crop/cgrow.inc' include 'crop/cenvr.inc' include 'crop/cparm.inc' include 'crop/csoil.inc' include 'crop/chumus.inc' include 'crop/cfert.inc' *$reference c + + + LOCAL VARIABLES + + + real xx integer j c + + + LOCAL VARIABLE DEFINITIONS + + + c ssfn - sum of N leached from each layer (kg/ha) c xx - depth to previous layer (m) c c + + + SUBROUTINES CALLED + + + c npmin c nynit c nlch c nmnim c ndnit c c + + + OUTPUT FORMATS + + + c c + + + END OF SPECIFICATIONS + + + c smr=0. shm=0. sim=0. sdn=0. smp=0. sip=0. tsfn=0. xx=0. do 5 j=1,ir c J1=LID(J) c J2=J1 c calculate relative moisture content of each layer c SUT=ST(J)/(FC(J)+1.E-10) sut=.8 if (sut.gt.1.) sut=1. c calculate mineral P transformations call npmin (j) c IF (J1.NE.LD1) GO TO 2 c calculate leaching from the top layer c CALL NYNIT (RQ) c GO TO 3 c calculate leaching from layers other than the top c 2 CALL NLCH (RQ) c 3 TSFN=TSFN+SSFN c IF (T(J).LE.0.) GO TO 5 c calculate soil temperature factor for each layer c CDG=T(J)/(T(J)+20551.*EXP(-.312*T(J))) cdg=1. c IF (RZ.LT.XX) GO TO 4 c if (rz.gt.xx) then c calculate organic N & P transformations in layers where there are roots call nmnim (j) shm=shm+hmn smr=smr+rmnr sim=sim+wim smp=smp+wmp sip=sip+wip c endif c calculate N denitrification c 4 IF (ST(J1)/PO(J1).LT..9) GO TO 5 c if (st(j)/po(j).gt..9) then c CALL NDNIT c SDN=SDN+WDN c endif c XX=Z(J) 5 continue return end