makeCDF

Automatic CDF Validation Software (ACVS)

The Automatic CDF Validation Software (ACVS) will validate that all required ISTP global and variable attributes are present and filled in correctly - as much as can be done via software.

The ACVS can be run on both a skeleton table or a complete CDF. However, to run the ACVS on a skeleton table, you must create a CDF version of the skeleton table with CDFskeleton.

To run ACVS on the VAX

All missing, undefined, or incorrectly defined global and variable attributes are listed in a user message file called CVS_MSG_FILE.DAT. A description of the review criteria used to by the ACVS to generate the user message file and an example of the user message file can be found below.

Return to Create Skeleton Table Page


The following description of the ACVS software was written by G. Blackwell, Goddard Space Flight Center

Review Criteria

The ACVS reads a CDF file containing r-variables and/or z-variables and checks the following information:

  1. #header:

    The ACVS reports all data encoding and format found to be incorrectly defined.

  2. #GLOBALattributes:

    The ACVS reports if any of the following GAs is missing, undefined, or incorrectly defined:

    Project, Discipline, Source_name, Data_type, Descriptor, Data_version, TITLE, TEXT, MODS, ADID_ref, and Logical_file_id.

    Results are reported in the following format:

    GA               missing                   attribute name
                     undefined                      "
                     incorrectly defined            "         
    
    Optional or other GAs are also reported.

  3. #VARIABLEattributes:

    The ACVS reports if any of the following VAs is missing:

    FIELDNAM, VALIDMIN, VALIDMAX, SCALEMIN, SCALEMAX, LABLAXIS and LABL_PTR_1, LABL_PTR_2, LABL_PTR_3, LABL_PTR_4, LABL_PTR_5, UNITS and UNIT_PTR, FORMAT and FORM_PTR, DEPEND_0, DEPEND_1, DEPEND_2, DEPEND_3, DEPEND_4, DEPEND_5, DICT_KEY, VAR_TYPE, FILLVAL, and CATDESC.

    Results are reported in the following format:

    VA               missing                   attribute name
    Optional or other VAs are also reported.

  4. #variables:

    The ACVS reports if any of the following required variables is missing:

    Epoch and Time_PB5.

    Results are reported in the following format:

    req. variable    missing                   variable name
    For each variable in the CDF file, the VAs listed in c above (plus DELTA_PLUS_VAR and DELTA_MINUS_VAR if they are present) should be defined.

    Results are reported in the following format:

    variable name  missing                    attribute name
                   undefined                       "
                   incorrectly defined             "
    
    (Note: If LABLAXIS is defined, LABL_PTR_1 should not be, if UNITS is defined, UNIT_PTR should not be, if FORMAT is defined, FORM_PTR should not be, or vice versa).

  5. The ACVS also checks and reports on the following items:

    For integer or real variables -

    For character variables -

    In addition, the ACVS generates a summary at the end of report that lists the following accounting information:

    Required Global Attributes Present n Out of 11
    Required Global Attributes Defined n
    Required Variable Attributes Present n Out of 25
    Required Variables Present n Out of 2
    % complete variables n

    (Note: n = actual numbers
           complete = all VAs are present and defined
           % complete = no. of complete variables / total no. of variables)

Return to top of ACVS page


Example of User Message File

