--- MITgcm/pkg/fizhi/slprs.F 2006/05/18 22:14:23 1.2 +++ MITgcm/pkg/fizhi/slprs.F 2009/04/02 20:54:03 1.4 @@ -1,20 +1,20 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/pkg/fizhi/slprs.F,v 1.2 2006/05/18 22:14:23 molod Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/pkg/fizhi/slprs.F,v 1.4 2009/04/02 20:54:03 jmc Exp $ C $Name: $ #include "FIZHI_OPTIONS.h" subroutine slprs (PHIS,PLE,THZ,lwmask,im,jm,lm,SLP) -C*********************************************************************** -C INPUT -C PHIS .... SURFACE GEOPOTENTIAL (M2/S2) -C THZ ..... POTENTIAL TEMPERATURE (K) ON Model LEVELS -C grid .... Dynamics Grid Structure +C********************************************************************** +C INPUT +C PHIS .... SURFACE GEOPOTENTIAL (M2/S2) +C THZ ..... POTENTIAL TEMPERATURE (K) ON Model LEVELS +C grid .... Dynamics Grid Structure C lwmask .. Land:(0.0) Water:(1.0) Mask -C -C OUTPUT -C SLP ..... SEA LEVEL PRESSURE (MB) +C +C OUTPUT +C SLP ..... SEA LEVEL PRESSURE (MB) C C NOTE: Level counting here for thz and ple is top down (thz(1) is top) -C*********************************************************************** +C*********************************************************************** implicit none @@ -32,13 +32,13 @@ integer i,L _RL tm (im*jm) integer Ltop (im*jm) - - G = GETCON('GRAVITY') - R = GETCON('RGAS') - AK = GETCON('KAPPA') -C*********************************************************************** -C* COMPUTE MEAN THETA IN PBL (100 MB) * -C*********************************************************************** + + G = GETCON('GRAVITY') + R = GETCON('RGAS') + AK = GETCON('KAPPA') +C*********************************************************************** +C* COMPUTE MEAN THETA IN PBL (100 MB) * +C*********************************************************************** do i=1,im*jm tm(i) = 0.0 @@ -58,20 +58,20 @@ tm(i) = tm(i)/(ple(i,lm+1)-ple(i,Ltop(i))) enddo -C*********************************************************************** -C* COMPUTE SEA LEVEL PRESSURE * -C*********************************************************************** - - do i=1,im*jm - if( lwmask(i).eq.0.0 ) then +C*********************************************************************** +C* COMPUTE SEA LEVEL PRESSURE * +C*********************************************************************** + + do i=1,im*jm + if( lwmask(i).ne.0.0 ) then TM(I) = TM(I) * (PLE(I,LM+1)/1000.)**AK + BETA*PHIS(I)/(TWO*G) else TM(I) = THZ(I,LM)*(PLE(I,LM+1)/1000.)**AK + BETA*PHIS(I)/(TWO*G) endif - SLP(I) = PHIS(I) / ( R*TM(I) ) - SLP(I) = PLE(I,LM+1) * EXP( SLP(I) ) + SLP(I) = PHIS(I) / ( R*TM(I) ) + SLP(I) = PLE(I,LM+1) * EXP( SLP(I) ) enddo - - RETURN - END + + RETURN + END