subroutine caltot(maxper, simyrs, first) C ***************************************************************** wjr C Contains init code from main C C Edit History C 10-Mar-99 wjr created C include 'p1werm.inc' include 'main/output.inc' C + + + Arguments + + + integer maxper integer simyrs logical first C + + + Local Variables + + + integer i,j,k c + + + OUTPUT FORMATS + + + 2500 format (2(i2,'/'),i2'|',1x,a50,'|',4(f10.3,'|'), & 12(f10.3,'|'),2(f10.2,'|'),f10.1,'|',9(f10.2,'|')) 2520 format ('#',6x,(i1,'|'),47x,'N/A|',4(f10.3,'|'),12(f10.3,'|'), & (f10.2,'|'),(f10.2,'|'),f10.1,'|',8('N/A|')) 2540 format (6x,i2,'|',51x,'|',4(f10.3,'|'), & 12(f10.3,'|'),11(f10.2,'|')) 2560 format('*',7x,'|',47x,'N/A|',4(f10.3,'|'),12(f10.3,'|'), & 2(f10.2,'|'),f10.1,'|',8('N/A|')) c adjust output to print previous period values on current date c this next section is not the best way to do this - jt c****************************************************************** do 451 k = 1,5 do 461 j = 1,12 do 471 i = 1,31 if (outday(i,j,k) .eq. 1) then if (first .eqv. .true.) then ttmp1 = tloss(i,j,k) stmp1 = sloss(i,j,k) pm10tmp1 = pm10loss(i,j,k) cs1tmp1 = cs1(i,j,k) cs2tmp1 = cs2(i,j,k) cs3tmp1 = cs3(i,j,k) cs4tmp1 = cs4(i,j,k) ss1tmp1 = ss1(i,j,k) ss2tmp1 = ss2(i,j,k) ss3tmp1 = ss3(i,j,k) ss4tmp1 = ss4(i,j,k) pm1tmp1 = pm1(i,j,k) pm2tmp1 = pm2(i,j,k) pm3tmp1 = pm3(i,j,k) pm4tmp1 = pm4(i,j,k) ptmp1 = precip(i,j,k) dtmp1 = drat(i,j,k) wtmp1 = winde(i,j,k) tloss(i,j,k) = tloss(31,12,1) sloss(i,j,k) = sloss(31,12,1) pm10loss(i,j,k) = pm10loss(31,12,1) cs1(i,j,k) = cs1(31,12,1) cs2(i,j,k) = cs2(31,12,1) cs3(i,j,k) = cs3(31,12,1) cs4(i,j,k) = cs4(31,12,1) ss1(i,j,k) = ss1(31,12,1) ss2(i,j,k) = ss2(31,12,1) ss3(i,j,k) = ss3(31,12,1) ss4(i,j,k) = ss4(31,12,1) pm1(i,j,k) = pm1(31,12,1) pm2(i,j,k) = pm2(31,12,1) pm3(i,j,k) = pm3(31,12,1) pm4(i,j,k) = pm4(31,12,1) precip(i,j,k) = precip(31,12,1) drat(i,j,k) = drat(31,12,1) winde(i,j,k) = winde(31,12,1) else ttmp2 = tloss(i,j,k) stmp2 = sloss(i,j,k) pm10tmp2 = pm10loss(i,j,k) cs1tmp2 = cs1(i,j,k) cs2tmp2 = cs2(i,j,k) cs3tmp2 = cs3(i,j,k) cs4tmp2 = cs4(i,j,k) ss1tmp2 = ss1(i,j,k) ss2tmp2 = ss2(i,j,k) ss3tmp2 = ss3(i,j,k) ss4tmp2 = ss4(i,j,k) pm1tmp2 = pm1(i,j,k) pm2tmp2 = pm2(i,j,k) pm3tmp2 = pm3(i,j,k) pm4tmp2 = pm4(i,j,k) ptmp2 = precip(i,j,k) dtmp2 = drat(i,j,k) wtmp2 = winde(i,j,k) tloss(i,j,k) = ttmp1 sloss(i,j,k) = stmp1 pm10loss(i,j,k) = pm10tmp1 cs1(i,j,k) = cs1tmp1 cs2(i,j,k) = cs2tmp1 cs3(i,j,k) = cs3tmp1 cs4(i,j,k) = cs4tmp1 ss1(i,j,k) = ss1tmp1 ss2(i,j,k) = ss2tmp1 ss3(i,j,k) = ss3tmp1 ss4(i,j,k) = ss4tmp1 pm1(i,j,k) = pm1tmp1 pm2(i,j,k) = pm2tmp1 pm3(i,j,k) = pm3tmp1 pm4(i,j,k) = pm4tmp1 precip(i,j,k) = ptmp1 drat(i,j,k) = dtmp1 winde(i,j,k) = wtmp1 ttmp1 = ttmp2 stmp1 = stmp2 pm10tmp1 = pm10tmp2 cs1tmp1 = cs1tmp2 cs2tmp1 = cs2tmp2 cs3tmp1 = cs3tmp2 cs4tmp1 = cs4tmp2 ss1tmp1 = ss1tmp2 ss2tmp1 = ss2tmp2 ss3tmp1 = ss3tmp2 ss4tmp1 = ss4tmp2 pm1tmp1 = pm1tmp2 pm2tmp1 = pm2tmp2 pm3tmp1 = pm3tmp2 pm4tmp1 = pm4tmp2 ptmp1 = ptmp2 dtmp1 = dtmp2 wtmp1 = wtmp2 end if first = .false. end if 471 continue 461 continue 451 continue tloss(31,1,maxper) = tloss(31,1,maxper) - & (tloss(31,1,maxper)/(outyrs(maxper)+1)) sloss(31,1,maxper) = sloss(31,1,maxper) - & (sloss(31,1,maxper)/(outyrs(maxper)+1)) pm10loss(31,1,maxper) = pm10loss(31,1,maxper) - & (pm10loss(31,1,maxper)/(outyrs(maxper)+1)) cs1(31,1,maxper) = cs1(31,1,maxper) - (cs1(31,1,maxper)/ & (outyrs(maxper)+1)) cs2(31,1,maxper) = cs2(31,1,maxper) - (cs2(31,1,maxper)/ & (outyrs(maxper)+1)) cs3(31,1,maxper) = cs3(31,1,maxper) - (cs3(31,1,maxper)/ & (outyrs(maxper)+1)) cs4(31,1,maxper) = cs4(31,1,maxper) - (cs4(31,1,maxper)/ & (outyrs(maxper)+1)) ss1(31,1,maxper) = ss1(31,1,maxper) - (ss1(31,1,maxper)/ & (outyrs(maxper)+1)) ss2(31,1,maxper) = ss2(31,1,maxper) - (ss2(31,1,maxper)/ & (outyrs(maxper)+1)) ss3(31,1,maxper) = ss3(31,1,maxper) - (ss3(31,1,maxper)/ & (outyrs(maxper)+1)) ss4(31,1,maxper) = ss4(31,1,maxper) - (ss4(31,1,maxper)/ & (outyrs(maxper)+1)) pm1(31,1,maxper) = pm1(31,1,maxper) - (pm1(31,1,maxper)/ & (outyrs(maxper)+1)) pm2(31,1,maxper) = pm2(31,1,maxper) - (pm2(31,1,maxper)/ & (outyrs(maxper)+1)) pm3(31,1,maxper) = pm3(31,1,maxper) - (pm3(31,1,maxper)/ & (outyrs(maxper)+1)) pm4(31,1,maxper) = pm4(31,1,maxper) - (pm4(31,1,maxper)/ & (outyrs(maxper)+1)) precip(31,1,maxper) = precip(31,1,maxper) - & (precip(31,1,maxper)/(outyrs(maxper)+1)) drat(31,1,maxper) = drat(31,1,maxper) - & (drat(31,1,maxper)/(outyrs(maxper)+1)) winde(31,1,maxper) = winde(31,1,maxper) - & (winde(31,1,maxper)/(outyrs(maxper)+1)) c********************************************************************* do 450 k = 1,5 do 460 j = 1,13 do 470 i = 1,32 if (outday(i,j,k) .eq. 1) then if (i .eq. 32) then write(41,2520) k,tloss(i,j,k)/outyrs(k), & std(i,j,k), & sloss(i,j,k)/outyrs(k), & pm10loss(i,j,k)/outyrs(k), & cs1(i,j,k)/outyrs(k),cs2(i,j,k)/outyrs(k), & cs3(i,j,k)/outyrs(k),cs4(i,j,k)/outyrs(k), & ss1(i,j,k)/outyrs(k),ss2(i,j,k)/outyrs(k), & ss3(i,j,k)/outyrs(k),ss4(i,j,k)/outyrs(k), & pm1(i,j,k)/outyrs(k),pm2(i,j,k)/outyrs(k), & pm3(i,j,k)/outyrs(k),pm4(i,j,k)/outyrs(k), & precip(i,j,k)/outyrs(k), & winde(i,j,k)/outyrs(k), & drat(i,j,k)/outyrs(k) else write(41,2500) i,j,k, & opnam(i,j,k), & tloss(i,j,k)/outyrs(k), & std(i,j,k), & sloss(i,j,k)/outyrs(k), & pm10loss(i,j,k)/outyrs(k), & cs1(i,j,k)/outyrs(k),cs2(i,j,k)/outyrs(k), & cs3(i,j,k)/outyrs(k),cs4(i,j,k)/outyrs(k), & ss1(i,j,k)/outyrs(k),ss2(i,j,k)/outyrs(k), & ss3(i,j,k)/outyrs(k),ss4(i,j,k)/outyrs(k), & pm1(i,j,k)/outyrs(k),pm2(i,j,k)/outyrs(k), & pm3(i,j,k)/outyrs(k),pm4(i,j,k)/outyrs(k), & precip(i,j,k)/(outyrs(k)), & winde(i,j,k)/outyrs(k), & drat(i,j,k)/outyrs(k), & fldec(i,j,k)/outyrs(k), & stdec(i,j,k)/outyrs(k), & flmass(i,j,k)/outyrs(k), & stmass(i,j,k)/outyrs(k),opdir(i,j,k)/outyrs(k), & rdght(i,j,k)/outyrs(k), & rdgsp(i,j,k)/outyrs(k), & rr(i,j,k)/outyrs(k) end if end if 470 continue 460 continue 450 continue do 480 j = 1,12 write(41,2540) j, tloss(32,j,6)/simyrs,std(32,j,6), & sloss(32,j,6), & pm10loss(32,j,6), & cs1(32,j,6)/simyrs,cs2(32,j,6)/simyrs, & cs3(32,j,6)/simyrs,cs4(32,j,6)/simyrs, & ss1(32,j,6)/simyrs,ss2(32,j,6)/simyrs, & ss3(32,j,6)/simyrs,ss4(32,j,6)/simyrs, & pm1(32,j,6)/simyrs,pm2(32,j,6)/simyrs, & pm3(32,j,6)/simyrs,pm4(32,j,6)/simyrs, & precip(32,j,6)/simyrs,winde(32,j,6)/simyrs, & drat(32,j,6)/simyrs, & fldec(32,j,6)/simyrs,stdec(32,j,6)/simyrs, & flmass(32,j,6)/simyrs,stmass(32,j,6)/simyrs, & opdir(32,j,6)/simyrs, & rdght(32,j,6)/simyrs,rdgsp(32,j,6)/simyrs, & rr(32,j,6)/simyrs 480 continue write(41,2560) tloss(32,13,6)/simyrs,std(32,13,6), & sloss(32,13,6)/simyrs, pm10loss(32,13,6)/simyrs, & cs1(32,13,6)/simyrs,cs2(32,13,6)/simyrs, & cs3(32,13,6)/simyrs,cs4(32,13,6)/simyrs, & ss1(32,13,6)/simyrs,ss2(32,13,6)/simyrs, & ss3(32,13,6)/simyrs,ss4(32,13,6)/simyrs, & pm1(32,13,6)/simyrs,pm2(32,13,6)/simyrs, & pm3(32,13,6)/simyrs,pm4(32,13,6)/simyrs, & precip(32,13,6)/simyrs,winde(32,13,6)/simyrs, & drat(32,13,6)/simyrs end