/[MITgcm]/MITgcm/pkg/diagnostics/diagstats_local.F
ViewVC logotype

Diff of /MITgcm/pkg/diagnostics/diagstats_local.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.3 by jmc, Sun Jul 10 00:57:18 2005 UTC revision 1.5 by jmc, Fri Nov 4 01:30:33 2005 UTC
# Line 8  C     !ROUTINE: DIAGSTATS_LOCAL Line 8  C     !ROUTINE: DIAGSTATS_LOCAL
8  C     !INTERFACE:  C     !INTERFACE:
9        SUBROUTINE DIAGSTATS_LOCAL(        SUBROUTINE DIAGSTATS_LOCAL(
10       U                  statFld,       U                  statFld,
11       I                  inpFld, frcFld, scaleFact, useFract,sizF,       I                  inpFld, frcFld,
12         I                  scaleFact, power, useFract, sizF,
13       I                  sizI1,sizI2,sizJ1,sizJ2,sizK,sizTx,sizTy,       I                  sizI1,sizI2,sizJ1,sizJ2,sizK,sizTx,sizTy,
14       I                  iRun,jRun,kIn,biIn,bjIn,       I                  iRun,jRun,kIn,biIn,bjIn,
15       I                  k,bi,bj, region2fill, ndId, parsFld,       I                  k,bi,bj, region2fill, ndId, parsFld,
# Line 41  C     statFld     :: cumulative statisti Line 42  C     statFld     :: cumulative statisti
42  C     inpFld      :: input field array to process (compute stats & add to statFld)  C     inpFld      :: input field array to process (compute stats & add to statFld)
43  C     frcFld      :: fraction used for weighted-average diagnostics  C     frcFld      :: fraction used for weighted-average diagnostics
44  C     scaleFact   :: scaling factor  C     scaleFact   :: scaling factor
45    C     power       :: option to fill-in with the field square (power=2)
46  C     useFract    :: if True, use fraction-weight  C     useFract    :: if True, use fraction-weight
47  C     sizF        :: size of frcFld array: 3rd  dimension  C     sizF        :: size of frcFld array: 3rd  dimension
48  C     sizI1,sizI2 :: size of inpFld array: 1rst index range (min,max)  C     sizI1,sizI2 :: size of inpFld array: 1rst index range (min,max)
# Line 61  C     myThid      :: my Thread Id number Line 63  C     myThid      :: my Thread Id number
63        _RL     inpFld(sizI1:sizI2,sizJ1:sizJ2,sizK,sizTx,sizTy)        _RL     inpFld(sizI1:sizI2,sizJ1:sizJ2,sizK,sizTx,sizTy)
64        _RL     frcFld(sizI1:sizI2,sizJ1:sizJ2,sizF,sizTx,sizTy)        _RL     frcFld(sizI1:sizI2,sizJ1:sizJ2,sizF,sizTx,sizTy)
65        _RL     scaleFact        _RL     scaleFact
66          INTEGER power
67        LOGICAL useFract        LOGICAL useFract
68        INTEGER iRun, jRun, kIn, biIn, bjIn        INTEGER iRun, jRun, kIn, biIn, bjIn
69        INTEGER k, bi, bj, ndId        INTEGER k, bi, bj, ndId
# Line 112  C-     case of a special region (no spec Line 115  C-     case of a special region (no spec
115       O            statLoc,       O            statLoc,
116       I            inpFld(sizI1,sizJ1,kIn,biIn,bjIn),       I            inpFld(sizI1,sizJ1,kIn,biIn,bjIn),
117       I            frcFld(sizI1,sizJ1,kFr,biIn,bjIn),       I            frcFld(sizI1,sizJ1,kFr,biIn,bjIn),
118       I            scaleFact, useFract,       I            scaleFact, power, useFract,
119       I            nStats,sizI1,sizI2,sizJ1,sizJ2,iRun,jRun,       I            nStats,sizI1,sizI2,sizJ1,sizJ2,iRun,jRun,
120       I            maskH(1-Olx,1-Oly,bi,bj), maskW(1-Olx,1-Oly,k,bi,bj),       I            maskH(1-Olx,1-Oly,bi,bj), maskW(1-Olx,1-Oly,k,bi,bj),
121       I            hFacW(1-Olx,1-Oly,k,bi,bj), rAw(1-Olx,1-Oly,bi,bj),       I            hFacW(1-Olx,1-Oly,k,bi,bj), rAw(1-Olx,1-Oly,bi,bj),
# Line 123  c    I            drLoc, k,bi,bj, parsFl Line 126  c    I            drLoc, k,bi,bj, parsFl
126       O            statLoc,       O            statLoc,
127       I            inpFld(sizI1,sizJ1,kIn,biIn,bjIn),       I            inpFld(sizI1,sizJ1,kIn,biIn,bjIn),
128       I            frcFld(sizI1,sizJ1,kFr,biIn,bjIn),       I            frcFld(sizI1,sizJ1,kFr,biIn,bjIn),
129       I            scaleFact, useFract,       I            scaleFact, power, useFract,
130       I            nStats,sizI1,sizI2,sizJ1,sizJ2,iRun,jRun,       I            nStats,sizI1,sizI2,sizJ1,sizJ2,iRun,jRun,
131       I            maskH(1-Olx,1-Oly,bi,bj), maskS(1-Olx,1-Oly,k,bi,bj),       I            maskH(1-Olx,1-Oly,bi,bj), maskS(1-Olx,1-Oly,k,bi,bj),
132       I            hFacS(1-Olx,1-Oly,k,bi,bj), rAs(1-Olx,1-Oly,bi,bj),       I            hFacS(1-Olx,1-Oly,k,bi,bj), rAs(1-Olx,1-Oly,bi,bj),
# Line 133  c    I            drLoc, k,bi,bj, parsFl Line 136  c    I            drLoc, k,bi,bj, parsFl
136       O            statLoc,       O            statLoc,
137       I            inpFld(sizI1,sizJ1,kIn,biIn,bjIn),       I            inpFld(sizI1,sizJ1,kIn,biIn,bjIn),
138       I            frcFld(sizI1,sizJ1,kFr,biIn,bjIn),       I            frcFld(sizI1,sizJ1,kFr,biIn,bjIn),
139       I            scaleFact, useFract,       I            scaleFact, power, useFract,
140       I            nStats,sizI1,sizI2,sizJ1,sizJ2,iRun,jRun,       I            nStats,sizI1,sizI2,sizJ1,sizJ2,iRun,jRun,
141       I            maskH(1-Olx,1-Oly,bi,bj), maskC(1-Olx,1-Oly,k,bi,bj),       I            maskH(1-Olx,1-Oly,bi,bj), maskC(1-Olx,1-Oly,k,bi,bj),
142       I            hFacC(1-Olx,1-Oly,k,bi,bj), rA(1-Olx,1-Oly,bi,bj),       I            hFacC(1-Olx,1-Oly,k,bi,bj), rA(1-Olx,1-Oly,bi,bj),
# Line 147  c    I            drLoc, k,bi,bj, parsFl Line 150  c    I            drLoc, k,bi,bj, parsFl
150       O            statLoc,       O            statLoc,
151       I            inpFld(sizI1,sizJ1,kIn,biIn,bjIn),       I            inpFld(sizI1,sizJ1,kIn,biIn,bjIn),
152       I            frcFld(sizI1,sizJ1,kFr,biIn,bjIn),       I            frcFld(sizI1,sizJ1,kFr,biIn,bjIn),
153       I            scaleFact, useFract,       I            scaleFact, power, useFract,
154       I            nStats,sizI1,sizI2,sizJ1,sizJ2,iRun,jRun,       I            nStats,sizI1,sizI2,sizJ1,sizJ2,iRun,jRun,
155       I            maskH(1-Olx,1-Oly,bi,bj), maskH(1-Olx,1-Oly,bi,bj),       I            maskH(1-Olx,1-Oly,bi,bj), maskH(1-Olx,1-Oly,bi,bj),
156       I            rA(1-Olx,1-Oly,bi,bj),       I            rA(1-Olx,1-Oly,bi,bj),
# Line 160  c    I            drLoc, k,bi,bj, parsFl Line 163  c    I            drLoc, k,bi,bj, parsFl
163       O            statLoc,       O            statLoc,
164       I            inpFld(sizI1,sizJ1,kIn,biIn,bjIn),       I            inpFld(sizI1,sizJ1,kIn,biIn,bjIn),
165       I            frcFld(sizI1,sizJ1,kFr,biIn,bjIn),       I            frcFld(sizI1,sizJ1,kFr,biIn,bjIn),
166       I            scaleFact, useFract,       I            scaleFact, power, useFract,
167       I            nStats,sizI1,sizI2,sizJ1,sizJ2,iRun,jRun,       I            nStats,sizI1,sizI2,sizJ1,sizJ2,iRun,jRun,
168       I            maskH(1-Olx,1-Oly,bi,bj),       I            maskH(1-Olx,1-Oly,bi,bj),
169       I            rA(1-Olx,1-Oly,bi,bj),       I            rA(1-Olx,1-Oly,bi,bj),
# Line 178  c        ELSEIF ( parsFld(10:10) .EQ. '1 Line 181  c        ELSEIF ( parsFld(10:10) .EQ. '1
181       O            statLoc,       O            statLoc,
182       I            inpFld(sizI1,sizJ1,kIn,biIn,bjIn),       I            inpFld(sizI1,sizJ1,kIn,biIn,bjIn),
183       I            frcFld(sizI1,sizJ1,kFr,biIn,bjIn),       I            frcFld(sizI1,sizJ1,kFr,biIn,bjIn),
184       I            scaleFact, useFract,       I            scaleFact, power, useFract,
185       I            nStats,sizI1,sizI2,sizJ1,sizJ2,iRun,jRun,       I            nStats,sizI1,sizI2,sizJ1,sizJ2,iRun,jRun,
186       I            maskH(1-Olx,1-Oly,bi,bj), maskW(1-Olx,1-Oly,km,bi,bj),       I            maskH(1-Olx,1-Oly,bi,bj), maskW(1-Olx,1-Oly,km,bi,bj),
187       I            maskW(1-Olx,1-Oly,km,bi,bj),rAw(1-Olx,1-Oly,bi,bj),       I            maskW(1-Olx,1-Oly,km,bi,bj),rAw(1-Olx,1-Oly,bi,bj),
# Line 188  c        ELSEIF ( parsFld(10:10) .EQ. '1 Line 191  c        ELSEIF ( parsFld(10:10) .EQ. '1
191       O            statLoc,       O            statLoc,
192       I            inpFld(sizI1,sizJ1,kIn,biIn,bjIn),       I            inpFld(sizI1,sizJ1,kIn,biIn,bjIn),
193       I            frcFld(sizI1,sizJ1,kFr,biIn,bjIn),       I            frcFld(sizI1,sizJ1,kFr,biIn,bjIn),
194       I            scaleFact, useFract,       I            scaleFact, power, useFract,
195       I            nStats,sizI1,sizI2,sizJ1,sizJ2,iRun,jRun,       I            nStats,sizI1,sizI2,sizJ1,sizJ2,iRun,jRun,
196       I            maskH(1-Olx,1-Oly,bi,bj), maskS(1-Olx,1-Oly,km,bi,bj),       I            maskH(1-Olx,1-Oly,bi,bj), maskS(1-Olx,1-Oly,km,bi,bj),
197       I            maskS(1-Olx,1-Oly,km,bi,bj),rAs(1-Olx,1-Oly,bi,bj),       I            maskS(1-Olx,1-Oly,km,bi,bj),rAs(1-Olx,1-Oly,bi,bj),
# Line 198  c        ELSEIF ( parsFld(10:10) .EQ. '1 Line 201  c        ELSEIF ( parsFld(10:10) .EQ. '1
201       O            statLoc,       O            statLoc,
202       I            inpFld(sizI1,sizJ1,kIn,biIn,bjIn),       I            inpFld(sizI1,sizJ1,kIn,biIn,bjIn),
203       I            frcFld(sizI1,sizJ1,kFr,biIn,bjIn),       I            frcFld(sizI1,sizJ1,kFr,biIn,bjIn),
204       I            scaleFact, useFract,       I            scaleFact, power, useFract,
205       I            nStats,sizI1,sizI2,sizJ1,sizJ2,iRun,jRun,       I            nStats,sizI1,sizI2,sizJ1,sizJ2,iRun,jRun,
206       I            maskH(1-Olx,1-Oly,bi,bj), maskH(1-Olx,1-Oly,bi,bj),       I            maskH(1-Olx,1-Oly,bi,bj), maskH(1-Olx,1-Oly,bi,bj),
207       I            maskH(1-Olx,1-Oly,bi,bj), rA(1-Olx,1-Oly,bi,bj),       I            maskH(1-Olx,1-Oly,bi,bj), rA(1-Olx,1-Oly,bi,bj),
# Line 237  C     !ROUTINE: DIAGSTATS_LM_CALC Line 240  C     !ROUTINE: DIAGSTATS_LM_CALC
240  C     !INTERFACE:  C     !INTERFACE:
241        SUBROUTINE DIAGSTATS_LM_CALC(        SUBROUTINE DIAGSTATS_LM_CALC(
242       O                  statArr,       O                  statArr,
243       I                  inpArr, frcArr, scaleFact, useFract,       I                  inpArr, frcArr, scaleFact, power, useFract,
244       I                  nStats,sizI1,sizI2,sizJ1,sizJ2, iRun,jRun,       I                  nStats,sizI1,sizI2,sizJ1,sizJ2, iRun,jRun,
245       I                  regMask, arrMask, arrArea,       I                  regMask, arrMask, arrArea,
246       I                  specialVal, exclSpVal,       I                  specialVal, exclSpVal,
# Line 262  C     == Routine Arguments == Line 265  C     == Routine Arguments ==
265  C     statArr     :: output statistics array  C     statArr     :: output statistics array
266  C     inpArr      :: input field array to process (compute stats & add to statFld)  C     inpArr      :: input field array to process (compute stats & add to statFld)
267  C     frcArr      :: fraction used for weighted-average diagnostics  C     frcArr      :: fraction used for weighted-average diagnostics
 C     useFract    :: if True, use fraction-weight  
268  C     scaleFact   :: scaling factor  C     scaleFact   :: scaling factor
269    C     power       :: option to fill-in with the field square (power=2)
270    C     useFract    :: if True, use fraction-weight
271  C     nStats      :: size of output statArr  C     nStats      :: size of output statArr
272  C     sizI1,sizI2 :: size of inpArr array: 1rst index range (min,max)  C     sizI1,sizI2 :: size of inpArr array: 1rst index range (min,max)
273  C     sizJ1,sizJ2 :: size of inpArr array: 2nd  index range (min,max)  C     sizJ1,sizJ2 :: size of inpArr array: 2nd  index range (min,max)
# Line 282  C     myThid      :: my Thread Id number Line 286  C     myThid      :: my Thread Id number
286        _RL inpArr (sizI1:sizI2,sizJ1:sizJ2)        _RL inpArr (sizI1:sizI2,sizJ1:sizJ2)
287        _RL frcArr (sizI1:sizI2,sizJ1:sizJ2)        _RL frcArr (sizI1:sizI2,sizJ1:sizJ2)
288        _RL scaleFact        _RL scaleFact
289          INTEGER power
290        LOGICAL useFract        LOGICAL useFract
291        _RS regMask(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RS regMask(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
292        _RS arrMask(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RS arrMask(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
# Line 316  C    and will change it once the Regions Line 321  C    and will change it once the Regions
321    
322          CALL  DIAGSTATS_CALC(          CALL  DIAGSTATS_CALC(
323       O            statArr,       O            statArr,
324       I            inpArr, frcArr, scaleFact, useFract,       I            inpArr, frcArr, scaleFact, power, useFract,
325       I            nStats,sizI1,sizI2,sizJ1,sizJ2,iRun,jRun,       I            nStats,sizI1,sizI2,sizJ1,sizJ2,iRun,jRun,
326       I            regMask, arrMask,       I            regMask, arrMask,
327       I            dpphys(1-Olx,1-Oly,kl,bi,bj), arrArea,       I            dpphys(1-Olx,1-Oly,kl,bi,bj), arrArea,
# Line 335  C     !ROUTINE: DIAGSTATS_G_CALC Line 340  C     !ROUTINE: DIAGSTATS_G_CALC
340  C     !INTERFACE:  C     !INTERFACE:
341        SUBROUTINE DIAGSTATS_G_CALC(        SUBROUTINE DIAGSTATS_G_CALC(
342       O                  statArr,       O                  statArr,
343       I                  inpArr, frcArr, scaleFact, useFract,       I                  inpArr, frcArr, scaleFact, power, useFract,
344       I                  nStats,sizI1,sizI2,sizJ1,sizJ2, iRun,jRun,       I                  nStats,sizI1,sizI2,sizJ1,sizJ2, iRun,jRun,
345       I                  regMask, arrArea,       I                  regMask, arrArea,
346       I                  specialVal, exclSpVal,       I                  specialVal, exclSpVal,
# Line 364  C     == Routine Arguments == Line 369  C     == Routine Arguments ==
369  C     statArr     :: output statistics array  C     statArr     :: output statistics array
370  C     inpArr      :: input field array to process (compute stats & add to statFld)  C     inpArr      :: input field array to process (compute stats & add to statFld)
371  C     frcArr      :: fraction used for weighted-average diagnostics  C     frcArr      :: fraction used for weighted-average diagnostics
 C     useFract    :: if True, use fraction-weight  
372  C     scaleFact   :: scaling factor  C     scaleFact   :: scaling factor
373    C     power       :: option to fill-in with the field square (power=2)
374    C     useFract    :: if True, use fraction-weight
375  C     nStats      :: size of output statArr  C     nStats      :: size of output statArr
376  C     sizI1,sizI2 :: size of inpArr array: 1rst index range (min,max)  C     sizI1,sizI2 :: size of inpArr array: 1rst index range (min,max)
377  C     sizJ1,sizJ2 :: size of inpArr array: 2nd  index range (min,max)  C     sizJ1,sizJ2 :: size of inpArr array: 2nd  index range (min,max)
# Line 383  C     myThid      :: my Thread Id number Line 389  C     myThid      :: my Thread Id number
389        _RL inpArr (sizI1:sizI2,sizJ1:sizJ2)        _RL inpArr (sizI1:sizI2,sizJ1:sizJ2)
390        _RL frcArr (sizI1:sizI2,sizJ1:sizJ2)        _RL frcArr (sizI1:sizI2,sizJ1:sizJ2)
391        _RL scaleFact        _RL scaleFact
392          INTEGER power
393        LOGICAL useFract        LOGICAL useFract
394        _RS regMask(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RS regMask(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
       _RS arrMask(1-OLx:sNx+OLx,1-OLy:sNy+OLy)  
395        _RS arrArea(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RS arrArea(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
396        _RL specialVal        _RL specialVal
397        LOGICAL exclSpVal        LOGICAL exclSpVal
# Line 412  c     IF ( useLand ) THEN Line 418  c     IF ( useLand ) THEN
418    
419          CALL  DIAGSTATS_CALC(          CALL  DIAGSTATS_CALC(
420       O            statArr,       O            statArr,
421       I            inpArr, frcArr, scaleFact, useFract,       I            inpArr, frcArr, scaleFact, power, useFract,
422       I            nStats,sizI1,sizI2,sizJ1,sizJ2,iRun,jRun,       I            nStats,sizI1,sizI2,sizJ1,sizJ2,iRun,jRun,
423       I            regMask, aim_landFr(1-Olx,1-Oly,bi,bj),       I            regMask, aim_landFr(1-Olx,1-Oly,bi,bj),
424       I            aim_landFr(1-Olx,1-Oly,bi,bj), arrArea,       I            aim_landFr(1-Olx,1-Oly,bi,bj), arrArea,
# Line 431  C     !ROUTINE: DIAGSTATS_CALC Line 437  C     !ROUTINE: DIAGSTATS_CALC
437  C     !INTERFACE:  C     !INTERFACE:
438        SUBROUTINE DIAGSTATS_CALC(        SUBROUTINE DIAGSTATS_CALC(
439       O                  statArr,       O                  statArr,
440       I                  inpArr, frcArr, scaleFact, useFract,       I                  inpArr, frcArr, scaleFact, power, useFract,
441       I                  nStats,sizI1,sizI2,sizJ1,sizJ2, iRun,jRun,       I                  nStats,sizI1,sizI2,sizJ1,sizJ2, iRun,jRun,
442       I                  regMask, arrMask, arrhFac, arrArea,       I                  regMask, arrMask, arrhFac, arrArea,
443       I                  arrDr, specialVal, exclSpVal, useWeight,       I                  arrDr, specialVal, exclSpVal, useWeight,
# Line 451  C     == Routine Arguments == Line 457  C     == Routine Arguments ==
457  C     statArr     :: output statistics array  C     statArr     :: output statistics array
458  C     inpArr      :: input field array to process (compute stats & add to statFld)  C     inpArr      :: input field array to process (compute stats & add to statFld)
459  C     frcArr      :: fraction used for weighted-average diagnostics  C     frcArr      :: fraction used for weighted-average diagnostics
 C     useFract    :: if True, use fraction-weight  
460  C     scaleFact   :: scaling factor  C     scaleFact   :: scaling factor
461    C     power       :: option to fill-in with the field square (power=2)
462    C     useFract    :: if True, use fraction-weight
463  C     nStats      :: size of output array: statArr  C     nStats      :: size of output array: statArr
464  C     sizI1,sizI2 :: size of inpArr array: 1rst index range (min,max)  C     sizI1,sizI2 :: size of inpArr array: 1rst index range (min,max)
465  C     sizJ1,sizJ2 :: size of inpArr array: 2nd  index range (min,max)  C     sizJ1,sizJ2 :: size of inpArr array: 2nd  index range (min,max)
# Line 474  C     myThid      :: my Thread Id number Line 481  C     myThid      :: my Thread Id number
481        _RL inpArr (sizI1:sizI2,sizJ1:sizJ2)        _RL inpArr (sizI1:sizI2,sizJ1:sizJ2)
482        _RL frcArr (sizI1:sizI2,sizJ1:sizJ2)        _RL frcArr (sizI1:sizI2,sizJ1:sizJ2)
483        _RL scaleFact        _RL scaleFact
484          INTEGER power
485        LOGICAL useFract        LOGICAL useFract
486        _RS regMask(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RS regMask(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
487        _RS arrMask(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RS arrMask(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
# Line 483  C     myThid      :: my Thread Id number Line 491  C     myThid      :: my Thread Id number
491        _RL specialVal        _RL specialVal
492        LOGICAL exclSpVal        LOGICAL exclSpVal
493        LOGICAL useWeight        LOGICAL useWeight
 c     INTEGER k, bi, bj  
 c     CHARACTER*16 parsFld  
494        INTEGER myThid        INTEGER myThid
495  CEOP  CEOP
496    
# Line 494  C     i,j    :: loop indices Line 500  C     i,j    :: loop indices
500        INTEGER im, ix        INTEGER im, ix
501        _RL tmpVol        _RL tmpVol
502        _RL tmpFld        _RL tmpFld
503          _RL tmpFac
504    
505        im = nStats - 1        im = nStats - 1
506        ix = nStats        ix = nStats
507        DO n=0,nStats        DO n=0,nStats
508          statArr(n) = 0.          statArr(n) = 0.
509        ENDDO        ENDDO
510          tmpFac = scaleFact
511          IF ( power.EQ.2) tmpFac = scaleFact*scaleFact
512    
513        IF ( useFract .AND. exclSpVal ) THEN        IF ( useFract .AND. exclSpVal ) THEN
514    
# Line 507  C     i,j    :: loop indices Line 516  C     i,j    :: loop indices
516          DO i = 1,iRun          DO i = 1,iRun
517            IF ( arrMask(i,j).NE.0. .AND. frcArr(i,j).NE.0.            IF ( arrMask(i,j).NE.0. .AND. frcArr(i,j).NE.0.
518       &                     .AND. inpArr(i,j).NE.specialVal ) THEN       &                     .AND. inpArr(i,j).NE.specialVal ) THEN
519              tmpFld = scaleFact*inpArr(i,j)              IF ( power.EQ.2) THEN
520                  tmpFld = tmpFac*inpArr(i,j)*inpArr(i,j)
521                ELSE
522                  tmpFld = tmpFac*inpArr(i,j)
523                ENDIF
524              IF ( statArr(0).EQ.0. ) THEN              IF ( statArr(0).EQ.0. ) THEN
525                statArr(im) = tmpFld                statArr(im) = tmpFld
526                statArr(ix) = tmpFld                statArr(ix) = tmpFld
# Line 532  C     i,j    :: loop indices Line 545  C     i,j    :: loop indices
545         DO j = 1,jRun         DO j = 1,jRun
546          DO i = 1,iRun          DO i = 1,iRun
547            IF ( arrMask(i,j).NE.0. .AND. frcArr(i,j).NE.0. ) THEN            IF ( arrMask(i,j).NE.0. .AND. frcArr(i,j).NE.0. ) THEN
548              tmpFld = scaleFact*inpArr(i,j)              IF ( power.EQ.2) THEN
549                  tmpFld = tmpFac*inpArr(i,j)*inpArr(i,j)
550                ELSE
551                  tmpFld = tmpFac*inpArr(i,j)
552                ENDIF
553              IF ( statArr(0).EQ.0. ) THEN              IF ( statArr(0).EQ.0. ) THEN
554                statArr(im) = tmpFld                statArr(im) = tmpFld
555                statArr(ix) = tmpFld                statArr(ix) = tmpFld
# Line 558  C     i,j    :: loop indices Line 575  C     i,j    :: loop indices
575          DO i = 1,iRun          DO i = 1,iRun
576            IF ( arrMask(i,j).NE.0.            IF ( arrMask(i,j).NE.0.
577       &                     .AND. inpArr(i,j).NE.specialVal ) THEN       &                     .AND. inpArr(i,j).NE.specialVal ) THEN
578              tmpFld = scaleFact*inpArr(i,j)              IF ( power.EQ.2) THEN
579                  tmpFld = tmpFac*inpArr(i,j)*inpArr(i,j)
580                ELSE
581                  tmpFld = tmpFac*inpArr(i,j)
582                ENDIF
583              IF ( statArr(0).EQ.0. ) THEN              IF ( statArr(0).EQ.0. ) THEN
584                statArr(im) = tmpFld                statArr(im) = tmpFld
585                statArr(ix) = tmpFld                statArr(ix) = tmpFld
# Line 584  C     i,j    :: loop indices Line 605  C     i,j    :: loop indices
605          DO i = 1,iRun          DO i = 1,iRun
606  c         IF ( regMask(i,j).NE.0. .AND. arrMask(i,j).NE.0. ) THEN  c         IF ( regMask(i,j).NE.0. .AND. arrMask(i,j).NE.0. ) THEN
607            IF ( arrMask(i,j).NE.0. ) THEN            IF ( arrMask(i,j).NE.0. ) THEN
608              tmpFld = scaleFact*inpArr(i,j)              IF ( power.EQ.2) THEN
609                  tmpFld = tmpFac*inpArr(i,j)*inpArr(i,j)
610                ELSE
611                  tmpFld = tmpFac*inpArr(i,j)
612                ENDIF
613              IF ( statArr(0).EQ.0. ) THEN              IF ( statArr(0).EQ.0. ) THEN
614                statArr(im) = tmpFld                statArr(im) = tmpFld
615                statArr(ix) = tmpFld                statArr(ix) = tmpFld

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.22