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

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

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


Revision 1.2.6.2 - (show annotations) (download)
Tue Jul 8 15:20:22 2003 UTC (22 years ago) by heimbach
Branch: ecco-branch
CVS Tags: ecco_c51_e34d, ecco_c51_e34e, ecco_c51_e34f, ecco_c51_e34g, ecco_c51_e34c
Changes since 1.2.6.1: +0 -24 lines
o introducing integer flag debugLevel
o introducing pathname variable mdsioLocalDir for mdsio

1
2 #include "CPP_OPTIONS.h"
3
4 c ==================================================================
5 c
6 c active_file.F: Routines to handle the I/O of the active file for
7 c the adjoint calculations. All files are direct
8 c access files.
9 c
10 c Routines
11 c
12 c o active_read_xy - Read an active 2D variable from file.
13 c o active_read_xyz - Read an active 3D variable from file.
14 c o active_read_xz - Read an active 2D xz-slice from file.
15 c o active_read_yz - Read an active 2D yz-slice from file.
16 c
17 c o active_write_xy - Write an active 2D variable to a file.
18 c o active_write_xyz - Write an active 3D variable to a file.
19 c o active_write_xz - Write an active 2D xz-slice to a file.
20 c o active_write_yz - Write an active 2D yz-slice to a file.
21 c
22 c o active_read_tile_xy - Read an active 2D variable from file.
23 c o active_read_tile_xyz - Read an active 3D variable from file.
24 c
25 c o active_write_tile_xy - Write an active 2D variable to a file.
26 c o active_write_tile_xyz - Write an active 3D variable to a file.
27 c
28 c
29 c changed: Christian Eckert eckert@mit.edu 24-Apr-2000
30 c - Added routines that do active writes on tiles
31 c instead of a whole thread.
32 c changed: heimbach@mit.edu 05-Mar-2001
33 c - added active file handling of xz-/yz-arrays
34 c
35 c ==================================================================
36
37
38 CBOP
39 C !ROUTINE: active_read_xy
40 C !INTERFACE:
41 subroutine active_read_xy(
42 I active_var_file,
43 O active_var,
44 I irec,
45 I doglobalread,
46 I lAdInit,
47 I myOptimIter,
48 I mythid
49 I , dummy
50 & )
51
52 C !DESCRIPTION: \bv
53 c ==================================================================
54 c SUBROUTINE active_read_xy
55 c ==================================================================
56 c o Read an active 2D (XY) variable from file.
57 c started: Christian Eckert eckert@mit.edu 30-Jun-1999
58 c ==================================================================
59 C \ev
60
61 C !USES:
62 implicit none
63
64 c == global variables ==
65 #include "EEPARAMS.h"
66 #include "SIZE.h"
67
68 C !INPUT/OUTPUT PARAMETERS:
69 c == routine arguments ==
70 c active_var_file: filename
71 c active_var: array
72 c irec: record number
73 c myOptimIter: number of optimization iteration (default: 0)
74 c mythid: thread number for this instance
75 c doglobalread: flag for global or local read/write
76 c (default: .false.)
77 c lAdInit: initialisation of corresponding adjoint
78 c variable and write to active file
79 character*(*) active_var_file
80 _RL active_var(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
81 integer irec
82 integer myOptimIter
83 integer mythid
84 logical doglobalread
85 logical lAdInit
86 _RL dummy
87
88 C !LOCAL VARIABLES:
89 c == local variables ==
90 integer mynr
91
92 c == end of interface ==
93 CEOP
94
95 mynr = 1
96 call active_read_rl( active_var_file, active_var, doglobalread,
97 & lAdInit, irec, mynr,
98 & FORWARD_SIMULATION, myOptimIter, mythid)
99
100 return
101 end
102
103 c ==================================================================
104
105 CBOP
106 C !ROUTINE: active_read_xyz
107 C !INTERFACE:
108 subroutine active_read_xyz(
109 I active_var_file,
110 O active_var,
111 I irec,
112 I doglobalread,
113 I lAdInit,
114 I myOptimIter,
115 I mythid
116 I , dummy
117 & )
118
119 C !DESCRIPTION: \bv
120 c ==================================================================
121 c SUBROUTINE active_read_xyz
122 c ==================================================================
123 c o Read an active 3D variable from file.
124 c started: Christian Eckert eckert@mit.edu 30-Jun-1999
125 c ==================================================================
126 C \ev
127
128 C !USES:
129 implicit none
130
131 c == global variables ==
132 #include "EEPARAMS.h"
133 #include "SIZE.h"
134
135 C !INPUT/OUTPUT PARAMETERS:
136 c == routine arguments ==
137 c active_var_file: filename
138 c active_var: array
139 c irec: record number
140 c myOptimIter: number of optimization iteration (default: 0)
141 c mythid: thread number for this instance
142 c doglobalread: flag for global or local read/write
143 c (default: .false.)
144 c lAdInit: initialisation of corresponding adjoint
145 c variable and write to active file
146 character*(*) active_var_file
147 _RL active_var(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
148 integer irec
149 integer myOptimIter
150 integer mythid
151 logical doglobalread
152 logical lAdInit
153 _RL dummy
154
155 C !LOCAL VARIABLES:
156 c == local variables ==
157 integer mynr
158
159 c == end of interface ==
160 CEOP
161
162 mynr = nr
163 call active_read_rl( active_var_file, active_var, doglobalread,
164 & lAdInit, irec, mynr,
165 & FORWARD_SIMULATION, myOptimIter, mythid)
166
167 return
168 end
169
170 c ==================================================================
171
172
173 CBOP
174 C !ROUTINE: active_read_xz
175 C !INTERFACE:
176 subroutine active_read_xz(
177 I active_var_file,
178 O active_var,
179 I irec,
180 I doglobalread,
181 I lAdInit,
182 I myOptimIter,
183 I mythid
184 I , dummy
185 & )
186
187 C !DESCRIPTION: \bv
188 c ==================================================================
189 c SUBROUTINE active_read_xz
190 c ==================================================================
191 c o Read an active 2D xz-slice from file.
192 c started: heimbach@mit.edu 05-Mar-2001
193 c ==================================================================
194 C \ev
195
196 C !USES:
197 implicit none
198
199 c == global variables ==
200 #include "EEPARAMS.h"
201 #include "SIZE.h"
202
203 C !INPUT/OUTPUT PARAMETERS:
204 c == routine arguments ==
205 c active_var_file: filename
206 c active_var: array
207 c irec: record number
208 c myOptimIter: number of optimization iteration (default: 0)
209 c mythid: thread number for this instance
210 c doglobalread: flag for global or local read/write
211 c (default: .false.)
212 c lAdInit: initialisation of corresponding adjoint
213 c variable and write to active file
214 character*(*) active_var_file
215 _RL active_var(1-olx:snx+olx,nsx,nsy)
216 integer irec
217 integer myOptimIter
218 integer mythid
219 logical doglobalread
220 logical lAdInit
221 _RL dummy
222
223 C !LOCAL VARIABLES:
224 c == local variables ==
225 integer mynr
226
227 c == end of interface ==
228 CEOP
229
230 mynr = nr
231 call active_read_xz_rl( active_var_file, active_var, doglobalread,
232 & lAdInit, irec, mynr,
233 & FORWARD_SIMULATION, myOptimIter, mythid)
234
235 return
236 end
237
238 c ==================================================================
239
240
241 CBOP
242 C !ROUTINE: active_read_yz
243 C !INTERFACE:
244 subroutine active_read_yz(
245 I active_var_file,
246 O active_var,
247 I irec,
248 I doglobalread,
249 I lAdInit,
250 I myOptimIter,
251 I mythid
252 I , dummy
253 & )
254
255 C !DESCRIPTION: \bv
256 c ==================================================================
257 c SUBROUTINE active_read_yz
258 c ==================================================================
259 c o Read an active 2D yz-slice from file.
260 c started: heimbach@mit.edu 05-Mar-2001
261 c ==================================================================
262 C \ev
263
264 C !USES:
265 implicit none
266
267 c == global variables ==
268 #include "EEPARAMS.h"
269 #include "SIZE.h"
270
271 C !INPUT/OUTPUT PARAMETERS:
272 c == routine arguments ==
273 c active_var_file: filename
274 c active_var: array
275 c irec: record number
276 c myOptimIter: number of optimization iteration (default: 0)
277 c mythid: thread number for this instance
278 c doglobalread: flag for global or local read/write
279 c (default: .false.)
280 c lAdInit: initialisation of corresponding adjoint
281 c variable and write to active file
282 character*(*) active_var_file
283 _RL active_var(1-oly:sny+oly,nsx,nsy)
284 integer irec
285 integer myOptimIter
286 integer mythid
287 logical doglobalread
288 logical lAdInit
289 _RL dummy
290
291 C !LOCAL VARIABLES:
292 c == local variables ==
293 integer mynr
294
295 c == end of interface ==
296 CEOP
297
298 mynr = nr
299 call active_read_yz_rl( active_var_file, active_var, doglobalread,
300 & lAdInit, irec, mynr,
301 & FORWARD_SIMULATION, myOptimIter, mythid)
302
303 return
304 end
305
306 c ==================================================================
307
308 CBOP
309 C !ROUTINE: active_write_xy
310 C !INTERFACE:
311 subroutine active_write_xy(
312 I active_var_file,
313 I active_var,
314 I irec,
315 I myOptimIter,
316 I mythid
317 I , dummy
318 & )
319
320 C !DESCRIPTION: \bv
321 c ==================================================================
322 c SUBROUTINE active_write_xy
323 c ==================================================================
324 c o Write an active 2D variable to a file.
325 c started: Christian Eckert eckert@mit.edu 30-Jun-1999
326 c ==================================================================
327 C \ev
328
329 C !USES:
330 implicit none
331
332 c == global variables ==
333 #include "EEPARAMS.h"
334 #include "SIZE.h"
335
336 c == routine arguments ==
337 c active_var_file: filename
338 c active_var: array
339 c irec: record number
340 c myOptimIter: number of optimization iteration (default: 0)
341 c mythid: thread number for this instance
342 character*(*) active_var_file
343 _RL active_var(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
344 integer irec
345 integer myOptimIter
346 integer mythid
347 _RL dummy
348
349 C !LOCAL VARIABLES:
350 c == local variables ==
351 integer mynr
352 logical globalfile
353
354 c == end of interface ==
355 CEOP
356
357 mynr = 1
358 globalfile = .false.
359
360 call active_write_rl( active_var_file, active_var, globalfile,
361 & irec, mynr,
362 & FORWARD_SIMULATION, myOptimIter, mythid )
363
364 return
365 end
366
367 c ==================================================================
368
369 CBOP
370 C !ROUTINE: active_write_xyz
371 C !INTERFACE:
372 subroutine active_write_xyz(
373 I active_var_file,
374 I active_var,
375 I irec,
376 I myOptimIter,
377 I mythid
378 I , dummy
379 & )
380
381 C !DESCRIPTION: \bv
382 c ==================================================================
383 c SUBROUTINE active_write_xyz
384 c ==================================================================
385 c o Write an active 3D variable to a file.
386 c started: Christian Eckert eckert@mit.edu 30-Jun-1999
387 c ==================================================================
388 C \ev
389
390 C !USES:
391 implicit none
392
393 c == global variables ==
394 #include "EEPARAMS.h"
395 #include "SIZE.h"
396
397 c == routine arguments ==
398 c active_var_file: filename
399 c active_var: array
400 c irec: record number
401 c myOptimIter: number of optimization iteration (default: 0)
402 c mythid: thread number for this instance
403 character*(*) active_var_file
404 _RL active_var(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
405 integer irec
406 integer myOptimIter
407 integer mythid
408 _RL dummy
409
410 C !LOCAL VARIABLES:
411 c == local variables ==
412 integer mynr
413 logical globalfile
414
415 c == end of interface ==
416 CEOP
417
418 mynr = nr
419 globalfile = .false.
420 call active_write_rl(active_var_file, active_var, globalfile,
421 & irec, mynr,
422 & FORWARD_SIMULATION, myOptimIter, mythid)
423
424 return
425 end
426
427 c ==================================================================
428
429 CBOP
430 C !ROUTINE: active_write_xz
431 C !INTERFACE:
432 subroutine active_write_xz(
433 I active_var_file,
434 I active_var,
435 I irec,
436 I myOptimIter,
437 I mythid
438 I , dummy
439 & )
440
441 C !DESCRIPTION: \bv
442 c ==================================================================
443 c SUBROUTINE active_write_xz
444 c ==================================================================
445 c o Write an active 2D xz-slice to a file.
446 c started: heimbach@mit.edu 05-Mar-2001
447 c ==================================================================
448 C \ev
449
450 C !USES:
451 implicit none
452
453 c == global variables ==
454 #include "EEPARAMS.h"
455 #include "SIZE.h"
456
457 c == routine arguments ==
458 c active_var_file: filename
459 c active_var: array
460 c irec: record number
461 c myOptimIter: number of optimization iteration (default: 0)
462 c mythid: thread number for this instance
463 character*(*) active_var_file
464 _RL active_var(1-olx:snx+olx,nsx,nsy)
465 integer irec
466 integer myOptimIter
467 integer mythid
468 _RL dummy
469
470 C !LOCAL VARIABLES:
471 c == local variables ==
472 integer mynr
473 logical globalfile
474
475 c == end of interface ==
476 CEOP
477
478 mynr = nr
479 globalfile = .false.
480
481 call active_write_xz_rl( active_var_file, active_var, globalfile,
482 & irec, mynr,
483 & FORWARD_SIMULATION, myOptimIter, mythid )
484
485 return
486 end
487
488 c ==================================================================
489
490 CBOP
491 C !ROUTINE: active_write_yz
492 C !INTERFACE:
493 subroutine active_write_yz(
494 I active_var_file,
495 I active_var,
496 I irec,
497 I myOptimIter,
498 I mythid
499 I , dummy
500 & )
501
502 C !DESCRIPTION: \bv
503 c ==================================================================
504 c SUBROUTINE active_write_yz
505 c ==================================================================
506 c o Write an active 2D variable to a file.
507 c started: heimbach@mit.edu 05-Mar-2001
508 c ==================================================================
509 C \ev
510
511 C !USES:
512 implicit none
513
514 c == global variables ==
515 #include "EEPARAMS.h"
516 #include "SIZE.h"
517
518 c == routine arguments ==
519 c active_var_file: filename
520 c active_var: array
521 c irec: record number
522 c myOptimIter: number of optimization iteration (default: 0)
523 c mythid: thread number for this instance
524 character*(*) active_var_file
525 _RL active_var(1-oly:sny+oly,nsx,nsy)
526 integer irec
527 integer myOptimIter
528 integer mythid
529 _RL dummy
530
531 C !LOCAL VARIABLES:
532 c == local variables ==
533 integer mynr
534 logical globalfile
535
536 c == end of interface ==
537 CEOP
538
539 mynr = nr
540 globalfile = .false.
541
542 call active_write_yz_rl( active_var_file, active_var, globalfile,
543 & irec, mynr,
544 & FORWARD_SIMULATION, myOptimIter, mythid )
545
546 return
547 end
548
549 c ==================================================================
550
551 subroutine active_read_tile_xy(
552 I active_var_file,
553 O active_var,
554 I irec,
555 I doglobalread,
556 I bi,
557 I bj,
558 I lAdInit,
559 I myOptimIter,
560 I mythid
561 & )
562
563 c ==================================================================
564 c SUBROUTINE active_read_tile_xy
565 c ==================================================================
566 c
567 c o Read an active 2D variable from file.
568 c
569 c started: Christian Eckert eckert@mit.edu 30-Jun-1999
570 c
571 c changed: Christian Eckert eckert@mit.edu 11-Feb-2000
572 c
573 c - Restructured the code in order to create a package
574 c for the MITgcmUV.c
575 c
576 c changed: Christian Eckert eckert@mit.edu 24-Apr-2000
577 c
578 c - Added routines that do active writes on tiles
579 c instead of a whole thread.
580 c
581 c ==================================================================
582
583 implicit none
584
585 c == global variables ==
586
587 #include "EEPARAMS.h"
588 #include "SIZE.h"
589
590 c == routine arguments ==
591
592 character*(*) active_var_file
593 _RL active_var(1-olx:snx+olx,1-oly:sny+oly)
594 integer irec
595 integer myOptimIter
596 integer mythid
597 integer bi
598 integer bj
599 logical doglobalread
600 logical lAdInit
601
602 c == local variables ==
603
604 integer mynr
605
606 c == end of interface ==
607
608 mynr = 1
609 call active_read_tile_rl(
610 I active_var_file,
611 I active_var,
612 I doglobalread,
613 I lAdInit,
614 I irec,
615 I mynr,
616 I bi,
617 I bj,
618 I FORWARD_SIMULATION,
619 I myOptimIter,
620 I mythid
621 & )
622
623 return
624 end
625
626
627 subroutine active_read_tile_xyz(
628 I active_var_file,
629 O active_var,
630 I irec,
631 I doglobalread,
632 I bi,
633 I bj,
634 I lAdInit,
635 I myOptimIter,
636 I mythid
637 & )
638
639 c ==================================================================
640 c SUBROUTINE active_read_tile_xyz
641 c ==================================================================
642 c
643 c o Read an active 3D variable from file.
644 c
645 c started: Christian Eckert eckert@mit.edu 30-Jun-1999
646 c
647 c changed: Christian Eckert eckert@mit.edu 11-Feb-2000
648 c
649 c - Restructured the code in order to create a package
650 c for the MITgcmUV.c
651 c
652 c changed: Christian Eckert eckert@mit.edu 24-Apr-2000
653 c
654 c - Added routines that do active writes on tiles
655 c instead of a whole thread.
656 c
657 c ==================================================================
658
659 implicit none
660
661 c == global variables ==
662
663 #include "EEPARAMS.h"
664 #include "SIZE.h"
665
666 c == routine arguments ==
667
668 character*(*) active_var_file
669 _RL active_var(1-olx:snx+olx,1-oly:sny+oly,nr)
670 integer irec
671 integer myOptimIter
672 integer mythid
673 logical doglobalread
674 integer bi
675 integer bj
676 logical lAdInit
677
678 c == local variables ==
679
680 integer mynr
681
682 c == end of interface ==
683
684 mynr = nr
685
686 call active_read_tile_rl(
687 I active_var_file,
688 I active_var,
689 I doglobalread,
690 I lAdInit,
691 I irec,
692 I mynr,
693 I bi,
694 I bj,
695 I FORWARD_SIMULATION,
696 I myOptimIter,
697 I mythid
698 & )
699
700 return
701 end
702
703
704 subroutine active_write_tile_xy(
705 I active_var_file,
706 I active_var,
707 I irec,
708 I bi,
709 I bj,
710 I myOptimIter,
711 I mythid
712 & )
713
714 c ==================================================================
715 c SUBROUTINE active_write_tile_xy
716 c ==================================================================
717 c
718 c o Write an active 2D variable to a file.
719 c
720 c started: Christian Eckert eckert@mit.edu 30-Jun-1999
721 c
722 c changed: Christian Eckert eckert@mit.edu 11-Feb-2000
723 c
724 c - Restructured the code in order to create a package
725 c for the MITgcmUV.c
726 c
727 c changed: Christian Eckert eckert@mit.edu 24-Apr-2000
728 c
729 c - Added routines that do active writes on tiles
730 c instead of a whole thread.
731 c
732 c ==================================================================
733
734 implicit none
735
736 c == global variables ==
737
738 #include "EEPARAMS.h"
739 #include "SIZE.h"
740
741 c == routine arguments ==
742
743 character*(*) active_var_file
744 _RL active_var(1-olx:snx+olx,1-oly:sny+oly)
745 integer irec
746 integer bi
747 integer bj
748 integer myOptimIter
749 integer mythid
750
751 c == local variables ==
752
753 integer mynr
754 logical globalfile
755
756 c == end of interface ==
757
758 mynr = 1
759 globalfile = .false.
760
761 call active_write_tile_rl(
762 I active_var_file,
763 I active_var,
764 I globalfile,
765 I irec,
766 I mynr,
767 I bi,
768 I bj,
769 I FORWARD_SIMULATION,
770 I myOptimIter,
771 I mythid
772 & )
773
774 return
775 end
776
777
778 subroutine active_write_tile_xyz(
779 I active_var_file,
780 I active_var,
781 I irec,
782 I bi,
783 I bj,
784 I myOptimIter,
785 I mythid
786 & )
787
788 c ==================================================================
789 c SUBROUTINE active_write_tile_xyz
790 c ==================================================================
791 c
792 c o Write an active 3D variable to a file.
793 c
794 c started: Christian Eckert eckert@mit.edu 30-Jun-1999
795 c
796 c changed: Christian Eckert eckert@mit.edu 11-Feb-2000
797 c
798 c - Restructured the code in order to create a package
799 c for the MITgcmUV.c
800 c
801 c changed: Christian Eckert eckert@mit.edu 24-Apr-2000
802 c
803 c - Added routines that do active writes on tiles
804 c instead of a whole thread.
805 c
806 c ==================================================================
807
808 implicit none
809
810 c == global variables ==
811
812 #include "EEPARAMS.h"
813 #include "SIZE.h"
814
815 c == routine arguments ==
816
817 character*(*) active_var_file
818 _RL active_var(1-olx:snx+olx,1-oly:sny+oly,nr)
819 integer irec
820 integer bi
821 integer bj
822 integer myOptimIter
823 integer mythid
824
825 c == local variables ==
826
827 integer mynr
828 logical globalfile
829
830 c == end of interface ==
831
832 mynr = nr
833 globalfile = .false.
834 call active_write_tile_rl(
835 I active_var_file,
836 I active_var,
837 I globalfile,
838 I irec,
839 I mynr,
840 I bi,
841 I bj,
842 I FORWARD_SIMULATION,
843 I myOptimIter,
844 I mythid
845 & )
846
847 return
848 end

  ViewVC Help
Powered by ViewVC 1.1.22