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

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

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

revision 1.13.6.6 by heimbach, Fri Mar 7 23:10:20 2003 UTC revision 1.15 by adcroft, Mon Mar 25 16:17:31 2002 UTC
# Line 44  C     !LOCAL VARIABLES: Line 44  C     !LOCAL VARIABLES:
44  C     == Local variables ==  C     == Local variables ==
45  C     Loop counters  C     Loop counters
46        INTEGER I, J        INTEGER I, J
 C     number of surface interface layer  
       INTEGER kSurface  
47  CEOP  CEOP
48    
       if ( buoyancyRelation .eq. 'OCEANICP' ) then  
        kSurface = Nr  
       else  
        kSurface = 1  
       endif  
   
49  C--   Forcing term  C--   Forcing term
50  C     Add windstress momentum impulse into the top-layer  C     Add windstress momentum impulse into the top-layer
51        IF ( kLev .EQ. kSurface ) THEN        IF ( kLev .EQ. 1 ) THEN
52         DO j=jMin,jMax         DO j=jMin,jMax
53          DO i=iMin,iMax          DO i=iMin,iMax
54           gU(i,j,kLev,bi,bj) = gU(i,j,kLev,bi,bj)           gU(i,j,kLev,bi,bj) = gU(i,j,kLev,bi,bj)
# Line 66  C     Add windstress momentum impulse in Line 58  C     Add windstress momentum impulse in
58         ENDDO         ENDDO
59        ENDIF        ENDIF
60    
61  #if (defined (ALLOW_OBCS) && defined (ALLOW_OBCS_SPONGE))  #ifdef ALLOW_OBCS
62        IF (useOBCS) THEN  C     IF (useOBCS) THEN
63         CALL OBCS_SPONGE_U(  C      CALL OBCS_SPONGE_U(
64       I           iMin, iMax, jMin, jMax,bi,bj,kLev,  C    I           iMin, iMax, jMin, jMax,bi,bj,kLev,
65       I           myCurrentTime,myThid)  C    I           myCurrentTime,myThid)
66        ENDIF  C     ENDIF
67  #endif  #endif
68    
69        RETURN        RETURN
# Line 117  C     !LOCAL VARIABLES: Line 109  C     !LOCAL VARIABLES:
109  C     == Local variables ==  C     == Local variables ==
110  C     Loop counters  C     Loop counters
111        INTEGER I, J        INTEGER I, J
 C     number of surface interface layer  
       INTEGER kSurface  
112  CEOP  CEOP
113    
       if ( buoyancyRelation .eq. 'OCEANICP' ) then  
        kSurface = Nr  
       else  
        kSurface = 1  
       endif  
   
114  C--   Forcing term  C--   Forcing term
115  C     Add windstress momentum impulse into the top-layer  C     Add windstress momentum impulse into the top-layer
116        IF ( kLev .EQ. kSurface ) THEN        IF ( kLev .EQ. 1 ) THEN
117         DO j=jMin,jMax         DO j=jMin,jMax
118          DO i=iMin,iMax          DO i=iMin,iMax
119           gV(i,j,kLev,bi,bj) = gV(i,j,kLev,bi,bj)           gV(i,j,kLev,bi,bj) = gV(i,j,kLev,bi,bj)
# Line 139  C     Add windstress momentum impulse in Line 123  C     Add windstress momentum impulse in
123         ENDDO         ENDDO
124        ENDIF        ENDIF
125    
126  #if (defined (ALLOW_OBCS) && defined (ALLOW_OBCS_SPONGE))  #ifdef ALLOW_OBCS
127        IF (useOBCS) THEN  C     IF (useOBCS) THEN
128         CALL OBCS_SPONGE_V(  C      CALL OBCS_SPONGE_V(
129       I           iMin, iMax, jMin, jMax,bi,bj,kLev,  C    I           iMin, iMax, jMin, jMax,bi,bj,kLev,
130       I           myCurrentTime,myThid)  C    I           myCurrentTime,myThid)
131        ENDIF  C     ENDIF
132  #endif  #endif
133    
134        RETURN        RETURN
# Line 197  C     !LOCAL VARIABLES: Line 181  C     !LOCAL VARIABLES:
181  C     == Local variables ==  C     == Local variables ==
182  C     Loop counters  C     Loop counters
183        INTEGER I, J        INTEGER I, J
 C     number of surface interface layer  
       INTEGER kSurface  
184  CEOP  CEOP
185    
       if ( buoyancyRelation .eq. 'OCEANICP' ) then  
        kSurface = Nr  
       else  
        kSurface = 1  
       endif  
   
