This page describes how the CDF files are generated by the ROC pipelines, and what are the tools required
The SOL-SGS-TN-0009 document from ESA gives the convention to be applied by the in situ instrument teams concerning the CDF. This document can be found in https://issues.cosmos.esa.int/solarorbiterwiki/display/SOSP/SOC+Documents.
The conventions concerning the RPW data - format, metadata, file naming convention, versioning, etc. - produced by the ROC-SGSE during the on-ground calibration tests at system level can be found in the "Data format and metadata definition for the ROC-SGSE" document.
Every ROC CDF data files must be produced using the CDF skeleton mechanism (for more information about CDF and skeletons, visit https://cdf.gsfc.nasa.gov/).
Figure below describes the CDF generation mechanism specific to the RPW CDF data files.
The main steps are:
NOTES:
The file naming convention for the RPW CDF data files is defined in [RD1].
The ROC pipelines only supplies the path to the output directory to the software, including the RCS.
In consequence, the name of the output CDF science data files shall be named by the software them-self, using the values of global attributes saved in the corresponding master CDF, the parent CDF files (e.g., L1 CDF file) and information transmitted by the software (e.g. date of creation).
The following table indicates where CDF file name fields come from in the case of the RODP. This convention must comply the SOL-SGS-TN-0009 doc. specification.
FIELD | ORIGIN |
---|---|
SourceName | "Source_name" global attribute prefix value in the corresponding Master CDF in lower case. (i.e. "solo") |
Level | "Level" global attributes prefix value in the corresponding Master CDF (e.g. "L1") |
Descriptor | "Descriptor" global attribute value in the corresponding Master CDF |
dateTime | See SOL-SGS-TN-0009 |
Free_field | Not used for RPW |
VXX | Version XX of the current CDF data file, transmitted by the Software and/or from information inside the Master CDFs. |
The following table indicates where CDF file name fields come from in the case of the ROC-SGSE. This convention must comply the ROC-TST-GSE-NTT-00017-LES doc. specification.
FIELD | ORIGIN |
---|---|
SourceName | Copy of the "Source_name" global attributes value in the corresponding Master CDF |
Level | Copy of the "Level" global attributes value in the corresponding Master CDF |
Descriptor | Copy of the "Descriptor" global attributes value in the corresponding Master CDF |
TestId | Copy of the "Test_id" global attributes value in the parent CDF. If more than one parent CDF files is used, they all shall provide the same "Test_id" value. |
Provider | Copy of the "Provider" global attributes value in the parent CDF. If more than one parent CDF files is used, they all shall provide the same "Provider" value. |
VXX | Version XX of the current CDF data file, transmitted by the Software and/or from information inside the Master CDFs. |
In all case, the ROC pipelines will automatically check a posteriori the validity of the output file naming, and the consistency with the global attributes saved inside the file.
ROC-SGSE skeleton files archive is available in https://gitlab.obspm.fr/ROC/DataPool/tree/master/GSE/ROC-SGSE/CDF.
RODP skeleton files archive is available in https://gitlab.obspm.fr/ROC/DataPool/tree/master/ROADS/RODP/CDF
In order to convert a given CDF skeleton file in the Excel 2007 format "skeleton.xlsx" into a ASCII skeleton table "skeleton.skt", you need to use the "maser4py" python package.
The maser4py package can be installed using pip:
pip install maser4py
See https://pypi.python.org/pypi/maser4py for more details.
The main way to convert a CDF skeleton table to a master CDF binary file is to use the "skeletoncdf" tool of the NASA CDF standard library (https://cdf.gsfc.nasa.gov/).
The maser4py package can be also used to generate both the ASCII skeleton and master CDF binary files.
Be sure that the NASA GSFC CDF software distribution V3.6 is installed on your system, and that the "skeletoncdf" program can be called from terminal.
(Visit visit [RD2] to download the GSFC CDF soft.)
Note that if the output CDF master filename is not provided, then skeletoncdf program will named it using the "CDF_NAME" parameter defined in the skeleton header.
A copy of the GSFC CDF Soft. dist. as well as the maser4py module are ready to be used on the roc-dev.obspm.fr.
To load these libraries at login, just enter:
source /usr/local/roc/setup/setup_roc_env.sh
(Be sure to use the BASH shell.)
Then enter:
skeletoncdf
It should be returned something like
Usage: % skeletoncdf [-cdf <cdf-path>] [-[no]delete] [-[no]neg2posfp0]
[-report "<types>"] [-[no]log] [-[no]statistics]
[-cache "<sizes>"] [-[no]fillval] [-zmode <mode>]
[-backward] [-about] <skeleton-path>
Purpose: SkeletonCDF produces a CDF from a skeleton table.
...
For any issue or feedback, please contact the roc team.
Several language libraries are available to handle the CDF format.
Here are a non-exhaustive list:
Software are also available from the official NASA CDF web page (http://cdf.gsfc.nasa.gov/).