/[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.4 by adcroft, Wed May 5 14:52:49 1999 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 44  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)       &   +foFacMom*surfaceTendencyU(i,j,bi,bj)
      &   *horiVertRatio*recip_rhoNil*recip_dRf(kLev)  
48       &   *_maskW(i,j,kLev,bi,bj)       &   *_maskW(i,j,kLev,bi,bj)
49          ENDDO          ENDDO
50         ENDDO         ENDDO
# Line 95  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)       &   +foFacMom*surfaceTendencyV(i,j,bi,bj)
      &   *horiVertRatio*recip_rhoNil*recip_dRf(kLev)  
98       &   *_maskS(i,j,kLev,bi,bj)       &   *_maskS(i,j,kLev,bi,bj)
99          ENDDO          ENDDO
100         ENDDO         ENDDO
# Line 125  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 148  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)*recip_Cp*recip_rhoNil*recip_dRf(kLev) )  
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 201  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))  
 #ifndef USE_NATURAL_BCS  
      &   +EmPmR(i,j,bi,bj)*recip_dRf(1)*35.  
 #endif  
      &   )  
224          ENDDO          ENDDO
225         ENDDO         ENDDO
226        ENDIF        ENDIF

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

  ViewVC Help
Powered by ViewVC 1.1.22