/[MITgcm]/MITgcm/pkg/aim/phy_convmf.F
ViewVC logotype

Diff of /MITgcm/pkg/aim/phy_convmf.F

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

revision 1.2 by adcroft, Fri Feb 2 21:36:29 2001 UTC revision 1.3 by cnh, Tue May 29 19:28:53 2001 UTC
# Line 3  C $Name$ Line 3  C $Name$
3    
4  cmolt      SUBROUTINE CONVMF (PSA,SE,QA,QSAT,  cmolt      SUBROUTINE CONVMF (PSA,SE,QA,QSAT,
5        SUBROUTINE CONVMF (PSA,TA,QA,QSAT,        SUBROUTINE CONVMF (PSA,TA,QA,QSAT,
6       *                   IDEPTH,CBMF,PRECNV,DFSE,DFQA)       *                   IDEPTH,CBMF,PRECNV,DFSE,DFQA,
7         I                   myThid)
8  C--  C--
9  C--   SUBROUTINE CONVMF (PSA,SE,QA,QSAT,  C--   SUBROUTINE CONVMF (PSA,SE,QA,QSAT,
10  C--  *                   IDEPTH,CBMF,PRECNV,DFSE,DFQA)  C--  *                   IDEPTH,CBMF,PRECNV,DFSE,DFQA)
# Line 22  C--            DFQA   = net flux of sp.h Line 23  C--            DFQA   = net flux of sp.h
23  C--  C--
24    
25        IMPLICIT rEAL*8 ( A-H,O-Z)        IMPLICIT rEAL*8 ( A-H,O-Z)
26          INTEGER  myThid
27    
28  C     Resolution parameters  C     Resolution parameters
29  C  C
30    #include "EEPARAMS.h"
31    
32  #include "atparam.h"  #include "atparam.h"
33  #include "atparam1.h"  #include "atparam1.h"
34  #include "Lev_def.h"  #include "Lev_def.h"
35  C  C
36          INTEGER NLON, NLAT, NLEV, NGP
37        PARAMETER ( NLON=IX, NLAT=IL, NLEV=KX, NGP=NLON*NLAT )        PARAMETER ( NLON=IX, NLAT=IL, NLEV=KX, NGP=NLON*NLAT )
38  C  C
39  C     Physical constants + functions of sigma and latitude  C     Physical constants + functions of sigma and latitude
# Line 57  C Line 62  C
62        REAL Pground        REAL Pground
63        DATA pground /1000./        DATA pground /1000./
64        REAL FDMUS        REAL FDMUS
65    
66          INTEGER J, K, K1
67  C  C
68  C     1. Initialization of output and workspace arrays  C     1. Initialization of output and workspace arrays
69  C  C
70        DO J=1,NGP        DO J=1,NGP
71         FM0(J)=0.         FM0(J)=0.
72         IF ( NLEVxy(J) .NE. 0 ) THEN         IF ( NLEVxy(J,myThid) .NE. 0 ) THEN
73          FM0(J)=P0*DSIG(NLEVxy(J))/(GG*TRCNV*3600)          FM0(J)=P0*DSIG(NLEVxy(J,myThid))/(GG*TRCNV*3600)
74         ENDIF         ENDIF
75         DENTR(J)=ENTMAX/(SIG(NLEV-1)-0.5)         DENTR(J)=ENTMAX/(SIG(NLEV-1)-0.5)
76        ENDDO        ENDDO
# Line 77  C Line 84  C
84  C  C
85  C  C
86        DO J=1,NGP        DO J=1,NGP
87          ITOP(J)  =NLEVxy(J)          ITOP(J)  =NLEVxy(J,myThid)
88          CBMF(J)  =0.0          CBMF(J)  =0.0
89          PRECNV(J)=0.0          PRECNV(J)=0.0
90        ENDDO        ENDDO
91  C  C
92  C     Saturation moist static energy  C     Saturation moist static energy
93  cmolt      DO J=1,NGP  cmolt      DO J=1,NGP
94  cmolt        DO K=1,NLEVxy(J)  cmolt        DO K=1,NLEVxy(J,myThid)
95  cmolt          SM(J,K)=SE(J,K)+ALHC*QSAT(J,K)  cmolt          SM(J,K)=SE(J,K)+ALHC*QSAT(J,K)
96  cmolt        ENDDO  cmolt        ENDDO
97  cmolt      ENDDO  cmolt      ENDDO
98  C  C
99  C     Entrainment profile (up to sigma = 0.5)  C     Entrainment profile (up to sigma = 0.5)
100        DO J=1,NGP        DO J=1,NGP
101          DO K=2,NLEVxy(J)-1          DO K=2,NLEVxy(J,myThid)-1
102            ENTR(J,K)=MAX(0.,SIG(K)-0.5)*DENTR(J)            ENTR(J,K)=MAX(0.,SIG(K)-0.5)*DENTR(J)
103          ENDDO          ENDDO
104        ENDDO        ENDDO
# Line 101  C Line 108  C
108  C     2.1 Conditional instability  C     2.1 Conditional instability
109  C  C
110  cmolt      DO J=1,NGP  cmolt      DO J=1,NGP
111  cmolt        DO K=NLEVxy(J)-2,2,-1  cmolt        DO K=NLEVxy(J,myThid)-2,2,-1
112  cmolt          SMB=SM(J,K)+WVI(K,2)*(SM(J,K+1)-SM(J,K))  cmolt          SMB=SM(J,K)+WVI(K,2)*(SM(J,K+1)-SM(J,K))
113  cmolt          IF (SM(J,NLEVxy(J)).GT.SMB) ITOP(J)=K  cmolt          IF (SM(J,NLEVxy(J,myThid)).GT.SMB) ITOP(J)=K
114  cmolt        ENDDO  cmolt        ENDDO
115  cmolt      ENDDO  cmolt      ENDDO
116  C  C
117  C New writing of the Conditional stability  C New writing of the Conditional stability
118  C ----------------------------------------  C ----------------------------------------
119        DO J=1,NGP        DO J=1,NGP
120          DO k=1,NLEVxy(J)          DO k=1,NLEVxy(J,myThid)
121            Th(J,K)=Ta(J,K)*(Pground/Prefs(k))**(RD/CP)            Th(J,K)=Ta(J,K)*(Pground/Prefs(k))**(RD/CP)
122          ENDDO          ENDDO
123        ENDDO        ENDDO
124  C  C
125        DO J=1,NGP        DO J=1,NGP
126          dThdp(J,1)=0.          dThdp(J,1)=0.
127          IF ( NLEVxy(J) .NE. 0 ) THEN          IF ( NLEVxy(J,myThid) .NE. 0 ) THEN
128           dThdp(J,NLEVxy(J))=0.           dThdp(J,NLEVxy(J,myThid))=0.
129          ENDIF          ENDIF
130          DO k=2,NLEVxy(J)          DO k=2,NLEVxy(J,myThid)
131            dThdp(J,K-1)=(Th(J,K-1)-Th(J,K))            dThdp(J,K-1)=(Th(J,K-1)-Th(J,K))
132       &              *((Prefw(k)/Pground)**(RD/CP))*CP       &              *((Prefw(k)/Pground)**(RD/CP))*CP
133          ENDDO          ENDDO
134        ENDDO        ENDDO
135  C  C
136        DO J=1,NGP        DO J=1,NGP
137         IF ( NLEVxy(J) .NE. 0 ) THEN         IF ( NLEVxy(J,myThid) .NE. 0 ) THEN
138          dThdpHat(J,NLEVxy(J))=dThdp(J,NLEVxy(J))          dThdpHat(J,NLEVxy(J,myThid))=dThdp(J,NLEVxy(J,myThid))
139         ENDIF         ENDIF
140        ENDDO        ENDDO
141  C  C
142        DO J=1,NGP        DO J=1,NGP
143          DO k=NLEVxy(J)-1,2,-1          DO k=NLEVxy(J,myThid)-1,2,-1
144            dThdpHat(J,K)=dThdpHat(J,K+1)+dThdp(J,k)            dThdpHat(J,K)=dThdpHat(J,K+1)+dThdp(J,k)
145          ENDDO          ENDDO
146        ENDDO        ENDDO
147  C  C
148        DO J=1,NGP        DO J=1,NGP
149          DO k=2,NLEVxy(J)-1          DO k=2,NLEVxy(J,myThid)-1
150            stab(J,K)=dThdpHat(J,K)+ALHC*(QSAT(J,K)-QSAT(J,NLEVxy(J)))            stab(J,K)=dThdpHat(J,K)+ALHC*(QSAT(J,K)-QSAT(J,NLEVxy(J,myThid)))
151       &        -WVI(K,2)*(dThdp(J,K) +ALHC*(QSAT(J,K) -QSAT(J,K+1)) )       &        -WVI(K,2)*(dThdp(J,K) +ALHC*(QSAT(J,K) -QSAT(J,K+1)) )
152          ENDDO          ENDDO
153        ENDDO        ENDDO
154  C  C
155        DO J=1,NGP        DO J=1,NGP
156          DO K=NLEVxy(J)-2,2,-1          DO K=NLEVxy(J,myThid)-2,2,-1
157            if(stab(J,K).lt.0.) ITOP(J)=K            if(stab(J,K).lt.0.) ITOP(J)=K
158          ENDDO          ENDDO
159        ENDDO        ENDDO
# Line 154  C Line 161  C
161  C     2.2 Humidity exceeding prescribed threshold  C     2.2 Humidity exceeding prescribed threshold
162  C  C
163        DO J=1,NGP        DO J=1,NGP
164          IF ( NLEVxy(J) .NE. 0 ) THEN          IF ( NLEVxy(J,myThid) .NE. 0 ) THEN
165           IF (QA(J,NLEVxy(J)).LT.RHBL*QSAT(J,NLEVxy(J)))           IF (QA(J,NLEVxy(J,myThid)).LT.RHBL*QSAT(J,NLEVxy(J,myThid)))
166       &          ITOP(J)=NLEVxy(J)       &          ITOP(J)=NLEVxy(J,myThid)
167          ENDIF          ENDIF
168          IDEPTH(J)=NLEVxy(J)-ITOP(J)          IDEPTH(J)=NLEVxy(J,myThid)-ITOP(J)
169        ENDDO        ENDDO
170  C  C
171  C--   3. Convection over selected grid-points  C--   3. Convection over selected grid-points
172  C  C
173        DO 300 J=1,NGP        DO 300 J=1,NGP
174        IF (ITOP(J).EQ.NLEVxy(J)) GO TO 300        IF (ITOP(J).EQ.NLEVxy(J,myThid)) GO TO 300
175  C  C
176  C       3.1 Boundary layer (cloud base)  C       3.1 Boundary layer (cloud base)
177  C  C
178          K =NLEVxy(J)          K =NLEVxy(J,myThid)
179          K1=K-1          K1=K-1
180  C  C
181  C       Dry static energy and moisture at upper boundary  C       Dry static energy and moisture at upper boundary
# Line 183  C       Cloud-base mass flux Line 190  C       Cloud-base mass flux
190  C  C
191  C       Upward fluxes at upper boundary  C       Upward fluxes at upper boundary
192  cch        FUS=FMASS*SE(J,K)  cch        FUS=FMASS*SE(J,K)
193          FUQ=FMASS*QSAT(J,K)  C_jmc      FUQ=FMASS*QSAT(J,K)
194            FUQ=FMASS*MAX( QSAT(J,K), MIN(QB,QA(J,K)) )
195  C  C
196  C       Downward fluxes at upper boundary  C       Downward fluxes at upper boundary
197  cch        FDS=FMASS*SB  cch        FDS=FMASS*SB
# Line 197  cch        DFSE(J,K)=FDS-FUS Line 205  cch        DFSE(J,K)=FDS-FUS
205  C  C
206  C       3.2 Intermediate layers (entrainment)  C       3.2 Intermediate layers (entrainment)
207  C  C
208          DO K=NLEVxy(J)-1,ITOP(J)+1,-1          DO K=NLEVxy(J,myThid)-1,ITOP(J)+1,-1
209          K1=K-1          K1=K-1
210  C  C
211  C         Fluxes at lower boundary  C         Fluxes at lower boundary

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

  ViewVC Help
Powered by ViewVC 1.1.22