/[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.4 by jmc, Mon Jul 11 19:02:17 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)
395        _RS arrMask(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RS arrMask(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
# Line 412  c     IF ( useLand ) THEN Line 419  c     IF ( useLand ) THEN
419    
420          CALL  DIAGSTATS_CALC(          CALL  DIAGSTATS_CALC(
421       O            statArr,       O            statArr,
422       I            inpArr, frcArr, scaleFact, useFract,       I            inpArr, frcArr, scaleFact, power, useFract,
423       I            nStats,sizI1,sizI2,sizJ1,sizJ2,iRun,jRun,       I            nStats,sizI1,sizI2,sizJ1,sizJ2,iRun,jRun,
424       I            regMask, aim_landFr(1-Olx,1-Oly,bi,bj),       I            regMask, aim_landFr(1-Olx,1-Oly,bi,bj),
425       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 438  C     !ROUTINE: DIAGSTATS_CALC
438  C     !INTERFACE:  C     !INTERFACE:
439        SUBROUTINE DIAGSTATS_CALC(        SUBROUTINE DIAGSTATS_CALC(
440       O                  statArr,       O                  statArr,
441       I                  inpArr, frcArr, scaleFact, useFract,       I                  inpArr, frcArr, scaleFact, power, useFract,
442       I                  nStats,sizI1,sizI2,sizJ1,sizJ2, iRun,jRun,       I                  nStats,sizI1,sizI2,sizJ1,sizJ2, iRun,jRun,
443       I                  regMask, arrMask, arrhFac, arrArea,       I                  regMask, arrMask, arrhFac, arrArea,
444       I                  arrDr, specialVal, exclSpVal, useWeight,       I                  arrDr, specialVal, exclSpVal, useWeight,
# Line 451  C     == Routine Arguments == Line 458  C     == Routine Arguments ==
458  C     statArr     :: output statistics array  C     statArr     :: output statistics array
459  C     inpArr      :: input field array to process (compute stats & add to statFld)  C     inpArr      :: input field array to process (compute stats & add to statFld)
460  C     frcArr      :: fraction used for weighted-average diagnostics  C     frcArr      :: fraction used for weighted-average diagnostics
 C     useFract    :: if True, use fraction-weight  
461  C     scaleFact   :: scaling factor  C     scaleFact   :: scaling factor
462    C     power       :: option to fill-in with the field square (power=2)
463    C     useFract    :: if True, use fraction-weight
464  C     nStats      :: size of output array: statArr  C     nStats      :: size of output array: statArr
465  C     sizI1,sizI2 :: size of inpArr array: 1rst index range (min,max)  C     sizI1,sizI2 :: size of inpArr array: 1rst index range (min,max)
466  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 482  C     myThid      :: my Thread Id number
482        _RL inpArr (sizI1:sizI2,sizJ1:sizJ2)        _RL inpArr (sizI1:sizI2,sizJ1:sizJ2)
483        _RL frcArr (sizI1:sizI2,sizJ1:sizJ2)        _RL frcArr (sizI1:sizI2,sizJ1:sizJ2)
484        _RL scaleFact        _RL scaleFact
485          INTEGER power
486        LOGICAL useFract        LOGICAL useFract
487        _RS regMask(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RS regMask(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
488        _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 492  C     myThid      :: my Thread Id number
492        _RL specialVal        _RL specialVal
493        LOGICAL exclSpVal        LOGICAL exclSpVal
494        LOGICAL useWeight        LOGICAL useWeight
 c     INTEGER k, bi, bj  
 c     CHARACTER*16 parsFld  
495        INTEGER myThid        INTEGER myThid
496  CEOP  CEOP
497    
# Line 494  C     i,j    :: loop indices Line 501  C     i,j    :: loop indices
501        INTEGER im, ix        INTEGER im, ix
502        _RL tmpVol        _RL tmpVol
503        _RL tmpFld        _RL tmpFld
504          _RL tmpFac
505    
506        im = nStats - 1        im = nStats - 1
507        ix = nStats        ix = nStats
508        DO n=0,nStats        DO n=0,nStats
509          statArr(n) = 0.          statArr(n) = 0.
510        ENDDO        ENDDO
511          tmpFac = scaleFact
512          IF ( power.EQ.2) tmpFac = scaleFact*scaleFact
513    
514        IF ( useFract .AND. exclSpVal ) THEN        IF ( useFract .AND. exclSpVal ) THEN
515    
# Line 507  C     i,j    :: loop indices Line 517  C     i,j    :: loop indices
517          DO i = 1,iRun          DO i = 1,iRun
518            IF ( arrMask(i,j).NE.0. .AND. frcArr(i,j).NE.0.            IF ( arrMask(i,j).NE.0. .AND. frcArr(i,j).NE.0.
519       &                     .AND. inpArr(i,j).NE.specialVal ) THEN       &                     .AND. inpArr(i,j).NE.specialVal ) THEN
520              tmpFld = scaleFact*inpArr(i,j)              IF ( power.EQ.2) THEN
521                  tmpFld = tmpFac*inpArr(i,j)*inpArr(i,j)
522                ELSE
523                  tmpFld = tmpFac*inpArr(i,j)
524                ENDIF
525              IF ( statArr(0).EQ.0. ) THEN              IF ( statArr(0).EQ.0. ) THEN
526                statArr(im) = tmpFld                statArr(im) = tmpFld
527                statArr(ix) = tmpFld                statArr(ix) = tmpFld
# Line 532  C     i,j    :: loop indices Line 546  C     i,j    :: loop indices
546         DO j = 1,jRun         DO j = 1,jRun
547          DO i = 1,iRun          DO i = 1,iRun
548            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
549              tmpFld = scaleFact*inpArr(i,j)              IF ( power.EQ.2) THEN
550                  tmpFld = tmpFac*inpArr(i,j)*inpArr(i,j)
551                ELSE
552                  tmpFld = tmpFac*inpArr(i,j)
553                ENDIF
554              IF ( statArr(0).EQ.0. ) THEN              IF ( statArr(0).EQ.0. ) THEN
555                statArr(im) = tmpFld                statArr(im) = tmpFld
556                statArr(ix) = tmpFld                statArr(ix) = tmpFld
# Line 558  C     i,j    :: loop indices Line 576  C     i,j    :: loop indices
576          DO i = 1,iRun          DO i = 1,iRun
577            IF ( arrMask(i,j).NE.0.            IF ( arrMask(i,j).NE.0.
578       &                     .AND. inpArr(i,j).NE.specialVal ) THEN       &                     .AND. inpArr(i,j).NE.specialVal ) THEN
579              tmpFld = scaleFact*inpArr(i,j)              IF ( power.EQ.2) THEN
580                  tmpFld = tmpFac*inpArr(i,j)*inpArr(i,j)
581                ELSE
582                  tmpFld = tmpFac*inpArr(i,j)
583                ENDIF
584              IF ( statArr(0).EQ.0. ) THEN              IF ( statArr(0).EQ.0. ) THEN
585                statArr(im) = tmpFld                statArr(im) = tmpFld
586                statArr(ix) = tmpFld                statArr(ix) = tmpFld
# Line 584  C     i,j    :: loop indices Line 606  C     i,j    :: loop indices
606          DO i = 1,iRun          DO i = 1,iRun
607  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
608            IF ( arrMask(i,j).NE.0. ) THEN            IF ( arrMask(i,j).NE.0. ) THEN
609              tmpFld = scaleFact*inpArr(i,j)              IF ( power.EQ.2) THEN
610                  tmpFld = tmpFac*inpArr(i,j)*inpArr(i,j)
611                ELSE
612                  tmpFld = tmpFac*inpArr(i,j)
613                ENDIF
614              IF ( statArr(0).EQ.0. ) THEN              IF ( statArr(0).EQ.0. ) THEN
615                statArr(im) = tmpFld                statArr(im) = tmpFld
616                statArr(ix) = tmpFld                statArr(ix) = tmpFld

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

  ViewVC Help
Powered by ViewVC 1.1.22