/[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.54 by jmc, Sun Aug 24 21:46:19 2008 UTC revision 1.60 by dimitri, Fri Mar 2 01:45:22 2012 UTC
# Line 90  C-jmc: Without CD-scheme, this is OK ; b Line 90  C-jmc: Without CD-scheme, this is OK ; b
90       I           myTime, myThid )       I           myTime, myThid )
91  #endif  #endif
92    
93    #ifdef ALLOW_RBCS
94          IF (useRBCS) THEN
95            CALL RBCS_ADD_TENDENCY( bi, bj, klev, -1,
96         &                          myTime, myThid )
97          ENDIF
98    #endif
99    
100  #ifdef ALLOW_OBCS  #ifdef ALLOW_OBCS
101        IF (useOBCS) THEN        IF (useOBCS) THEN
102         CALL OBCS_SPONGE_U(         CALL OBCS_SPONGE_U(
# Line 194  C-jmc: Without CD-scheme, this is OK ; b Line 201  C-jmc: Without CD-scheme, this is OK ; b
201       I           myTime, myThid )       I           myTime, myThid )
202  #endif  #endif
203    
204    #ifdef ALLOW_RBCS
205          IF (useRBCS) THEN
206            CALL RBCS_ADD_TENDENCY( bi, bj, klev, -2,
207         &                          myTime, myThid )
208          ENDIF
209    #endif
210    
211  #ifdef ALLOW_OBCS  #ifdef ALLOW_OBCS
212        IF (useOBCS) THEN        IF (useOBCS) THEN
213         CALL OBCS_SPONGE_V(         CALL OBCS_SPONGE_V(
# Line 288  C--   Forcing term Line 302  C--   Forcing term
302  #endif /* ALLOW_FIZHI */  #endif /* ALLOW_FIZHI */
303    
304  #ifdef ALLOW_ADDFLUID  #ifdef ALLOW_ADDFLUID
305        IF ( selectAddFluid.NE.0 .AND. temp_EvPrRn.NE.UNSET_RL ) THEN        IF ( selectAddFluid.NE.0 .AND. temp_addMass.NE.UNSET_RL ) THEN
 C-    for now, use same fluid properties as for E-P-R  
306         IF ( ( selectAddFluid.GE.1 .AND. nonlinFreeSurf.GT.0 )         IF ( ( selectAddFluid.GE.1 .AND. nonlinFreeSurf.GT.0 )
307       &      .OR. convertFW2Salt.EQ.-1. _d 0 ) THEN       &      .OR. convertFW2Salt.EQ.-1. _d 0 ) THEN
308           DO j=1,sNy           DO j=1,sNy
309            DO i=1,sNx            DO i=1,sNx
310              gT(i,j,kLev,bi,bj) = gT(i,j,kLev,bi,bj)              gT(i,j,kLev,bi,bj) = gT(i,j,kLev,bi,bj)
311       &        + addMass(i,j,kLev,bi,bj)*mass2rUnit       &        + addMass(i,j,kLev,bi,bj)*mass2rUnit
312       &          *( temp_EvPrRn - theta(i,j,kLev,bi,bj) )       &          *( temp_addMass - theta(i,j,kLev,bi,bj) )
313       &          *recip_rA(i,j,bi,bj)       &          *recip_rA(i,j,bi,bj)
314       &          *recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj)       &          *recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj)
315  C    &          *recip_deepFac2C(kLev)*recip_rhoFacC(kLev)  C    &          *recip_deepFac2C(kLev)*recip_rhoFacC(kLev)
# Line 307  C    &          *recip_deepFac2C(kLev)*r Line 320  C    &          *recip_deepFac2C(kLev)*r
320            DO i=1,sNx            DO i=1,sNx
321              gT(i,j,kLev,bi,bj) = gT(i,j,kLev,bi,bj)              gT(i,j,kLev,bi,bj) = gT(i,j,kLev,bi,bj)
322       &        + addMass(i,j,kLev,bi,bj)*mass2rUnit       &        + addMass(i,j,kLev,bi,bj)*mass2rUnit
323       &          *( temp_EvPrRn - tRef(kLev) )       &          *( temp_addMass - tRef(kLev) )
324       &          *recip_rA(i,j,bi,bj)       &          *recip_rA(i,j,bi,bj)
325       &          *recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj)       &          *recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj)
326  C    &          *recip_deepFac2C(kLev)*recip_rhoFacC(kLev)  C    &          *recip_deepFac2C(kLev)*recip_rhoFacC(kLev)
# Line 339  C     Add heat in top-layer Line 352  C     Add heat in top-layer
352         ENDDO         ENDDO
353        ENDIF        ENDIF
354    
355    #ifdef ALLOW_FRAZIL
356          IF ( useFRAZIL )
357         &     CALL FRAZIL_TENDENCY_APPLY_T(
358         I     iMin,iMax, jMin,jMax, bi,bj, kLev,
359         I     myTime, myThid )
360    #endif /* ALLOW_FRAZIL */
361    
362  #ifdef ALLOW_SHELFICE  #ifdef ALLOW_SHELFICE
363        IF ( useShelfIce )        IF ( useShelfIce )
364       &     CALL SHELFICE_FORCING_T(       &     CALL SHELFICE_FORCING_T(
# Line 346  C     Add heat in top-layer Line 366  C     Add heat in top-layer
366       I     myTime, myThid )       I     myTime, myThid )
367  #endif /* ALLOW_SHELFICE */  #endif /* ALLOW_SHELFICE */
368    
369    #ifdef ALLOW_ICEFRONT
370          IF ( useICEFRONT )
371         &     CALL ICEFRONT_TENDENCY_APPLY_T(
372         &     bi,bj, kLev, myTime, myThid )
373    #endif /* ALLOW_ICEFRONT */
374    
375  #ifdef SHORTWAVE_HEATING  #ifdef SHORTWAVE_HEATING
376  C Penetrating SW radiation  C Penetrating SW radiation
377  c     IF ( usePenetratingSW ) THEN  c     IF ( usePenetratingSW ) THEN
# Line 387  c     ENDIF Line 413  c     ENDIF
413        ENDIF        ENDIF
414  #endif  #endif
415    
416    #ifdef ALLOW_BBL
417          IF ( useBBL ) CALL BBL_TENDENCY_APPLY_T(
418         &                      iMin,iMax, jMin,jMax, bi,bj, kLev,
419         &                      myTime, myThid )
420    #endif /* ALLOW_BBL */
421    
422  #ifdef ALLOW_MYPACKAGE  #ifdef ALLOW_MYPACKAGE
423        IF ( useMYPACKAGE ) CALL MYPACKAGE_TENDENCY_APPLY_T(        IF ( useMYPACKAGE ) CALL MYPACKAGE_TENDENCY_APPLY_T(
424       &                      iMin,iMax, jMin,jMax, bi,bj, kLev,       &                      iMin,iMax, jMin,jMax, bi,bj, kLev,
# Line 467  C--   Forcing term Line 499  C--   Forcing term
499  #endif /* ALLOW_FIZHI */  #endif /* ALLOW_FIZHI */
500    
501  #ifdef ALLOW_ADDFLUID  #ifdef ALLOW_ADDFLUID
502        IF ( selectAddFluid.NE.0 .AND. salt_EvPrRn.NE.UNSET_RL ) THEN        IF ( selectAddFluid.NE.0 .AND. salt_addMass.NE.UNSET_RL ) THEN
 C-    for now, use same fluid properties as for E-P-R  
503         IF ( ( selectAddFluid.GE.1 .AND. nonlinFreeSurf.GT.0 )         IF ( ( selectAddFluid.GE.1 .AND. nonlinFreeSurf.GT.0 )
504       &      .OR. convertFW2Salt.EQ.-1. _d 0 ) THEN       &      .OR. convertFW2Salt.EQ.-1. _d 0 ) THEN
505           DO j=1,sNy           DO j=1,sNy
506            DO i=1,sNx            DO i=1,sNx
507              gS(i,j,kLev,bi,bj) = gS(i,j,kLev,bi,bj)              gS(i,j,kLev,bi,bj) = gS(i,j,kLev,bi,bj)
508       &        + addMass(i,j,kLev,bi,bj)*mass2rUnit       &        + addMass(i,j,kLev,bi,bj)*mass2rUnit
509       &          *( salt_EvPrRn - salt(i,j,kLev,bi,bj) )       &          *( salt_addMass - salt(i,j,kLev,bi,bj) )
510       &          *recip_rA(i,j,bi,bj)       &          *recip_rA(i,j,bi,bj)
511       &          *recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj)       &          *recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj)
512  C    &          *recip_deepFac2C(kLev)*recip_rhoFacC(kLev)  C    &          *recip_deepFac2C(kLev)*recip_rhoFacC(kLev)
# Line 486  C    &          *recip_deepFac2C(kLev)*r Line 517  C    &          *recip_deepFac2C(kLev)*r
517            DO i=1,sNx            DO i=1,sNx
518              gS(i,j,kLev,bi,bj) = gS(i,j,kLev,bi,bj)              gS(i,j,kLev,bi,bj) = gS(i,j,kLev,bi,bj)
519       &        + addMass(i,j,kLev,bi,bj)*mass2rUnit       &        + addMass(i,j,kLev,bi,bj)*mass2rUnit
520       &          *( salt_EvPrRn - sRef(kLev) )       &          *( salt_addMass - sRef(kLev) )
521       &          *recip_rA(i,j,bi,bj)       &          *recip_rA(i,j,bi,bj)
522       &          *recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj)       &          *recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj)
523  C    &          *recip_deepFac2C(kLev)*recip_rhoFacC(kLev)  C    &          *recip_deepFac2C(kLev)*recip_rhoFacC(kLev)
# Line 525  C     Add fresh-water in top-layer Line 556  C     Add fresh-water in top-layer
556       I     myTime, myThid )       I     myTime, myThid )
557  #endif /* ALLOW_SHELFICE */  #endif /* ALLOW_SHELFICE */
558    
559    #ifdef ALLOW_ICEFRONT
560          IF ( useICEFRONT )
561         &     CALL ICEFRONT_TENDENCY_APPLY_S(
562         &     bi,bj, kLev, myTime, myThid )
563    #endif /* ALLOW_ICEFRONT */
564    
565  #ifdef ALLOW_SALT_PLUME  #ifdef ALLOW_SALT_PLUME
566        IF ( useSALT_PLUME )        IF ( useSALT_PLUME )
567       &     CALL SALT_PLUME_TENDENCY_APPLY_S(       &     CALL SALT_PLUME_TENDENCY_APPLY_S(
# Line 547  C     Add fresh-water in top-layer Line 584  C     Add fresh-water in top-layer
584        ENDIF        ENDIF
585  #endif /* ALLOW_OBCS */  #endif /* ALLOW_OBCS */
586    
587    #ifdef ALLOW_BBL
588          IF ( useBBL ) CALL BBL_TENDENCY_APPLY_S(
589         &                      iMin,iMax, jMin,jMax, bi,bj, kLev,
590         &                      myTime, myThid )
591    #endif /* ALLOW_BBL */
592    
593  #ifdef ALLOW_MYPACKAGE  #ifdef ALLOW_MYPACKAGE
594        IF ( useMYPACKAGE ) CALL MYPACKAGE_TENDENCY_APPLY_S(        IF ( useMYPACKAGE ) CALL MYPACKAGE_TENDENCY_APPLY_S(
595       &                      iMin,iMax, jMin,jMax, bi,bj, kLev,       &                      iMin,iMax, jMin,jMax, bi,bj, kLev,

Legend:
Removed from v.1.54  
changed lines
  Added in v.1.60

  ViewVC Help
Powered by ViewVC 1.1.22