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

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

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

revision 1.1 by heimbach, Sun Mar 25 22:33:53 2001 UTC revision 1.7 by jmc, Mon Oct 8 23:50:52 2007 UTC
# Line 1  Line 1 
1    C $Header$
2    C $Name$
3    
4  #include "CPP_OPTIONS.h"  #include "AUTODIFF_OPTIONS.h"
5    
6  c     ==================================================================  c     ==================================================================
7  c  c
# Line 25  c Line 27  c
27  c    o  active_write_tile_xy   - Write an active 2D variable to a file.  c    o  active_write_tile_xy   - Write an active 2D variable to a file.
28  c    o  active_write_tile_xyz  - Write an active 3D variable to a file.  c    o  active_write_tile_xyz  - Write an active 3D variable to a file.
29  c  c
 c  
30  c        changed: Christian Eckert eckert@mit.edu 24-Apr-2000  c        changed: Christian Eckert eckert@mit.edu 24-Apr-2000
 c  
31  c                 - Added routines that do active writes on tiles  c                 - Added routines that do active writes on tiles
32  c                   instead of a whole thread.  c                   instead of a whole thread.
33    c        changed: heimbach@mit.edu 05-Mar-2001
34    c                 - added active file handling of xz-/yz-arrays
35  c  c
36  c     ==================================================================  c     ==================================================================
37    
38    
39    CBOP
40    C     !ROUTINE: active_read_xy
41    C     !INTERFACE:
42        subroutine active_read_xy(        subroutine active_read_xy(
43       I                           active_var_file,       I                           active_var_file,
44       O                           active_var,       O                           active_var,
# Line 45  c     ================================== Line 50  c     ==================================
50       I                         , dummy       I                         , dummy
51       &                         )       &                         )
52    
53    C     !DESCRIPTION: \bv
54  c     ==================================================================  c     ==================================================================
55  c     SUBROUTINE active_read_xy  c     SUBROUTINE active_read_xy
56  c     ==================================================================  c     ==================================================================
57  c  c     o Read an active 2D (XY) variable from file.
 c     o Read an active 2D variable from file.  
 c  
58  c     started: Christian Eckert eckert@mit.edu 30-Jun-1999  c     started: Christian Eckert eckert@mit.edu 30-Jun-1999
 c  
 c     changed: Christian Eckert eckert@mit.edu 11-Feb-2000  
 c  
 c              - Restructured the code in order to create a package  
 c                for the MITgcmUV.  
 c  
59  c     ==================================================================  c     ==================================================================
60  c     SUBROUTINE active_read_xy  c     SUBROUTINE active_read_xy
61  c     ==================================================================  c     ==================================================================
62    C     \ev
63    
64    C     !USES:
65        implicit none        implicit none
66    
67  c     == global variables ==  c     == global variables ==
   
