File indexing completed on 2024-05-11 05:10:14 UTC
view on githubraw file Latest commit 41c4545f on 2024-05-10 15:00:41 UTC
a10c595eb6 Timo*0001 #include "AUTODIFF_OPTIONS.h"
0002 #include "AD_CONFIG.h"
0003
0004
0005
0006
0007 SUBROUTINE DUMP_ADJ_XYZ(
0008 I var3DRS, var3DRL, diagName, dumpName, vType,
0009 I doDump, dumpAdRec, myTime, myIter, myThid )
0010
0011
0012
0013
0014
0015
0016
0017 IMPLICIT NONE
0018
0019
0020 #include "SIZE.h"
0021 #include "EEPARAMS.h"
0022 #include "PARAMS.h"
0023 #include "AUTODIFF_PARAMS.h"
0024 #ifdef ALLOW_AUTODIFF_MONITOR
0025 # ifdef ALLOW_DIAGNOSTICS
41c4545f8f Jean*0026 # include "DIAGNOSTICS_P2SHARE.h"
a10c595eb6 Timo*0027 # endif
0028 #endif /* ALLOW_AUTODIFF_MONITOR */
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046 _RS var3DRS(*)
0047 _RL var3DRL(*)
0048 CHARACTER*(8) diagName
0049 CHARACTER*(*) dumpName
0050 INTEGER vType
0051 LOGICAL doDump
0052 INTEGER dumpAdRec
0053 _RL myTime
0054 INTEGER myIter
0055 INTEGER myThid
0056
0057 #if (defined (ALLOW_ADJOINT_RUN) || defined (ALLOW_ADMTLM))
0058 #ifdef ALLOW_AUTODIFF_MONITOR
0059
0060
0061
0062
0063 CHARACTER*(10) suff
0064 _RL var3Dc(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
0065
0066
0067
0068
0069
0070
0071
0072 IF ( doDump ) THEN
0073
0074
0075 IF ( rwSuffixType.EQ.0 ) THEN
0076 WRITE(suff,'(I10.10)') myIter
0077 ELSE
0078 CALL RW_GET_SUFFIX( suff, myTime, myIter, myThid )
0079 ENDIF
0080
0081 IF ( dumpAdVarExch.EQ.2 ) THEN
0082
0083
0084 CALL COPY_ADVAR_OUTP( var3DRS, var3DRL,
0085 & var3Dc, Nr, vType, myThid )
0086 IF ( dumpAdByRec ) THEN
0087 CALL WRITE_REC_XYZ_RL( dumpName, var3Dc, dumpAdRec,
0088 & myIter, myThid )
0089 ELSE
0090 CALL WRITE_FLD_XYZ_RL( dumpName, suff, var3Dc,
0091 & myIter, myThid )
0092 ENDIF
0093
0094 ELSE
0095
0096
0097 IF ( MOD(vType,2).NE.1 ) THEN
0098 IF ( dumpAdByRec ) THEN
0099 CALL WRITE_REC_XYZ_RL( dumpName, var3DRL, dumpAdRec,
0100 & myIter, myThid )
0101 ELSE
0102 CALL WRITE_FLD_XYZ_RL( dumpName, suff, var3DRL,
0103 & myIter, myThid )
0104 ENDIF
0105 ELSE
0106 IF ( dumpAdByRec ) THEN
0107 CALL WRITE_REC_XYZ_RS( dumpName, var3DRS, dumpAdRec,
0108 & myIter, myThid )
0109 ELSE
0110 CALL WRITE_FLD_XYZ_RS( dumpName, suff, var3DRS,
0111 & myIter, myThid )
0112 ENDIF
0113 ENDIF
0114
0115 ENDIF
0116 ENDIF
0117
0118
0119 #ifdef ALLOW_DIAGNOSTICS
0120 IF ( useDiag4AdjOutp .AND. diagName.NE.'- None -' ) THEN
0121 IF ( dumpAdVarExch.EQ.2 ) THEN
0122 IF ( .NOT.doDump )
0123 & CALL COPY_ADVAR_OUTP( var3DRS, var3DRL,
0124 & var3Dc, Nr, vType, myThid )
0125 CALL DIAGNOSTICS_FILL( var3Dc, diagName, 0,Nr,0,1,1, myThid )
0126 ELSE
0127 IF ( MOD(vType,2).NE.1 ) THEN
0128 CALL DIAGNOSTICS_FILL( var3DRL, diagName,
0129 & 0, Nr, 0, 1, 1, myThid )
0130 ELSE
0131 CALL DIAGNOSTICS_FILL_RS( var3DRS, diagName,
0132 & 0, Nr, 0, 1, 1, myThid )
0133 ENDIF
0134 ENDIF
0135 ENDIF
0136 #endif /* ALLOW_DIAGNOSTICS */
0137
0138 #endif /* ALLOW_AUTODIFF_MONITOR */
0139 #endif /* ALLOW_ADJOINT_RUN */
0140
0141 RETURN
0142 END