File indexing completed on 2025-03-03 06:10:57 UTC
view on githubraw file Latest commit b7b61e61 on 2025-03-02 15:55:22 UTC
52dd931a85 Timo*0001 #include "AUTODIFF_OPTIONS.h"
0002 #ifdef ALLOW_OPENAD
0003 # include "OPENAD_OPTIONS.h"
0004 #endif
0005 #ifdef ALLOW_CTRL
0006 # include "CTRL_OPTIONS.h"
0007 #endif
0008 #include "AD_CONFIG.h"
0009
0010
0011
0012
0013 SUBROUTINE ADDUMMY_FOR_ETAN( myTime, myIter, myThid )
0014
0015
0016
a10c595eb6 Timo*0017
52dd931a85 Timo*0018
0019
b7b61e618a Mart*0020
52dd931a85 Timo*0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
a10c595eb6 Timo*0036
52dd931a85 Timo*0037
0038
0039
0040
0041 IMPLICIT NONE
0042
0043
0044 #ifdef ALLOW_OPENAD
0045 use OAD_active
0046 use OAD_rev
0047 use OAD_tape
0048 use OAD_cp
0049 #endif
0050 #include "SIZE.h"
0051 #include "EEPARAMS.h"
0052 #include "PARAMS.h"
0053 #ifdef ALLOW_AUTODIFF_MONITOR
a10c595eb6 Timo*0054 # ifdef ALLOW_OPENAD
0055 # include "DYNVARS.h"
0056 # endif
0057 # include "AUTODIFF_PARAMS.h"
52dd931a85 Timo*0058 # include "AUTODIFF.h"
0059 # ifndef ALLOW_OPENAD
0060 # include "adcommon.h"
0061 # endif /* ALLOW_OPENAD */
0062 # ifdef ALLOW_MNC
0063 # include "MNC_PARAMS.h"
0064 # endif
0065 #endif /* ALLOW_AUTODIFF_MONITOR */
0066
0067
0068
0069
0070
0071
0072 _RL myTime
0073 INTEGER myIter
0074 INTEGER myThid
0075
0076 #if (defined (ALLOW_ADJOINT_RUN) || defined (ALLOW_ADMTLM))
0077 #ifdef ALLOW_AUTODIFF_MONITOR
0078
0079
0080 LOGICAL DIFFERENT_MULTIPLE
0081 EXTERNAL DIFFERENT_MULTIPLE
0082
0083
a10c595eb6 Timo*0084
52dd931a85 Timo*0085
0086
a10c595eb6 Timo*0087
0088
0089 _RS dumRS(1)
0090 LOGICAL doDump
52dd931a85 Timo*0091
0092
a10c595eb6 Timo*0093 doDump = DIFFERENT_MULTIPLE(adjDumpFreq,myTime,deltaTClock)
52dd931a85 Timo*0094
a10c595eb6 Timo*0095 IF ( doDump ) THEN
0096
0097
0098 dumpAdRecEt = dumpAdRecEt + 1
0099 CALL TIMER_START('I/O (WRITE) [ADJOINT LOOP]', myThid )
0100 ENDIF
52dd931a85 Timo*0101
0102 #ifndef ALLOW_OPENAD
a10c595eb6 Timo*0103 CALL DUMP_ADJ_XY(dumRS, adetan, 'ADJetan ', 'ADJetan.',
0104 & 12, doDump, dumpAdRecEt, myTime, myIter,myThid)
52dd931a85 Timo*0105 #else /* ndef ALLOW_OPENAD */
a10c595eb6 Timo*0106 CALL DUMP_ADJ_XY(dumRS, etaN%d, 'ADJetan ', 'ADJetan.',
0107 & 12, doDump, dumpAdRecEt, myTime, myIter,myThid)
52dd931a85 Timo*0108 #endif /* ndef ALLOW_OPENAD */
0109
a10c595eb6 Timo*0110 IF ( doDump ) THEN
52dd931a85 Timo*0111
a10c595eb6 Timo*0112
52dd931a85 Timo*0113 #ifndef ALLOW_OPENAD
0114 #ifdef ALLOW_MNC
0115 IF ( useMNC .AND. autodiff_mnc ) THEN
0116 CALL MNC_CW_SET_UDIM('adstate', -1, myThid)
0117 CALL MNC_CW_RL_W_S('D','adstate',0,0,'T',myTime,myThid)
0118 CALL MNC_CW_SET_UDIM('adstate', 0, myThid)
0119 CALL MNC_CW_I_W_S('I','adstate',0,0,'iter',myIter,myThid)
0120 CALL MNC_CW_RL_W_S('D','adstate',0,0,'model_time',myTime,
0121 & myThid)
0122 CALL MNC_CW_RL_W('D','adstate',0,0,'adEta', adEtaN, myThid)
0123
0124 ENDIF
0125 #endif /* ALLOW_MNC */
0126 #endif /* ALLOW_OPENAD */
0127
0128 CALL TIMER_STOP( 'I/O (WRITE) [ADJOINT LOOP]', myThid )
0129
0130 ENDIF
0131
0132 #endif /* ALLOW_AUTODIFF_MONITOR */
0133 #endif /* ALLOW_ADJOINT_RUN */
0134
0135 RETURN
0136 END