/[MITgcm]/MITgcm/pkg/autodiff/active_file_loc_g.F
ViewVC logotype

Contents of /MITgcm/pkg/autodiff/active_file_loc_g.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.5 - (show annotations) (download)
Mon Oct 8 23:50:53 2007 UTC (16 years, 8 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint63d, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint60, checkpoint61, checkpoint62, checkpoint63, checkpoint59q, checkpoint59p, checkpoint59r, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59i, checkpoint59k, checkpoint59j, checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint61f, checkpoint61g, checkpoint61d, checkpoint61e, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint61n, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61p, checkpoint61q, checkpoint61z, checkpoint61x, checkpoint61y
Changes since 1.4: +3 -1 lines
add missing cvs $Header:$ or $Name:$

1 C $Header: $
2 C $Name: $
3
4 #include "AUTODIFF_OPTIONS.h"
5
6 c ==================================================================
7 c
8 c active_file_g.F: Routines to handle the I/O of the active file for
9 c the tangent linear calculations. All files are
10 c direct access files.
11 c
12 c Routines
13 c
14 c o g_active_read_xy - Read an active 2D variable from file.
15 c o g_active_read_xyz - Read an active 3D variable from file.
16 c o g_active_read_xz - Read an active 2D xz-slice from file.
17 c o g_active_read_yz - Read an active 2D yz-slice from file.
18 c
19 c o g_active_write_xy - Write an active 2D variable to a file.
20 c o g_active_write_xyz - Write an active 3D variable to a file.
21 c o g_active_write_xz - Write an active 2D xz-slice to a file.
22 c o g_active_write_yz - Write an active 2D yz-slice to a file.
23 c
24 c o g_active_read_tile_xy - Read an active 2D variable from file.
25 c o g_active_read_tile_xyz - Read an active 3D variable from file.
26 c
27 c o g_active_write_tile_xy - Write an active 2D variable to a file.
28 c o g_active_write_tile_xyz - Write an active 3D variable to a file.
29 c
30 c
31 c changed: Christian Eckert eckert@mit.edu 24-Apr-2000
32 c - Added routines that do active writes on tiles
33 c instead of a whole thread.
34 c changed: heimbach@mit.edu 05-Mar-2001
35 c - added active file handling of xz-/yz-arrays
36 c
37 c ==================================================================
38
39
40 CBOP
41 C !ROUTINE: g_active_read_xy_loc
42 C !INTERFACE:
43 subroutine g_active_read_xy_loc(
44 I active_var_file,
45 O active_var,
46 I irec,
47 I doglobalread,
48 I lAdInit,
49 I myOptimIter,
50 I mythid,
51 I dummy,
52 I g_active_var
53 & )
54
55 C !DESCRIPTION: \bv
56 c ==================================================================
57 c SUBROUTINE g_active_read_xy_loc
58 c ==================================================================
59 c o Read an active 2D (XY) variable from file.
60 c started: Christian Eckert eckert@mit.edu 30-Jun-1999
61 c ==================================================================
62 C \ev
63
64 C !USES:
65 implicit none
66
67 c == global variables ==
68 #include "EEPARAMS.h"
69 #include "SIZE.h"
70
71 C !INPUT/OUTPUT PARAMETERS:
72 c == routine arguments ==
73 c active_var_file: filename
74 c active_var: array
75 c irec: record number
76 c myOptimIter: number of optimization iteration (default: 0)
77 c mythid: thread number for this instance
78 c doglobalread: flag for global or local read/write
79 c (default: .false.)
80 c lAdInit: initialisation of corresponding adjoint
81 c variable and write to active file
82 character*(*) active_var_file
83 _RL active_var(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
84 _RL g_active_var(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
85 integer irec
86 integer myOptimIter
87 integer mythid
88 logical doglobalread
89 logical lAdInit
90 _RL dummy
91
92 C !LOCAL VARIABLES:
93 c == local variables ==
94 integer mynr
95 integer il
96 integer ilnblnk
97 character*(2) pref
98 character*(80) fname
99
100 c == end of interface ==
101 CEOP
102
103 mynr = 1
104 pref = 'g_'
105 write(fname(1:80),'(a)') ' '
106 il = ilnblnk(active_var_file)
107 write(fname(1:2),'(a)') pref
108 write(fname(3:2+il),'(a)') active_var_file(1:il)
109
110 call active_read_rl_loc( active_var_file, active_var,
111 & doglobalread, lAdInit, irec, mynr,
112 & FORWARD_SIMULATION, myOptimIter, mythid)
113
114 call active_read_rl_loc( fname, g_active_var,
115 & doglobalread, lAdInit, irec, mynr,
116 & TANGENT_SIMULATION, myOptimIter, mythid)
117
118 return
119 end
120
121 c ==================================================================
122
123 CBOP
124 C !ROUTINE: g_active_read_xyz_loc
125 C !INTERFACE:
126 subroutine g_active_read_xyz_loc(
127 I active_var_file,
128 O active_var,
129 I irec,
130 I doglobalread,
131 I lAdInit,
132 I myOptimIter,
133 I mythid,
134 I dummy,
135 I g_active_var
136 & )
137
138 C !DESCRIPTION: \bv
139 c ==================================================================
140 c SUBROUTINE g_active_read_xyz_loc
141 c ==================================================================
142 c o Read an active 3D variable from file.
143 c started: Christian Eckert eckert@mit.edu 30-Jun-1999
144 c ==================================================================
145 C \ev
146
147 C !USES:
148 implicit none
149
150 c == global variables ==
151 #include "EEPARAMS.h"
152 #include "SIZE.h"
153
154 C !INPUT/OUTPUT PARAMETERS:
155 c == routine arguments ==
156 c active_var_file: filename
157 c active_var: array
158 c irec: record number
159 c myOptimIter: number of optimization iteration (default: 0)
160 c mythid: thread number for this instance
161 c doglobalread: flag for global or local read/write
162 c (default: .false.)
163 c lAdInit: initialisation of corresponding adjoint
164 c variable and write to active file
165 character*(*) active_var_file
166 _RL active_var(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
167 _RL g_active_var(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
168 integer irec
169 integer myOptimIter
170 integer mythid
171 logical doglobalread
172 logical lAdInit
173 _RL dummy
174
175 C !LOCAL VARIABLES:
176 c == local variables ==
177 integer mynr
178 integer il
179 integer ilnblnk
180 character*(2) pref
181 character*(80) fname
182
183 c == end of interface ==
184 CEOP
185
186 mynr = nr
187 pref = 'g_'
188 write(fname(1:80),'(a)') ' '
189 il = ilnblnk(active_var_file)
190 write(fname(1:2),'(a)') pref
191 write(fname(3:2+il),'(a)') active_var_file(1:il)
192
193 call active_read_rl_loc( active_var_file, active_var,
194 & doglobalread, lAdInit, irec, mynr,
195 & FORWARD_SIMULATION, myOptimIter, mythid)
196
197 call active_read_rl_loc( fname, g_active_var,
198 & doglobalread, lAdInit, irec, mynr,
199 & TANGENT_SIMULATION, myOptimIter, mythid)
200
201 return
202 end
203
204 c ==================================================================
205
206
207 CBOP
208 C !ROUTINE: g_active_read_xz
209 C !INTERFACE:
210 subroutine g_active_read_xz_loc(
211 I active_var_file,
212 O active_var,
213 I irec,
214 I doglobalread,
215 I lAdInit,
216 I myOptimIter,
217 I mythid,
218 I dummy,
219 I g_active_var
220 & )
221
222 C !DESCRIPTION: \bv
223 c ==================================================================
224 c SUBROUTINE g_active_read_xz_loc
225 c ==================================================================
226 c o Read an active 2D xz-slice from file.
227 c started: heimbach@mit.edu 05-Mar-2001
228 c ==================================================================
229 C \ev
230
231 C !USES:
232 implicit none
233
234 c == global variables ==
235 #include "EEPARAMS.h"
236 #include "SIZE.h"
237
238 C !INPUT/OUTPUT PARAMETERS:
239 c == routine arguments ==
240 c active_var_file: filename
241 c active_var: array
242 c irec: record number
243 c myOptimIter: number of optimization iteration (default: 0)
244 c mythid: thread number for this instance
245 c doglobalread: flag for global or local read/write
246 c (default: .false.)
247 c lAdInit: initialisation of corresponding adjoint
248 c variable and write to active file
249 character*(*) active_var_file
250 _RL active_var(1-olx:snx+olx,nsx,nsy)
251 _RL g_active_var(1-olx:snx+olx,nsx,nsy)
252 integer irec
253 integer myOptimIter
254 integer mythid
255 logical doglobalread
256 logical lAdInit
257 _RL dummy
258
259 C !LOCAL VARIABLES:
260 c == local variables ==
261 integer mynr
262 integer il
263 integer ilnblnk
264 character*(2) pref
265 character*(80) fname
266
267 c == end of interface ==
268 CEOP
269
270 mynr = nr
271 pref = 'g_'
272 write(fname(1:80),'(a)') ' '
273 il = ilnblnk(active_var_file)
274 write(fname(1:2),'(a)') pref
275 write(fname(3:2+il),'(a)') active_var_file(1:il)
276
277 call active_read_xz_rl_loc( active_var_file, active_var,
278 & doglobalread, lAdInit, irec, mynr,
279 & FORWARD_SIMULATION, myOptimIter, mythid)
280
281 call active_read_xz_rl_loc( fname, g_active_var,
282 & doglobalread, lAdInit, irec, mynr,
283 & TANGENT_SIMULATION, myOptimIter, mythid)
284
285 return
286 end
287
288 c ==================================================================
289
290
291 CBOP
292 C !ROUTINE: g_active_read_yz_loc
293 C !INTERFACE:
294 subroutine g_active_read_yz_loc(
295 I active_var_file,
296 O active_var,
297 I irec,
298 I doglobalread,
299 I lAdInit,
300 I myOptimIter,
301 I mythid,
302 I dummy,
303 I g_active_var
304 & )
305
306 C !DESCRIPTION: \bv
307 c ==================================================================
308 c SUBROUTINE g_active_read_yz_loc
309 c ==================================================================
310 c o Read an active 2D yz-slice from file.
311 c started: heimbach@mit.edu 05-Mar-2001
312 c ==================================================================
313 C \ev
314
315 C !USES:
316 implicit none
317
318 c == global variables ==
319 #include "EEPARAMS.h"
320 #include "SIZE.h"
321
322 C !INPUT/OUTPUT PARAMETERS:
323 c == routine arguments ==
324 c active_var_file: filename
325 c active_var: array
326 c irec: record number
327 c myOptimIter: number of optimization iteration (default: 0)
328 c mythid: thread number for this instance
329 c doglobalread: flag for global or local read/write
330 c (default: .false.)
331 c lAdInit: initialisation of corresponding adjoint
332 c variable and write to active file
333 character*(*) active_var_file
334 _RL active_var(1-oly:sny+oly,nsx,nsy)
335 _RL g_active_var(1-oly:sny+oly,nsx,nsy)
336 integer irec
337 integer myOptimIter
338 integer mythid
339 logical doglobalread
340 logical lAdInit
341 _RL dummy
342
343 C !LOCAL VARIABLES:
344 c == local variables ==
345 integer mynr
346 integer il
347 integer ilnblnk
348 character*(2) pref
349 character*(80) fname
350
351 c == end of interface ==
352 CEOP
353
354 mynr = nr
355 pref = 'g_'
356 write(fname(1:80),'(a)') ' '
357 il = ilnblnk(active_var_file)
358 write(fname(1:2),'(a)') pref
359 write(fname(3:2+il),'(a)') active_var_file(1:il)
360
361 call active_read_yz_rl_loc( active_var_file, active_var,
362 & doglobalread, lAdInit, irec, mynr,
363 & FORWARD_SIMULATION, myOptimIter, mythid)
364
365 call active_read_yz_rl_loc( fname, g_active_var,
366 & doglobalread, lAdInit, irec, mynr,
367 & TANGENT_SIMULATION, myOptimIter, mythid)
368
369 return
370 end
371
372 c ==================================================================
373
374 CBOP
375 C !ROUTINE: g_active_write_xy_loc
376 C !INTERFACE:
377 subroutine g_active_write_xy_loc(
378 I active_var_file,
379 I active_var,
380 I irec,
381 I myOptimIter,
382 I mythid,
383 I dummy,
384 I g_active_var,
385 I g_dummy
386 & )
387
388 C !DESCRIPTION: \bv
389 c ==================================================================
390 c SUBROUTINE g_active_write_xy_loc
391 c ==================================================================
392 c o Write an active 2D variable to a file.
393 c started: Christian Eckert eckert@mit.edu 30-Jun-1999
394 c ==================================================================
395 C \ev
396
397 C !USES:
398 implicit none
399
400 c == global variables ==
401 #include "EEPARAMS.h"
402 #include "SIZE.h"
403
404 c == routine arguments ==
405 c active_var_file: filename
406 c active_var: array
407 c irec: record number
408 c myOptimIter: number of optimization iteration (default: 0)
409 c mythid: thread number for this instance
410 character*(*) active_var_file
411 _RL active_var(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
412 _RL g_active_var(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
413 integer irec
414 integer myOptimIter
415 integer mythid
416 _RL dummy
417 _RL g_dummy
418
419 C !LOCAL VARIABLES:
420 c == local variables ==
421 integer mynr
422 logical globalfile
423 integer il
424 integer ilnblnk
425 character*(2) pref
426 character*(80) fname
427
428 c == end of interface ==
429 CEOP
430
431 mynr = 1
432 globalfile = .false.
433 pref = 'g_'
434 write(fname(1:80),'(a)') ' '
435 il = ilnblnk(active_var_file)
436 write(fname(1:2),'(a)') pref
437 write(fname(3:2+il),'(a)') active_var_file(1:il)
438
439 call active_write_rl_loc( active_var_file, active_var,
440 & globalfile, irec, mynr,
441 & FORWARD_SIMULATION, myOptimIter, mythid )
442
443 call active_write_rl_loc( fname, g_active_var,
444 & globalfile, irec, mynr,
445 & TANGENT_SIMULATION, myOptimIter, mythid )
446
447 return
448 end
449
450 c ==================================================================
451
452 CBOP
453 C !ROUTINE: g_active_write_xyz_loc
454 C !INTERFACE:
455 subroutine g_active_write_xyz_loc(
456 I active_var_file,
457 I active_var,
458 I irec,
459 I myOptimIter,
460 I mythid,
461 I dummy,
462 I g_active_var,
463 I g_dummy
464 & )
465
466 C !DESCRIPTION: \bv
467 c ==================================================================
468 c SUBROUTINE g_active_write_xyz_loc
469 c ==================================================================
470 c o Write an active 3D variable to a file.
471 c started: Christian Eckert eckert@mit.edu 30-Jun-1999
472 c ==================================================================
473 C \ev
474
475 C !USES:
476 implicit none
477
478 c == global variables ==
479 #include "EEPARAMS.h"
480 #include "SIZE.h"
481
482 c == routine arguments ==
483 c active_var_file: filename
484 c active_var: array
485 c irec: record number
486 c myOptimIter: number of optimization iteration (default: 0)
487 c mythid: thread number for this instance
488 character*(*) active_var_file
489 _RL active_var(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
490 _RL g_active_var(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
491 integer irec
492 integer myOptimIter
493 integer mythid
494 _RL dummy
495 _RL g_dummy
496
497 C !LOCAL VARIABLES:
498 c == local variables ==
499 integer mynr
500 logical globalfile
501 integer il
502 integer ilnblnk
503 character*(2) pref
504 character*(80) fname
505
506 c == end of interface ==
507 CEOP
508
509 mynr = nr
510 globalfile = .false.
511 pref = 'g_'
512 write(fname(1:80),'(a)') ' '
513 il = ilnblnk(active_var_file)
514 write(fname(1:2),'(a)') pref
515 write(fname(3:2+il),'(a)') active_var_file(1:il)
516
517 call active_write_rl_loc( active_var_file, active_var,
518 & globalfile, irec, mynr,
519 & FORWARD_SIMULATION, myOptimIter, mythid)
520
521 call active_write_rl_loc( fname, g_active_var,
522 & globalfile, irec, mynr,
523 & TANGENT_SIMULATION, myOptimIter, mythid)
524
525 return
526 end
527
528 c ==================================================================
529
530 CBOP
531 C !ROUTINE: g_active_write_xz_loc
532 C !INTERFACE:
533 subroutine g_active_write_xz_loc(
534 I active_var_file,
535 I active_var,
536 I irec,
537 I myOptimIter,
538 I mythid,
539 I dummy,
540 I g_active_var,
541 I g_dummy
542 & )
543
544 C !DESCRIPTION: \bv
545 c ==================================================================
546 c SUBROUTINE g_active_write_xz_loc
547 c ==================================================================
548 c o Write an active 2D xz-slice to a file.
549 c started: heimbach@mit.edu 05-Mar-2001
550 c ==================================================================
551 C \ev
552
553 C !USES:
554 implicit none
555
556 c == global variables ==
557 #include "EEPARAMS.h"
558 #include "SIZE.h"
559
560 c == routine arguments ==
561 c active_var_file: filename
562 c active_var: array
563 c irec: record number
564 c myOptimIter: number of optimization iteration (default: 0)
565 c mythid: thread number for this instance
566 character*(*) active_var_file
567 _RL active_var(1-olx:snx+olx,nsx,nsy)
568 _RL g_active_var(1-olx:snx+olx,nsx,nsy)
569 integer irec
570 integer myOptimIter
571 integer mythid
572 _RL dummy
573 _RL g_dummy
574
575 C !LOCAL VARIABLES:
576 c == local variables ==
577 integer mynr
578 logical globalfile
579 integer il
580 integer ilnblnk
581 character*(2) pref
582 character*(80) fname
583
584 c == end of interface ==
585 CEOP
586
587 mynr = nr
588 globalfile = .false.
589 pref = 'g_'
590 write(fname(1:80),'(a)') ' '
591 il = ilnblnk(active_var_file)
592 write(fname(1:2),'(a)') pref
593 write(fname(3:2+il),'(a)') active_var_file(1:il)
594
595 call active_write_xz_rl_loc( active_var_file, active_var,
596 & globalfile, irec, mynr,
597 & FORWARD_SIMULATION, myOptimIter, mythid )
598
599 call active_write_xz_rl_loc( fname, g_active_var,
600 & globalfile, irec, mynr,
601 & TANGENT_SIMULATION, myOptimIter, mythid )
602
603 return
604 end
605
606 c ==================================================================
607
608 CBOP
609 C !ROUTINE: g_active_write_yz_loc
610 C !INTERFACE:
611 subroutine g_active_write_yz_loc(
612 I active_var_file,
613 I active_var,
614 I irec,
615 I myOptimIter,
616 I mythid,
617 I dummy,
618 I g_active_var,
619 I g_dummy
620 & )
621
622 C !DESCRIPTION: \bv
623 c ==================================================================
624 c SUBROUTINE g_active_write_yz_loc
625 c ==================================================================
626 c o Write an active 2D variable to a file.
627 c started: heimbach@mit.edu 05-Mar-2001
628 c ==================================================================
629 C \ev
630
631 C !USES:
632 implicit none
633
634 c == global variables ==
635 #include "EEPARAMS.h"
636 #include "SIZE.h"
637
638 c == routine arguments ==
639 c active_var_file: filename
640 c active_var: array
641 c irec: record number
642 c myOptimIter: number of optimization iteration (default: 0)
643 c mythid: thread number for this instance
644 character*(*) active_var_file
645 _RL active_var(1-oly:sny+oly,nsx,nsy)
646 _RL g_active_var(1-oly:sny+oly,nsx,nsy)
647 integer irec
648 integer myOptimIter
649 integer mythid
650 _RL dummy
651 _RL g_dummy
652
653 C !LOCAL VARIABLES:
654 c == local variables ==
655 integer mynr
656 logical globalfile
657 integer il
658 integer ilnblnk
659 character*(2) pref
660 character*(80) fname
661
662 c == end of interface ==
663 CEOP
664
665 mynr = nr
666 globalfile = .false.
667 pref = 'g_'
668 write(fname(1:80),'(a)') ' '
669 il = ilnblnk(active_var_file)
670 write(fname(1:2),'(a)') pref
671 write(fname(3:2+il),'(a)') active_var_file(1:il)
672
673 call active_write_yz_rl_loc( active_var_file, active_var,
674 & globalfile, irec, mynr,
675 & FORWARD_SIMULATION, myOptimIter, mythid )
676
677 call active_write_yz_rl_loc( fname, g_active_var,
678 & globalfile, irec, mynr,
679 & TANGENT_SIMULATION, myOptimIter, mythid )
680
681 return
682 end
683

  ViewVC Help
Powered by ViewVC 1.1.22