/[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.66 by heimbach, Wed May 21 10:44:59 2014 UTC revision 1.72 by jmc, Wed Jan 21 14:35:16 2015 UTC
# Line 3  C $Name$ Line 3  C $Name$
3    
4  #include "PACKAGES_CONFIG.h"  #include "PACKAGES_CONFIG.h"
5  #include "CPP_OPTIONS.h"  #include "CPP_OPTIONS.h"
 #ifdef ALLOW_SALT_PLUME  
 #include "SALT_PLUME_OPTIONS.h"  
 #endif  
6    
7  C--  File external_forcing.F:  C--  File external_forcing.F:
8  C--   Contents  C--   Contents
# Line 53  C     myThid    :: Thread Id number Line 50  C     myThid    :: Thread Id number
50        _RL myTime        _RL myTime
51        INTEGER myThid        INTEGER myThid
52    
53    #ifdef USE_OLD_EXTERNAL_FORCING
54  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
55  C     == Local variables ==  C     == Local variables ==
56  C     i,j       :: Loop counters  C     i,j       :: Loop counters
# Line 72  CEOP Line 70  CEOP
70  C--   Forcing term  C--   Forcing term
71  #ifdef ALLOW_AIM  #ifdef ALLOW_AIM
72        IF ( useAIM ) CALL AIM_TENDENCY_APPLY_U(        IF ( useAIM ) CALL AIM_TENDENCY_APPLY_U(
73       &                      iMin,iMax, jMin,jMax, bi,bj, kLev,       U                       gU(1-OLx,1-OLy,kLev,bi,bj),
74       &                      myTime, myThid )       I                       iMin,iMax,jMin,jMax, kLev, bi,bj,
75         I                       myTime, 0, myThid )
76  #endif /* ALLOW_AIM */  #endif /* ALLOW_AIM */
77    
78  #ifdef ALLOW_ATM_PHYS  #ifdef ALLOW_ATM_PHYS
79        IF ( useAtm_Phys ) CALL ATM_PHYS_TENDENCY_APPLY_U(        IF ( useAtm_Phys ) CALL ATM_PHYS_TENDENCY_APPLY_U(
80       &                      iMin,iMax, jMin,jMax, bi,bj, kLev,       U                       gU(1-OLx,1-OLy,kLev,bi,bj),
81       &                      myTime, myThid )       I                       iMin,iMax,jMin,jMax, kLev, bi,bj,
82         I                       myTime, 0, myThid )
83  #endif /* ALLOW_ATM_PHYS */  #endif /* ALLOW_ATM_PHYS */
84    
85  #ifdef ALLOW_FIZHI  #ifdef ALLOW_FIZHI
86        IF ( useFIZHI ) CALL FIZHI_TENDENCY_APPLY_U(        IF ( useFIZHI ) CALL FIZHI_TENDENCY_APPLY_U(
87       &                      iMin,iMax, jMin,jMax, bi,bj, kLev,       U                       gU(1-OLx,1-OLy,kLev,bi,bj),
88       &                      myTime, myThid )       I                       iMin,iMax,jMin,jMax, kLev, bi,bj,
89         I                       myTime, 0, myThid )
90  #endif /* ALLOW_FIZHI */  #endif /* ALLOW_FIZHI */
91    
92  C     Ocean: Add momentum surface forcing (e.g., wind-stress) in surface level  C     Ocean: Add momentum surface forcing (e.g., wind-stress) in surface level
# Line 112  C-jmc: Without CD-scheme, this is OK ; b Line 113  C-jmc: Without CD-scheme, this is OK ; b
113        ENDIF        ENDIF
114    
115  #ifdef ALLOW_EDDYPSI  #ifdef ALLOW_EDDYPSI
116         CALL TAUEDDY_EXTERNAL_FORCING_U(           CALL TAUEDDY_TENDENCY_APPLY_U(
117       I           iMin,iMax, jMin,jMax, bi,bj, kLev,       U                 gU(1-OLx,1-OLy,kLev,bi,bj),
118       I           myTime, myThid )       I                 iMin,iMax,jMin,jMax, kLev, bi,bj,
119         I                 myTime, 0, myThid )
120  #endif  #endif
121    
122  #ifdef ALLOW_RBCS  #ifdef ALLOW_RBCS
123        IF (useRBCS) THEN        IF (useRBCS) THEN
124          CALL RBCS_ADD_TENDENCY( bi, bj, klev, -1,          CALL RBCS_ADD_TENDENCY(
125       &                          myTime, myThid )       U                 gU(1-OLx,1-OLy,kLev,bi,bj),
126         I                 kLev, bi, bj, -1,
127         I                 myTime, 0, myThid )
128    
129        ENDIF        ENDIF
130  #endif  #endif /* ALLOW_RBCS */
131    
132  #ifdef ALLOW_OBCS  #ifdef ALLOW_OBCS
133        IF (useOBCS) THEN        IF (useOBCS) THEN
134         CALL OBCS_SPONGE_U(          CALL OBCS_SPONGE_U(
135       I           iMin,iMax, jMin,jMax, bi,bj, kLev,       U                   gU(1-OLx,1-OLy,kLev,bi,bj),
136       I           myTime, myThid )       I                   iMin,iMax,jMin,jMax, kLev, bi,bj,
137         I                   myTime, 0, myThid )
138        ENDIF        ENDIF
139  #endif  #endif /* ALLOW_OBCS */
140    
141  #ifdef ALLOW_MYPACKAGE  #ifdef ALLOW_MYPACKAGE
142        IF ( useMYPACKAGE ) CALL MYPACKAGE_TENDENCY_APPLY_U(        IF ( useMYPACKAGE ) THEN
143       &                      iMin,iMax, jMin,jMax, bi,bj, kLev,          CALL MYPACKAGE_TENDENCY_APPLY_U(
144       &                      myTime, myThid )       U                 gU(1-OLx,1-OLy,kLev,bi,bj),
145         I                 iMin,iMax,jMin,jMax, kLev, bi,bj,
146         I                 myTime, 0, myThid )
147          ENDIF
148  #endif /* ALLOW_MYPACKAGE */  #endif /* ALLOW_MYPACKAGE */
149    
150    #endif /* USE_OLD_EXTERNAL_FORCING */
151        RETURN        RETURN
152        END        END
153    
# Line 180  C     myThid    :: Thread Id number Line 190  C     myThid    :: Thread Id number
190        _RL myTime        _RL myTime
191        INTEGER myThid        INTEGER myThid
192    
193    #ifdef USE_OLD_EXTERNAL_FORCING
194  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
195  C     == Local variables ==  C     == Local variables ==
196  C     i,j       :: Loop counters  C     i,j       :: Loop counters
# Line 199  CEOP Line 210  CEOP
210  C--   Forcing term  C--   Forcing term
211  #ifdef ALLOW_AIM  #ifdef ALLOW_AIM
212        IF ( useAIM ) CALL AIM_TENDENCY_APPLY_V(        IF ( useAIM ) CALL AIM_TENDENCY_APPLY_V(
213       &                      iMin,iMax, jMin,jMax, bi,bj, kLev,       U                       gV(1-OLx,1-OLy,kLev,bi,bj),
214       &                      myTime, myThid )       I                       iMin,iMax,jMin,jMax, kLev, bi,bj,
215         I                       myTime, 0, myThid )
216  #endif /* ALLOW_AIM */  #endif /* ALLOW_AIM */
217    
218  #ifdef ALLOW_ATM_PHYS  #ifdef ALLOW_ATM_PHYS
219        IF ( useAtm_Phys ) CALL ATM_PHYS_TENDENCY_APPLY_V(        IF ( useAtm_Phys ) CALL ATM_PHYS_TENDENCY_APPLY_V(
220       &                      iMin,iMax, jMin,jMax, bi,bj, kLev,       U                       gV(1-OLx,1-OLy,kLev,bi,bj),
221       &                      myTime, myThid )       I                       iMin,iMax,jMin,jMax, kLev, bi,bj,
222         I                       myTime, 0, myThid )
223  #endif /* ALLOW_ATM_PHYS */  #endif /* ALLOW_ATM_PHYS */
224    
225  #ifdef ALLOW_FIZHI  #ifdef ALLOW_FIZHI
226        IF ( useFIZHI ) CALL FIZHI_TENDENCY_APPLY_V(        IF ( useFIZHI ) CALL FIZHI_TENDENCY_APPLY_V(
227       &                      iMin,iMax, jMin,jMax, bi,bj, kLev,       U                       gV(1-OLx,1-OLy,kLev,bi,bj),
228       &                      myTime, myThid )       I                       iMin,iMax,jMin,jMax, kLev, bi,bj,
229         I                       myTime, 0, myThid )
230  #endif /* ALLOW_FIZHI */  #endif /* ALLOW_FIZHI */
231    
232  C     Ocean: Add momentum surface forcing (e.g., wind-stress) in surface level  C     Ocean: Add momentum surface forcing (e.g., wind-stress) in surface level
# Line 239  C-jmc: Without CD-scheme, this is OK ; b Line 253  C-jmc: Without CD-scheme, this is OK ; b
253        ENDIF        ENDIF
254    
255  #ifdef ALLOW_EDDYPSI  #ifdef ALLOW_EDDYPSI
256         CALL TAUEDDY_EXTERNAL_FORCING_V(           CALL TAUEDDY_TENDENCY_APPLY_V(
257       I           iMin,iMax, jMin,jMax, bi,bj, kLev,       U                 gV(1-OLx,1-OLy,kLev,bi,bj),
258       I           myTime, myThid )       I                 iMin,iMax,jMin,jMax, kLev, bi,bj,
259         I                 myTime, 0, myThid )
260  #endif  #endif
261    
262  #ifdef ALLOW_RBCS  #ifdef ALLOW_RBCS
263        IF (useRBCS) THEN        IF (useRBCS) THEN
264          CALL RBCS_ADD_TENDENCY( bi, bj, klev, -2,          CALL RBCS_ADD_TENDENCY(
265       &                          myTime, myThid )       U                 gV(1-OLx,1-OLy,kLev,bi,bj),
266         I                 kLev, bi, bj, -2,
267         I                 myTime, 0, myThid )
268        ENDIF        ENDIF
269  #endif  #endif /* ALLOW_RBCS */
270    
271  #ifdef ALLOW_OBCS  #ifdef ALLOW_OBCS
272        IF (useOBCS) THEN        IF (useOBCS) THEN
273         CALL OBCS_SPONGE_V(          CALL OBCS_SPONGE_V(
274       I           iMin,iMax, jMin,jMax, bi,bj, kLev,       U                   gV(1-OLx,1-OLy,kLev,bi,bj),
275       I           myTime, myThid )       I                   iMin,iMax,jMin,jMax, kLev, bi,bj,
276         I                   myTime, 0, myThid )
277        ENDIF        ENDIF
278  #endif  #endif /* ALLOW_OBCS */
279    
280  #ifdef ALLOW_MYPACKAGE  #ifdef ALLOW_MYPACKAGE
281        IF ( useMYPACKAGE ) CALL MYPACKAGE_TENDENCY_APPLY_V(        IF ( useMYPACKAGE ) THEN
282       &                      iMin,iMax, jMin,jMax, bi,bj, kLev,          CALL MYPACKAGE_TENDENCY_APPLY_V(
283       &                      myTime, myThid )       U                 gV(1-OLx,1-OLy,kLev,bi,bj),
284         I                 iMin,iMax,jMin,jMax, kLev, bi,bj,
285         I                 myTime, 0, myThid )
286          ENDIF
287  #endif /* ALLOW_MYPACKAGE */  #endif /* ALLOW_MYPACKAGE */
288    
289    #endif /* USE_OLD_EXTERNAL_FORCING */
290        RETURN        RETURN
291        END        END
292    
# Line 308  C     myThid    :: Thread Id number Line 330  C     myThid    :: Thread Id number
330        _RL myTime        _RL myTime
331        INTEGER myThid        INTEGER myThid
332    
333    #ifdef USE_OLD_EXTERNAL_FORCING
334  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
335  C     == Local variables ==  C     == Local variables ==
336  C     i,j       :: Loop counters  C     i,j       :: Loop counters
# Line 317  C     kSurface  :: index of surface leve Line 340  C     kSurface  :: index of surface leve
340        INTEGER km, kc, kp        INTEGER km, kc, kp
341        _RL tmpVar(1:sNx,1:sNy)        _RL tmpVar(1:sNx,1:sNy)
342        _RL tmpFac, delPI        _RL tmpFac, delPI
343          _RL recip_Cp
344  CEOP  CEOP
 c#ifdef ALLOW_FRICTION_HEATING  
 c     _RL tmpFac  
 c#endif  
345  #ifdef SHORTWAVE_HEATING  #ifdef SHORTWAVE_HEATING
346        _RL minusone        _RL minusone
347        PARAMETER (minusOne=-1.)        PARAMETER (minusOne=-1.)
# Line 337  c#endif Line 358  c#endif
358        ELSE        ELSE
359         kSurface = 1         kSurface = 1
360        ENDIF        ENDIF
361          recip_Cp = 1. _d 0 / HeatCapacity_Cp
362    
363  C--   Forcing term  C--   Forcing term
364  #ifdef ALLOW_AIM  #ifdef ALLOW_AIM
365        IF ( useAIM ) CALL AIM_TENDENCY_APPLY_T(        IF ( useAIM ) CALL AIM_TENDENCY_APPLY_T(
366       &                      iMin,iMax, jMin,jMax, bi,bj, kLev,       U                       gT(1-OLx,1-OLy,kLev,bi,bj),
367       &                      myTime, myThid )       I                       iMin,iMax,jMin,jMax, kLev, bi,bj,
368         I                       myTime, 0, myThid )
369  #endif /* ALLOW_AIM */  #endif /* ALLOW_AIM */
370    
371  #ifdef ALLOW_ATM_PHYS  #ifdef ALLOW_ATM_PHYS
372        IF ( useAtm_Phys ) CALL ATM_PHYS_TENDENCY_APPLY_T(        IF ( useAtm_Phys ) CALL ATM_PHYS_TENDENCY_APPLY_T(
373       &                      iMin,iMax, jMin,jMax, bi,bj, kLev,       U                       gT(1-OLx,1-OLy,kLev,bi,bj),
374       &                      myTime, myThid )       I                       iMin,iMax,jMin,jMax, kLev, bi,bj,
375         I                       myTime, 0, myThid )
376  #endif /* ALLOW_ATM_PHYS */  #endif /* ALLOW_ATM_PHYS */
377    
378  #ifdef ALLOW_FIZHI  #ifdef ALLOW_FIZHI
379        IF ( useFIZHI ) CALL FIZHI_TENDENCY_APPLY_T(        IF ( useFIZHI ) CALL FIZHI_TENDENCY_APPLY_T(
380       &                      iMin,iMax, jMin,jMax, bi,bj, kLev,       U                       gT(1-OLx,1-OLy,kLev,bi,bj),
381       &                      myTime, myThid )       I                       iMin,iMax,jMin,jMax, kLev, bi,bj,
382         I                       myTime, 0, myThid )
383  #endif /* ALLOW_FIZHI */  #endif /* ALLOW_FIZHI */
384    
385  #ifdef ALLOW_ADDFLUID  #ifdef ALLOW_ADDFLUID
# Line 395  C         conversion from W/m^2/r_unit t Line 420  C         conversion from W/m^2/r_unit t
420            tmpFac = (tmpFac/atm_Cp) * mass2rUnit            tmpFac = (tmpFac/atm_Cp) * mass2rUnit
421          ELSE          ELSE
422  C         conversion from W/m^2/r_unit to K/s  C         conversion from W/m^2/r_unit to K/s
423            tmpFac = mass2rUnit/HeatCapacity_Cp            tmpFac = recip_Cp * mass2rUnit
424          ENDIF          ENDIF
425          DO j=1,sNy          DO j=1,sNy
426            DO i=1,sNx            DO i=1,sNx
427              gT(i,j,kLev,bi,bj) = gT(i,j,kLev,bi,bj)              gT(i,j,kLev,bi,bj) = gT(i,j,kLev,bi,bj)
428       &         + frictionHeating(i,j,kLev,bi,bj)       &         + frictionHeating(i,j,k,bi,bj)*tmpFac
      &          *tmpFac*recip_rA(i,j,bi,bj)  
429       &          *recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj)       &          *recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj)
430            ENDDO            ENDDO
431          ENDDO          ENDDO
# Line 503  C     Ocean: Add temperature surface for Line 527  C     Ocean: Add temperature surface for
527         ENDDO         ENDDO
528        ENDIF        ENDIF
529    
 #ifdef ALLOW_FRAZIL  
       IF ( useFRAZIL )  
      &     CALL FRAZIL_TENDENCY_APPLY_T(  
      I     iMin,iMax, jMin,jMax, bi,bj, kLev,  
      I     myTime, myThid )  
 #endif /* ALLOW_FRAZIL */  
   
 #ifdef ALLOW_SHELFICE  
       IF ( useShelfIce )  
      &     CALL SHELFICE_FORCING_T(  
      I     iMin,iMax, jMin,jMax, bi,bj, kLev,  
      I     myTime, myThid )  
 #endif /* ALLOW_SHELFICE */  
   
 #ifdef ALLOW_ICEFRONT  
       IF ( useICEFRONT )  
      &     CALL ICEFRONT_TENDENCY_APPLY_T(  
      &     bi,bj, kLev, myTime, myThid )  
 #endif /* ALLOW_ICEFRONT */  
   
