/[MITgcm]/MITgcm/pkg/rw/read_rec.F
ViewVC logotype

Contents of /MITgcm/pkg/rw/read_rec.F

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


Revision 1.3 - (show annotations) (download)
Tue Sep 1 19:25:28 2009 UTC (14 years, 8 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63g, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint64, checkpoint65, checkpoint62, checkpoint63, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, 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, checkpoint61v, checkpoint61w, checkpoint61z, checkpoint61x, checkpoint61y, HEAD
Changes since 1.2: +77 -33 lines
- change & update reading S/R for Vertical Slice (were not used before)
- add set of writing S/R for Vertical Slice (in write_rec.F)

1 C $Header: /u/gcmpack/MITgcm/pkg/rw/read_rec.F,v 1.2 2007/11/13 19:39:26 jmc Exp $
2 C $Name: $
3 #include "RW_OPTIONS.h"
4
5 C-- File read_write_rec.F: Routines to handle mid-level I/O interface.
6 C-- Contents
7 C-- o READ_REC_XY_RS
8 C-- o READ_REC_XY_RL
9 C-- o READ_REC_XYZ_RS
10 C-- o READ_REC_XYZ_RL
11 C-- o READ_REC_3D_RS
12 C-- o READ_REC_3D_RL
13 C-- o READ_REC_LEV_RS
14 C-- o READ_REC_LEV_RL
15 C-- o READ_REC_XZ_RS
16 C-- o READ_REC_XZ_RL
17 C-- o READ_REC_YZ_RS
18 C-- o READ_REC_YZ_RL
19
20 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
21 CBOP
22 C !ROUTINE: READ_REC_XY_RS
23 C !INTERFACE:
24 SUBROUTINE READ_REC_XY_RS( fName,field,iRec,myIter,myThid )
25 C !DESCRIPTION: \bv
26 C READ_REC_XY_RS is a "front-end" interface to the low-level I/O
27 C routines.
28 C \ev
29 C !USES:
30 IMPLICIT NONE
31 C Global
32 #include "SIZE.h"
33 #include "EEPARAMS.h"
34 #include "PARAMS.h"
35 C !INPUT/OUTPUT PARAMETERS:
36 C Arguments
37 CHARACTER*(*) fName
38 _RS field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy)
39 INTEGER iRec
40 INTEGER myIter
41 INTEGER myThid
42
43 C Functions
44 c INTEGER ILNBLNK
45
46 C !LOCAL VARIABLES:
47 C Local
48 LOGICAL useCurrentDir
49 _RL dummyRL(1)
50 CHARACTER*(2) fType
51 INTEGER nNz
52 c INTEGER IL
53 c CHARACTER*(MAX_LEN_FNAM) fullName
54 CEOP
55
56 c IF (myIter.GE.0) THEN
57 c IL=ILNBLNK( fName )
58 c WRITE(fullName,'(2a,i10.10)') fName(1:IL),'.',myIter
59 c ELSE
60 c fullName=fName
61 c ENDIF
62
63 useCurrentDir = .FALSE.
64 fType='RS'
65 nNz=1
66 #ifdef ALLOW_MDSIO
67 CALL MDS_READ_FIELD(
68 I fName, readBinaryPrec, useCurrentDir,
69 I fType, nNz, 1, nNz,
70 O dummyRL, field,
71 I iRec, myThid )
72 #endif
73 RETURN
74 END
75
76 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
77 CBOP
78 C !ROUTINE: READ_REC_XY_RL
79 C !INTERFACE:
80 SUBROUTINE READ_REC_XY_RL( fName,field,iRec,myIter,myThid )
81
82 C !DESCRIPTION: \bv
83 C READ_REC_XY_RL is a "front-end" interface to the low-level I/O
84 C routines.
85 C \ev
86
87 C !USES:
88 IMPLICIT NONE
89 C Global
90 #include "SIZE.h"
91 #include "EEPARAMS.h"
92 #include "PARAMS.h"
93
94 C !INPUT/OUTPUT PARAMETERS:
95 C Arguments
96 CHARACTER*(*) fName
97 _RL field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy)
98 INTEGER iRec
99 INTEGER myIter
100 INTEGER myThid
101
102 C Functions
103 c INTEGER ILNBLNK
104
105 C !LOCAL VARIABLES:
106 C Local
107 LOGICAL useCurrentDir
108 _RS dummyRS(1)
109 CHARACTER*(2) fType
110 INTEGER nNz
111 c INTEGER IL
112 c CHARACTER*(MAX_LEN_FNAM) fullName
113 CEOP
114
115 c IF (myIter.GE.0) THEN
116 c IL=ILNBLNK( fName )
117 c WRITE(fullName,'(2a,i10.10)') fName(1:IL),'.',myIter
118 c ELSE
119 c fullName=fName
120 c ENDIF
121
122 useCurrentDir = .FALSE.
123 fType='RL'
124 nNz=1
125 #ifdef ALLOW_MDSIO
126 CALL MDS_READ_FIELD(
127 I fName, readBinaryPrec, useCurrentDir,
128 I fType, nNz, 1, nNz,
129 O field, dummyRS,
130 I iRec, myThid )
131 #endif
132 RETURN
133 END
134
135 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
136 CBOP
137 C !ROUTINE: READ_REC_XYZ_RS
138 C !INTERFACE:
139 SUBROUTINE READ_REC_XYZ_RS( fName,field,iRec,myIter,myThid )
140
141 C !DESCRIPTION: \bv
142 C READ_REC_XYZ_RS is a "front-end" interface to the low-level I/O
143 C routines.
144 C \ev
145
146 C !USES:
147 IMPLICIT NONE
148 C Global
149 #include "SIZE.h"
150 #include "EEPARAMS.h"
151 #include "PARAMS.h"
152
153 C !INPUT/OUTPUT PARAMETERS:
154 C Arguments
155 CHARACTER*(*) fName
156 _RS field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy)
157 INTEGER iRec
158 INTEGER myIter
159 INTEGER myThid
160
161 C Functions
162 c INTEGER ILNBLNK
163
164 C !LOCAL VARIABLES:
165 C Local
166 LOGICAL useCurrentDir
167 _RL dummyRL(1)
168 CHARACTER*(2) fType
169 INTEGER nNz
170 c INTEGER IL
171 c CHARACTER*(MAX_LEN_FNAM) fullName
172 CEOP
173
174
175 c IF (myIter.GE.0) THEN
176 c IL=ILNBLNK( fName )
177 c WRITE(fullName,'(2a,i10.10)') fName(1:IL),'.',myIter
178 c ELSE
179 c fullName=fName
180 c ENDIF
181
182 useCurrentDir = .FALSE.
183 fType='RS'
184 nNz=Nr
185 #ifdef ALLOW_MDSIO
186 CALL MDS_READ_FIELD(
187 I fName, readBinaryPrec, useCurrentDir,
188 I fType, nNz, 1, nNz,
189 O dummyRL, field,
190 I iRec, myThid )
191 #endif
192 RETURN
193 END
194
195 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
196 CBOP
197 C !ROUTINE: READ_REC_XYZ_RL
198 C !INTERFACE:
199 SUBROUTINE READ_REC_XYZ_RL( fName,field,iRec,myIter,myThid )
200
201 C !DESCRIPTION: \bv
202 C READ_REC_XYZ_RL is a "front-end" interface to the low-level I/O
203 C routines.
204 C \ev
205
206 C !USES:
207 IMPLICIT NONE
208 C Global
209 #include "SIZE.h"
210 #include "EEPARAMS.h"
211 #include "PARAMS.h"
212
213 C !INPUT/OUTPUT PARAMETERS:
214 C Arguments
215 CHARACTER*(*) fName
216 _RL field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy)
217 INTEGER iRec
218 INTEGER myIter
219 INTEGER myThid
220
221 C Functions
222 c INTEGER ILNBLNK
223
224 C !LOCAL VARIABLES:
225 C Local
226 LOGICAL useCurrentDir
227 _RS dummyRS(1)
228 CHARACTER*(2) fType
229 INTEGER nNz
230 c INTEGER IL
231 c CHARACTER*(MAX_LEN_FNAM) fullName
232 CEOP
233
234
235 c IF (myIter.GE.0) THEN
236 c IL=ILNBLNK( fName )
237 c WRITE(fullName,'(2a,i10.10)') fName(1:IL),'.',myIter
238 c ELSE
239 c fullName=fName
240 c ENDIF
241
242 useCurrentDir = .FALSE.
243 fType='RL'
244 nNz=Nr
245 #ifdef ALLOW_MDSIO
246 CALL MDS_READ_FIELD(
247 I fName, readBinaryPrec, useCurrentDir,
248 I fType, nNz, 1, nNz,
249 O field, dummyRS,
250 I iRec, myThid )
251 #endif
252 RETURN
253 END
254
255 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
256 CBOP
257 C !ROUTINE: READ_REC_3D_RS
258 C !INTERFACE:
259 SUBROUTINE READ_REC_3D_RS(
260 I fName, fPrec, nNz,
261 O field,
262 I iRec, myIter, myThid )
263
264 C !DESCRIPTION: \bv
265 C READ_REC_3D_RS is a "front-end" interface to the low-level I/O routines.
266 C read a full 3D field (nNz levels) from record number "iRec"
267 C in binary file "fName" (precision "fPrec", generally =32 or 64).
268 C \ev
269
270 C !USES:
271 IMPLICIT NONE
272 C Global
273 #include "SIZE.h"
274 #include "EEPARAMS.h"
275 #include "PARAMS.h"
276
277 C !INPUT/OUTPUT PARAMETERS:
278 C Arguments
279 CHARACTER*(*) fName
280 INTEGER fPrec
281 INTEGER nNz
282 _RS field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,nNz,nSx,nSy)
283 INTEGER iRec
284 INTEGER myIter
285 INTEGER myThid
286
287 C Functions
288 c INTEGER ILNBLNK
289
290 C !LOCAL VARIABLES:
291 C Local
292 LOGICAL useCurrentDir
293 _RL dummyRL(1)
294 CHARACTER*(2) fType
295 c INTEGER IL
296 c CHARACTER*(MAX_LEN_FNAM) fullName
297 CEOP
298
299
300 c IF (myIter.GE.0) THEN
301 c IL=ILNBLNK( fName )
302 c WRITE(fullName,'(2a,i10.10)') fName(1:IL),'.',myIter
303 c ELSE
304 c fullName=fName
305 c ENDIF
306
307 useCurrentDir = .FALSE.
308 fType='RS'
309 #ifdef ALLOW_MDSIO
310 CALL MDS_READ_FIELD(
311 I fName, fPrec, useCurrentDir,
312 I fType, nNz, 1, nNz,
313 O dummyRL, field,
314 I iRec, myThid )
315 #endif
316 RETURN
317 END
318
319 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
320 CBOP
321 C !ROUTINE: READ_REC_3D_RL
322 C !INTERFACE:
323 SUBROUTINE READ_REC_3D_RL(
324 I fName, fPrec, nNz,
325 O field,
326 I iRec, myIter, myThid )
327
328 C !DESCRIPTION: \bv
329 C READ_REC_3D_RL is a "front-end" interface to the low-level I/O routines.
330 C read a full 3D field (nNz levels) from record number "iRec"
331 C in binary file "fName" (precision "fPrec", generally =32 or 64).
332 C \ev
333
334 C !USES:
335 IMPLICIT NONE
336 C Global
337 #include "SIZE.h"
338 #include "EEPARAMS.h"
339 #include "PARAMS.h"
340
341 C !INPUT/OUTPUT PARAMETERS:
342 C Arguments
343 CHARACTER*(*) fName
344 INTEGER fPrec
345 INTEGER nNz
346 _RL field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,nNz,nSx,nSy)
347 INTEGER iRec
348 INTEGER myIter
349 INTEGER myThid
350
351 C Functions
352 c INTEGER ILNBLNK
353
354 C !LOCAL VARIABLES:
355 C Local
356 LOGICAL useCurrentDir
357 _RS dummyRS(1)
358 CHARACTER*(2) fType
359 c INTEGER IL
360 c CHARACTER*(MAX_LEN_FNAM) fullName
361 CEOP
362
363
364 c IF (myIter.GE.0) THEN
365 c IL=ILNBLNK( fName )
366 c WRITE(fullName,'(2a,i10.10)') fName(1:IL),'.',myIter
367 c ELSE
368 c fullName=fName
369 c ENDIF
370
371 useCurrentDir = .FALSE.
372 fType='RL'
373 #ifdef ALLOW_MDSIO
374 CALL MDS_READ_FIELD(
375 I fName, fPrec, useCurrentDir,
376 I fType, nNz, 1, nNz,
377 O field, dummyRS,
378 I iRec, myThid )
379 #endif
380 RETURN
381 END
382
383 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
384 CBOP
385 C !ROUTINE: READ_REC_LEV_RS
386 C !INTERFACE:
387 SUBROUTINE READ_REC_LEV_RS(
388 I fName, fPrec, kSiz, kLo, kHi,
389 O field,
390 I iRec, myIter, myThid )
391
392 C !DESCRIPTION: \bv
393 C READ_REC_LEV_RS is a "front-end" interface to the low-level I/O routines.
394 C Read a set a consecutive levels (from kLo to kHi) into 3D array (size: kSiz)
395 C from record number "iRec" in binary file "fName" (precision "fPrec",
396 C generally =32 or 64).
397 C \ev
398
399 C !USES:
400 IMPLICIT NONE
401 C Global
402 #include "SIZE.h"
403 #include "EEPARAMS.h"
404 #include "PARAMS.h"
405
406 C !INPUT/OUTPUT PARAMETERS:
407 C Arguments
408 CHARACTER*(*) fName
409 INTEGER fPrec
410 INTEGER kSiz, kLo, kHi
411 _RS field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,kSiz,nSx,nSy)
412 INTEGER iRec
413 INTEGER myIter
414 INTEGER myThid
415
416 C Functions
417 c INTEGER ILNBLNK
418
419 C !LOCAL VARIABLES:
420 C Local
421 LOGICAL useCurrentDir
422 _RL dummyRL(1)
423 CHARACTER*(2) fType
424 c INTEGER IL
425 c CHARACTER*(MAX_LEN_FNAM) fullName
426 CEOP
427
428
429 c IF (myIter.GE.0) THEN
430 c IL=ILNBLNK( fName )
431 c WRITE(fullName,'(2a,i10.10)') fName(1:IL),'.',myIter
432 c ELSE
433 c fullName=fName
434 c ENDIF
435
436 useCurrentDir = .FALSE.
437 fType='RS'
438 #ifdef ALLOW_MDSIO
439 CALL MDS_READ_FIELD(
440 I fName, fPrec, useCurrentDir,
441 I fType, kSiz, kLo, kHi,
442 O dummyRL, field,
443 I iRec, myThid )
444 #endif
445 RETURN
446 END
447
448 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
449 CBOP
450 C !ROUTINE: READ_REC_LEV_RL
451 C !INTERFACE:
452 SUBROUTINE READ_REC_LEV_RL(
453 I fName, fPrec, kSiz, kLo, kHi,
454 O field,
455 I iRec, myIter, myThid )
456
457 C !DESCRIPTION: \bv
458 C READ_REC_LEV_RL is a "front-end" interface to the low-level I/O routines.
459 C Read a set a consecutive levels (from kLo to kHi) into 3D array (size: kSiz)
460 C from record number "iRec" in binary file "fName" (precision "fPrec",
461 C generally =32 or 64).
462 C \ev
463
464 C !USES:
465 IMPLICIT NONE
466 C Global
467 #include "SIZE.h"
468 #include "EEPARAMS.h"
469 #include "PARAMS.h"
470
471 C !INPUT/OUTPUT PARAMETERS:
472 C Arguments
473 CHARACTER*(*) fName
474 INTEGER fPrec
475 INTEGER kSiz, kLo, kHi
476 _RL field(1-Olx:sNx+Olx,1-Oly:sNy+Oly,kSiz,nSx,nSy)
477 INTEGER iRec
478 INTEGER myIter
479 INTEGER myThid
480
481 C Functions
482 c INTEGER ILNBLNK
483
484 C !LOCAL VARIABLES:
485 C Local
486 LOGICAL useCurrentDir
487 _RS dummyRS(1)
488 CHARACTER*(2) fType
489 c INTEGER IL
490 c CHARACTER*(MAX_LEN_FNAM) fullName
491 CEOP
492
493
494 c IF (myIter.GE.0) THEN
495 c IL=ILNBLNK( fName )
496 c WRITE(fullName,'(2a,i10.10)') fName(1:IL),'.',myIter
497 c ELSE
498 c fullName=fName
499 c ENDIF
500
501 useCurrentDir = .FALSE.
502 fType='RL'
503 #ifdef ALLOW_MDSIO
504 CALL MDS_READ_FIELD(
505 I fName, fPrec, useCurrentDir,
506 I fType, kSiz, kLo, kHi,
507 O field, dummyRS,
508 I iRec, myThid )
509 #endif
510 RETURN
511 END
512
513 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
514 CBOP
515 C !ROUTINE: READ_REC_XZ_RS
516 C !INTERFACE:
517 SUBROUTINE READ_REC_XZ_RS(
518 I fName, fPrec, nNz,
519 O field,
520 I iRec, myIter, myThid )
521
522 C !DESCRIPTION: \bv
523 C READ_REC_XZ_RS is a "front-end" interface to the low-level I/O
524 C routines.
525 C \ev
526
527 C !USES:
528 IMPLICIT NONE
529 C Global
530 #include "SIZE.h"
531 #include "EEPARAMS.h"
532 #include "PARAMS.h"
533 C !INPUT/OUTPUT PARAMETERS:
534 C Arguments
535 CHARACTER*(*) fName
536 INTEGER fPrec
537 INTEGER nNz
538 _RS field(1-Olx:sNx+Olx,nNz,nSx,nSy)
539 INTEGER iRec
540 INTEGER myIter
541 INTEGER myThid
542
543 C Functions
544 c INTEGER ILNBLNK
545
546 C !LOCAL VARIABLES:
547 C Local
548 LOGICAL useCurrentDir
549 _RL dummyRL(1)
550 CHARACTER*(2) fType
551 c INTEGER IL
552 c CHARACTER*(MAX_LEN_FNAM) fullName
553 CEOP
554
555 c IF (myIter.GE.0) THEN
556 c IL=ILNBLNK( fName )
557 c WRITE(fullName,'(2a,i10.10)') fName(1:IL),'.',myIter
558 c ELSE
559 c fullName=fName
560 c ENDIF
561
562 useCurrentDir = .FALSE.
563 fType='RS'
564 #ifdef ALLOW_MDSIO
565 CALL MDS_READ_SEC_XZ(
566 I fName, fPrec, useCurrentDir,
567 I fType, nNz,
568 O dummyRL, field,
569 I iRec, myThid )
570 #endif
571 RETURN
572 END
573
574 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
575 CBOP
576 C !ROUTINE: READ_REC_XZ_RL
577 C !INTERFACE:
578 SUBROUTINE READ_REC_XZ_RL(
579 I fName, fPrec, nNz,
580 O field,
581 I iRec, myIter, myThid )
582
583 C !DESCRIPTION: \bv
584 C READ_REC_XZ_RL is a "front-end" interface to the low-level I/O
585 C routines.
586 C \ev
587
588 C !USES:
589 IMPLICIT NONE
590 C Global
591 #include "SIZE.h"
592 #include "EEPARAMS.h"
593 #include "PARAMS.h"
594
595 C !INPUT/OUTPUT PARAMETERS:
596 C Arguments
597 CHARACTER*(*) fName
598 INTEGER fPrec
599 INTEGER nNz
600 _RL field(1-Olx:sNx+Olx,nNz,nSx,nSy)
601 INTEGER iRec
602 INTEGER myIter
603 INTEGER myThid
604
605 C Functions
606 c INTEGER ILNBLNK
607
608 C !LOCAL VARIABLES:
609 C Local
610 LOGICAL useCurrentDir
611 _RS dummyRS(1)
612 CHARACTER*(2) fType
613 c INTEGER IL
614 c CHARACTER*(MAX_LEN_FNAM) fullName
615 CEOP
616
617 c IF (myIter.GE.0) THEN
618 c IL=ILNBLNK( fName )
619 c WRITE(fullName,'(2a,i10.10)') fName(1:IL),'.',myIter
620 c ELSE
621 c fullName=fName
622 c ENDIF
623
624 useCurrentDir = .FALSE.
625 fType='RL'
626 #ifdef ALLOW_MDSIO
627 CALL MDS_READ_SEC_XZ(
628 I fName, fPrec, useCurrentDir,
629 I fType, nNz,
630 O field, dummyRS,
631 I iRec, myThid )
632 #endif
633 RETURN
634 END
635
636 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
637 CBOP
638 C !ROUTINE: READ_REC_YZ_RS
639 C !INTERFACE:
640 SUBROUTINE READ_REC_YZ_RS(
641 I fName, fPrec, nNz,
642 O field,
643 I iRec, myIter, myThid )
644
645 C !DESCRIPTION: \bv
646 C READ_REC_YZ_RS is a "front-end" interface to the low-level I/O
647 C routines.
648 C \ev
649
650 C !USES:
651 IMPLICIT NONE
652 C Global
653 #include "SIZE.h"
654 #include "EEPARAMS.h"
655 #include "PARAMS.h"
656
657 C !INPUT/OUTPUT PARAMETERS:
658 C Arguments
659 CHARACTER*(*) fName
660 INTEGER fPrec
661 INTEGER nNz
662 _RS field(1-Oly:sNy+Oly,nNz,nSx,nSy)
663 INTEGER iRec
664 INTEGER myIter
665 INTEGER myThid
666
667 C Functions
668 c INTEGER ILNBLNK
669
670 C !LOCAL VARIABLES:
671 C Local
672 LOGICAL useCurrentDir
673 _RL dummyRL(1)
674 CHARACTER*(2) fType
675 c INTEGER IL
676 c CHARACTER*(MAX_LEN_FNAM) fullName
677 CEOP
678
679
680 c IF (myIter.GE.0) THEN
681 c IL=ILNBLNK( fName )
682 c WRITE(fullName,'(2a,i10.10)') fName(1:IL),'.',myIter
683 c ELSE
684 c fullName=fName
685 c ENDIF
686
687 useCurrentDir = .FALSE.
688 fType='RS'
689 #ifdef ALLOW_MDSIO
690 CALL MDS_READ_SEC_YZ(
691 I fName, fPrec, useCurrentDir,
692 I fType, nNz,
693 O dummyRL, field,
694 I iRec, myThid )
695 #endif
696 RETURN
697 END
698
699 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
700 CBOP
701 C !ROUTINE: READ_REC_YZ_RL
702 C !INTERFACE:
703 SUBROUTINE READ_REC_YZ_RL(
704 I fName, fPrec, nNz,
705 O field,
706 I iRec, myIter, myThid )
707
708 C !DESCRIPTION: \bv
709 C READ_REC_YZ_RL is a "front-end" interface to the low-level I/O
710 C routines.
711 C \ev
712
713 C !USES:
714 IMPLICIT NONE
715 C Global
716 #include "SIZE.h"
717 #include "EEPARAMS.h"
718 #include "PARAMS.h"
719
720 C !INPUT/OUTPUT PARAMETERS:
721 C Arguments
722 CHARACTER*(*) fName
723 INTEGER fPrec
724 INTEGER nNz
725 _RL field(1-Oly:sNy+Oly,nNz,nSx,nSy)
726 INTEGER iRec
727 INTEGER myIter
728 INTEGER myThid
729
730 C Functions
731 c INTEGER ILNBLNK
732
733 C !LOCAL VARIABLES:
734 C Local
735 LOGICAL useCurrentDir
736 _RS dummyRS(1)
737 CHARACTER*(2) fType
738 c INTEGER IL
739 c CHARACTER*(MAX_LEN_FNAM) fullName
740 CEOP
741
742
743 c IF (myIter.GE.0) THEN
744 c IL=ILNBLNK( fName )
745 c WRITE(fullName,'(2a,i10.10)') fName(1:IL),'.',myIter
746 c ELSE
747 c fullName=fName
748 c ENDIF
749
750 useCurrentDir = .FALSE.
751 fType='RL'
752 #ifdef ALLOW_MDSIO
753 CALL MDS_READ_SEC_YZ(
754 I fName, fPrec, useCurrentDir,
755 I fType, nNz,
756 O field, dummyRS,
757 I iRec, myThid )
758 #endif
759 RETURN
760 END

  ViewVC Help
Powered by ViewVC 1.1.22