Table of contents
CSPICE_DASONW opens a new DAS file and sets the file type.
Given:
fname the name of a new DAS file to be created (and consequently
opened for write access).
help, fname
STRING = Scalar
ftype a string indicating the type of data placed into a DAS file.
help, ftype
STRING = Scalar
The first nonblank character and the three, or fewer,
characters immediately following it are stored as the part of
the file's ID word following the forward slash. It is an
error if `ftype' is blank.
The file type may not contain any nonprinting characters.
`ftype' is case sensitive.
NAIF has reserved for its own use file types
consisting of the upper case letters (A-Z) and the
digits 0-9. NAIF recommends lower case or mixed case
file types be used by all others in order to avoid any
conflicts with NAIF file types.
ifname a string containing the internal file name for the new file.
help, ifname
STRING = Scalar
The name may contain as many as 60 characters. This should
uniquely identify the file.
ncomr the number of comment records to allocate.
help, ncomr
LONG = Scalar
Allocating comment records at file creation time may reduce
the likelihood of having to expand the comment area later.
the call:
cspice_dasonw, fname, ftype, ifname, ncomr, handle
returns:
handle the file handle associated with the file.
help, handle
LONG = Scalar
This handle is used to identify the file in subsequent calls
to other DAS routines.
None.
Any numerical results shown for this example may differ between
platforms as the results depend on the SPICE kernels used as input
and the machine specific arithmetic implementation.
1) Create a new DAS file and add 200 integers to it. Close the
file, then re-open it and read the data back out.
Example code begins here.
PRO dasonw_ex1
;;
;; Local parameters.
;;
FNAME = 'dasonw_ex1.das'
TYPE = 'TEST'
;;
;; Local variables.
;;
data = lonarr(100)
;;
;; Open a new DAS file. Use the file name as the internal
;; file name, and reserve no records for comments.
;;
cspice_dasonw, FNAME, TYPE, FNAME, 0L, handle
;;
;; Fill the array `data' with the integers 1 through
;; 100, and add this array to the file.
;;
for i=1L, 100L do begin
data[i-1] = i
endfor
cspice_dasadi, handle, data
;;
;; Now append the array `data' to the file again.
;;
cspice_dasadi, handle, data
;;
;; Close the file.
;;
cspice_dascls, handle
;;
;; Now verify the addition of data by opening the
;; file for read access and retrieving the data.
;;
cspice_dasopr, FNAME, handle
cspice_dasrdi, handle, 1L, 200L, data
;;
;; Dump the data to the screen. We should see the
;; sequence 1, 2, ..., 100, 1, 2, ... , 100.
;;
print
print, 'Data from "', FNAME, '":'
print
for i=0L, 19L do begin
print, format='(10I5)', data[i*10:i*10+9]
endfor
;;
;; Close the file.
;;
cspice_dascls, handle
END
When this program was executed on a Mac/Intel/IDL8.x/64-bit
platform, the output was:
Data from "dasonw_ex1.das":
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100
Note that after run completion, a new DAS file exists in the
output directory.
The DAS files created by this routine have initialized file
records.
This routine creates a new DAS file and sets the type of the
file to the mnemonic code passed to it.
1) If the input filename is blank or empty, the error SPICE(BLANKFILENAME)
is signaled by a routine in the call tree of this routine.
2) If the specified file cannot be opened without exceeding the
maximum allowed number of open DAS files, the error
SPICE(DASFTFULL) is signaled by a routine in the call tree of
this routine. No file will be created.
3) If the file cannot be opened properly, an error is signaled
by a routine in the call tree of this routine. No file will
be created.
4) If the initial records in the file cannot be written, an
error is signaled by a routine in the call tree of this
routine. No file will be created.
5) If the file type is blank or empty, the error SPICE(BLANKFILETYPE) is
signaled by a routine in the call tree of this routine.
6) If the file type contains nonprinting characters---decimal
0-31 and 127-255---, the error SPICE(ILLEGALCHARACTER) is
signaled by a routine in the call tree of this routine.
7) If the number of comment records allocated `ncomr' is negative,
the error SPICE(INVALIDCOUNT) is signaled by a routine in the
call tree of this routine.
8) If any of the input arguments, `fname', `ftype', `ifname' or
`ncomr', is undefined, an error is signaled by the IDL error
handling system.
9) If any of the input arguments, `fname', `ftype', `ifname' or
`ncomr', is not of the expected type, or it does not have the
expected dimensions and size, an error is signaled by the Icy
interface.
10) If the output argument `handle' is not a named variable, an
error is signaled by the Icy interface.
See argument `fname'.
None.
DAS.REQ
ICY.REQ
None.
J. Diaz del Rio (ODC Space)
-Icy Version 1.0.0, 26-AUG-2021 (JDR)
open a new DAS file
open a new DAS file with write access
|