/[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.4 by jmc, Tue Sep 25 19:50:28 2001 UTC revision 1.5 by jmc, Fri Sep 27 20:05:11 2002 UTC
# Line 4  C $Name$ Line 4  C $Name$
4  #include "AIM_OPTIONS.h"  #include "AIM_OPTIONS.h"
5    
6  cmolt      SUBROUTINE CONVMF (PSA,SE,QA,QSAT,  cmolt      SUBROUTINE CONVMF (PSA,SE,QA,QSAT,
7        SUBROUTINE CONVMF (PSA,TA,QA,QSAT,        SUBROUTINE CONVMF (PSA,Ta,QA,QSAT,
8       *                   IDEPTH,CBMF,PRECNV,DFSE,DFQA,       *                   IDEPTH,CBMF,PRECNV,DFSE,DFQA,
9       I                   myThid)       I                   myThid)
10  C--  C--
# Line 24  C--            DFSE   = net flux of d.s. Line 24  C--            DFSE   = net flux of d.s.
24  C--            DFQA   = net flux of sp.hum. into each atm. layer (3-dim)  C--            DFQA   = net flux of sp.hum. into each atm. layer (3-dim)
25  C--  C--
26    
27        IMPLICIT rEAL*8 ( A-H,O-Z)        IMPLICIT NONE
       INTEGER  myThid  
28    
29  C     Resolution parameters  C     Resolution parameters
30  C  
31    C-- size for MITgcm & Physics package :
32    #include "AIM_SIZE.h"
33    
34  #include "EEPARAMS.h"  #include "EEPARAMS.h"
35    
36  #include "atparam.h"  #include "AIM_GRID.h"
37  #include "atparam1.h"  
 #include "Lev_def.h"  
 C  
       INTEGER NLON, NLAT, NLEV, NGP  
       PARAMETER ( NLON=IX, NLAT=IL, NLEV=KX, NGP=NLON*NLAT )  
 C  
38  C     Physical constants + functions of sigma and latitude  C     Physical constants + functions of sigma and latitude
39  C  C
40  #include "com_physcon.h"  #include "com_physcon.h"
# Line 45  C Line 42  C
42  C     Convection constants  C     Convection constants
43  C  C
44  #include "com_cnvcon.h"  #include "com_cnvcon.h"
45  C  
46        REAL PSA(NGP), SE(NGP,NLEV), QA(NGP,NLEV), QSAT(NGP,NLEV)  C-- Routine arguments:
47  C        _RL PSA(NGP), Ta(NGP,NLEV), QA(NGP,NLEV), QSAT(NGP,NLEV)
48        INTEGER IDEPTH(NGP)        INTEGER IDEPTH(NGP)
49        REAL CBMF(NGP), PRECNV(NGP), DFSE(NGP,NLEV), DFQA(NGP,NLEV)        _RL CBMF(NGP), PRECNV(NGP), DFSE(NGP,NLEV), DFQA(NGP,NLEV)
50  C        INTEGER  myThid
51    
52    #ifdef ALLOW_AIM
53    
54    C-- Local variables:
55        INTEGER ITOP(NGP)        INTEGER ITOP(NGP)
56        REAL SM(NGP,NLEV), ENTR(NGP,2:NLEV-1)  c     REAL SM(NGP,NLEV), SE(NGP,NLEV)
57        REAL FM0(NGP), DENTR(NGP)        _RL ENTR(NGP,2:NLEV-1)
58  C        _RL FM0(NGP), DENTR(NGP)
59        REAL Th(NGP,NLEV), Ta(NGP,NLEV)  C
60        REAL dThdp(NGP,NLEV), dThdpHat(NGP,NLEV)        _RL Th(NGP,NLEV)
61        REAL stab(NGP,NLEV)        _RL dThdp(NGP,NLEV), dThdpHat(NGP,NLEV)
62        REAL Prefw(NLEV), Prefs(NLEV)        _RL stab(NGP,NLEV)
63          _RL Prefw(NLEV), Prefs(NLEV)
64        DATA Prefs / 75., 250., 500., 775., 950./        DATA Prefs / 75., 250., 500., 775., 950./
65        DATA Prefw / 0., 150., 350., 650., 900./        DATA Prefw / 0., 150., 350., 650., 900./
66        REAL Pground        _RL Pground
67        DATA pground /1000./        DATA pground /1000./
68        REAL FDMUS        _RL FDMUS
69    
70        INTEGER J, K, K1        INTEGER J, K, K1
71    
72    C- jmc: declare all local variables:
73          _RL QB, DQSAT, FMASS, FUQ, FDQ, ENMASS, QSATB
74    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
75    
76  C  C
77  C     1. Initialization of output and workspace arrays  C     1. Initialization of output and workspace arrays
78  C  C
# Line 101  C Line 108  C
108  C     Entrainment profile (up to sigma = 0.5)  C     Entrainment profile (up to sigma = 0.5)
109        DO J=1,NGP        DO J=1,NGP
110          DO K=2,NLEVxy(J,myThid)-1          DO K=2,NLEVxy(J,myThid)-1
111            ENTR(J,K)=MAX(0.,SIG(K)-0.5)*DENTR(J)            ENTR(J,K)=MAX(0. _d 0,SIG(K)-0.5 _d 0)*DENTR(J)
112          ENDDO          ENDDO
113        ENDDO        ENDDO
114  C  C
# Line 149  C Line 156  C
156  C  C
157        DO J=1,NGP        DO J=1,NGP
158          DO k=2,NLEVxy(J,myThid)-1          DO k=2,NLEVxy(J,myThid)-1
159            stab(J,K)=dThdpHat(J,K)+ALHC*(QSAT(J,K)-QSAT(J,NLEVxy(J,myThid)))            stab(J,K)=
160         &       dThdpHat(J,K)+ALHC*(QSAT(J,K)-QSAT(J,NLEVxy(J,myThid)))
161       &        -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)) )
162          ENDDO          ENDDO
163        ENDDO        ENDDO
# Line 186  cch        SB=SE(J,K1)+WVI(K1,2)*(SE(J,K Line 194  cch        SB=SE(J,K1)+WVI(K1,2)*(SE(J,K
194  cch        QB=QA(J,K1)  cch        QB=QA(J,K1)
195  C  C
196  C       Cloud-base mass flux  C       Cloud-base mass flux
197          DQSAT=MAX(QSAT(J,K)-QB,0.05*QSAT(J,K))          DQSAT=MAX(QSAT(J,K)-QB, 0.05 _d 0*QSAT(J,K))
198          FMASS=FM0(J)*PSA(J)*(QA(J,K)-RHBL*QSAT(J,K))/DQSAT          FMASS=FM0(J)*PSA(J)*(QA(J,K)-RHBL*QSAT(J,K))/DQSAT
199          CBMF(J)=FMASS          CBMF(J)=FMASS
200  C  C
# Line 248  C Line 256  C
256  C  C
257  C       Flux of convective precipitation  C       Flux of convective precipitation
258          QSATB=QSAT(J,K)+WVI(K,2)*(QSAT(J,K+1)-QSAT(J,K))          QSATB=QSAT(J,K)+WVI(K,2)*(QSAT(J,K+1)-QSAT(J,K))
259          PRECNV(J)=MAX(FUQ-FMASS*QSATB,0.0)          PRECNV(J)=MAX(FUQ-FMASS*QSATB, 0. _d 0)
260  C  C
261  C       Net flux of dry static energy and moisture  C       Net flux of dry static energy and moisture
262  cch        DFSE(J,K)=FUS-FDS+ALHC*PRECNV(J)  cch        DFSE(J,K)=FUS-FDS+ALHC*PRECNV(J)
# Line 256  cch        DFSE(J,K)=FUS-FDS+ALHC*PRECNV Line 264  cch        DFSE(J,K)=FUS-FDS+ALHC*PRECNV
264          DFQA(J,K)=FUQ-FDQ-PRECNV(J)          DFQA(J,K)=FUQ-FDQ-PRECNV(J)
265  C        C      
266   300  CONTINUE   300  CONTINUE
267  C  
268    #endif /* ALLOW_AIM */
269    
270        RETURN        RETURN
271        END        END

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

  ViewVC Help
Powered by ViewVC 1.1.22