5 * Revision 1.2 1996/04/24 17:27:20 mclareni
6 * Extend the include file cleanup to dzebra, rz and tq, and also add
7 * dependencies in some cases.
9 * Revision 1.1.1.1 1996/03/06 10:47:27 mclareni
13 #include "zebra/pilot.h"
14 SUBROUTINE RZVIN(V,NDIM,N,KEYU,ICYCLE,CHOPT)
16 ************************************************************************
18 * Read Fortran array V from a RZ file
20 * NDIM* Declared dimension of array V
21 * *N* With option O: N contains offset of first word to be read
22 * KEYU Keyword vector of the information to be read
23 * ICYCLE Cycle number of the key to be read
24 * ICYCLE > highest cycle number means read the highest cycle
25 * ICYCLE = 0 means read the lowest cycle
26 * CHOPT Character variable specifying the options selected.
30 * 'A' Read continuation of the previously read data structure
31 * with identifier KEYU,ICYCLE
32 * Given that option implies that the record was written with
33 * the same option by a call to RZOUT.
34 * 'C' Provide information about the cycle numbers
35 * associated with KEY.
36 * The total number of cycles and the cycle number
37 * identifiers of the 19 highest cycles are returned in
38 * IQUEST(50) and IQUEST(51..89) respectively
39 * 'D' Read the Data structure with the (key,cycle) pair
41 * 'N' Read the neighbouring. keys (i.e. those preceding and
43 * The key-vectors of the previous and next key are
44 * available respectively as IQUEST(31..35) and
45 * IQUEST(41..45), see below.
46 * 'O' Argument N contains offset of first word of vector
49 * V Array containing the contents of the record
50 * N Actual length of array V
51 * If the current length is greater than the declared dimension,then
52 * only NDIM are returned in V.
53 * In that case,IQUEST(11) contains the number of words in the record
57 * Integer value CHOPT for RZVOUT Meaning
58 * ------------- ---------------- -------
59 * 3 Array V contains only floating points
60 * 2 'I' Array V contains integers
61 * 1 'B' Array V contains bit-patterns
62 * 5 'H' Array V contains Holleriths
66 * Author : R.Brun DD/US/PD
68 * Last mod: 22.06.92 JDS - return IFORM in IQUEST(13)
69 * : 04.11.94 JDS - option O - N contains offset of first
70 * word of vector to be read
72 ************************************************************************
73 #include "zebra/rzcl.inc"
75 DIMENSION KEYU(*),V(*)
76 EQUIVALENCE (IOPTA,IQUEST(91)), (IOPTC,IQUEST(92))
77 +, (IOPTD,IQUEST(93)), (IOPTN,IQUEST(94))
80 *-----------------------------------------------------------------------
83 #include "zebra/q_jbyt.inc"
87 CALL RZINK(KEYU,ICYCLE,CHOPT)
88 IF(IQUEST(1).NE.0)GO TO 99
90 *!! options set by call to UOPTC in RZINK !!
92 IF(IOPTC.NE.0.AND.IOPTD.EQ.0)GO TO 99
93 IF(IOPTN.NE.0.AND.IOPTD.EQ.0)GO TO 99
95 CALL UOPTC(CHOPT,'O',IOPTO)
96 IF(IOPTO.NE.0) ISTART = N
105 IFORM=JBYT(IQUEST(14),1,3)
111 * Read record into array V
113 CALL RZREAD(V,NW,ISTART,IFORM)
115 * Store I/O descriptor in IQUEST(13)