| dafwda |
|
Table of contents
Procedure
DAFWDA ( DAF, write data to address )
SUBROUTINE DAFWDA ( HANDLE, BEGIN, END, DATA )
Abstract
Write or rewrite the double precision data bounded by two
addresses within a DAF.
Required_Reading
DAF
Keywords
FILES
Declarations
IMPLICIT NONE
INTEGER HANDLE
INTEGER BEGIN
INTEGER END
DOUBLE PRECISION DATA ( * )
Brief_I/O
VARIABLE I/O DESCRIPTION
-------- --- --------------------------------------------------
HANDLE I Handle of a DAF.
BEGIN,
END I Initial, final address within file.
DATA I Data to be stored between BEGIN and END.
Detailed_Input
HANDLE is the handle of a DAF.
BEGIN,
END are the initial and final addresses of a contiguous
set of double precision numbers within a DAF.
Presumably, these make up all or part of a
particular array.
DATA are the double precision data to be stored between
the specified addresses within the specified file.
Detailed_Output
None.
Parameters
None.
Exceptions
1) If BEGIN is zero or negative, the error SPICE(DAFNEGADDR)
is signaled.
2) If the BEGIN > END, the error SPICE(DAFBEGGTEND)
is signaled.
Files
None.
Particulars
The principal reason that DAFs are so easy to use is that
the data in each DAF are considered to be one long contiguous
set of double precision numbers. You can store data anywhere
within a DAF without knowing (or caring) about the physical
records in which they are stored.
Of course, if you are merely adding arrays to a DAF,
you should not use DAFWDA directly, but should use DAFANA
(add new array) and its entry points, since these update
the appropriate bookkeeping records automatically.
Examples
The following code fragment illustrates the use of DAFWDA
to update an imaginary array. The array begins with a directory
containing 11 epochs. Each pair of epochs bounds an
interval, and each interval is covered by a set of eight
osculating elements.
By accident, the elements were written with the wrong value for
the GM of the central body (the last element in each set). Each
set must be retrieved, updated,and rewritten.
CALL DAFUS ( SUM, ND, NI, DC, IC )
BEGIN = IC(5)
DO I = 1, 10
OFFSET = BEGIN + 11 + (I - 1) * 8
CALL DAFRDA ( HANDLE, OFFSET+1, OFFSET+8, ELEMENTS )
ELEMENTS(8) = NEW_GM
CALL DAFWDA ( HANDLE, OFFSET+1, OFFSET+8, ELEMENTS )
END DO
Restrictions
None.
Literature_References
None.
Author_and_Institution
N.J. Bachman (JPL)
J. Diaz del Rio (ODC Space)
H.A. Neilan (JPL)
W.L. Taber (JPL)
I.M. Underwood (JPL)
Version
SPICELIB Version 1.1.0, 27-OCT-2021 (JDR) (NJB)
Added IMPLICIT NONE statement.
Local variable BUFFER is now initialized and saved.
Edited the header to comply with NAIF standard. Moved DAF
required reading from $Literature_References to
$Required_Reading section.
SPICELIB Version 1.0.2, 10-MAR-1992 (WLT)
Comment section for permuted index source lines was added
following the header.
SPICELIB Version 1.0.1, 22-MAR-1990 (HAN)
Literature references added to the header.
SPICELIB Version 1.0.0, 31-JAN-1990 (IMU)
|
Fri Dec 31 18:36:09 2021