/[MITgcm]/MITgcm/model/src/ini_linear_phisurf.F
ViewVC logotype

Diff of /MITgcm/model/src/ini_linear_phisurf.F

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

revision 1.6 by heimbach, Mon Dec 2 21:53:29 2002 UTC revision 1.7 by jmc, Tue Dec 10 02:55:47 2002 UTC
# Line 13  C     *================================= Line 13  C     *=================================
13  C     | SUBROUTINE INI_LINEAR_PHISURF                              C     | SUBROUTINE INI_LINEAR_PHISURF                            
14  C     | o Initialise the Linear Relation Phi_surf(eta)              C     | o Initialise the Linear Relation Phi_surf(eta)            
15  C     *==========================================================*  C     *==========================================================*
16  C     | Presently: Initialise -Boyancy at surface level (Bo_surf)  C     | Initialise -Boyancy at surface level (Bo_surf)
17  C     |  to setup the Linear relation: Phi_surf(eta)=Bo_surf*eta    C     |  to setup the Linear relation: Phi_surf(eta)=Bo_surf*eta  
18  C     | Futur: might add other things for Non-Linear FreeSurface    C     | Initialise phi0surf = starting point for integrating
19    C     |                       phiHyd (= phiHyd at r=RoSurf)
20  C     *==========================================================*  C     *==========================================================*
21  C     \ev  C     \ev
22    
# Line 128  C--- Bo = d/d_p(Phi_surf) = tRef_surf*d/ Line 129  C--- Bo = d/d_p(Phi_surf) = tRef_surf*d/
129             DO I=1-Olx,sNx+Olx             DO I=1-Olx,sNx+Olx
130              IF ( Ro_surf(I,J,bi,bj).GT.0. _d 0              IF ( Ro_surf(I,J,bi,bj).GT.0. _d 0
131       &          .AND. ksurfC(I,J,bi,bj).LE.Nr ) THEN       &          .AND. ksurfC(I,J,bi,bj).LE.Nr ) THEN
132                dPIdp = (atm_cp*atm_kappa/atm_po)*                dPIdp = (atm_Cp*atm_kappa/atm_Po)*
133       &         (Ro_surf(I,J,bi,bj)/atm_po)**(atm_kappa-1. _d 0)       &         (Ro_surf(I,J,bi,bj)/atm_Po)**(atm_kappa-1. _d 0)
134                Bo_surf(I,J,bi,bj) = dPIdp*tRef(ksurfC(I,J,bi,bj))                Bo_surf(I,J,bi,bj) = dPIdp*tRef(ksurfC(I,J,bi,bj))
135                recip_Bo(I,J,bi,bj) = 1. _d 0 / Bo_surf(I,J,bi,bj)                recip_Bo(I,J,bi,bj) = 1. _d 0 / Bo_surf(I,J,bi,bj)
136              ELSE              ELSE
# Line 153  C--   Update overlap regions Line 154  C--   Update overlap regions
154        IF ( ( buoyancyRelation .eq. 'ATMOSPHERIC' .OR.        IF ( ( buoyancyRelation .eq. 'ATMOSPHERIC' .OR.
155       &       buoyancyRelation .eq. 'OCEANICP'         )       &       buoyancyRelation .eq. 'OCEANICP'         )
156       &       .AND. .NOT.uniformLin_PhiSurf              ) THEN       &       .AND. .NOT.uniformLin_PhiSurf              ) THEN
157    
158            _BEGIN_MASTER( myThid )
159          CALL WRITE_FLD_XY_RL( 'Bo_surf',' ',Bo_surf,0,myThid)          CALL WRITE_FLD_XY_RL( 'Bo_surf',' ',Bo_surf,0,myThid)
160            _END_MASTER( myThid )
161    
162        ENDIF        ENDIF
163    
164    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
165    
166    C--   Initialise phi0surf: used for atmos. surf. P-loading (ocean, z-coord)
167    C                               or topographic geopotential anom. (p-coord)
168    
169            DO bj=myByLo(myThid),myByHi(myThid)
170             DO bi=myBxLo(myThid),myBxHi(myThid)
171              DO J=1-Oly,sNy+Oly
172               DO I=1-Olx,sNx+Olx
173                 phi0surf(I,J,bi,bj) = 0.
174               ENDDO
175              ENDDO
176             ENDDO
177            ENDDO
178    
179          IF ( buoyancyRelation .eq. 'ATMOSPHERIC'
180         &               .AND. selectFindRoSurf.EQ.1 ) THEN
181    
182    C-    set phi0surf = starting point for integrating Geopotential:
183            CALL INI_P_GROUND( -selectFindRoSurf,
184         O                     phi0surf,
185         I                     Ro_surf, myThid )
186    
187            _EXCH_XY_RS(phi0surf, myThid)
188    
189            _BEGIN_MASTER( myThid )
190            CALL WRITE_FLD_XY_RS( 'phi0surf',' ',phi0surf,0,myThid)
191            _END_MASTER( myThid )
192    
193          ENDIF
194    
195    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
196        RETURN        RETURN
197        END        END

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.22