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

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

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

revision 1.1 by molod, Thu May 18 19:38:32 2006 UTC revision 1.2 by molod, Thu May 18 22:14:23 2006 UTC
# Line 2  C $Header$ Line 2  C $Header$
2  C $Name$  C $Name$
3    
4  #include "FIZHI_OPTIONS.h"  #include "FIZHI_OPTIONS.h"
5        subroutine slprs (SLP,PZ,PTOP,PHIS,THZ,PLE,lwmask,im,jm,lm)        subroutine slprs (PHIS,PLE,THZ,lwmask,im,jm,lm,SLP)
6  C***********************************************************************          C***********************************************************************        
7  C  INPUT                                                                          C  INPUT                                                                        
 C    PZ ...... SURFACE   PRESSURE (MB) - PTOP                                    
 C    PTOP .... MODEL TOP PRESSURE (MB)                                            
8  C    PHIS .... SURFACE GEOPOTENTIAL (M2/S2)                                      C    PHIS .... SURFACE GEOPOTENTIAL (M2/S2)                                    
9  C    THZ ..... POTENTIAL TEMPERATURE (K) ON  Model LEVELS                        C    THZ ..... POTENTIAL TEMPERATURE (K) ON  Model LEVELS                      
10  C    grid .... Dynamics Grid Structure                                            C    grid .... Dynamics Grid Structure                                          
# Line 21  C*************************************** Line 19  C***************************************
19        implicit none        implicit none
20    
21        integer im,jm,lm        integer im,jm,lm
22        _RL  SLP   (im*jm),  PZ   (im*jm)        _RL  SLP   (im*jm)
23        _RL  PHIS  (im*jm),  THZ  (im*jm,lm)        _RL  PHIS  (im*jm),  THZ  (im*jm,lm)
24        _RL  lwmask(im*jm)        _RL  lwmask(im*jm)
25        _RL  ple(im*jm,lm+1)        _RL  ple(im*jm,lm+1)
26    
27        _RL ZERO, ONE, TWO, BETA        _RL TWO, BETA
       PARAMETER(ZERO = 0.0)  
       PARAMETER(ONE  = 1.0)  
28        PARAMETER(TWO  = 2.0)        PARAMETER(TWO  = 2.0)
29        PARAMETER(BETA = 0.0065)        PARAMETER(BETA = 0.0065)
30    
31        _RL  getcon,g,r,ak,cp,delp,ptop        _RL  getcon,g,r,ak
32        integer i,L        integer i,L
33        _RL  tm (im*jm)        _RL  tm (im*jm)
34        integer Ltop (im*jm)        integer Ltop (im*jm)
# Line 40  C*************************************** Line 36  C***************************************
36        G  = GETCON('GRAVITY')                                                            G  = GETCON('GRAVITY')                                                    
37        R  = GETCON('RGAS')                                                              R  = GETCON('RGAS')                                                      
38        AK = GETCON('KAPPA')                                                              AK = GETCON('KAPPA')                                                      
       CP = GETCON('CP')                                                        
                                                                                   
39  C***********************************************************************          C***********************************************************************        
40  C*                COMPUTE MEAN THETA IN PBL (100 MB)                   *          C*                COMPUTE MEAN THETA IN PBL (100 MB)                   *        
41  C***********************************************************************          C***********************************************************************        
# Line 70  C*************************************** Line 64  C***************************************
64                                                                                                                                                                    
65        do i=1,im*jm                                                                  do i=1,im*jm                                                          
66        if( lwmask(i).eq.0.0 ) then        if( lwmask(i).eq.0.0 ) then
67        TM(I) = TM(I) * ((PZ(I)+PTOP)/1000.)**AK + BETA*PHIS(I)/(TWO*G)        TM(I) = TM(I) * (PLE(I,LM+1)/1000.)**AK + BETA*PHIS(I)/(TWO*G)
68        else        else
69        TM(I) = THZ(I,LM)*((PZ(I)+PTOP)/1000.)**AK + BETA*PHIS(I)/(TWO*G)        TM(I) = THZ(I,LM)*(PLE(I,LM+1)/1000.)**AK + BETA*PHIS(I)/(TWO*G)
70        endif        endif
71    
72        SLP(I) = PHIS(I) / ( R*TM(I) )                                                    SLP(I) = PHIS(I) / ( R*TM(I) )                                            
73        SLP(I) = ( PZ(I)+PTOP ) * EXP( SLP(I) )                                          SLP(I) = PLE(I,LM+1) * EXP( SLP(I) )                                  
74        enddo        enddo
75                                                                                                                                                                    
76        RETURN                                                                            RETURN                                                                    

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

  ViewVC Help
Powered by ViewVC 1.1.22