68  #include "EEPARAMS.h"  #include "EEPARAMS.h"
69  #include "SIZE.h"  #include "SIZE.h"
70    
71    C     !INPUT/OUTPUT PARAMETERS:
72  c     == routine arguments ==  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        character*(*) active_var_file
83        _RL     active_var(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        _RL     active_var(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
84        integer irec        integer irec
# Line 80  c     == routine arguments == Line 88  c     == routine arguments ==
88        logical lAdInit        logical lAdInit
89        _RL     dummy        _RL     dummy
90    
91    C     !LOCAL VARIABLES:
92  c     == local variables ==  c     == local variables ==
   
93        integer mynr        integer mynr
94    
95  c     == end of interface ==  c     == end of interface ==
96    CEOP
97    
98        mynr = 1        mynr = 1
99        call active_read_rl( active_var_file, active_var, doglobalread,        call active_read_rl( active_var_file, active_var, doglobalread,
# Line 96  c     == end of interface == Line 105  c     == end of interface ==
105    
106  c     ==================================================================  c     ==================================================================
107    
108    CBOP
109    C     !ROUTINE: active_read_xyz
110    C     !INTERFACE:
111        subroutine active_read_xyz(        subroutine active_read_xyz(
112       I                            active_var_file,       I                            active_var_file,
113       O                            active_var,       O                            active_var,
# Line 107  c     ================================== Line 119  c     ==================================
119       I                         , dummy       I                         , dummy
120       &                           )       &                           )
121    
122    C     !DESCRIPTION: \bv
123  c     ==================================================================  c     ==================================================================
124  c     SUBROUTINE active_read_xyz  c     SUBROUTINE active_read_xyz
125  c     ==================================================================  c     ==================================================================
 c  
126  c     o Read an active 3D variable from file.  c     o Read an active 3D variable from file.
 c  
127  c     started: Christian Eckert eckert@mit.edu 30-Jun-1999  c     started: Christian Eckert eckert@mit.edu 30-Jun-1999
 c  
 c     changed: Christian Eckert eckert@mit.edu 11-Feb-2000  
 c  
 c              - Restructured the code in order to create a package  
 c                for the MITgcmUV.  
 c  
128  c     ==================================================================  c     ==================================================================
129  c     SUBROUTINE active_read_xyz  c     SUBROUTINE active_read_xyz
130  c     ==================================================================  c     ==================================================================
131    C     \ev
132    
133    C     !USES:
134        implicit none        implicit none
135    
136  c     == global variables ==  c     == global variables ==
   
137  #include "EEPARAMS.h"  #include "EEPARAMS.h"
138  #include "SIZE.h"  #include "SIZE.h"
139    
140    C     !INPUT/OUTPUT PARAMETERS:
141  c     == routine arguments ==  c     == routine arguments ==
142    c     active_var_file: filename
143    c     active_var:      array
144    c     irec:            record number
145    c     myOptimIter:     number of optimization iteration (default: 0)
146    c     mythid:          thread number for this instance
147    c     doglobalread:    flag for global or local read/write
148    c                      (default: .false.)
149    c     lAdInit:         initialisation of corresponding adjoint
150    c                      variable and write to active file
151        character*(*) active_var_file        character*(*) active_var_file
152        _RL active_var(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)        _RL active_var(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
153        integer irec        integer irec
# Line 142  c     == routine arguments == Line 157  c     == routine arguments ==
157        logical lAdInit        logical lAdInit
158        _RL     dummy        _RL     dummy
159    
160    C     !LOCAL VARIABLES:
161  c     == local variables ==  c     == local variables ==
   
162        integer mynr        integer mynr
163    
164  c     == end of interface ==  c     == end of interface ==
165    CEOP
166    
167        mynr = nr        mynr = nr
168        call active_read_rl( active_var_file, active_var, doglobalread,        call active_read_rl( active_var_file, active_var, doglobalread,
# Line 159  c     == end of interface == Line 175  c     == end of interface ==
175  c     ==================================================================  c     ==================================================================
176    
177    
178    CBOP
179    C     !ROUTINE: active_read_xz
180    C     !INTERFACE:
181        subroutine active_read_xz(        subroutine active_read_xz(
182       I                           active_var_file,       I                           active_var_file,
183       O                           active_var,       O                           active_var,
# Line 170  c     ================================== Line 189  c     ==================================
189       I                         , dummy       I                         , dummy
190       &                         )       &                         )
191    
192    C     !DESCRIPTION: \bv
193  c     ==================================================================  c     ==================================================================
194  c     SUBROUTINE active_read_xz  c     SUBROUTINE active_read_xz
195  c     ==================================================================  c     ==================================================================
 c  
196  c     o Read an active 2D xz-slice from file.  c     o Read an active 2D xz-slice from file.
 c  
197  c     started: heimbach@mit.edu 05-Mar-2001  c     started: heimbach@mit.edu 05-Mar-2001
 c  
198  c     ==================================================================  c     ==================================================================
199  c     SUBROUTINE active_read_xz  c     SUBROUTINE active_read_xz
200  c     ==================================================================  c     ==================================================================
201    C     \ev
202    
203    C     !USES:
204        implicit none        implicit none
205    
206  c     == global variables ==  c     == global variables ==
   
207  #include "EEPARAMS.h"  #include "EEPARAMS.h"
208  #include "SIZE.h"  #include "SIZE.h"
209    
210    C     !INPUT/OUTPUT PARAMETERS:
211  c     == routine arguments ==  c     == routine arguments ==
212    c     active_var_file: filename
213    c     active_var:      array
214    c     irec:            record number
215    c     myOptimIter:     number of optimization iteration (default: 0)
216    c     mythid:          thread number for this instance
217    c     doglobalread:    flag for global or local read/write
218    c                      (default: .false.)
219    c     lAdInit:         initialisation of corresponding adjoint
220    c                      variable and write to active file
221        character*(*) active_var_file        character*(*) active_var_file
222        _RL     active_var(1-olx:snx+olx,nsx,nsy)        _RL     active_var(1-olx:snx+olx,nsx,nsy)
223        integer irec        integer irec
# Line 200  c     == routine arguments == Line 227  c     == routine arguments ==
227        logical lAdInit        logical lAdInit
228        _RL     dummy        _RL     dummy
229    
230    C     !LOCAL VARIABLES:
231  c     == local variables ==  c     == local variables ==
   
232        integer mynr        integer mynr
233    
234  c     == end of interface ==  c     == end of interface ==
235    CEOP
236    
237        mynr = 1        mynr = nr
238        call active_read_xz_rl( active_var_file, active_var, doglobalread,        call active_read_xz_rl( active_var_file, active_var, doglobalread,
239       &                     lAdInit, irec, mynr,       &                     lAdInit, irec, mynr,
240       &                     FORWARD_SIMULATION, myOptimIter, mythid)       &                     FORWARD_SIMULATION, myOptimIter, mythid)
# Line 217  c     == end of interface == Line 245  c     == end of interface ==
245  c     ==================================================================  c     ==================================================================
246    
247    
248        subroutine active_read_yz(  CBOP
249    C     !ROUTINE: active_read_yz
250    C     !INTERFACE:
251           subroutine active_read_yz(
252       I                           active_var_file,       I                           active_var_file,
253       O                           active_var,       O                           active_var,
254       I                           irec,       I                           irec,
# Line 228  c     ================================== Line 259  c     ==================================
259       I                         , dummy       I                         , dummy
260       &                         )       &                         )
261    
262    C     !DESCRIPTION: \bv
263  c     ==================================================================  c     ==================================================================
264  c     SUBROUTINE active_read_yz  c     SUBROUTINE active_read_yz
265  c     ==================================================================  c     ==================================================================
 c  
266  c     o Read an active 2D yz-slice from file.  c     o Read an active 2D yz-slice from file.
 c  
267  c     started: heimbach@mit.edu 05-Mar-2001  c     started: heimbach@mit.edu 05-Mar-2001
 c  
268  c     ==================================================================  c     ==================================================================
269  c     SUBROUTINE active_read_yz  c     SUBROUTINE active_read_yz
270  c     ==================================================================  c     ==================================================================
271    C     \ev
272    
273    C     !USES:
274        implicit none        implicit none
275    
276  c     == global variables ==  c     == global variables ==
   
277  #include "EEPARAMS.h"  #include "EEPARAMS.h"
278  #include "SIZE.h"  #include "SIZE.h"
279    
280    C     !INPUT/OUTPUT PARAMETERS:
281  c     == routine arguments ==  c     == routine arguments ==
282    c     active_var_file: filename
283    c     active_var:      array
284    c     irec:            record number
285    c     myOptimIter:     number of optimization iteration (default: 0)
286    c     mythid:          thread number for this instance
287    c     doglobalread:    flag for global or local read/write
288    c                      (default: .false.)
289    c     lAdInit:         initialisation of corresponding adjoint
290    c                      variable and write to active file
291        character*(*) active_var_file        character*(*) active_var_file
292        _RL     active_var(1-oly:sny+oly,nsx,nsy)        _RL     active_var(1-oly:sny+oly,nsx,nsy)
293        integer irec        integer irec
# Line 258  c     == routine arguments == Line 297  c     == routine arguments ==
297        logical lAdInit        logical lAdInit
298        _RL     dummy        _RL     dummy
299    
300    C     !LOCAL VARIABLES:
301  c     == local variables ==  c     == local variables ==
   
302        integer mynr        integer mynr
303    
304  c     == end of interface ==  c     == end of interface ==
305    CEOP
306    
307        mynr = 1        mynr = nr
308        call active_read_yz_rl( active_var_file, active_var, doglobalread,        call active_read_yz_rl( active_var_file, active_var, doglobalread,
309       &                     lAdInit, irec, mynr,       &                     lAdInit, irec, mynr,
310       &                     FORWARD_SIMULATION, myOptimIter, mythid)       &                     FORWARD_SIMULATION, myOptimIter, mythid)
# Line 274  c     == end of interface == Line 314  c     == end of interface ==
314    
315  c     ==================================================================  c     ==================================================================
316    
317    CBOP
318    C     !ROUTINE: active_write_xy
319    C     !INTERFACE:
320        subroutine active_write_xy(        subroutine active_write_xy(
321       I                            active_var_file,       I                            active_var_file,
322       I                            active_var,       I                            active_var,
# Line 283  c     ================================== Line 326  c     ==================================
326       I                         , dummy       I                         , dummy
327       &                          )       &                          )
328    
329    C     !DESCRIPTION: \bv
330  c     ==================================================================  c     ==================================================================
331  c     SUBROUTINE active_write_xy  c     SUBROUTINE active_write_xy
332  c     ==================================================================  c     ==================================================================
 c  
333  c     o Write an active 2D variable to a file.  c     o Write an active 2D variable to a file.
 c  
334  c     started: Christian Eckert eckert@mit.edu 30-Jun-1999  c     started: Christian Eckert eckert@mit.edu 30-Jun-1999
 c  
 c     changed: Christian Eckert eckert@mit.edu 11-Feb-2000  
 c  
 c              - Restructured the code in order to create a package  
 c                for the MITgcmUV.  
 c  
335  c     ==================================================================  c     ==================================================================
336  c     SUBROUTINE active_write_xy  c     SUBROUTINE active_write_xy
337  c     ==================================================================  c     ==================================================================
338    C     \ev
339    
340    C     !USES:
341        implicit none        implicit none
342    
343  c     == global variables ==  c     == global variables ==
   
344  #include "EEPARAMS.h"  #include "EEPARAMS.h"
345  #include "SIZE.h"  #include "SIZE.h"
346    
347  c     == routine arguments ==  c     == routine arguments ==
348    c     active_var_file: filename
349    c     active_var:      array
350    c     irec:            record number
351    c     myOptimIter:     number of optimization iteration (default: 0)
352    c     mythid:          thread number for this instance
353        character*(*) active_var_file        character*(*) active_var_file
354        _RL     active_var(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        _RL     active_var(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
355        integer irec        integer irec
# Line 316  c     == routine arguments == Line 357  c     == routine arguments ==
357        integer mythid        integer mythid
358        _RL     dummy        _RL     dummy
359    
360    C     !LOCAL VARIABLES:
361  c     == local variables ==  c     == local variables ==
   
362        integer mynr        integer mynr
363        logical globalfile        logical globalfile
364    
365  c     == end of interface ==  c     == end of interface ==
366    CEOP
367    
368        mynr = 1        mynr = 1
369        globalfile = .false.        globalfile = .false.
# Line 335  c     == end of interface == Line 377  c     == end of interface ==
377    
378  c     ==================================================================  c     ==================================================================
379    
380    CBOP
381    C     !ROUTINE: active_write_xyz
382    C     !INTERFACE:
383        subroutine active_write_xyz(        subroutine active_write_xyz(
384       I                             active_var_file,       I                             active_var_file,
385       I                             active_var,       I                             active_var,
# Line 344  c     ================================== Line 389  c     ==================================
389       I                         , dummy       I                         , dummy
390       &                           )       &                           )
391    
392    C     !DESCRIPTION: \bv
393  c     ==================================================================  c     ==================================================================
394  c     SUBROUTINE active_write_xyz  c     SUBROUTINE active_write_xyz
395  c     ==================================================================  c     ==================================================================
 c  
396  c     o Write an active 3D variable to a file.  c     o Write an active 3D variable to a file.
 c  
397  c     started: Christian Eckert eckert@mit.edu 30-Jun-1999  c     started: Christian Eckert eckert@mit.edu 30-Jun-1999
 c  
 c     changed: Christian Eckert eckert@mit.edu 11-Feb-2000  
 c  
 c              - Restructured the code in order to create a package  
 c                for the MITgcmUV.  
 c  
398  c     ==================================================================  c     ==================================================================
399  c     SUBROUTINE active_write_xyz  c     SUBROUTINE active_write_xyz
400  c     ==================================================================  c     ==================================================================
401    C     \ev
402    
403    C     !USES:
404        implicit none        implicit none
405    
406  c     == global variables ==  c     == global variables ==
   
407  #include "EEPARAMS.h"  #include "EEPARAMS.h"
408  #include "SIZE.h"  #include "SIZE.h"
409    
410  c     == routine arguments ==  c     == routine arguments ==
411    c     active_var_file: filename
412    c     active_var:      array
413    c     irec:            record number
414    c     myOptimIter:     number of optimization iteration (default: 0)
415    c     mythid:          thread number for this instance
416        character*(*) active_var_file        character*(*) active_var_file
417        _RL active_var(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)        _RL active_var(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
418        integer irec        integer irec
# Line 377  c     == routine arguments == Line 420  c     == routine arguments ==
420        integer mythid        integer mythid
421        _RL     dummy        _RL     dummy
422    
423    C     !LOCAL VARIABLES:
424  c     == local variables ==  c     == local variables ==
   
425        integer mynr        integer mynr
426        logical globalfile        logical globalfile
427    
428  c     == end of interface ==  c     == end of interface ==
429    CEOP
430    
431        mynr = nr        mynr = nr
432        globalfile = .false.        globalfile = .false.
# Line 395  c     == end of interface == Line 439  c     == end of interface ==
439    
440  c     ==================================================================  c     ==================================================================
441    
442    CBOP
443    C     !ROUTINE: active_write_xz
444    C     !INTERFACE:
445        subroutine active_write_xz(        subroutine active_write_xz(
446       I                            active_var_file,       I                            active_var_file,
447       I                            active_var,       I                            active_var,
# Line 404  c     ================================== Line 451  c     ==================================
451       I                         , dummy       I                         , dummy
452       &                          )       &                          )
453    
454    C     !DESCRIPTION: \bv
455  c     ==================================================================  c     ==================================================================
456  c     SUBROUTINE active_write_xz  c     SUBROUTINE active_write_xz
457  c     ==================================================================  c     ==================================================================
 c  
458  c     o Write an active 2D xz-slice to a file.  c     o Write an active 2D xz-slice to a file.
 c  
459  c     started: heimbach@mit.edu 05-Mar-2001  c     started: heimbach@mit.edu 05-Mar-2001
 c  
460  c     ==================================================================  c     ==================================================================
461  c     SUBROUTINE active_write_xz  c     SUBROUTINE active_write_xz
462  c     ==================================================================  c     ==================================================================
463    C     \ev
464    
465    C     !USES:
466        implicit none        implicit none
467    
468  c     == global variables ==  c     == global variables ==
   
469  #include "EEPARAMS.h"  #include "EEPARAMS.h"
470  #include "SIZE.h"  #include "SIZE.h"
471    
472  c     == routine arguments ==  c     == routine arguments ==
473    c     active_var_file: filename
474    c     active_var:      array
475    c     irec:            record number
476    c     myOptimIter:     number of optimization iteration (default: 0)
477    c     mythid:          thread number for this instance
478        character*(*) active_var_file        character*(*) active_var_file
479        _RL     active_var(1-olx:snx+olx,nsx,nsy)        _RL     active_var(1-olx:snx+olx,nsx,nsy)
480        integer irec        integer irec
# Line 432  c     == routine arguments == Line 482  c     == routine arguments ==
482        integer mythid        integer mythid
483        _RL     dummy        _RL     dummy
484    
485    C     !LOCAL VARIABLES:
486  c     == local variables ==  c     == local variables ==
   
487        integer mynr        integer mynr
488        logical globalfile        logical globalfile
489    
490  c     == end of interface ==  c     == end of interface ==
491    CEOP
492    
493        mynr = 1        mynr = nr
494        globalfile = .false.        globalfile = .false.
495    
496        call active_write_xz_rl( active_var_file, active_var, globalfile,        call active_write_xz_rl( active_var_file, active_var, globalfile,
# Line 451  c     == end of interface == Line 502  c     == end of interface ==
502    
503  c     ==================================================================  c     ==================================================================
504    
505    CBOP
506    C     !ROUTINE: active_write_yz
507    C     !INTERFACE:
508        subroutine active_write_yz(        subroutine active_write_yz(
509       I                            active_var_file,       I                            active_var_file,
510       I                            active_var,       I                            active_var,
# Line 460  c     ================================== Line 514  c     ==================================
514       I                         , dummy       I                         , dummy
515       &                          )       &                          )
516    
517    C     !DESCRIPTION: \bv
518  c     ==================================================================  c     ==================================================================
519  c     SUBROUTINE active_write_yz  c     SUBROUTINE active_write_yz
520  c     ==================================================================  c     ==================================================================
 c  
521  c     o Write an active 2D variable to a file.  c     o Write an active 2D variable to a file.
 c  
522  c     started: heimbach@mit.edu 05-Mar-2001  c     started: heimbach@mit.edu 05-Mar-2001
 c  
523  c     ==================================================================  c     ==================================================================
524  c     SUBROUTINE active_write_yz  c     SUBROUTINE active_write_yz
525  c     ==================================================================  c     ==================================================================
526    C     \ev
527    
528    C     !USES:
529        implicit none        implicit none
530    
531  c     == global variables ==  c     == global variables ==
   
532  #include "EEPARAMS.h"  #include "EEPARAMS.h"
533  #include "SIZE.h"  #include "SIZE.h"
534    
535  c     == routine arguments ==  c     == routine arguments ==
536    c     active_var_file: filename
537    c     active_var:      array
538    c     irec:            record number
539    c     myOptimIter:     number of optimization iteration (default: 0)
540    c     mythid:          thread number for this instance
541        character*(*) active_var_file        character*(*) active_var_file
542        _RL     active_var(1-oly:sny+oly,nsx,nsy)        _RL     active_var(1-oly:sny+oly,nsx,nsy)
543        integer irec        integer irec
# Line 488  c     == routine arguments == Line 545  c     == routine arguments ==
545        integer mythid        integer mythid
546        _RL     dummy        _RL     dummy
547    
548    C     !LOCAL VARIABLES:
549  c     == local variables ==  c     == local variables ==
   
550        integer mynr        integer mynr
551        logical globalfile        logical globalfile
552    
553  c     == end of interface ==  c     == end of interface ==
554    CEOP
555    
556        mynr = 1        mynr = nr
557        globalfile = .false.        globalfile = .false.
558    
559        call active_write_yz_rl( active_var_file, active_var, globalfile,        call active_write_yz_rl( active_var_file, active_var, globalfile,
# Line 813  c     == end of interface == Line 871  c     == end of interface ==
871    
872        return        return
873        end        end
874    
875    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.22