c subroutine temps (bctmin, bctopt, bwtdmn, bwtdav) c c Author : Amare Retta c + + + PURPOSE + + + c To calculate the temperature stress, frost damgage, and daylength factors c These algorithms were taken from the EPIC subroutine cgrow. c c c + + + KEWORDS + + + c Temperature stress, frost damage c c + + + ARGUMENT DECLARATIONS + + + real bctmin, bctopt, bwtdmn, bwtdav c + + + COMMON BLOCKS + + + *$noereference include 'crop/cenvr.inc' include 'crop/cparm.inc' *$reference c c + + + LOCAL VARIABLES + + + real tgx, x1, rto, xx, dst0 c c + + + LOCAL VARIABLE DEFINITIONS + + + c tgx - difference between the soil surface temperature and the minimum c temperature for plant growth c x1 - difference between the optimum and minimum temperatures for plant c growth c rto - interim variable c xx - positive value of the minimum air temperature c c + + + END OF SPECIFICATIONS + + + c c calculate temperature stress factor fhr=1. frst=1. c following one statement to be removed when soil temperature is available dst0=bwtdav tgx=dst0-bctmin c if (tgx.le.0.) ts=0. changed ts=0. to tgx=0. in next statement -jt 2/4/94 if (tgx.le.0.) tgx=0. x1=bctopt-bctmin rto=tgx/x1 ts=sin(1.5707*rto) if (rto.gt.2.) ts=0. c calculate daylength stress factor(apply during dormancy to reduce live c biomass) if (hrlt.lt.hlmn0) fhr=(1.-hrlt/hlmn0)*0.35 c calculate frost damage factor(apply mostly during dormancy to reduce live c biomass) if (bwtdmn.lt.-1.) then xx=abs(bwtdmn) frst=xx/(xx+exp(a_fr-b_fr*xx)) endif return end