| 3 |
|
|
| 4 |
#include "PACKAGES_CONFIG.h" |
#include "PACKAGES_CONFIG.h" |
| 5 |
#include "CPP_OPTIONS.h" |
#include "CPP_OPTIONS.h" |
|
#ifdef ALLOW_EXF |
|
|
# include "EXF_OPTIONS.h" |
|
|
#endif |
|
| 6 |
|
|
| 7 |
CBOP |
CBOP |
| 8 |
C !ROUTINE: EXTERNAL_FORCING_U |
C !ROUTINE: EXTERNAL_FORCING_U |
| 285 |
ENDDO |
ENDDO |
| 286 |
ENDIF |
ENDIF |
| 287 |
|
|
| 288 |
|
#ifdef ALLOW_SHELFICE |
| 289 |
|
IF ( useShelfIce ) |
| 290 |
|
& CALL SHELFICE_FORCING_T( |
| 291 |
|
I iMin,iMax, jMin,jMax, bi,bj, kLev, |
| 292 |
|
I myTime, myThid ) |
| 293 |
|
#endif /* ALLOW_SHELFICE */ |
| 294 |
|
|
| 295 |
#ifdef SHORTWAVE_HEATING |
#ifdef SHORTWAVE_HEATING |
| 296 |
C Penetrating SW radiation |
C Penetrating SW radiation |
| 297 |
c IF ( usePenetratingSW ) THEN |
c IF ( usePenetratingSW ) THEN |
| 325 |
endif |
endif |
| 326 |
#endif |
#endif |
| 327 |
|
|
|
#ifdef ALLOW_CLIMTEMP_RELAXATION |
|
|
IF ( tauThetaClimRelax3Dim .NE. 0. ) THEN |
|
|
DO j=1,sNy |
|
|
DO i=1,sNx |
|
|
gT(i,j,klev,bi,bj) = gT(i,j,klev,bi,bj) |
|
|
& -1./tauThetaClimRelax3Dim |
|
|
& *(theta(i,j,klev,bi,bj)-thetaStar(i,j,klev,bi,bj)) |
|
|
& *hFacC(i,j,klev,bi,bj)*recip_hFacC(i,j,kLev,bi,bj) |
|
|
ENDDO |
|
|
ENDDO |
|
|
ENDIF |
|
|
#endif |
|
|
|
|
| 328 |
#ifdef ALLOW_OBCS |
#ifdef ALLOW_OBCS |
| 329 |
IF (useOBCS) THEN |
IF (useOBCS) THEN |
| 330 |
CALL OBCS_SPONGE_T( |
CALL OBCS_SPONGE_T( |
| 416 |
ENDDO |
ENDDO |
| 417 |
ENDIF |
ENDIF |
| 418 |
|
|
| 419 |
|
#ifdef ALLOW_SHELFICE |
| 420 |
|
IF ( useShelfIce ) |
| 421 |
|
& CALL SHELFICE_FORCING_S( |
| 422 |
|
I iMin,iMax, jMin,jMax, bi,bj, kLev, |
| 423 |
|
I myTime, myThid ) |
| 424 |
|
#endif /* ALLOW_SHELFICE */ |
| 425 |
|
|
| 426 |
#ifdef ALLOW_RBCS |
#ifdef ALLOW_RBCS |
| 427 |
if (useRBCS) then |
if (useRBCS) then |
| 428 |
call RBCS_ADD_TENDENCY(bi,bj,klev, 2, |
call RBCS_ADD_TENDENCY(bi,bj,klev, 2, |
| 430 |
endif |
endif |
| 431 |
#endif |
#endif |
| 432 |
|
|
|
#ifdef ALLOW_CLIMSALT_RELAXATION |
|
|
IF ( tauSaltClimRelax3Dim .NE. 0. ) THEN |
|
|
DO j=1,sNy |
|
|
DO i=1,sNx |
|
|
gS(i,j,klev,bi,bj) = gS(i,j,klev,bi,bj) |
|
|
& -1./tauSaltClimRelax3Dim |
|
|
& *(salt(i,j,klev,bi,bj)-saltStar(i,j,klev,bi,bj)) |
|
|
& *hFacC(i,j,klev,bi,bj)*recip_hFacC(i,j,kLev,bi,bj) |
|
|
ENDDO |
|
|
ENDDO |
|
|
ENDIF |
|
|
#endif |
|
|
|
|
| 433 |
#ifdef ALLOW_OBCS |
#ifdef ALLOW_OBCS |
| 434 |
IF (useOBCS) THEN |
IF (useOBCS) THEN |
| 435 |
CALL OBCS_SPONGE_S( |
CALL OBCS_SPONGE_S( |