File indexing completed on 2024-02-01 06:10:18 UTC
view on githubraw file Latest commit 427e24e1 on 2024-01-31 16:50:14 UTC
467a85a3d2 Patr*0001 #include "AUTODIFF_OPTIONS.h"
bead363026 Jean*0002 #ifdef ALLOW_CTRL
0003 # include "CTRL_OPTIONS.h"
0004 #endif
735a3220ac Jean*0005 #include "AD_CONFIG.h"
467a85a3d2 Patr*0006
0007
14f548ea59 Jean*0008
467a85a3d2 Patr*0009
14f548ea59 Jean*0010 SUBROUTINE ADDUMMY_IN_DYNAMICS( myTime, myIter, myThid )
467a85a3d2 Patr*0011
0012
0013
14f548ea59 Jean*0014
467a85a3d2 Patr*0015
0016
0017
0018
0019
0020
0021
14f548ea59 Jean*0022
467a85a3d2 Patr*0023
0024
0025
0026
0027 IMPLICIT NONE
0028
0029
0030 #include "SIZE.h"
0031 #include "EEPARAMS.h"
0032 #include "PARAMS.h"
14f548ea59 Jean*0033 #include "AUTODIFF_PARAMS.h"
467a85a3d2 Patr*0034 #ifdef ALLOW_MNC
0035 #include "MNC_PARAMS.h"
0036 #endif
14f548ea59 Jean*0037
467a85a3d2 Patr*0038 #ifdef ALLOW_AUTODIFF_MONITOR
0039 # include "adcommon.h"
816e6857b6 Gael*0040 # include "AUTODIFF.h"
467a85a3d2 Patr*0041 #endif
0042
0043
0044
14f548ea59 Jean*0045
0046
0047
0048 _RL myTime
0049 INTEGER myIter
0050 INTEGER myThid
467a85a3d2 Patr*0051
0052 #if (defined (ALLOW_ADJOINT_RUN) || defined (ALLOW_ADMTLM))
0053 #ifdef ALLOW_AUTODIFF_MONITOR
0054
14f548ea59 Jean*0055
0056 LOGICAL DIFFERENT_MULTIPLE
0057 EXTERNAL DIFFERENT_MULTIPLE
0058
467a85a3d2 Patr*0059
0060
14f548ea59 Jean*0061
0062
df5a9764ba Jean*0063 CHARACTER*(10) suff
7c50f07931 Mart*0064
14f548ea59 Jean*0065 #ifdef ALLOW_AUTODIFF_MONITOR_DIAG
0066 _RL var3Du(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
0067 _RS dumRS(1)
0068 #endif
467a85a3d2 Patr*0069
0070
0071 IF (
14f548ea59 Jean*0072 & DIFFERENT_MULTIPLE(adjDumpFreq,myTime,deltaTClock)
467a85a3d2 Patr*0073 & ) THEN
0074
14f548ea59 Jean*0075 CALL TIMER_START('I/O (WRITE) [ADJOINT LOOP]', myThid )
0076
816e6857b6 Gael*0077
0078 dumpAdRecDy=dumpAdRecDy+1
0079
0080
0081
0082
14f548ea59 Jean*0083 IF ( dumpAdVarExch.EQ.1 ) THEN
467a85a3d2 Patr*0084 #ifdef AUTODIFF_TAMC_COMPATIBILITY
0085
14f548ea59 Jean*0086 #else /* ndfef AUTODIFF_TAMC_COMPATIBILITY */
467a85a3d2 Patr*0087 # ifdef ALLOW_AUTODIFF_MONITOR_DIAG
14f548ea59 Jean*0088 CALL ADEXCH_3D_RL( adrhoinsitu, Nr, myThid )
0089 CALL ADEXCH_3D_RL( adtotphihyd, Nr, myThid )
467a85a3d2 Patr*0090 # endif
0091 #endif /* AUTODIFF_TAMC_COMPATIBILITY */
14f548ea59 Jean*0092 ENDIF
467a85a3d2 Patr*0093
0094
df5a9764ba Jean*0095 IF ( rwSuffixType.EQ.0 ) THEN
0096 WRITE(suff,'(I10.10)') myIter
0097 ELSE
0098 CALL RW_GET_SUFFIX( suff, myTime, myIter, myThid )
0099 ENDIF
467a85a3d2 Patr*0100
0101 #ifdef ALLOW_AUTODIFF_MONITOR_DIAG
14f548ea59 Jean*0102 IF ( dumpAdVarExch.NE.2 ) THEN
816e6857b6 Gael*0103 IF (.NOT.dumpAdByRec) CALL WRITE_FLD_XYZ_RL( 'ADJrhoinsitu.',
0104 & suff, adrhoinsitu, myIter, myThid )
0105 IF ( dumpAdByRec ) CALL WRITE_REC_XYZ_RL( 'ADJrhoinsitu',
4545c79864 Jean*0106 & adrhoinsitu, dumpAdRecDy, myIter, myThid )
467a85a3d2 Patr*0107
14f548ea59 Jean*0108
0109
467a85a3d2 Patr*0110
14f548ea59 Jean*0111 ELSE
0112
0113 CALL COPY_ADVAR_OUTP( dumRS,adrhoinsitu,var3Du,Nr,12,myThid )
816e6857b6 Gael*0114 IF (.NOT.dumpAdByRec) CALL WRITE_FLD_XYZ_RL( 'ADJrhoinsitu.',
0115 & suff, var3Du, myIter, myThid )
0116 IF ( dumpAdByRec ) CALL WRITE_REC_XYZ_RL( 'ADJrhoinsitu',
4545c79864 Jean*0117 & var3Du, dumpAdRecDy, myIter, myThid )
14f548ea59 Jean*0118 ENDIF
467a85a3d2 Patr*0119 #endif
0120
14f548ea59 Jean*0121 CALL TIMER_STOP( 'I/O (WRITE) [ADJOINT LOOP]', myThid )
467a85a3d2 Patr*0122
14f548ea59 Jean*0123 ENDIF
467a85a3d2 Patr*0124
0125 #endif /* ALLOW_AUTODIFF_MONITOR */
0126 #endif /* ALLOW_ADJOINT_RUN */
0127
0128 RETURN
0129 END