| 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( |
| 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( |
| 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) |
| 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) |
| 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( |
| 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 |
| 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, |
| 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) |
| 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) |
| 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( |
| 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, |