/[MITgcm]/MITgcm/pkg/fizhi/fizhi_moist.F
ViewVC logotype

Diff of /MITgcm/pkg/fizhi/fizhi_moist.F

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

revision 1.33 by jmc, Mon May 23 02:09:58 2005 UTC revision 1.34 by ce107, Thu Jun 16 16:46:12 2005 UTC
# Line 992  c Compute Time-averaged Cloud and Water Line 992  c Compute Time-averaged Cloud and Water
992  c --------------------------------------------------------------------  c --------------------------------------------------------------------
993         watnow = cldwater(i,1,L)         watnow = cldwater(i,1,L)
994         if( plev.le.500.0 ) then         if( plev.le.500.0 ) then
995          cldras = min( max( cldras_lw(i,1,L)*cldras_mem,cpen(i,1,L)),1.0)          cldras = min( max( cldras_lw(i,1,L)*cldras_mem,cpen(i,1,L)),1.0 _d 0)
996         else         else
997          cldras = 0.0          cldras = 0.0
998         endif         endif
999         cldlsp = min( max( cldlsp_lw(i,1,L)*cldlsp_mem,cldls(i,1,L)),1.0)         cldlsp = min( max( cldlsp_lw(i,1,L)*cldlsp_mem,cldls(i,1,L)),1.0 _d 0)
1000    
1001         if( cldras.lt.cldmin ) cldras = 0.0         if( cldras.lt.cldmin ) cldras = 0.0
1002         if( cldlsp.lt.cldmin ) cldlsp = 0.0         if( cldlsp.lt.cldmin ) cldlsp = 0.0
# Line 1013  c Compute Time-averaged Cloud and Water Line 1013  c Compute Time-averaged Cloud and Water
1013  c ---------------------------------------------------------------------  c ---------------------------------------------------------------------
1014         watnow = cldwater(i,1,L)         watnow = cldwater(i,1,L)
1015         if( plev.le.500.0 ) then         if( plev.le.500.0 ) then
1016          cldras = min( max(cldras_sw(i,1,L)*cldras_mem, cpen(i,1,L)),1.0)          cldras = min( max(cldras_sw(i,1,L)*cldras_mem, cpen(i,1,L)),1.0 _d 0)
1017         else         else
1018          cldras = 0.0          cldras = 0.0
1019         endif         endif
1020         cldlsp = min( max(cldlsp_sw(i,1,L)*cldlsp_mem,cldls(i,1,L)),1.0)         cldlsp = min( max(cldlsp_sw(i,1,L)*cldlsp_mem,cldls(i,1,L)),1.0 _d 0)
1021    
1022         if( cldras.lt.cldmin ) cldras = 0.0         if( cldras.lt.cldmin ) cldras = 0.0
1023         if( cldlsp.lt.cldmin ) cldlsp = 0.0         if( cldlsp.lt.cldmin ) cldlsp = 0.0
# Line 2204  C Local Variables Line 2204  C Local Variables
2204  C  C
2205        DO 10 I=1,lng        DO 10 I=1,lng
2206                             rno(i) = 1.0                             rno(i) = 1.0
2207  ccc   if( pl(i).le.400.0 ) rno(i) = max( 0.75, 1.0-0.0025*(400.0-pl(i)) )  ccc   if( pl(i).le.400.0 ) rno(i) = max( 0.75 _d 0, 1.0-0.0025*(400.0-pl(i)) )
2208    
2209  ccc   IF ( PL(I).GE.P7 .AND. PL(I).LE.P9 ) THEN  ccc   IF ( PL(I).GE.P7 .AND. PL(I).LE.P9 ) THEN
2210  ccc     RNO(I) = ((P9-PL(I))/(P9-P7)) **2  ccc     RNO(I) = ((P9-PL(I))/(P9-P7)) **2
# Line 2473  C*************************************** Line 2473  C***************************************
2473             if( rhcrit(i,L).eq.1.0 ) then             if( rhcrit(i,L).eq.1.0 ) then
2474             fact = 1.0             fact = 1.0
2475             else             else
2476             fact = min( 1.0, alpha + (1.0-alpha)*( rh-rhcrit(i,L)) /             fact = min( 1.0 _d 0, alpha + (1.0-alpha)*( rh-rhcrit(i,L)) /
2477       1                                          (1.0-rhcrit(i,L)) )       1                                          (1.0-rhcrit(i,L)) )
2478             endif             endif
2479    
# Line 2579  cfpp$ expand (qsat) Line 2579  cfpp$ expand (qsat)
2579        ratio  = alpha*(rh-rhcrit)/offset        ratio  = alpha*(rh-rhcrit)/offset
2580    
2581        if(cloud(i,L).eq.  0.0 .and. ratio.gt.0.0 ) then        if(cloud(i,L).eq.  0.0 .and. ratio.gt.0.0 ) then
2582           cloud(i,L) = min( ratio,1.0 )           cloud(i,L) = min( ratio,1.0 _d 0)
2583        endif        endif
2584    
2585        enddo        enddo
# Line 2622  c -------------------------------------- Line 2622  c --------------------------------------
2622       .    / ( 2+(1+1.608*cpoel*t)*elocp*dqsdt )       .    / ( 2+(1+1.608*cpoel*t)*elocp*dqsdt )
2623    
2624        s = ( (k-krd)/(kmm-krd) )        s = ( (k-krd)/(kmm-krd) )
2625        f = 1.0 - min( 1.0, max(0.0,1.0-exp(-s)) )        f = 1.0 - min( 1.0 _d 0, max(0.0 _d 0,1.0-exp(-s)) )
2626    
2627        cldfrc(i,L) = cldfrc(i,L)*f        cldfrc(i,L) = cldfrc(i,L)*f
2628        cldwat(i,L) = cldwat(i,L)*f        cldwat(i,L) = cldwat(i,L)*f

Legend:
Removed from v.1.33  
changed lines
  Added in v.1.34

  ViewVC Help
Powered by ViewVC 1.1.22