subroutine winit c c +++PURPOSE+++ c This subroutine initializes those values required for c use in the winter routines. Since initial frost depth c is allowed to be read from a file, we cannot sinmply set c to zero. We must calculate on basis of initial frost depth c and soil water content. c c Author(s): John Witte, UofMn WCES @ USDA-ARS-NCSRL c Date: 01/26/94 c Verified and tested by Reza Savabi, USDA-ARS, NSERL 317-494-5051 c August 1994 c c +++ARGUMENT DECLARATIONS+++ c c +++ARGUMENT DEFINITIONS+++ c c +++PARAMETERS+++ include 'pmxelm.inc' include 'pmxcrp.inc' include 'pmxhil.inc' include 'pmxnsl.inc' include 'pmxpln.inc' include 'pmxpnd.inc' include 'pmxslp.inc' include 'pmxtil.inc' include 'pmxtls.inc' include 'pntype.inc' include 'pmxres.inc' c c +++COMMON BLOCKS+++ include 'cclim.inc' c read: tave,tmnavg,tmxavg include 'ccrpvr5.inc' c read: diam include 'ccons.inc' c read: bdcons c include 'ccrpprm.inc' c read: iresd include 'ccover.inc' c read: lanuse include 'ccrpout.inc' c read: bd include 'chydrol.inc' c read: rain include 'cstruc.inc' c read: iplane include 'cupdate.inc' c read: day,year,sdate include 'cwint.inc' c read: wmelt(mxplan),drift,snodpt(mxplan),azm,deglat include 'cparame.inc' c read: sm(mxplan) include 'cslope2.inc' c read: avgslp(mxplan) include 'cwater.inc' c read: solthk(mxplan,mxplan) include 'ccrpvr1.inc' c read: rmogt include 'ctillge.inc' c read: tildep(mxplan,mxplan) c c +++LOCAL VARIABLES+++ c save real smtill,smutil integer i, j c c +++LOCAL DEFINITIONS+++ c c +++END SPECIFICATIONS+++ c -- NO initial frost condition read from input file.................... if (frdp(iplane) .lt. 0.0001) then tfrdp(iplane) = 0.0 tthawd(iplane) = 0.0 frdp(iplane) = 0.0 thdp(iplane) = 0.0 pftill(iplane) = 0.0 pfwutl(iplane) = 0.0 wftill(iplane) = 0.0 wfutil(iplane) = 0.0 wfttil(iplane) = 0.0 wftutl(iplane) = 0.0 pfttil(iplane) = 0.0 pftutl(iplane) = 0.0 ufutld(iplane) = 0.0 do 3 j=1, 24 hrmlt(j,iplane) = 0.0 hrthaw(j,iplane) = 0.0 3 continue c -- Initial frost condition read from file....................... c -- Here we assume frost exists from surface to bottom of frost c -- depth layer. No top frost or thaw exists. else cweijun 4/15/94 thdp(iplane) = 0.0 tfrdp(iplane) = 0.0 tthawd(iplane) = 0.0 tilld(iplane) = solthk(2,iplane) smtill = (soilw(1,iplane) + soilw(2,iplane)) / 1 (dg(1,iplane) + dg(2,iplane)) smutil = 0.0 c -- As with the winter.for file, we must check for soil profiles c -- containing less than 3 layers... if (nsl(iplane) .lt. 3) then smutil = smtill else do 7 i=3, nsl(iplane) smutil = smutil + soilw(i,iplane) 7 continue smutil = smutil / (solthk(nsl(iplane),iplane) - 1 solthk(2,iplane)) endif if (frdp(iplane) .le. tilld(iplane)) then uftild(iplane) = tilld(iplane) - frdp(iplane) ufutld(iplane) = 1.0 + frdp(iplane) - tilld(iplane) else uftild(iplane) = 0.0 ufutld(iplane) = 1.0 endif if (uftild(iplane) .lt. 0.0) then uftild(iplane) = 0.0 endif wftill(iplane) = (tilld(iplane) - uftild(iplane)) * smtill pftill(iplane) = wftill(iplane) / 1 (tilld(iplane) - uftild(iplane)) if (frdp(iplane) .gt. tilld(iplane)) then wfutil(iplane) = (frdp(iplane) - tilld(iplane)) * smutil pfwutl(iplane) = wfutil(iplane) / 1 (frdp(iplane) - tilld(iplane)) else wfutil(iplane) = 0.0 pfwutl(iplane) = 0.0 endif wfttil(iplane) = 0.0 wftutl(iplane) = 0.0 pfttil(iplane) = 0.0 pftutl(iplane) = 0.0 do 9 j=1, 24 hrmlt(j,iplane) = 0.0 hrthaw(j,iplane) = 0.0 9 continue endif amtfrz(iplane) = wftill(iplane) + wfutil(iplane) snodpt(iplane) = snodpy(iplane) wdayct(iplane) = 0 return end