/[MITgcm]/MITgcm/pkg/monitor/mon_surfcor.F
ViewVC logotype

Diff of /MITgcm/pkg/monitor/mon_surfcor.F

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

revision 1.5 by edhill, Sat Apr 3 21:17:10 2004 UTC revision 1.6 by jmc, Thu Jan 27 16:38:22 2005 UTC
# Line 51  CEOP Line 51  CEOP
51    
52  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
53        INTEGER i,j,k,ks,bi,bj        INTEGER i,j,k,ks,bi,bj
54        _RL theArea, wT_Mean, wS_Mean, tmp_wS_M, wT_Heat        _RL theArea, wT_Mean, wS_Mean, wT_Heat
55        _RL vT_Mean, vS_Mean, vT_Heat, theta2PE        _RL vT_Mean, vS_Mean, vT_Heat, theta2PE
56        _RL tmpVol, tmpVal, conv_th2Heat, ddPI        _RL tmpVol, tmpVal, conv_th2Heat, ddPI
57          _RL areaTile, wT_Tile, wS_Tile, wH_Tile, th2peTile
58    
59  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
60         theArea = 0.         theArea = 0.
# Line 66  C---+----1----+----2----+----3----+----4 Line 67  C---+----1----+----2----+----3----+----4
67         vT_Heat = 0.         vT_Heat = 0.
68         DO bj=myByLo(myThid),myByHi(myThid)         DO bj=myByLo(myThid),myByHi(myThid)
69          DO bi=myBxLo(myThid),myBxHi(myThid)          DO bi=myBxLo(myThid),myBxHi(myThid)
70              areaTile = 0.
71              th2peTile = 0.
72              wT_Tile = 0.
73              wS_Tile = 0.
74              wH_Tile = 0.
75  C-- Compute surface "expansion" term & do the integral  C-- Compute surface "expansion" term & do the integral
           tmp_wS_M = wS_Mean  
76            DO j=1,sNy            DO j=1,sNy
77             DO i=1,sNx             DO i=1,sNx
78              ks = ksurfC(i,j,bi,bj)              ks = ksurfC(i,j,bi,bj)
79              IF (ks.LE.Nr) THEN              IF (ks.LE.Nr) THEN
80               theArea = theArea + rA(i,j,bi,bj)               areaTile = areaTile + rA(i,j,bi,bj)
81               tmpVal =               tmpVal =
82       &          rA(i,j,bi,bj)*wVel(i,j,ks,bi,bj)*theta(i,j,ks,bi,bj)       &          rA(i,j,bi,bj)*wVel(i,j,ks,bi,bj)*theta(i,j,ks,bi,bj)
83               wT_Mean = wT_Mean + tmpVal               wT_Tile = wT_Tile + tmpVal
84               wS_Mean = wS_Mean               wS_Tile = wS_Tile
85       &        + rA(i,j,bi,bj)*wVel(i,j,ks,bi,bj)* salt(i,j,ks,bi,bj)       &        + rA(i,j,bi,bj)*wVel(i,j,ks,bi,bj)* salt(i,j,ks,bi,bj)
86  C-  Atmos in Pot.Temp => convert Omega*Theta to heat flux :  C-  Atmos in Pot.Temp => convert Omega*Theta to heat flux :
87               IF ( buoyancyRelation .eq. 'ATMOSPHERIC' ) THEN               IF ( buoyancyRelation .eq. 'ATMOSPHERIC' ) THEN
88                 wT_Heat = wT_Heat                 wH_Tile = wH_Tile
89       &                 + tmpVal*atm_cp*((rC(ks)/atm_po)**atm_kappa)       &                 + tmpVal*atm_cp*((rC(ks)/atm_po)**atm_kappa)
90               ENDIF               ENDIF
91              ENDIF              ENDIF
# Line 88  C-  Atmos in Pot.Temp => convert Omega*T Line 93  C-  Atmos in Pot.Temp => convert Omega*T
93            ENDDO            ENDDO
94  #ifdef ALLOW_AIM  #ifdef ALLOW_AIM
95            IF ( useAIM ) THEN            IF ( useAIM ) THEN
96               wS_Tile = 0.
97             DO j=1,sNy             DO j=1,sNy
98              DO i=1,sNx              DO i=1,sNx
99               ks = ksurfC(i,j,bi,bj)               ks = ksurfC(i,j,bi,bj)
# Line 95  C-  Atmos in Pot.Temp => convert Omega*T Line 101  C-  Atmos in Pot.Temp => convert Omega*T
101                tmpVal = salt(i,j,ks,bi,bj)                tmpVal = salt(i,j,ks,bi,bj)
102       &               + salt(i,j,Nr,bi,bj)*drF(Nr)*recip_drF(ks)       &               + salt(i,j,Nr,bi,bj)*drF(Nr)*recip_drF(ks)
103       &                *hFacC(i,j,Nr,bi,bj)*recip_hFacC(i,j,ks,bi,bj)       &                *hFacC(i,j,Nr,bi,bj)*recip_hFacC(i,j,ks,bi,bj)
104                tmp_wS_M = tmp_wS_M                wS_Tile = wS_Tile
105       &         + rA(i,j,bi,bj)*wVel(i,j,ks,bi,bj)*tmpVal       &         + rA(i,j,bi,bj)*wVel(i,j,ks,bi,bj)*tmpVal
106               ENDIF               ENDIF
107              ENDDO              ENDDO
108             ENDDO             ENDDO
            wS_Mean = tmp_wS_M  
