/[MITgcm]/MITgcm/verification/hs94.cs-32x32x5/code/external_forcing.F
ViewVC logotype

Diff of /MITgcm/verification/hs94.cs-32x32x5/code/external_forcing.F

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

revision 1.4 by adcroft, Wed Jun 6 20:31:48 2001 UTC revision 1.5 by jmc, Fri Jul 6 22:13:37 2001 UTC
# Line 46  C     _RL dist1 Line 46  C     _RL dist1
46  C     _RL dist2  C     _RL dist2
47  C     _RL decayFac  C     _RL decayFac
48  C     _RL velDragHeightFac  C     _RL velDragHeightFac
49        _RL termP,kV,kF        _RL recip_P0g,termP,kV,kF,sigma_b
50    
51  C--   Forcing term(s)  C--   Forcing term(s)
52        kF=1. _d 0/86400. _d 0        kF=1. _d 0/86400. _d 0
53        DO J=jMin,jMax        sigma_b = 0.7 _d 0
54         DO I=iMin,iMax  c     DO J=jMin,jMax
55          IF ( HFacW(i,j,kLev,bi,bj) .GT. 0. ) THEN  c      DO I=iMin,iMax
56  C        termP=0.5*( rF(kLev) + min( rF(kLev+1) ,        DO J=1,sNy
57  C    &           min(H(I,J,bi,bj),H(I,J-1,bi,bj))            ) )         DO I=1,sNx+1
58           termP=0.5 _d 0*( rF(kLev) + rF(kLev+1) )          IF ( hFacW(i,j,kLev,bi,bj) .GT. 0. ) THEN
59           kV=kF*MAX(0. _d 0,           recip_P0g=MAX(recip_Rcol(I,J,bi,bj),recip_Rcol(I-1,J,bi,bj))
60       &   (termP*recip_Rcol(I,J,bi,bj)-0.7 _d 0)/(1. _d 0-0.7 _d 0) )           termP=0.5 _d 0*( MIN(rF(kLev)*recip_P0g,1. _d 0)
61         &                   +rF(kLev+1)*recip_P0g )
62    c        termP=0.5 _d 0*( rF(kLev) + rF(kLev+1) )*recip_P0g
63             kV=kF*MAX( 0. _d 0, (termP-sigma_b)/(1. _d 0-sigma_b) )
64           gU(i,j,kLev,bi,bj)=gU(i,j,kLev,bi,bj)           gU(i,j,kLev,bi,bj)=gU(i,j,kLev,bi,bj)
65       &                      -kV*uVel(i,j,kLev,bi,bj)       &                      -kV*uVel(i,j,kLev,bi,bj)
66          ENDIF          ENDIF
# Line 109  C     _RL dist1 Line 112  C     _RL dist1
112  C     _RL dist2  C     _RL dist2
113  C     _RL decayFac  C     _RL decayFac
114  C     _RL velDragHeightFac  C     _RL velDragHeightFac
115        _RL termP,kV,kF        _RL recip_P0g,termP,kV,kF,sigma_b
116    
117  C--   Forcing term(s)  C--   Forcing term(s)
118        kF=1. _d 0/86400. _d 0        kF=1. _d 0/86400. _d 0
119        DO J=jMin,jMax        sigma_b = 0.7 _d 0
120         DO I=iMin,iMax  c     DO J=jMin,jMax
121          IF ( HFacS(i,j,kLev,bi,bj) .GT. 0. ) THEN  c      DO I=iMin,iMax
122  C        termP=0.5*( rF(kLev) + min( rF(kLev+1) ,        DO J=1,sNy+1
123  C    &           min(H(I,J,bi,bj),H(I,J-1,bi,bj))            ) )         DO I=1,sNx
124           termP=0.5 _d 0*( rF(kLev) + rF(kLev+1) )          IF ( hFacS(i,j,kLev,bi,bj) .GT. 0. ) THEN
125           kV=kF*MAX(0. _d 0,           recip_P0g=MAX(recip_Rcol(I,J,bi,bj),recip_Rcol(I,J-1,bi,bj))
126       &   (termP*recip_Rcol(I,J,bi,bj)-0.7 _d 0)/(1. _d 0-0.7 _d 0) )           termP=0.5 _d 0*( MIN(rF(kLev)*recip_P0g,1. _d 0)
127         &                   +rF(kLev+1)*recip_P0g )
128    c        termP=0.5 _d 0*( rF(kLev) + rF(kLev+1) )*recip_P0g
129             kV=kF*MAX( 0. _d 0, (termP-sigma_b)/(1. _d 0-sigma_b) )
130           gV(i,j,kLev,bi,bj)=gV(i,j,kLev,bi,bj)           gV(i,j,kLev,bi,bj)=gV(i,j,kLev,bi,bj)
131       &                      -kV*vVel(i,j,kLev,bi,bj)       &                      -kV*vVel(i,j,kLev,bi,bj)
132          ENDIF          ENDIF
# Line 164  CEndOfInterface Line 170  CEndOfInterface
170  C     == Local variables ==  C     == Local variables ==
171  C     Loop counters  C     Loop counters
172        INTEGER I, J        INTEGER I, J
173        _RL thetaLim,kT,ka,ks,term1,term2,thetaEq,termP,rSurf        _RL thetaLim,kT,ka,ks,sigma_b,term1,term2,thetaEq,termP
174    
175  C--   Forcing term(s)  C--   Forcing term(s)
       rSurf=1. _d 5  