The following output listing shows the contents of a user message file generated by the ACVS.

 CDF NAME: POLAR_HYDRAPLASMA                                               

 NO. OF VARIABLES:  30
 NO. OF ATTRIBUTES: 33

 GLOBAL ATTRIBUTES: 

 SOURCE_NAME SHOULD HAVE A VALUE OF 
 SOURCE NAME>LONG SOURCE NAME
 EX. GEOTAIL>Geomagnetic Tail
 CORRECT DESCRIPTOR: HYD 

 Incorrectly Defined: Discipline
 Incorrectly Defined: Source_name
 Incorrectly Defined: Descriptor
 Incorrectly Defined: ADID_ref

 VARIABLE ATTRIBUTES: 

 Not Needed: DEPEND_2

 VARIABLES:


 Epoch                                                           

 MISSING: CATDESC
 UNDEFINED: DICT_KEY
 INCORRECTLY DEFINED: VAR_TYPE

 Time_PB5                                                        

 MISSING: CATDESC
 UNDEFINED: DICT_KEY
 INCORRECTLY DEFINED: VAR_TYPE

 GAP_FLAG                                                        

 UNDEFINED: UNITS
 UNDEFINED: DICT_KEY

 MASTER_FLAG                                                     

 UNDEFINED: UNITS
 UNDEFINED: DICT_KEY

 INSTR_MODE                                                      

 UNDEFINED: UNITS
 UNDEFINED: DICT_KEY

 MIN_EL_DD                                                       

 LABLAXIS: TOO MANY CHARACTERS
 DEPEND_1: NOT NEEDED
 UNDEFINED: DICT_KEY
 INCORRECTLY DEFINED: LABLAXIS

 MAX_EL_DD                                                       

 LABLAXIS: TOO MANY CHARACTERS
 DEPEND_1: NOT NEEDED
 UNDEFINED: DICT_KEY
 INCORRECTLY DEFINED: LABLAXIS

 MIN_ION_DD                                                      

 LABLAXIS: TOO MANY CHARACTERS
 DEPEND_1: NOT NEEDED
 UNDEFINED: DICT_KEY
 INCORRECTLY DEFINED: LABLAXIS

 MAX_ION_DD                                                      

 LABLAXIS: TOO MANY CHARACTERS
 DEPEND_1: NOT NEEDED
 UNDEFINED: DICT_KEY
 INCORRECTLY DEFINED: LABLAXIS

 MIN_EL_PPA                                                      

 LABLAXIS: TOO MANY CHARACTERS
 DEPEND_1: NOT NEEDED
 UNDEFINED: DICT_KEY
 INCORRECTLY DEFINED: LABLAXIS

 MAX_EL_PPA                                                      

 LABLAXIS: TOO MANY CHARACTERS
 DEPEND_1: NOT NEEDED
 UNDEFINED: DICT_KEY
 INCORRECTLY DEFINED: LABLAXIS

 MIN_ION_PPA                                                     

 LABLAXIS: TOO MANY CHARACTERS
 DEPEND_1: NOT NEEDED
 UNDEFINED: DICT_KEY
 INCORRECTLY DEFINED: LABLAXIS

 MAX_ION_PPA                                                     

 LABLAXIS: TOO MANY CHARACTERS
 DEPEND_1: NOT NEEDED
 UNDEFINED: DICT_KEY
 INCORRECTLY DEFINED: LABLAXIS

 DQF                                                             

 UNDEFINED: UNITS
 UNDEFINED: DICT_KEY

 Tinterval                                                       

 UNDEFINED: DICT_KEY

 Event_Time                                                      

 SCALEMIN/SCALEMAX: OUT OF RANGE
 UNDEFINED: DICT_KEY

 SC_pos_gsm                                                      

 UNDEFINED: DICT_KEY
 INCORRECTLY DEFINED: DEPEND_1

 MEAN_EL_ENGY                                                    

 DEPEND_2: NOT NEEDED
 UNDEFINED: DICT_KEY
 INCORRECTLY DEFINED: DEPEND_1

 FOM_MEAN_EL_ENGY                                                

 MEAN_EL_ENGY INCONSISTENT DIMENSION VARIANCE: FOM_MEAN_EL_ENGY
 DEPEND_1: NOT NEEDED
 UNDEFINED: DICT_KEY

 MEAN_ION_ENGY                                                   

 DEPEND_2: NOT NEEDED
 UNDEFINED: DICT_KEY
 INCORRECTLY DEFINED: DEPEND_1

 FOM_MEAN_ION_ENGY                                               

 MEAN_ION_ENGY INCONSISTENT DIMENSION VARIANCE: FOM_MEAN_ION_ENGY
 DEPEND_1: NOT NEEDED
 UNDEFINED: DICT_KEY

 BEAM_VOID_INDEX                                                 

 UNDEFINED: UNITS
 UNDEFINED: DICT_KEY

 SOURCE_INDEX                                                    

 UNDEFINED: UNITS
 UNDEFINED: DICT_KEY

 LOSS_INDEX                                                      

 UNDEFINED: UNITS
 UNDEFINED: DICT_KEY

 SOURCE_ENGY                                                     

 LABLAXIS: TOO MANY CHARACTERS
 FILLVAL : INCONSISTENT DATA TYPE
 UNDEFINED: DICT_KEY
 INCORRECTLY DEFINED: LABLAXIS

 LOSS_ENGY                                                       

 LABLAXIS: TOO MANY CHARACTERS
 FILLVAL : INCONSISTENT DATA TYPE
 UNDEFINED: DICT_KEY
 INCORRECTLY DEFINED: LABLAXIS

 label_time                                                      

 MISSING: CATDESC
 UNDEFINED: DICT_KEY

 unit_time                                                       

 MISSING: CATDESC
 UNDEFINED: DICT_KEY

 format_time                                                     

 MISSING: CATDESC
 UNDEFINED: DICT_KEY

 label_pos_GSM                                                   

 MISSING: CATDESC
 UNDEFINED: DICT_KEY

 SUMMARY:  
 -------------------------------------
 Required Global Attributes Present 11  Out of 11
 Required Global Attributes Defined  7
 Required Variable Attributes Present 17  Out of 25
 Required Variables Present  2  Out of 2
 Percent Complete Variables  13

Return to top of ACVS page


Author and Curator

Mona Kessel, kessel@nssdca.gsfc.nasa.gov, (301)286-6595
Code 632, NASA/Goddard Space Flight Center
Greenbelt, MD 20771, USA

Karen C. Horrocks, horrocks@nssdca.gsfc.nasa.gov, (301)286-0191
Hughes STX/NSSDC, Code 632, NASA/Goddard Space Flight Center
Greenbelt, MD 20771, USA


NASA Official: R.E. McGuire, Head, Space Physics Data Facility (Code 632, NASA/GSFC)
Robert.E.McGuire@gsfc.nasa.gov, (301)286-7794. Last Updated: 26 Aug 1996, KCH