File indexing completed on 2024-05-11 05:10:13 UTC
view on githubraw file Latest commit 41c4545f on 2024-05-10 15:00:41 UTC
2f0f89f640 Patr*0001 #include "AUTODIFF_OPTIONS.h"
e7c6a35452 Jean*0002 #ifdef ALLOW_CTRL
0003 # include "CTRL_OPTIONS.h"
0004 #endif
2f0f89f640 Patr*0005
a10c595eb6 Timo*0006 SUBROUTINE ADAUTODIFF_INADMODE_UNSET( myTime, myIter, myThid )
52cd6fcfc8 Jean*0007
5127d1d91b Jean*0008
52cd6fcfc8 Jean*0009
0010
c59dd234b1 Jean*0011
2f0f89f640 Patr*0012 IMPLICIT NONE
0013
0014 #include "SIZE.h"
0015 #include "EEPARAMS.h"
0016 #include "PARAMS.h"
5127d1d91b Jean*0017 #include "AUTODIFF_PARAMS.h"
8cbe658cd1 Jean*0018 #ifdef ALLOW_SEAICE
e6026aeb57 Patr*0019 #include "SEAICE_SIZE.h"
8cbe658cd1 Jean*0020 #include "SEAICE_PARAMS.h"
0021 #endif
8efbdea137 Gael*0022 #ifdef ALLOW_CTRL
5cf4364659 Mart*0023 # include "CTRL_SIZE.h"
0024 # include "CTRL.h"
8efbdea137 Gael*0025 #endif
a10c595eb6 Timo*0026 #ifdef ALLOW_AUTODIFF_MONITOR
0027 # ifdef ALLOW_DIAGNOSTICS
41c4545f8f Jean*0028 # include "DIAGNOSTICS_P2SHARE.h"
a10c595eb6 Timo*0029 # endif
0030 #endif /* ALLOW_AUTODIFF_MONITOR */
2f0f89f640 Patr*0031
c59dd234b1 Jean*0032
0033
0034
0035
0036 _RL myTime
a10c595eb6 Timo*0037 INTEGER myIter
c59dd234b1 Jean*0038 INTEGER myThid
0039
0040
5127d1d91b Jean*0041 CHARACTER*(MAX_LEN_MBUF) msgBuf
2f0f89f640 Patr*0042
a10c595eb6 Timo*0043 #ifdef ALLOW_AUTODIFF_MONITOR
0044 # ifdef ALLOW_DIAGNOSTICS
0045 LOGICAL modelEnd
0046
0047 IF ( useDiag4AdjOutp ) THEN
0048
0049 modelEnd = myTime.EQ.startTime .OR. myIter.EQ.nIter0
0050 CALL TIMER_START('I/O (WRITE) [ADJOINT LOOP]', myThid )
0051 CALL DIAGNOSTICS_WRITE_ADJ( modelEnd, myTime, myIter, myThid )
0052 CALL TIMER_STOP( 'I/O (WRITE) [ADJOINT LOOP]', myThid )
0053 ENDIF
0054 # endif /* ALLOW_DIAGNOSTICS */
0055 #endif /* ALLOW_AUTODIFF_MONITOR */
0056
0d75a51072 Mart*0057 inAdMode = .FALSE.
2f0f89f640 Patr*0058
562c7efd9e Mart*0059 useKPP = useKPPinFwdMode
5127d1d91b Jean*0060 useGMRedi = useGMRediInFwdMode
562c7efd9e Mart*0061 useSEAICE = useSEAICEinFwdMode
b5f6e47484 Gael*0062 useGGL90 = useGGL90inFwdMode
0063 useSALT_PLUME = useSALT_PLUMEinFwdMode
6b07e0a584 Jean*0064 #ifdef ALLOW_SEAICE
0065 IF ( SEAICEuseFREEDRIFTswitchInAd ) THEN
0066 SEAICEuseFREEDRIFT = SEAICEuseFREEDRIFTinFwdMode
e5d920b361 Mart*0067 SEAICEuseLSR = .NOT.SEAICEuseFREEDRIFT
6b07e0a584 Jean*0068 ENDIF
0069 IF ( SEAICEuseDYNAMICSswitchInAd ) THEN
0070 SEAICEuseDYNAMICS = SEAICEuseDYNAMICSinFwdMode
0071 ENDIF
a661e4ae05 Gael*0072 SEAICEadjMODE=0
4dd39c50d9 Mart*0073
0074 IF ( SIregFacInFw .NE. UNSET_RL ) SINegFac = SIregFacInFw
6b07e0a584 Jean*0075 #endif /* ALLOW_SEAICE */
4240547d2d Mart*0076 viscFacAdj=viscFacInFw
5127d1d91b Jean*0077
0078 IF ( debugLevel.GE.debLevC ) THEN
0079 WRITE(msgBuf,'(A,L5)')
0080 & 'S/R ADAUTODIFF_INADMODE_UNSET: useKPP =', useKPP
0081 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0082 & SQUEEZE_RIGHT, myThid )
0083 WRITE(msgBuf,'(A,L5)')
0084 & 'S/R ADAUTODIFF_INADMODE_UNSET: useGMRedi =', useGMRedi
0085 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0086 & SQUEEZE_RIGHT, myThid )
0087 WRITE(msgBuf,'(A,L5)')
0088 & 'S/R ADAUTODIFF_INADMODE_UNSET: useSEAICE =', useSEAICE
0089 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0090 & SQUEEZE_RIGHT, myThid )
b5f6e47484 Gael*0091 WRITE(msgBuf,'(A,L5)')
0092 & 'S/R ADAUTODIFF_INADMODE_UNSET: useGGL90 =', useGGL90
0093 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0094 & SQUEEZE_RIGHT, myThid )
0095 WRITE(msgBuf,'(A,L5)')
6b07e0a584 Jean*0096 & 'S/R ADAUTODIFF_INADMODE_UNSET: useSALT_PLUME =',
b5f6e47484 Gael*0097 & useSALT_PLUME
0098 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0099 & SQUEEZE_RIGHT, myThid )
8cbe658cd1 Jean*0100
a661e4ae05 Gael*0101 WRITE(msgBuf,'(A,1PE21.14)')
0102 & 'S/R ADAUTODIFF_INADMODE_UNSET: viscFacAdj =',viscFacAdj
0103 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0104 & SQUEEZE_RIGHT, myThid )
0105
8cbe658cd1 Jean*0106 #ifdef ALLOW_SEAICE
6b07e0a584 Jean*0107 IF ( SEAICEuseFREEDRIFTswitchInAd ) THEN
0108 WRITE(msgBuf,'(2A,L5)') 'S/R ADAUTODIFF_INADMODE_UNSET: ',
0109 & 'SEAICEuseFREEDRIFT =', SEAICEuseFREEDRIFT
0110 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0111 & SQUEEZE_RIGHT, myThid )
e5d920b361 Mart*0112 WRITE(msgBuf,'(2A,L5)') 'S/R ADAUTODIFF_INADMODE_UNSET: ',
0113 & 'SEAICEuseLSR =', SEAICEuseLSR
0114 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0115 & SQUEEZE_RIGHT, myThid )
6b07e0a584 Jean*0116 ENDIF
0117 IF ( SEAICEuseDYNAMICSswitchInAd ) THEN
0118 WRITE(msgBuf,'(2A,L5)') 'S/R ADAUTODIFF_INADMODE_UNSET: ',
0119 & 'SEAICEuseDYNAMICS =', SEAICEuseDYNAMICS
0120 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0121 & SQUEEZE_RIGHT, myThid )
0122 ENDIF
a661e4ae05 Gael*0123 IF ( SEAICEapproxLevInAd.NE.0 ) THEN
0124 WRITE(msgBuf,'(2A,I2)') 'S/R ADAUTODIFF_INADMODE_UNSET: ',
0125 & 'SEAICEadjMODE =', SEAICEadjMODE
0126 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0127 & SQUEEZE_RIGHT, myThid )
0128 ENDIF
6b07e0a584 Jean*0129 #endif /* ALLOW_SEAICE */
e6026aeb57 Patr*0130
8cbe658cd1 Jean*0131 ENDIF
562c7efd9e Mart*0132
5127d1d91b Jean*0133 RETURN
0134 END