/[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.2 by cnh, Fri Nov 6 22:44:46 1998 UTC revision 1.11 by heimbach, Tue Apr 10 22:35:25 2001 UTC
# Line 1  Line 1 
1  C $Header$  C     $Header$
2    C $Name$
3    
4  #include "CPP_OPTIONS.h"  #include "CPP_OPTIONS.h"
5    
# Line 22  C     == Global data == Line 23  C     == Global data ==
23  #include "GRID.h"  #include "GRID.h"
24  #include "DYNVARS.h"  #include "DYNVARS.h"
25  #include "FFIELDS.h"  #include "FFIELDS.h"
   
26  C     == Routine arguments ==  C     == Routine arguments ==
27  C     iMin - Working range of tile for applying forcing.  C     iMin - Working range of tile for applying forcing.
28  C     iMax  C     iMax
# Line 30  C     jMin Line 30  C     jMin
30  C     jMax  C     jMax
31  C     kLev  C     kLev
32        INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj        INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj
33        INTEGER myCurrentTime, myThid        _RL myCurrentTime
34          INTEGER myThid
35  CEndOfInterface  CEndOfInterface
36    
37  C     == Local variables ==  C     == Local variables ==
# Line 43  C     Add windstress momentum impulse in Line 44  C     Add windstress momentum impulse in
44         DO j=jMin,jMax         DO j=jMin,jMax
45          DO i=iMin,iMax          DO i=iMin,iMax
46           gU(i,j,kLev,bi,bj) = gU(i,j,kLev,bi,bj)           gU(i,j,kLev,bi,bj) = gU(i,j,kLev,bi,bj)
47       &    + foFacMom*fu(i,j,bi,bj)*_maskW(i,j,kLev,bi,bj)       &   +foFacMom*surfaceTendencyU(i,j,bi,bj)
48         &   *_maskW(i,j,kLev,bi,bj)
49          ENDDO          ENDDO
50         ENDDO         ENDDO
51        ENDIF        ENDIF
# Line 79  C     jMin Line 81  C     jMin
81  C     jMax  C     jMax
82  C     kLev  C     kLev
83        INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj        INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj
84        INTEGER myCurrentTime, myThid        _RL myCurrentTime
85          INTEGER myThid
86  CEndOfInterface  CEndOfInterface
87  C     == Local variables ==  C     == Local variables ==
88  C     Loop counters  C     Loop counters
# Line 91  C     Add windstress momentum impulse in Line 94  C     Add windstress momentum impulse in
94         DO j=jMin,jMax         DO j=jMin,jMax
95          DO i=iMin,iMax          DO i=iMin,iMax
96           gV(i,j,kLev,bi,bj) = gV(i,j,kLev,bi,bj)           gV(i,j,kLev,bi,bj) = gV(i,j,kLev,bi,bj)
97       &    + foFacMom*fv(i,j,bi,bj)*_maskS(i,j,kLev,bi,bj)       &   +foFacMom*surfaceTendencyV(i,j,bi,bj)
98         &   *_maskS(i,j,kLev,bi,bj)
99          ENDDO          ENDDO
100         ENDDO         ENDDO
101        ENDIF        ENDIF
# Line 119  C     == Global data == Line 123  C     == Global data ==
123  #include "GRID.h"  #include "GRID.h"
124  #include "DYNVARS.h"  #include "DYNVARS.h"
125  #include "FFIELDS.h"  #include "FFIELDS.h"
126    #ifdef SHORTWAVE_HEATING
127          integer two
128          _RL minusone
129          parameter (two=2,minusone=-1.)
130          _RL swfracb(two)
131    #endif
132    
133    
134  C     == Routine arguments ==  C     == Routine arguments ==
135  C     iMin - Working range of tile for applying forcing.  C     iMin - Working range of tile for applying forcing.
# Line 128  C     jMax Line 139  C     jMax
139  C     kLev  C     kLev
140        _RS maskC (1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RS maskC (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
141        INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj        INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj
142        INTEGER myCurrentTime, myThid        _RL myCurrentTime
143          INTEGER myThid
144  CEndOfInterface  CEndOfInterface
145    
146  C     == Local variables ==  C     == Local variables ==
# Line 141  C     Add heat in top-layer Line 153  C     Add heat in top-layer
153         DO j=jMin,jMax         DO j=jMin,jMax
154          DO i=iMin,iMax          DO i=iMin,iMax
155           gT(i,j,kLev,bi,bj)=gT(i,j,kLev,bi,bj)           gT(i,j,kLev,bi,bj)=gT(i,j,kLev,bi,bj)
156       &  +maskC(i,j)*(       &     +maskC(i,j)*surfaceTendencyT(i,j,bi,bj)
      &   -lambdaThetaClimRelax*(theta(i,j,kLev,bi,bj)-SST(i,j,bi,bj))  
      &   -Qnet(i,j,bi,bj) )  
157          ENDDO          ENDDO
158         ENDDO         ENDDO
159        ENDIF        ENDIF
160    
161    #ifdef SHORTWAVE_HEATING
162    C Penetrating SW radiation
163          swfracb(1)=abs(rF(klev))
164          swfracb(2)=abs(rF(klev+1))
165          call SWFRAC(
166         I     two,minusone,
167         I     myCurrentTime,myThid,
168         O     swfracb)
169          DO j=jMin,jMax
170           DO i=iMin,iMax
171            gT(i,j,klev,bi,bj) = gT(i,j,klev,bi,bj)
172         &    -maskC(i,j)*Qsw(i,j,bi,bj)*(swfracb(1)-swfracb(2))
173         &    *recip_Cp*recip_rhoNil*recip_dRf(klev)
174           ENDDO
175          ENDDO
176    #endif
177        RETURN        RETURN
178        END        END
179  CStartOfInterface  CStartOfInterface
# Line 180  C     jMax Line 206  C     jMax
206  C     kLev  C     kLev
207        _RS maskC (1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RS maskC (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
208        INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj        INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj
209        INTEGER myCurrentTime, myThid        _RL myCurrentTime
210          INTEGER myThid
211  CEndOfInterface  CEndOfInterface
212    
213  C     == Local variables ==  C     == Local variables ==
# Line 193  C     Add fresh-water in top-layer Line 220  C     Add fresh-water in top-layer
220         DO j=jMin,jMax         DO j=jMin,jMax
221          DO i=iMin,iMax          DO i=iMin,iMax
222           gS(i,j,kLev,bi,bj)=gS(i,j,kLev,bi,bj)           gS(i,j,kLev,bi,bj)=gS(i,j,kLev,bi,bj)
223       &   +maskC(i,j)*(       &   +maskC(i,j)*surfaceTendencyS(i,j,bi,bj)
      &   -lambdaSaltClimRelax*(salt(i,j,kLev,bi,bj)-SSS(i,j,bi,bj))  
      &   +EmPmR(i,j,bi,bj) )  
224          ENDDO          ENDDO
225         ENDDO         ENDDO
226        ENDIF        ENDIF

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

  ViewVC Help
Powered by ViewVC 1.1.22