109            ENDIF            ENDIF
110  #endif /* ALLOW_AIM */  #endif /* ALLOW_AIM */
111    
# Line 113  C    = Omega*Theta*DeltaPI Line 118  C    = Omega*Theta*DeltaPI
118       &                   -(rC( K )/atm_po)**atm_kappa )       &                   -(rC( K )/atm_po)**atm_kappa )
119              DO j=1,sNy              DO j=1,sNy
120               DO i=1,sNx               DO i=1,sNx
121                theta2PE = theta2PE                th2peTile = th2peTile
122       &         - ddPI*rA(i,j,bi,bj)*wVel(i,j,k,bi,bj)       &         - ddPI*rA(i,j,bi,bj)*wVel(i,j,k,bi,bj)
123       &           *(theta(i,j,k,bi,bj)+theta(i,j,k-1,bi,bj))*0.5 _d 0       &           *(theta(i,j,k,bi,bj)+theta(i,j,k-1,bi,bj))*0.5 _d 0
124       &           *maskC(i,j,k-1,bi,bj)*maskC(i,j,k,bi,bj)       &           *maskC(i,j,k-1,bi,bj)*maskC(i,j,k,bi,bj)
# Line 145  C-  Atmos in Pot.Temp => convert Omega*T Line 150  C-  Atmos in Pot.Temp => convert Omega*T
150              ENDDO              ENDDO
151             ENDDO             ENDDO
152            ENDDO                        ENDDO            
153            wT_Mean = wT_Mean + vT_Mean            wT_Tile = wT_Tile + vT_Mean
154            wS_Mean = wS_Mean + vS_Mean            wS_Tile = wS_Tile + vS_Mean
155            wT_Heat = wT_Heat + vT_Heat            wH_Tile = wH_Tile + vT_Heat
156          ENDIF          ENDIF
157  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
158  #endif /* NONLIN_FRSURF */  #endif /* NONLIN_FRSURF */
159    
160              theArea = theArea   + areaTile
161              theta2PE = theta2PE + th2peTile
162              wT_Mean = wT_Mean   + wT_Tile
163              wS_Mean = wS_Mean   + wS_Tile
164              wT_Heat = wT_Heat   + wH_Tile
165  C--    end bi,bj loop  C--    end bi,bj loop
166          ENDDO          ENDDO
167         ENDDO         ENDDO

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

  ViewVC Help
Powered by ViewVC 1.1.22