/[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.2 by adcroft, Tue May 29 14:01:58 2001 UTC revision 1.3 by adcroft, Wed Jun 6 19:46:43 2001 UTC
# Line 49  C     _RL velDragHeightFac Line 49  C     _RL velDragHeightFac
49        _RL termP,kV,kF        _RL termP,kV,kF
50    
51  C--   Forcing term(s)  C--   Forcing term(s)
52        kF=1./86400.        kF=1. _d 0/86400. _d 0
53        DO J=jMin,jMax        DO J=jMin,jMax
54         DO I=iMin,iMax         DO I=iMin,iMax
55          IF ( HFacW(i,j,kLev,bi,bj) .GT. 0. ) THEN          IF ( HFacW(i,j,kLev,bi,bj) .GT. 0. ) THEN
56  C        termP=0.5*( rF(kLev) + min( rF(kLev+1) ,  C        termP=0.5*( rF(kLev) + min( rF(kLev+1) ,
57  C    &           min(H(I,J,bi,bj),H(I,J-1,bi,bj))            ) )  C    &           min(H(I,J,bi,bj),H(I,J-1,bi,bj))            ) )
58           termP=0.5*( rF(kLev) + rF(kLev+1) )           termP=0.5 _d 0*( rF(kLev) + rF(kLev+1) )
59           kV=kF*MAX(0., (termP*recip_Rcol(I,J,bi,bj)-0.7)/(1.-0.7) )           kV=kF*MAX(0. _d 0,
60         &   (termP*recip_Rcol(I,J,bi,bj)-0.7 _d 0)/(1. _d 0-0.7 _d 0) )
61           gU(i,j,kLev,bi,bj)=gU(i,j,kLev,bi,bj)           gU(i,j,kLev,bi,bj)=gU(i,j,kLev,bi,bj)
62       &                      -kV*uVel(i,j,kLev,bi,bj)       &                      -kV*uVel(i,j,kLev,bi,bj)
63          ENDIF          ENDIF
# Line 111  C     _RL velDragHeightFac Line 112  C     _RL velDragHeightFac
112        _RL termP,kV,kF        _RL termP,kV,kF
113    
114  C--   Forcing term(s)  C--   Forcing term(s)
115        kF=1./86400.        kF=1. _d 0/86400. _d 0
116        DO J=jMin,jMax        DO J=jMin,jMax
117         DO I=iMin,iMax         DO I=iMin,iMax
118          IF ( HFacS(i,j,kLev,bi,bj) .GT. 0. ) THEN          IF ( HFacS(i,j,kLev,bi,bj) .GT. 0. ) THEN
119  C        termP=0.5*( rF(kLev) + min( rF(kLev+1) ,  C        termP=0.5*( rF(kLev) + min( rF(kLev+1) ,
120  C    &           min(H(I,J,bi,bj),H(I,J-1,bi,bj))            ) )  C    &           min(H(I,J,bi,bj),H(I,J-1,bi,bj))            ) )
121           termP=0.5*( rF(kLev) + rF(kLev+1) )           termP=0.5 _d 0*( rF(kLev) + rF(kLev+1) )
122           kV=kF*MAX(0., (termP*recip_Rcol(I,J,bi,bj)-0.7)/(1.-0.7) )           kV=kF*MAX(0. _d 0,
123         &   (termP*recip_Rcol(I,J,bi,bj)-0.7 _d 0)/(1. _d 0-0.7 _d 0) )
124           gV(i,j,kLev,bi,bj)=gV(i,j,kLev,bi,bj)           gV(i,j,kLev,bi,bj)=gV(i,j,kLev,bi,bj)
125       &                      -kV*vVel(i,j,kLev,bi,bj)       &                      -kV*vVel(i,j,kLev,bi,bj)
126          ENDIF          ENDIF
# Line 165  C     Loop counters Line 167  C     Loop counters
167        _RL thetaLim,kT,ka,ks,term1,term2,thetaEq,termP,rSurf        _RL thetaLim,kT,ka,ks,term1,term2,thetaEq,termP,rSurf
168    
169  C--   Forcing term(s)  C--   Forcing term(s)
170        rSurf=1.E5        rSurf=1. _d 5
171        ka=1./(40.*86400.)        ka=1. _d 0/(40. _d 0*86400. _d 0)
172        ks=1./(4. *86400.)        ks=1. _d 0/(4. _d 0 *86400. _d 0)
173        DO J=jMin,jMax        DO J=jMin,jMax
174         DO I=iMin,iMax         DO I=iMin,iMax
175         term1=60.*(sin(yC(I,J,bi,bj)*deg2rad)**2)         term1=60. _d 0*(sin(yC(I,J,bi,bj)*deg2rad)**2)
176  C      termP=0.5*( rF(kLev) + min( rF(kLev+1) , H(I,J,bi,bj) ) )  C      termP=0.5*( rF(kLev) + min( rF(kLev+1) , H(I,J,bi,bj) ) )
177         termP=0.5*( rF(kLev) + rF(kLev+1) )         termP=0.5 _d 0*( rF(kLev) + rF(kLev+1) )
178         term2=10.*log(termP/rSurf)         term2=10. _d 0*log(termP/rSurf)
179       &          *(cos(yC(I,J,bi,bj)*deg2rad)**2)       &          *(cos(yC(I,J,bi,bj)*deg2rad)**2)
180         thetaLim = 200. / ((termP/rSurf)**(2./7.))         thetaLim = 200. _d 0/ ((termP/rSurf)**(2./7.))
181         thetaEq=315.-term1-term2         thetaEq=315. _d 0-term1-term2
182         thetaEq=MAX(thetaLim,thetaEq)         thetaEq=MAX(thetaLim,thetaEq)
183          kT=ka+(ks-ka)          kT=ka+(ks-ka)
184       &    *MAX(0., (termP*recip_Rcol(I,J,bi,bj)-0.7)/(1.-0.7) )       &    *MAX(0. _d 0,
185         &   (termP*recip_Rcol(I,J,bi,bj)-0.7 _d 0)/(1. _d 0-0.7 _d 0) )
186       &    *COS((yC(I,J,bi,bj)*deg2rad))**4       &    *COS((yC(I,J,bi,bj)*deg2rad))**4
187           gT(i,j,kLev,bi,bj)=gT(i,j,kLev,bi,bj)           gT(i,j,kLev,bi,bj)=gT(i,j,kLev,bi,bj)
188       &        - kT*( theta(I,J,kLev,bi,bj)-thetaEq )       &        - kT*( theta(I,J,kLev,bi,bj)-thetaEq )

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

  ViewVC Help
Powered by ViewVC 1.1.22