/[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.14 by heimbach, Sun Mar 24 02:18:36 2002 UTC revision 1.18 by dimitri, Tue Feb 18 05:33:54 2003 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
47    C     number of surface interface layer
48          INTEGER kSurface
49  CEOP  CEOP
50    
51          if ( buoyancyRelation .eq. 'OCEANICP' ) then
52           kSurface = Nr
53          else
54           kSurface = 1
55          endif
56    
57  C--   Forcing term  C--   Forcing term
58  C     Add windstress momentum impulse into the top-layer  C     Add windstress momentum impulse into the top-layer
59        IF ( kLev .EQ. 1 ) THEN        IF ( kLev .EQ. kSurface ) THEN
60         DO j=jMin,jMax         DO j=jMin,jMax
61          DO i=iMin,iMax          DO i=iMin,iMax
62           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 58  C     Add windstress momentum impulse in Line 66  C     Add windstress momentum impulse in
66         ENDDO         ENDDO
67        ENDIF        ENDIF
68    
69  #ifdef ALLOW_OBCS  #if (defined (ALLOW_OBCS) && defined (ALLOW_OBCS_SPONGE))
70        IF (useOBCS) THEN        IF (useOBCS) THEN
71         CALL OBCS_SPONGE_U(         CALL OBCS_SPONGE_U(
72       I           iMin, iMax, jMin, jMax,bi,bj,kLev,       I           iMin, iMax, jMin, jMax,bi,bj,kLev,
# Line 109  C     !LOCAL VARIABLES: Line 117  C     !LOCAL VARIABLES:
117  C     == Local variables ==  C     == Local variables ==
118  C     Loop counters  C     Loop counters
119        INTEGER I, J        INTEGER I, J
120    C     number of surface interface layer
121          INTEGER kSurface
122  CEOP  CEOP
123    
124          if ( buoyancyRelation .eq. 'OCEANICP' ) then
125           kSurface = Nr
126          else
127           kSurface = 1
128          endif
129    
130  C--   Forcing term  C--   Forcing term
131  C     Add windstress momentum impulse into the top-layer  C     Add windstress momentum impulse into the top-layer
132        IF ( kLev .EQ. 1 ) THEN        IF ( kLev .EQ. kSurface ) THEN
133         DO j=jMin,jMax         DO j=jMin,jMax
134          DO i=iMin,iMax          DO i=iMin,iMax
135           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 123  C     Add windstress momentum impulse in Line 139  C     Add windstress momentum impulse in
139         ENDDO         ENDDO
140        ENDIF        ENDIF
141    
142  #ifdef ALLOW_OBCS  #if (defined (ALLOW_OBCS) && defined (ALLOW_OBCS_SPONGE))
143        IF (useOBCS) THEN        IF (useOBCS) THEN
144         CALL OBCS_SPONGE_V(         CALL OBCS_SPONGE_V(
145       I           iMin, iMax, jMin, jMax,bi,bj,kLev,       I           iMin, iMax, jMin, jMax,bi,bj,kLev,
# Line 181  C     !LOCAL VARIABLES: Line 197  C     !LOCAL VARIABLES:
197  C     == Local variables ==  C     == Local variables ==
198  C     Loop counters  C     Loop counters
199        INTEGER I, J        INTEGER I, J
200    C     number of surface interface layer
201          INTEGER kSurface
202  CEOP  CEOP
203    
204          if ( buoyancyRelation .eq. 'OCEANICP' ) then
205           kSurface = Nr
206          else
207           kSurface = 1
208          endif
209    
210  C--   Forcing term  C--   Forcing term
211  C     Add heat in top-layer  C     Add heat in top-layer
212        IF ( kLev .EQ. 1 ) THEN        IF ( kLev .EQ. kSurface ) THEN
213         DO j=jMin,jMax         DO j=jMin,jMax
214          DO i=iMin,iMax          DO i=iMin,iMax
215           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 201  C Penetrating SW radiation Line 225  C Penetrating SW radiation
225        call SWFRAC(        call SWFRAC(
226       I     two,minusone,       I     two,minusone,
227       I     myCurrentTime,myThid,       I     myCurrentTime,myThid,
228       O     swfracb)       U     swfracb)
229        DO j=jMin,jMax        DO j=jMin,jMax
230         DO i=iMin,iMax         DO i=iMin,iMax
231          gT(i,j,klev,bi,bj) = gT(i,j,klev,bi,bj)          gT(i,j,klev,bi,bj) = gT(i,j,klev,bi,bj)
232       &   -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))
233       &    *recip_Cp*recip_rhoNil*recip_drF(klev)       &    *recip_Cp*recip_rhoConst*recip_drF(klev)
234         ENDDO         ENDDO
235        ENDDO        ENDDO
236  #endif  #endif
237    
238  #ifdef ALLOW_OBCS  #if (defined (ALLOW_OBCS) && defined (ALLOW_OBCS_SPONGE))
239        IF (useOBCS) THEN        IF (useOBCS) THEN
240         CALL OBCS_SPONGE_T(         CALL OBCS_SPONGE_T(
241       I           iMin, iMax, jMin, jMax,bi,bj,kLev,       I           iMin, iMax, jMin, jMax,bi,bj,kLev,
# Line 263  C     !LOCAL VARIABLES: Line 287  C     !LOCAL VARIABLES:
287  C     == Local variables ==  C     == Local variables ==
288  C     Loop counters  C     Loop counters
289        INTEGER I, J        INTEGER I, J
290    C     number of surface interface layer
291          INTEGER kSurface
292  CEOP  CEOP
293    
294          if ( buoyancyRelation .eq. 'OCEANICP' ) then
295           kSurface = Nr
296          else
297           kSurface = 1
298          endif
299    
300    
301  C--   Forcing term  C--   Forcing term
302  C     Add fresh-water in top-layer  C     Add fresh-water in top-layer
303        IF ( kLev .EQ. 1 ) THEN        IF ( kLev .EQ. kSurface ) THEN
304         DO j=jMin,jMax         DO j=jMin,jMax
305          DO i=iMin,iMax          DO i=iMin,iMax
306           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 276  C     Add fresh-water in top-layer Line 309  C     Add fresh-water in top-layer
309         ENDDO         ENDDO
310        ENDIF        ENDIF
311    
312  #ifdef ALLOW_OBCS  #if (defined (ALLOW_OBCS) && defined (ALLOW_OBCS_SPONGE))
313        IF (useOBCS) THEN        IF (useOBCS) THEN
314         CALL OBCS_SPONGE_S(         CALL OBCS_SPONGE_S(
315       I           iMin, iMax, jMin, jMax,bi,bj,kLev,       I           iMin, iMax, jMin, jMax,bi,bj,kLev,

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.18

  ViewVC Help
Powered by ViewVC 1.1.22