--- MITgcm/model/src/external_forcing.F 2008/08/24 21:46:19 1.54 +++ MITgcm/model/src/external_forcing.F 2012/03/02 01:45:22 1.60 @@ -1,4 +1,4 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/src/external_forcing.F,v 1.54 2008/08/24 21:46:19 jmc Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/src/external_forcing.F,v 1.60 2012/03/02 01:45:22 dimitri Exp $ C $Name: $ #include "PACKAGES_CONFIG.h" @@ -90,6 +90,13 @@ I myTime, myThid ) #endif +#ifdef ALLOW_RBCS + IF (useRBCS) THEN + CALL RBCS_ADD_TENDENCY( bi, bj, klev, -1, + & myTime, myThid ) + ENDIF +#endif + #ifdef ALLOW_OBCS IF (useOBCS) THEN CALL OBCS_SPONGE_U( @@ -194,6 +201,13 @@ I myTime, myThid ) #endif +#ifdef ALLOW_RBCS + IF (useRBCS) THEN + CALL RBCS_ADD_TENDENCY( bi, bj, klev, -2, + & myTime, myThid ) + ENDIF +#endif + #ifdef ALLOW_OBCS IF (useOBCS) THEN CALL OBCS_SPONGE_V( @@ -288,15 +302,14 @@ #endif /* ALLOW_FIZHI */ #ifdef ALLOW_ADDFLUID - IF ( selectAddFluid.NE.0 .AND. temp_EvPrRn.NE.UNSET_RL ) THEN -C- for now, use same fluid properties as for E-P-R + IF ( selectAddFluid.NE.0 .AND. temp_addMass.NE.UNSET_RL ) THEN IF ( ( selectAddFluid.GE.1 .AND. nonlinFreeSurf.GT.0 ) & .OR. convertFW2Salt.EQ.-1. _d 0 ) THEN DO j=1,sNy DO i=1,sNx gT(i,j,kLev,bi,bj) = gT(i,j,kLev,bi,bj) & + addMass(i,j,kLev,bi,bj)*mass2rUnit - & *( temp_EvPrRn - theta(i,j,kLev,bi,bj) ) + & *( temp_addMass - theta(i,j,kLev,bi,bj) ) & *recip_rA(i,j,bi,bj) & *recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj) C & *recip_deepFac2C(kLev)*recip_rhoFacC(kLev) @@ -307,7 +320,7 @@ DO i=1,sNx gT(i,j,kLev,bi,bj) = gT(i,j,kLev,bi,bj) & + addMass(i,j,kLev,bi,bj)*mass2rUnit - & *( temp_EvPrRn - tRef(kLev) ) + & *( temp_addMass - tRef(kLev) ) & *recip_rA(i,j,bi,bj) & *recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj) C & *recip_deepFac2C(kLev)*recip_rhoFacC(kLev) @@ -339,6 +352,13 @@ ENDDO ENDIF +#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( @@ -346,6 +366,12 @@ I myTime, myThid ) #endif /* ALLOW_SHELFICE */ +#ifdef ALLOW_ICEFRONT + IF ( useICEFRONT ) + & CALL ICEFRONT_TENDENCY_APPLY_T( + & bi,bj, kLev, myTime, myThid ) +#endif /* ALLOW_ICEFRONT */ + #ifdef SHORTWAVE_HEATING C Penetrating SW radiation c IF ( usePenetratingSW ) THEN @@ -387,6 +413,12 @@ ENDIF #endif +#ifdef ALLOW_BBL + IF ( useBBL ) CALL BBL_TENDENCY_APPLY_T( + & iMin,iMax, jMin,jMax, bi,bj, kLev, + & myTime, myThid ) +#endif /* ALLOW_BBL */ + #ifdef ALLOW_MYPACKAGE IF ( useMYPACKAGE ) CALL MYPACKAGE_TENDENCY_APPLY_T( & iMin,iMax, jMin,jMax, bi,bj, kLev, @@ -467,15 +499,14 @@ #endif /* ALLOW_FIZHI */ #ifdef ALLOW_ADDFLUID - IF ( selectAddFluid.NE.0 .AND. salt_EvPrRn.NE.UNSET_RL ) THEN -C- for now, use same fluid properties as for E-P-R + IF ( selectAddFluid.NE.0 .AND. salt_addMass.NE.UNSET_RL ) THEN IF ( ( selectAddFluid.GE.1 .AND. nonlinFreeSurf.GT.0 ) & .OR. convertFW2Salt.EQ.-1. _d 0 ) THEN DO j=1,sNy DO i=1,sNx gS(i,j,kLev,bi,bj) = gS(i,j,kLev,bi,bj) & + addMass(i,j,kLev,bi,bj)*mass2rUnit - & *( salt_EvPrRn - salt(i,j,kLev,bi,bj) ) + & *( salt_addMass - salt(i,j,kLev,bi,bj) ) & *recip_rA(i,j,bi,bj) & *recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj) C & *recip_deepFac2C(kLev)*recip_rhoFacC(kLev) @@ -486,7 +517,7 @@ DO i=1,sNx gS(i,j,kLev,bi,bj) = gS(i,j,kLev,bi,bj) & + addMass(i,j,kLev,bi,bj)*mass2rUnit - & *( salt_EvPrRn - sRef(kLev) ) + & *( salt_addMass - sRef(kLev) ) & *recip_rA(i,j,bi,bj) & *recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj) C & *recip_deepFac2C(kLev)*recip_rhoFacC(kLev) @@ -525,6 +556,12 @@ I myTime, myThid ) #endif /* ALLOW_SHELFICE */ +#ifdef ALLOW_ICEFRONT + IF ( useICEFRONT ) + & CALL ICEFRONT_TENDENCY_APPLY_S( + & bi,bj, kLev, myTime, myThid ) +#endif /* ALLOW_ICEFRONT */ + #ifdef ALLOW_SALT_PLUME IF ( useSALT_PLUME ) & CALL SALT_PLUME_TENDENCY_APPLY_S( @@ -547,6 +584,12 @@ ENDIF #endif /* ALLOW_OBCS */ +#ifdef ALLOW_BBL + IF ( useBBL ) CALL BBL_TENDENCY_APPLY_S( + & iMin,iMax, jMin,jMax, bi,bj, kLev, + & myTime, myThid ) +#endif /* ALLOW_BBL */ + #ifdef ALLOW_MYPACKAGE IF ( useMYPACKAGE ) CALL MYPACKAGE_TENDENCY_APPLY_S( & iMin,iMax, jMin,jMax, bi,bj, kLev,