File indexing completed on 2023-07-14 05:10:08 UTC
view on githubraw file Latest commit de57a2ec on 2023-07-13 16:55:13 UTC
97d49af5d4 Jean*0001 #include "AUTODIFF_OPTIONS.h"
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
db46a9c7cf Jean*0015
97d49af5d4 Jean*0016
0017
0018
0019
0020
0021
0022 SUBROUTINE g_ACTIVE_READ_GEN_RL(
0023 I activeVar_file,
0024 O active_var,
0025 O g_active_var,
0026 I arrShape, myNr,
0027 I iRec,
0028 I globalFile,
0029 I useCurrentDir,
0030 I lAdInit,
0031 I myOptimIter,
0032 I myThid,
0033 I dummy, g_dummy )
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046 IMPLICIT NONE
0047
0048
0049 #include "EEPARAMS.h"
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065 CHARACTER*(*) activeVar_file
0066 _RL active_var(*)
0067 _RL g_active_var(*)
0068 CHARACTER*(2) arrShape
0069 INTEGER myNr
0070 INTEGER iRec
0071 LOGICAL globalFile
0072 LOGICAL useCurrentDir
0073 LOGICAL lAdInit
0074 INTEGER myOptimIter
0075 INTEGER myThid
0076 _RL dummy, g_dummy
0077
0078
0079 CHARACTER*(2) pref
de57a2ec4b Mart*0080 CHARACTER*(MAX_LEN_FNAM) fName
97d49af5d4 Jean*0081
0082
0083 pref = 'g_'
f9d7cbfb72 Ou W*0084 CALL ADD_PREFIX( pref, activeVar_file, fName )
97d49af5d4 Jean*0085
0086 IF ( arrShape.EQ.'XY' ) THEN
0087
0088 CALL ACTIVE_READ_3D_RL(
0089 & activeVar_file, active_var, globalFile,
0090 & useCurrentDir, lAdInit, iRec, myNr,
0091 & FORWARD_SIMULATION, myOptimIter, myThid )
0092 CALL ACTIVE_READ_3D_RL(
0093 & fName, g_active_var, globalFile,
0094 & useCurrentDir, lAdInit, iRec, myNr,
0095 & TANGENT_SIMULATION, myOptimIter, myThid )
0096
0097 ELSEIF ( arrShape.EQ.'XZ' ) THEN
0098
0099 CALL ACTIVE_READ_XZ_RL(
0100 & activeVar_file, active_var, globalFile,
0101 & useCurrentDir, lAdInit, iRec, myNr,
0102 & FORWARD_SIMULATION, myOptimIter, myThid )
0103 CALL ACTIVE_READ_XZ_RL(
0104 & fName, g_active_var, globalFile,
0105 & useCurrentDir, lAdInit, iRec, myNr,
0106 & TANGENT_SIMULATION, myOptimIter, myThid )
0107
0108 ELSEIF ( arrShape.EQ.'YZ' ) THEN
0109
0110 CALL ACTIVE_READ_YZ_RL(
0111 & activeVar_file, active_var, globalFile,
0112 & useCurrentDir, lAdInit, iRec, myNr,
0113 & FORWARD_SIMULATION, myOptimIter, myThid )
0114 CALL ACTIVE_READ_YZ_RL(
0115 & fName, g_active_var, globalFile,
0116 & useCurrentDir, lAdInit, iRec, myNr,
0117 & TANGENT_SIMULATION, myOptimIter, myThid )
0118
0119 ELSE
0120 STOP
0121 & 'ABNORMAL END: S/R g_ACTIVE_READ_GEN_RL: invalid arrShape'
0122 ENDIF
0123
0124 RETURN
0125 END
0126
0127
0128
0129
0130
0131 SUBROUTINE g_ACTIVE_READ_GEN_RS(
0132 I activeVar_file,
0133 O active_var,
0134 O g_active_var,
0135 I arrShape, myNr,
0136 I iRec,
0137 I globalFile,
0138 I useCurrentDir,
0139 I lAdInit,
0140 I myOptimIter,
0141 I myThid,
0142 I dummy, g_dummy )
0143
0144
0145
0146
0147
0148
0149
0150
0151
0152
0153
0154
0155 IMPLICIT NONE
0156
0157
0158 #include "EEPARAMS.h"
0159
0160
0161
0162
0163
0164
0165
0166
0167
0168
0169
0170
0171
0172
0173
0174 CHARACTER*(*) activeVar_file
0175 _RS active_var(*)
0176 _RS g_active_var(*)
0177 CHARACTER*(2) arrShape
0178 INTEGER myNr
0179 INTEGER iRec
0180 LOGICAL globalFile
0181 LOGICAL useCurrentDir
0182 LOGICAL lAdInit
0183 INTEGER myOptimIter
0184 INTEGER myThid
0185 _RS dummy, g_dummy
0186
0187
0188 CHARACTER*(2) pref
de57a2ec4b Mart*0189 CHARACTER*(MAX_LEN_FNAM) fName
97d49af5d4 Jean*0190
0191
0192 pref = 'g_'
f9d7cbfb72 Ou W*0193 CALL ADD_PREFIX( pref, activeVar_file, fName )
97d49af5d4 Jean*0194
0195 IF ( arrShape.EQ.'XY' ) THEN
0196
0197 CALL ACTIVE_READ_3D_RS(
0198 & activeVar_file, active_var, globalFile,
0199 & useCurrentDir, lAdInit, iRec, myNr,
0200 & FORWARD_SIMULATION, myOptimIter, myThid )
0201 CALL ACTIVE_READ_3D_RS(
0202 & fName, g_active_var, globalFile,
0203 & useCurrentDir, lAdInit, iRec, myNr,
0204 & TANGENT_SIMULATION, myOptimIter, myThid )
0205
0206 ELSEIF ( arrShape.EQ.'XZ' ) THEN
0207
0208 CALL ACTIVE_READ_XZ_RS(
0209 & activeVar_file, active_var, globalFile,
0210 & useCurrentDir, lAdInit, iRec, myNr,
0211 & FORWARD_SIMULATION, myOptimIter, myThid )
0212 CALL ACTIVE_READ_XZ_RS(
0213 & fName, g_active_var, globalFile,
0214 & useCurrentDir, lAdInit, iRec, myNr,
0215 & TANGENT_SIMULATION, myOptimIter, myThid )
0216
0217 ELSEIF ( arrShape.EQ.'YZ' ) THEN
0218
0219 CALL ACTIVE_READ_YZ_RS(
0220 & activeVar_file, active_var, globalFile,
0221 & useCurrentDir, lAdInit, iRec, myNr,
0222 & FORWARD_SIMULATION, myOptimIter, myThid )
0223 CALL ACTIVE_READ_YZ_RS(
0224 & fName, g_active_var, globalFile,
0225 & useCurrentDir, lAdInit, iRec, myNr,
0226 & TANGENT_SIMULATION, myOptimIter, myThid )
0227
0228 ELSE
0229 STOP
0230 & 'ABNORMAL END: S/R g_ACTIVE_READ_GEN_RS: invalid arrShape'
0231 ENDIF
0232
0233 RETURN
0234 END
0235
0236
0237
0238
0239
0240 SUBROUTINE g_ACTIVE_WRITE_GEN_RL(
0241 I activeVar_file,
0242 I active_var,
0243 I g_active_var,
0244 I arrShape, myNr,
0245 I iRec,
0246 I useCurrentDir,
0247 I myOptimIter,
0248 I myThid,
0249 I dummy, g_dummy )
0250
0251
0252
0253
0254
0255
0256
0257
0258
0259
0260
0261
0262 IMPLICIT NONE
0263
0264
0265 #include "EEPARAMS.h"
0266
0267
0268
0269
0270
0271
0272
0273
0274
0275
0276
0277
0278 CHARACTER*(*) activeVar_file
0279 _RL active_var(*)
0280 _RL g_active_var(*)
0281 CHARACTER*(2) arrShape
0282 INTEGER myNr
0283 INTEGER iRec
0284 LOGICAL useCurrentDir
0285 INTEGER myOptimIter
0286 INTEGER myThid
0287 _RL dummy, g_dummy
0288
0289
0290
0291 CHARACTER*(2) pref
de57a2ec4b Mart*0292 CHARACTER*(MAX_LEN_FNAM) fName
97d49af5d4 Jean*0293 LOGICAL globalFile
0294
0295
0296 pref = 'g_'
f9d7cbfb72 Ou W*0297 CALL ADD_PREFIX( pref, activeVar_file, fName )
97d49af5d4 Jean*0298 globalFile = .FALSE.
0299
0300 IF ( arrShape.EQ.'XY' ) THEN
0301
0302 CALL ACTIVE_WRITE_3D_RL(
0303 & activeVar_file, active_var, globalFile,
0304 & useCurrentDir, iRec, myNr,
0305 & FORWARD_SIMULATION, myOptimIter, myThid )
0306 CALL ACTIVE_WRITE_3D_RL(
0307 & fName, g_active_var, globalFile,
0308 & useCurrentDir, iRec, myNr,
0309 & TANGENT_SIMULATION, myOptimIter, myThid )
0310
0311 ELSEIF ( arrShape.EQ.'XZ' ) THEN
0312
0313 CALL ACTIVE_WRITE_XZ_RL(
0314 & activeVar_file, active_var, globalFile,
0315 & useCurrentDir, iRec, myNr,
0316 & FORWARD_SIMULATION, myOptimIter, myThid )
0317 CALL ACTIVE_WRITE_XZ_RL(
0318 & fName, g_active_var, globalFile,
0319 & useCurrentDir, iRec, myNr,
0320 & TANGENT_SIMULATION, myOptimIter, myThid )
0321
0322 ELSEIF ( arrShape.EQ.'YZ' ) THEN
0323
0324 CALL ACTIVE_WRITE_YZ_RL(
0325 & activeVar_file, active_var, globalFile,
0326 & useCurrentDir, iRec, myNr,
0327 & FORWARD_SIMULATION, myOptimIter, myThid )
0328 CALL ACTIVE_WRITE_YZ_RL(
0329 & fName, g_active_var, globalFile,
0330 & useCurrentDir, iRec, myNr,
0331 & TANGENT_SIMULATION, myOptimIter, myThid )
0332
0333 ELSE
0334 STOP
0335 & 'ABNORMAL END: S/R g_ACTIVE_WRITE_GEN_RL: invalid arrShape'
0336 ENDIF
0337
0338 RETURN
0339 END
0340
0341
0342
0343
0344
0345 SUBROUTINE g_ACTIVE_WRITE_GEN_RS(
0346 I activeVar_file,
0347 I active_var,
0348 I g_active_var,
0349 I arrShape, myNr,
0350 I iRec,
0351 I useCurrentDir,
0352 I myOptimIter,
0353 I myThid,
0354 I dummy, g_dummy )
0355
0356
0357
0358
0359
0360
0361
0362
0363
0364
0365
0366
0367 IMPLICIT NONE
0368
0369
0370 #include "EEPARAMS.h"
0371
0372
0373
0374
0375
0376
0377
0378
0379
0380
0381
0382
0383 CHARACTER*(*) activeVar_file
0384 _RS active_var(*)
0385 _RS g_active_var(*)
0386 CHARACTER*(2) arrShape
0387 INTEGER myNr
0388 INTEGER iRec
0389 LOGICAL useCurrentDir
0390 INTEGER myOptimIter
0391 INTEGER myThid
0392 _RS dummy, g_dummy
0393
0394
0395
0396 CHARACTER*(2) pref
de57a2ec4b Mart*0397 CHARACTER*(MAX_LEN_FNAM) fName
97d49af5d4 Jean*0398 LOGICAL globalFile
0399
0400
0401 pref = 'g_'
f9d7cbfb72 Ou W*0402 CALL ADD_PREFIX( pref, activeVar_file, fName )
97d49af5d4 Jean*0403 globalFile = .FALSE.
0404
0405 IF ( arrShape.EQ.'XY' ) THEN
0406
0407 CALL ACTIVE_WRITE_3D_RS(
0408 & activeVar_file, active_var, globalFile,
0409 & useCurrentDir, iRec, myNr,
0410 & FORWARD_SIMULATION, myOptimIter, myThid )
0411 CALL ACTIVE_WRITE_3D_RS(
0412 & fName, g_active_var, globalFile,
0413 & useCurrentDir, iRec, myNr,
0414 & TANGENT_SIMULATION, myOptimIter, myThid )
0415
0416 ELSEIF ( arrShape.EQ.'XZ' ) THEN
0417
0418 CALL ACTIVE_WRITE_XZ_RS(
0419 & activeVar_file, active_var, globalFile,
0420 & useCurrentDir, iRec, myNr,
0421 & FORWARD_SIMULATION, myOptimIter, myThid )
0422 CALL ACTIVE_WRITE_XZ_RS(
0423 & fName, g_active_var, globalFile,
0424 & useCurrentDir, iRec, myNr,
0425 & TANGENT_SIMULATION, myOptimIter, myThid )
0426
0427 ELSEIF ( arrShape.EQ.'YZ' ) THEN
0428
0429 CALL ACTIVE_WRITE_YZ_RS(
0430 & activeVar_file, active_var, globalFile,
0431 & useCurrentDir, iRec, myNr,
0432 & FORWARD_SIMULATION, myOptimIter, myThid )
0433 CALL ACTIVE_WRITE_YZ_RS(
0434 & fName, g_active_var, globalFile,
0435 & useCurrentDir, iRec, myNr,
0436 & TANGENT_SIMULATION, myOptimIter, myThid )
0437
0438 ELSE
0439 STOP
0440 & 'ABNORMAL END: S/R g_ACTIVE_WRITE_GEN_RS: invalid arrShape'
0441 ENDIF
0442
0443 RETURN
0444 END