/[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.16 by heimbach, Sat Jul 13 04:59:42 2002 UTC revision 1.19.2.1 by edhill, Thu Oct 2 18:10:45 2003 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2  C $Name$  C $Name$
3    
4    #include "PACKAGES_CONFIG.h"
5  #include "CPP_OPTIONS.h"  #include "CPP_OPTIONS.h"
6    #ifdef ALLOW_OBCS
7    # include "OBCS_OPTIONS.h"
8    #endif
9    
10  CBOP  CBOP
11  C     !ROUTINE: EXTERNAL_FORCING_U  C     !ROUTINE: EXTERNAL_FORCING_U
# Line 44  C     !LOCAL VARIABLES: Line 48  C     !LOCAL VARIABLES:
48  C     == Local variables ==  C     == Local variables ==
49  C     Loop counters  C     Loop counters
50        INTEGER I, J        INTEGER I, J
51    C     number of surface interface layer
52          INTEGER kSurface
53  CEOP  CEOP
54    
55          if ( buoyancyRelation .eq. 'OCEANICP' ) then
56           kSurface = Nr
57          else
58           kSurface = 1
59          endif
60    
61  C--   Forcing term  C--   Forcing term
62  C     Add windstress momentum impulse into the top-layer  C     Add windstress momentum impulse into the top-layer
63        IF ( kLev .EQ. 1 ) THEN        IF ( kLev .EQ. kSurface ) THEN
64         DO j=jMin,jMax         DO j=jMin,jMax
65          DO i=iMin,iMax          DO i=iMin,iMax
66           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 109  C     !LOCAL VARIABLES: Line 121  C     !LOCAL VARIABLES:
121  C     == Local variables ==  C     == Local variables ==
122  C     Loop counters  C     Loop counters
123        INTEGER I, J        INTEGER I, J
124    C     number of surface interface layer
125          INTEGER kSurface
126  CEOP  CEOP
127    
128          if ( buoyancyRelation .eq. 'OCEANICP' ) then
129           kSurface = Nr
130          else
131           kSurface = 1
132          endif
133    
134  C--   Forcing term  C--   Forcing term
135  C     Add windstress momentum impulse into the top-layer  C     Add windstress momentum impulse into the top-layer
136        IF ( kLev .EQ. 1 ) THEN        IF ( kLev .EQ. kSurface ) THEN
137         DO j=jMin,jMax         DO j=jMin,jMax
138          DO i=iMin,iMax          DO i=iMin,iMax
139           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 181  C     !LOCAL VARIABLES: Line 201  C     !LOCAL VARIABLES:
201  C     == Local variables ==  C     == Local variables ==
202  C     Loop counters  C     Loop counters
203        INTEGER I, J        INTEGER I, J
204    C     number of surface interface layer
205          INTEGER kSurface
206  CEOP  CEOP
207    
208          if ( buoyancyRelation .eq. 'OCEANICP' ) then
209           kSurface = Nr
210          else
211           kSurface = 1
212          endif
213    
214  C--   Forcing term  C--   Forcing term
215  C     Add heat in top-layer  C     Add heat in top-layer
216        IF ( kLev .EQ. 1 ) THEN        IF ( kLev .EQ. kSurface ) THEN
217         DO j=jMin,jMax         DO j=jMin,jMax
218          DO i=iMin,iMax          DO i=iMin,iMax
219           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 229  C Penetrating SW radiation
229        call SWFRAC(        call SWFRAC(
230       I     two,minusone,       I     two,minusone,
231       I     myCurrentTime,myThid,       I     myCurrentTime,myThid,
232       O     swfracb)       U     swfracb)
233        DO j=jMin,jMax        DO j=jMin,jMax
234         DO i=iMin,iMax         DO i=iMin,iMax
235          gT(i,j,klev,bi,bj) = gT(i,j,klev,bi,bj)          gT(i,j,klev,bi,bj) = gT(i,j,klev,bi,bj)
236       &   -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))
237       &    *recip_Cp*recip_rhoNil*recip_drF(klev)       &    *recip_Cp*recip_rhoConst*recip_drF(klev)
238         ENDDO         ENDDO
239        ENDDO        ENDDO
240  #endif  #endif
# Line 263  C     !LOCAL VARIABLES: Line 291  C     !LOCAL VARIABLES:
291  C     == Local variables ==  C     == Local variables ==
292  C     Loop counters  C     Loop counters
293        INTEGER I, J        INTEGER I, J
294    C     number of surface interface layer
295          INTEGER kSurface
296  CEOP  CEOP
297    
298          if ( buoyancyRelation .eq. 'OCEANICP' ) then
299           kSurface = Nr
300          else
301           kSurface = 1
302          endif
303    
304    
305  C--   Forcing term  C--   Forcing term
306  C     Add fresh-water in top-layer  C     Add fresh-water in top-layer
307        IF ( kLev .EQ. 1 ) THEN        IF ( kLev .EQ. kSurface ) THEN
308         DO j=jMin,jMax         DO j=jMin,jMax
309          DO i=iMin,iMax          DO i=iMin,iMax
310           gS(i,j,kLev,bi,bj)=gS(i,j,kLev,bi,bj)           gS(i,j,kLev,bi,bj)=gS(i,j,kLev,bi,bj)

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.19.2.1

  ViewVC Help
Powered by ViewVC 1.1.22