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

Annotation 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 - (hide 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 jmc 1.5 C $Header: $
2     C $Name: $
3 heimbach 1.2
4 edhill 1.4 #include "AUTODIFF_OPTIONS.h"
5 heimbach 1.2
6     c ==================================================================
7     c
8     c active_file_g.F: Routines to handle the I/O of the active file for
9 jmc 1.5 c the tangent linear calculations. All files are
10 heimbach 1.2 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 heimbach 1.3 call active_read_rl_loc( fname, g_active_var,
115 heimbach 1.2 & 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