| dasurd |
|
Table of contents
Procedure
DASURD ( DAS, update record, double precision )
ENTRY DASURD ( HANDLE, RECNO, FIRST, LAST, DATAD )
Abstract
Update DAS double precision physical records.
Required_Reading
DAS
Keywords
ASSIGNMENT
DAS
FILES
Declarations
INTEGER HANDLE
INTEGER RECNO
INTEGER FIRST
INTEGER LAST
DOUBLE PRECISION DATAD ( * )
Brief_I/O
VARIABLE I/O DESCRIPTION
-------- --- --------------------------------------------------
HANDLE I Handle of DAS file.
RECNO I Record number.
FIRST,
LAST I First and last indices of range within record.
DATAD I Double precision data to write to record.
BUFSZD P Number of records in the DP record buffer.
NWD P Number of DPs in a single DAS DP record.
Detailed_Input
HANDLE is the handle of a DAS file opened for writing.
RECNO is the number of a record in a DAS file.
FIRST,
LAST are the first and last indices of a range of
elements to be updated in the indicated record.
The record contains NWD double precision numbers;
these have indices ranging from 1 to NWD.
DATAD is a double precision array to be written to
elements FIRST through LAST of the specified
record. The array element DATAD(1) is placed in
record element FIRST, the array element DATAD(2)
is placed in record element FIRST+1, and so on;
the array element DATAD(LAST-FIRST+1) is placed in
the record element LAST.
Detailed_Output
None. See $Particulars for a description of the action of this
routine.
Parameters
NWD is the number of DPs in a single DAS record
containing DPs.
BUFSZD is the number of records in the double precision
record buffer.
Exceptions
1) This routine may be used to update only records that have
already been written by DASWRD or that already exist in the
file designated by HANDLE. Attempting to update a record
that hasn't yet been written will cause the read operation
performed by this routine to fail.
If a read operation attempted by this routine fails for this
or any other reason, an error is signaled by a routine in the
call tree of this routine. The indicated record will not be
modified.
2) If a write operation attempted by this routine fails, an error
is signaled by a routine in the call tree of this routine. The
status of the DAS file written to is uncertain in this case.
Note that the file written to may be different than the file
designated by HANDLE if multiple DAS files are open for
writing.
3) If the input file handle is invalid, an error is signaled by a
routine in the call tree of this routine. The indicated record
will not be modified.
4) If FIRST or LAST is not in the range [1, NWD], the error
SPICE(INDEXOUTOFRANGE) is signaled. The indicated
record will not be modified.
5) If FIRST > LAST, this routine will return without modifying
the indicated record.
Files
See the description of the argument HANDLE in $Detailed_Input.
Particulars
Routines outside of SPICELIB will normally have no need to call
this routine.
This routine can be used to update any existing record in a DAS
file that is open for writing, or any record that has been
`written' by DASWRD, whether or not that record has yet been
physically written to the file it belongs to. Records that have
never been written cannot be updated.
Because the DAS system buffers records that are written, multiple
updates of parts of a record can be made without incurring a
large number of file reads and writes.
This routine should be used to update only records that contain
double precision data.
Examples
1) Update the 10th through 100th d.p. numbers in record number 9
in a DAS file designated by HANDLE.
DOUBLE PRECISION DATAD ( 100 )
.
.
.
DO I = 1, 91
DATAD = DBLE(I)
END DO
CALL DASURD ( HANDLE, 9, 10, 100, DATAD )
Restrictions
None.
Literature_References
None.
Author_and_Institution
N.J. Bachman (JPL)
J. Diaz del Rio (ODC Space)
K.R. Gehringer (JPL)
B.V. Semenov (JPL)
W.L. Taber (JPL)
Version
SPICELIB Version 2.0.1, 22-FEB-2021 (JDR)
Edited the header to comply with NAIF standard.
SPICELIB Version 2.0.0, 05-FEB-2015 (NJB)
Upgraded to support handle manager integration.
SPICELIB Version 1.0.3, 10-FEB-2014 (BVS)
Added description of NWD to the $Parameters and $Brief_I/O
sections of the header.
SPICELIB Version 1.0.2, 03-NOV-1995 (NJB)
Removed weird spaces from ENTRY statement.
SPICELIB Version 1.0.1, 28-OCT-1993 (KRG)
Removed references to specific DAS file open routines in the
$Detailed_Input section of the header. This was done in order
to minimize documentation changes if the DAS open routines ever
change.
SPICELIB Version 1.0.0, 30-JUN-1992 (NJB) (WLT)
|
Fri Dec 31 18:36:12 2021