186  C--   Forcing term  C--   Forcing term
187  C     Add heat in top-layer  C     Add heat in top-layer
188        IF ( kLev .EQ. kSurface ) THEN        IF ( kLev .EQ. 1 ) THEN
189         DO j=jMin,jMax         DO j=jMin,jMax
190          DO i=iMin,iMax          DO i=iMin,iMax
191           gT(i,j,kLev,bi,bj)=gT(i,j,kLev,bi,bj)           gT(i,j,kLev,bi,bj)=gT(i,j,kLev,bi,bj)
# Line 225  C Penetrating SW radiation Line 201  C Penetrating SW radiation
201        call SWFRAC(        call SWFRAC(
202       I     two,minusone,       I     two,minusone,
203       I     myCurrentTime,myThid,       I     myCurrentTime,myThid,
204       U     swfracb)       O     swfracb)
205        DO j=jMin,jMax        DO j=jMin,jMax
206         DO i=iMin,iMax         DO i=iMin,iMax
207          gT(i,j,klev,bi,bj) = gT(i,j,klev,bi,bj)          gT(i,j,klev,bi,bj) = gT(i,j,klev,bi,bj)
208       &   -maskC(i,j,klev,bi,bj)*Qsw(i,j,bi,bj)*(swfracb(1)-swfracb(2))       &   -maskC(i,j,klev,bi,bj)*Qsw(i,j,bi,bj)*(swfracb(1)-swfracb(2))
209       &    *recip_Cp*recip_rhoConst*recip_drF(klev)       &    *recip_Cp*recip_rhoNil*recip_drF(klev)
210         ENDDO         ENDDO
211        ENDDO        ENDDO
212  #endif  #endif
213    
214  #if (defined (ALLOW_OBCS) && defined (ALLOW_OBCS_SPONGE))  #ifdef ALLOW_OBCS
215        IF (useOBCS) THEN  C     IF (useOBCS) THEN
216         CALL OBCS_SPONGE_T(  C      CALL OBCS_SPONGE_T(
217       I           iMin, iMax, jMin, jMax,bi,bj,kLev,  C    I           iMin, iMax, jMin, jMax,bi,bj,kLev,
218       I           myCurrentTime,myThid)  C    I           myCurrentTime,myThid)
219        ENDIF  C     ENDIF
220  #endif  #endif
221    
222        RETURN        RETURN
# Line 287  C     !LOCAL VARIABLES: Line 263  C     !LOCAL VARIABLES:
263  C     == Local variables ==  C     == Local variables ==
264  C     Loop counters  C     Loop counters
265        INTEGER I, J        INTEGER I, J
 C     number of surface interface layer  
       INTEGER kSurface  
266  CEOP  CEOP
267    
       if ( buoyancyRelation .eq. 'OCEANICP' ) then  
        kSurface = Nr  
       else  
        kSurface = 1  
       endif  
   
   
268  C--   Forcing term  C--   Forcing term
269  C     Add fresh-water in top-layer  C     Add fresh-water in top-layer
270        IF ( kLev .EQ. kSurface ) THEN        IF ( kLev .EQ. 1 ) THEN
271         DO j=jMin,jMax         DO j=jMin,jMax
272          DO i=iMin,iMax          DO i=iMin,iMax
273           gS(i,j,kLev,bi,bj)=gS(i,j,kLev,bi,bj)           gS(i,j,kLev,bi,bj)=gS(i,j,kLev,bi,bj)
# Line 309  C     Add fresh-water in top-layer Line 276  C     Add fresh-water in top-layer
276         ENDDO         ENDDO
277        ENDIF        ENDIF
278    
279  #if (defined (ALLOW_OBCS) && defined (ALLOW_OBCS_SPONGE))  #ifdef ALLOW_OBCS
280        IF (useOBCS) THEN  C     IF (useOBCS) THEN
281         CALL OBCS_SPONGE_S(  C      CALL OBCS_SPONGE_S(
282       I           iMin, iMax, jMin, jMax,bi,bj,kLev,  C    I           iMin, iMax, jMin, jMax,bi,bj,kLev,
283       I           myCurrentTime,myThid)  C    I           myCurrentTime,myThid)
284        ENDIF  C     ENDIF
285  #endif  #endif
286    
287        RETURN        RETURN

Legend:
Removed from v.1.13.6.6  
changed lines
  Added in v.1.15

  ViewVC Help
Powered by ViewVC 1.1.22