44 |
#ifdef ALLOW_TIMEAVE |
#ifdef ALLOW_TIMEAVE |
45 |
#include "TIMEAVE_STATV.h" |
#include "TIMEAVE_STATV.h" |
46 |
#endif |
#endif |
47 |
#if defined (ALLOW_BALANCE_FLUXES) && !(defined ALLOW_AUTODIFF_TAMC) |
#ifdef ALLOW_BALANCE_FLUXES |
48 |
#include "FFIELDS.h" |
#include "FFIELDS.h" |
49 |
#endif |
#endif |
50 |
|
|
52 |
# include "AUTODIFF_MYFIELDS.h" |
# include "AUTODIFF_MYFIELDS.h" |
53 |
# include "tamc.h" |
# include "tamc.h" |
54 |
# include "tamc_keys.h" |
# include "tamc_keys.h" |
55 |
|
#ifndef ALLOW_BALANCE_FLUXES |
56 |
# include "FFIELDS.h" |
# include "FFIELDS.h" |
57 |
|
#endif |
58 |
# include "SURFACE.h" |
# include "SURFACE.h" |
59 |
# include "EOS.h" |
# include "EOS.h" |
60 |
# ifdef ALLOW_KPP |
# ifdef ALLOW_KPP |
119 |
EXTERNAL DIAGNOSTICS_IS_ON |
EXTERNAL DIAGNOSTICS_IS_ON |
120 |
#endif /* ALLOW_DIAGNOSTICS */ |
#endif /* ALLOW_DIAGNOSTICS */ |
121 |
#ifdef ALLOW_BALANCE_RELAX |
#ifdef ALLOW_BALANCE_RELAX |
122 |
CHARACTER*(max_len_mbuf) msgbuf |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
123 |
_RL tmpFac |
_RL tmpFac |
124 |
#endif /* ALLOW_BALANCE_RELAX */ |
#endif /* ALLOW_BALANCE_RELAX */ |
125 |
|
|
370 |
|
|
371 |
#ifdef ALLOW_BALANCE_FLUXES |
#ifdef ALLOW_BALANCE_FLUXES |
372 |
C balance fluxes |
C balance fluxes |
373 |
IF ( ( balanceEmPmR ).AND.( .NOT.useSeaice ) ) |
IF ( balanceEmPmR .AND. (.NOT.useSeaice .OR. useThSIce) ) |
374 |
& CALL REMOVE_MEAN_RS( 1, EmPmR, maskInC, maskInC, rA, drF, |
& CALL REMOVE_MEAN_RS( 1, EmPmR, maskInC, maskInC, rA, drF, |
375 |
& 'EmPmR', myTime, myThid ) |
& 'EmPmR', myTime, myThid ) |
376 |
IF ( ( balanceQnet ).AND.( .NOT.useSeaice ) ) |
IF ( balanceQnet .AND. (.NOT.useSeaice .OR. useThSIce) ) |
377 |
& CALL REMOVE_MEAN_RS( 1, Qnet, maskInC, maskInC, rA, drF, |
& CALL REMOVE_MEAN_RS( 1, Qnet, maskInC, maskInC, rA, drF, |
378 |
& 'Qnet ', myTime, myThid ) |
& 'Qnet ', myTime, myThid ) |
379 |
#endif /* ALLOW_BALANCE_FLUXES */ |
#endif /* ALLOW_BALANCE_FLUXES */ |
849 |
ENDDO |
ENDDO |
850 |
|
|
851 |
#ifdef ALLOW_BALANCE_RELAX |
#ifdef ALLOW_BALANCE_RELAX |
|
C |
|
852 |
# ifdef ALLOW_AUTODIFF_TAMC |
# ifdef ALLOW_AUTODIFF_TAMC |
853 |
CADJ STORE SSSrlx = comlev1, key=ikey_dynamics, kind=isbyte |
CADJ STORE SSSrlx = comlev1, key=ikey_dynamics, kind=isbyte |
854 |
CADJ STORE SSSrlxTile = comlev1, key=ikey_dynamics, kind=isbyte |
CADJ STORE SSSrlxTile = comlev1, key=ikey_dynamics, kind=isbyte |
858 |
CADJ STORE SSTrlxGlob = comlev1, key=ikey_dynamics, kind=isbyte |
CADJ STORE SSTrlxGlob = comlev1, key=ikey_dynamics, kind=isbyte |
859 |
# endif /* ALLOW_AUTODIFF_TAMC */ |
# endif /* ALLOW_AUTODIFF_TAMC */ |
860 |
IF ( balanceThetaClimRelax ) THEN |
IF ( balanceThetaClimRelax ) THEN |
861 |
CALL GLOBAL_SUM_TILE_RL( SSTrlxTile, SSTrlxGlob, myThid ) |
CALL GLOBAL_SUM_TILE_RL( SSTrlxTile, SSTrlxGlob, myThid ) |
862 |
DO bj=myByLo(myThid),myByHi(myThid) |
DO bj=myByLo(myThid),myByHi(myThid) |
863 |
DO bi=myBxLo(myThid),myBxHi(myThid) |
DO bi=myBxLo(myThid),myBxHi(myThid) |
864 |
DO j=1-OLy,sNy+OLy |
DO j=1-OLy,sNy+OLy |
904 |
# endif /* ALLOW_DIAGNOSTICS */ |
# endif /* ALLOW_DIAGNOSTICS */ |
905 |
IF ( balancePrintMean.AND.balanceThetaClimRelax ) THEN |
IF ( balancePrintMean.AND.balanceThetaClimRelax ) THEN |
906 |
_BEGIN_MASTER( myThid ) |
_BEGIN_MASTER( myThid ) |
907 |
WRITE(msgbuf,'(a,a,e24.17)') 'rm Global mean of ', |
WRITE(msgBuf,'(A,A,E24.17)') 'rm Global mean of ', |
908 |
& 'SSTrlx = ', SSTrlxGlob / globalArea |
& 'SSTrlx = ', SSTrlxGlob / globalArea |
909 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
910 |
& SQUEEZE_RIGHT , myThid) |
& SQUEEZE_RIGHT , myThid) |
911 |
_END_MASTER( myThid ) |
_END_MASTER( myThid ) |
912 |
ENDIF |
ENDIF |
913 |
c |
|
914 |
IF ( balancePrintMean.AND.balanceSaltClimRelax ) THEN |
IF ( balancePrintMean.AND.balanceSaltClimRelax ) THEN |
915 |
_BEGIN_MASTER( myThid ) |
_BEGIN_MASTER( myThid ) |
916 |
WRITE(msgbuf,'(a,a,e24.17)') 'rm Global mean of ', |
WRITE(msgBuf,'(A,A,E24.17)') 'rm Global mean of ', |
917 |
& 'SSSrlx = ', SSSrlxGlob / globalArea |
& 'SSSrlx = ', SSSrlxGlob / globalArea |
918 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
919 |
& SQUEEZE_RIGHT , myThid) |
& SQUEEZE_RIGHT , myThid) |