176        ka=1. _d 0/(40. _d 0*86400. _d 0)        ka=1. _d 0/(40. _d 0*86400. _d 0)
177        ks=1. _d 0/(4. _d 0 *86400. _d 0)        ks=1. _d 0/(4. _d 0 *86400. _d 0)
178          sigma_b = 0.7 _d 0
179        DO J=jMin,jMax        DO J=jMin,jMax
180         DO I=iMin,iMax         DO I=iMin,iMax
181         term1=60. _d 0*(sin(yC(I,J,bi,bj)*deg2rad)**2)           term1=60. _d 0*(sin(yC(I,J,bi,bj)*deg2rad)**2)
182  C      termP=0.5*( rF(kLev) + min( rF(kLev+1) , H(I,J,bi,bj) ) )           termP=0.5 _d 0*( rF(kLev) + rF(kLev+1) )
183         termP=0.5 _d 0*( rF(kLev) + rF(kLev+1) )           term2=10. _d 0*log(termP/atm_po)
184         term2=10. _d 0*log(termP/rSurf)       &            *(cos(yC(I,J,bi,bj)*deg2rad)**2)
185       &          *(cos(yC(I,J,bi,bj)*deg2rad)**2)           thetaLim = 200. _d 0/ ((termP/atm_po)**atm_kappa)
186         thetaLim = 200. _d 0/ ((termP/rSurf)**(2. _d 0/7. _d 0))           thetaEq=315. _d 0-term1-term2
187         thetaEq=315. _d 0-term1-term2           thetaEq=MAX(thetaLim,thetaEq)
188         thetaEq=MAX(thetaLim,thetaEq)           termP=0.5 _d 0*( MIN(rF(kLev),Ro_surf(I,J,bi,bj))+rF(kLev+1) )
189          kT=ka+(ks-ka)           kT=ka+(ks-ka)
190       &    *MAX(0. _d 0,       &     *MAX(0. _d 0,
191       &   (termP*recip_Rcol(I,J,bi,bj)-0.7 _d 0)/(1. _d 0-0.7 _d 0) )       &       (termP*recip_Rcol(I,J,bi,bj)-sigma_b)/(1. _d 0-sigma_b) )
192       &    *COS((yC(I,J,bi,bj)*deg2rad))**4       &     *COS((yC(I,J,bi,bj)*deg2rad))**4
193           gT(i,j,kLev,bi,bj)=gT(i,j,kLev,bi,bj)           gT(i,j,kLev,bi,bj)=gT(i,j,kLev,bi,bj)
194       &        - kT*( theta(I,J,kLev,bi,bj)-thetaEq )       &        - kT*( theta(I,J,kLev,bi,bj)-thetaEq )
195       &            *maskC(i,j,kLev,bi,bj)       &            *maskC(i,j,kLev,bi,bj)

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

  ViewVC Help
Powered by ViewVC 1.1.22