530  #ifdef SHORTWAVE_HEATING  #ifdef SHORTWAVE_HEATING
531  C Penetrating SW radiation  C Penetrating SW radiation
532  c     IF ( usePenetratingSW ) THEN  c     IF ( usePenetratingSW ) THEN
533         swfracb(1)=abs(rF(klev))         swfracb(1)=abs(rF(kLev))
534         swfracb(2)=abs(rF(klev+1))         swfracb(2)=abs(rF(kLev+1))
535         CALL SWFRAC(         CALL SWFRAC(
536       I             2, minusOne,       I             2, minusOne,
537       U             swfracb,       U             swfracb,
538       I             myTime, 1, myThid )       I             myTime, 1, myThid )
539         kp1 = klev+1         kp1 = kLev+1
540         IF (klev.EQ.Nr) THEN         IF (kLev.EQ.Nr) THEN
541          kp1 = klev          kp1 = kLev
542          swfracb(2)=0. _d 0          swfracb(2)=0. _d 0
543         ENDIF         ENDIF
544         DO j=1,sNy         DO j=1,sNy
545          DO i=1,sNx          DO i=1,sNx
546           gT(i,j,klev,bi,bj) = gT(i,j,klev,bi,bj)           gT(i,j,kLev,bi,bj) = gT(i,j,kLev,bi,bj)
547       &   -Qsw(i,j,bi,bj)*(swfracb(1)*maskC(i,j,klev,bi,bj)       &   -Qsw(i,j,bi,bj)*(swfracb(1)*maskC(i,j,kLev,bi,bj)
548       &                   -swfracb(2)*maskC(i,j,kp1, bi,bj))       &                   -swfracb(2)*maskC(i,j,kp1, bi,bj))
549       &    *mass2rUnit/HeatCapacity_Cp       &    *recip_Cp*mass2rUnit
550       &    *recip_drF(klev)*_recip_hFacC(i,j,kLev,bi,bj)       &    *recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj)
551          ENDDO          ENDDO
552         ENDDO         ENDDO
553  c     ENDIF  c     ENDIF
554  #endif  #endif
555    
556    #ifdef ALLOW_FRAZIL
557          IF ( useFRAZIL )
558         &     CALL FRAZIL_TENDENCY_APPLY_T(
559         U                 gT(1-OLx,1-OLy,kLev,bi,bj),
560         I                 iMin,iMax,jMin,jMax, kLev, bi,bj,
561         I                 myTime, 0, myThid )
562    #endif /* ALLOW_FRAZIL */
563    
564    #ifdef ALLOW_SHELFICE
565          IF ( useShelfIce )
566         &     CALL SHELFICE_FORCING_T(
567         U                   gT(1-OLx,1-OLy,kLev,bi,bj),
568         I                   iMin,iMax,jMin,jMax, kLev, bi,bj,
569         I                   myTime, 0, myThid )
570    #endif /* ALLOW_SHELFICE */
571    
572    #ifdef ALLOW_ICEFRONT
573          IF ( useICEFRONT )
574         &     CALL ICEFRONT_TENDENCY_APPLY_T(
575         U                   gT(1-OLx,1-OLy,kLev,bi,bj),
576         I                   kLev, bi, bj, myTime, 0, myThid )
577    #endif /* ALLOW_ICEFRONT */
578    
579    #ifdef ALLOW_SALT_PLUME
580          IF ( useSALT_PLUME )
581         &     CALL SALT_PLUME_TENDENCY_APPLY_T(
582         U                     gT(1-OLx,1-OLy,kLev,bi,bj),
583         I                     iMin,iMax,jMin,jMax, kLev, bi,bj,
584         I                     myTime, 0, myThid )
585    #endif /* ALLOW_SALT_PLUME */
586    
587  #ifdef ALLOW_RBCS  #ifdef ALLOW_RBCS
588         IF (useRBCS) THEN        IF (useRBCS) THEN
589            CALL RBCS_ADD_TENDENCY(bi,bj,klev, 1,          CALL RBCS_ADD_TENDENCY(
590       &                            myTime, myThid )       U                 gT(1-OLx,1-OLy,kLev,bi,bj),
591         ENDIF       I                 kLev, bi, bj, 1,
592  #endif       I                 myTime, 0, myThid )
593          ENDIF
594    #endif /* ALLOW_RBCS */
595    
596  #ifdef ALLOW_OBCS  #ifdef ALLOW_OBCS
597        IF (useOBCS) THEN        IF (useOBCS) THEN
598         CALL OBCS_SPONGE_T(          CALL OBCS_SPONGE_T(
599       I           iMin,iMax, jMin,jMax, bi,bj, kLev,       U                   gT(1-OLx,1-OLy,kLev,bi,bj),
600       I           myTime, myThid )       I                   iMin,iMax,jMin,jMax, kLev, bi,bj,
601         I                   myTime, 0, myThid )
602        ENDIF        ENDIF
603  #endif  #endif /* ALLOW_OBCS */
604    
605  #ifdef ALLOW_BBL  #ifdef ALLOW_BBL
606        IF ( useBBL ) CALL BBL_TENDENCY_APPLY_T(        IF ( useBBL ) CALL BBL_TENDENCY_APPLY_T(
607       &                      iMin,iMax, jMin,jMax, bi,bj, kLev,       U                       gT(1-OLx,1-OLy,kLev,bi,bj),
608       &                      myTime, myThid )       I                       iMin,iMax,jMin,jMax, kLev, bi,bj,
609         I                       myTime, 0, myThid )
610  #endif /* ALLOW_BBL */  #endif /* ALLOW_BBL */
611    
612  #ifdef ALLOW_MYPACKAGE  #ifdef ALLOW_MYPACKAGE
613        IF ( useMYPACKAGE ) CALL MYPACKAGE_TENDENCY_APPLY_T(        IF ( useMYPACKAGE ) THEN
614       &                      iMin,iMax, jMin,jMax, bi,bj, kLev,          CALL MYPACKAGE_TENDENCY_APPLY_T(
615       &                      myTime, myThid )       U                 gT(1-OLx,1-OLy,kLev,bi,bj),
616         I                 iMin,iMax,jMin,jMax, kLev, bi,bj,
617         I                 myTime, 0, myThid )
618          ENDIF
619  #endif /* ALLOW_MYPACKAGE */  #endif /* ALLOW_MYPACKAGE */
620    
621    #endif /* USE_OLD_EXTERNAL_FORCING */
622        RETURN        RETURN
623        END        END
624    
# Line 620  C     myThid    :: Thread Id number Line 663  C     myThid    :: Thread Id number
663        _RL myTime        _RL myTime
664        INTEGER myThid        INTEGER myThid
665    
666    #ifdef USE_OLD_EXTERNAL_FORCING
667  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
668  C     == Local variables ==  C     == Local variables ==
669  C     i,j       :: Loop counters  C     i,j       :: Loop counters
# Line 641  CEOP Line 685  CEOP
685  C--   Forcing term  C--   Forcing term
686  #ifdef ALLOW_AIM  #ifdef ALLOW_AIM
687        IF ( useAIM ) CALL AIM_TENDENCY_APPLY_S(        IF ( useAIM ) CALL AIM_TENDENCY_APPLY_S(
688       &                      iMin,iMax, jMin,jMax, bi,bj, kLev,       U                       gS(1-OLx,1-OLy,kLev,bi,bj),
689       &                      myTime, myThid )       I                       iMin,iMax,jMin,jMax, kLev, bi,bj,
690         I                       myTime, 0, myThid )
691  #endif /* ALLOW_AIM */  #endif /* ALLOW_AIM */
692    
693  #ifdef ALLOW_ATM_PHYS  #ifdef ALLOW_ATM_PHYS
694        IF ( useAtm_Phys ) CALL ATM_PHYS_TENDENCY_APPLY_S(        IF ( useAtm_Phys ) CALL ATM_PHYS_TENDENCY_APPLY_S(
695       &                      iMin,iMax, jMin,jMax, bi,bj, kLev,       U                       gS(1-OLx,1-OLy,kLev,bi,bj),
696       &                      myTime, myThid )       I                       iMin,iMax,jMin,jMax, kLev, bi,bj,
697         I                       myTime, 0, myThid )
698  #endif /* ALLOW_ATM_PHYS */  #endif /* ALLOW_ATM_PHYS */
699    
700  #ifdef ALLOW_FIZHI  #ifdef ALLOW_FIZHI
701        IF ( useFIZHI ) CALL FIZHI_TENDENCY_APPLY_S(        IF ( useFIZHI ) CALL FIZHI_TENDENCY_APPLY_S(
702       &                      iMin,iMax, jMin,jMax, bi,bj, kLev,       U                       gS(1-OLx,1-OLy,kLev,bi,bj),
703       &                      myTime, myThid )       I                       iMin,iMax,jMin,jMax, kLev, bi,bj,
704         I                       myTime, 0, myThid )
705  #endif /* ALLOW_FIZHI */  #endif /* ALLOW_FIZHI */
706    
707  #ifdef ALLOW_ADDFLUID  #ifdef ALLOW_ADDFLUID
# Line 721  C     Ocean: Add salinity surface forcin Line 768  C     Ocean: Add salinity surface forcin
768  #ifdef ALLOW_SHELFICE  #ifdef ALLOW_SHELFICE
769        IF ( useShelfIce )        IF ( useShelfIce )
770       &     CALL SHELFICE_FORCING_S(       &     CALL SHELFICE_FORCING_S(
771       I     iMin,iMax, jMin,jMax, bi,bj, kLev,       U                   gS(1-OLx,1-OLy,kLev,bi,bj),
772       I     myTime, myThid )       I                   iMin,iMax,jMin,jMax, kLev, bi,bj,
773         I                   myTime, 0, myThid )
774  #endif /* ALLOW_SHELFICE */  #endif /* ALLOW_SHELFICE */
775    
776  #ifdef ALLOW_ICEFRONT  #ifdef ALLOW_ICEFRONT
777        IF ( useICEFRONT )        IF ( useICEFRONT )
778       &     CALL ICEFRONT_TENDENCY_APPLY_S(       &     CALL ICEFRONT_TENDENCY_APPLY_S(
779       &     bi,bj, kLev, myTime, myThid )       U                   gS(1-OLx,1-OLy,kLev,bi,bj),
780         I                   kLev, bi, bj, myTime, 0, myThid )
781  #endif /* ALLOW_ICEFRONT */  #endif /* ALLOW_ICEFRONT */
782    
 Catn: org. version of SP: do within k-loop  
 Catn  new version: outside k-loop; called from [temp,salt]_integrate.F  
783  #ifdef ALLOW_SALT_PLUME  #ifdef ALLOW_SALT_PLUME
 CC#ifndef SALT_PLUME_VOLUME  
784        IF ( useSALT_PLUME )        IF ( useSALT_PLUME )
785       &     CALL SALT_PLUME_TENDENCY_APPLY_S(       &     CALL SALT_PLUME_TENDENCY_APPLY_S(
786       I     iMin,iMax, jMin,jMax, bi,bj, kLev,       U                     gS(1-OLx,1-OLy,kLev,bi,bj),
787       I     myTime, myThid )       I                     iMin,iMax,jMin,jMax, kLev, bi,bj,
788  #ifdef SALT_PLUME_VOLUME       I                     myTime, 0, myThid )
       IF ( useSALT_PLUME )  
      &     CALL SALT_PLUME_TENDENCY_APPLY_T(  
      I     iMin,iMax, jMin,jMax, bi,bj, kLev,  
      I     myTime, myThid )  
 #endif /* ndef SALT_PLUME_VOLUME */  
789  #endif /* ALLOW_SALT_PLUME */  #endif /* ALLOW_SALT_PLUME */
790    
791  #ifdef ALLOW_RBCS  #ifdef ALLOW_RBCS
792         IF (useRBCS) THEN        IF (useRBCS) THEN
793            CALL RBCS_ADD_TENDENCY(bi,bj,klev, 2,          CALL RBCS_ADD_TENDENCY(
794       &                            myTime, myThid )       U                 gS(1-OLx,1-OLy,kLev,bi,bj),
795         ENDIF       I                 kLev, bi, bj, 2,
796         I                 myTime, 0, myThid )
797          ENDIF
798  #endif /* ALLOW_RBCS */  #endif /* ALLOW_RBCS */
799    
800  #ifdef ALLOW_OBCS  #ifdef ALLOW_OBCS
801        IF (useOBCS) THEN        IF (useOBCS) THEN
802         CALL OBCS_SPONGE_S(          CALL OBCS_SPONGE_S(
803       I           iMin,iMax, jMin,jMax, bi,bj, kLev,       U                   gS(1-OLx,1-OLy,kLev,bi,bj),
804       I           myTime, myThid )       I                   iMin,iMax,jMin,jMax, kLev, bi,bj,
805         I                   myTime, 0, myThid )
806        ENDIF        ENDIF
807  #endif /* ALLOW_OBCS */  #endif /* ALLOW_OBCS */
808    
809  #ifdef ALLOW_BBL  #ifdef ALLOW_BBL
810        IF ( useBBL ) CALL BBL_TENDENCY_APPLY_S(        IF ( useBBL ) CALL BBL_TENDENCY_APPLY_S(
811       &                      iMin,iMax, jMin,jMax, bi,bj, kLev,       U                       gS(1-OLx,1-OLy,kLev,bi,bj),
812       &                      myTime, myThid )       I                       iMin,iMax,jMin,jMax, kLev, bi,bj,
813         I                       myTime, 0, myThid )
814  #endif /* ALLOW_BBL */  #endif /* ALLOW_BBL */
815    
816  #ifdef ALLOW_MYPACKAGE  #ifdef ALLOW_MYPACKAGE
817        IF ( useMYPACKAGE ) CALL MYPACKAGE_TENDENCY_APPLY_S(        IF ( useMYPACKAGE ) THEN
818       &                      iMin,iMax, jMin,jMax, bi,bj, kLev,          CALL MYPACKAGE_TENDENCY_APPLY_S(
819       &                      myTime, myThid )       U                 gS(1-OLx,1-OLy,kLev,bi,bj),
820         I                 iMin,iMax,jMin,jMax, kLev, bi,bj,
821         I                 myTime, 0, myThid )
822          ENDIF
823  #endif /* ALLOW_MYPACKAGE */  #endif /* ALLOW_MYPACKAGE */
824    
825    #endif /* USE_OLD_EXTERNAL_FORCING */
826        RETURN        RETURN
827        END        END

Legend:
Removed from v.1.66  
changed lines
  Added in v.1.72

  ViewVC Help
Powered by ViewVC 1.1.22