***************************************************************************** * You can find a PDF version of this file from * * http://hdfeos.org/software/aug_eos5/Validation_Of_Aug_Tool.pdf * ***************************************************************************** 1. Introduction Optionally we provide executable files for users to validate whether an augmented file can be accessed by the netCDF-4 library. The names of these executable files are check_c, check_f and check_za_f. check_c uses the netCDF-4 C APIs. check_f and check_za_f use the netCDF-4 Fortran APIs. check_c provides more flexibility to users. By providing command line parameters, a user can use check_c to validate any 32-bit floating point data field. The data field is a field under the Data Fields group in an HDF-EOS5 file. However, the data field to be validated is hardcoded in the source code of check_f and check_za_f. A makefile template is also provided to help users generate these executable files. Please see Readme.pdf for more detailed information. 2. check_c 2.1 Description The synopsis of check_c is as follows: check_c [OPTION]...[AUGMENTED FILE] OPTION: -t, --file type 0(swath)/1(grid)/2(zonal average) -g, --HDF-EOS5 object(group) name HDF-EOS5 object (grid/swath/zonal average) to be validated -v, --variable name HDF-EOS5 data field to be validated AUGMENTED FILE: the name of an augmented file Please see Usage_Of_Aug_Tool.pdf on how to augment an HDF-EOS5 file. The variable to be validated should be a data field of an HDF-EOS5 object (grid/swath/zonal average) in an augmented file. Quotation mark should be used to delimit an HDF-EOS5 object name or a variable name if the name contains spaces. 2.2 Usage 2.2.1 Swath 2.2.1.1 A Special Example To address a user's request, we provide a special example to test an augmented swath file with check_c. Users don't need to specify any command-line parameters to check a data field in this file. In the current release, the augmented HDF-EOS5 swath file is single_swath_2.he5 and is under the unittest directory. The data field to be validated is CFC11 and it is under a swath called HIRDLS. At the command prompt, just typing the following command: ./check_c The output is as follows: No. of dimension(s): 2 Dim[0]: nTimes 5554 38.73 39.48 40.50 41.25 42.28 43.02 44.05 44.79 45.82 46.55 47.59 48.31 Dim[1]: nLevels 145 1000.00 908.52 825.40 749.89 681.29 618.97 562.34 510.90 464.16 421.70 383.12 348.07 Values: -999.0000000000 -999.0000000000 -999.0000000000 -999.0000000000 -999.0000000000 -999.0000000000 -999.0000000000 -999.0000000000 -999.0000000000 -999.0000000000 Attributes: Units=vmr Title=CFC11 2.2.1.2 A General Example Here we provide a general example on how to use check_c for an augmented swath file. Assume that a user wants to validate the data field CFC12 under the swath HIRDLS for an HDF-EOS5 swath file HIRDLS2_v02-04-19-01-c01_2008d001.he5. At the command prompt, typing the following the command: check_c -t 0 -g HIRDLS -v CFC12 HIRDLS2_v02-04-19-01-c01_2008d001.he5 The output is as follows: No. of dimension(s): 2 Dim[0]: nTimes 5554 38.72 39.48 40.49 41.26 42.27 43.03 44.04 44.80 45.81 46.56 47.58 48.32 Dim[1]: nLevels 145 1000.00 908.52 825.40 749.89 681.29 618.97 562.34 510.90 464.16 421.70 383.12 348.07 Values: -999.0000000000 -999.0000000000 -999.0000000000 -999.0000000000 -999.0000000000 -999.0000000000 -999.0000000000 -999.0000000000 -999.0000000000 -999.0000000000 Attributes: Units=vmr Title=CFC12 2.2.2 Grid Assume that a user wants to validate the data field Filling-In under the object Cloud Product for an augmented grid file OMI-Aura_L2G-OMCLDRRG_2010m0126_v003-2010m0127t050619.he5. At the command prompt, typing the following command: ./check_c -t 1 -g "Cloud Product" -v Filling-In OMI-Aura_L2G-OMCLDRRG_2010m0126_v003-2010m0127t050619.he5 The output is similar to the swath example described in section 2.2.1.1. Note that we don't provide a special example to validate a grid field like the swath field described in section 2.2.1.1. 2.2.3 Zonal Average Assume that a user wants to validate the data field Day under the zonal average HIRDLS for an augmented zonal average file HIR3ZA-test2.he5. At the command prompt, typing the following command: ./check_c -t 2 -g HIRDLS -v Day HIR3ZA-test2.he5 The output is similar to the swath example in section 2.2.1.1. Note we don't provide a special example to validate a zonal average filed like the swath field in section 2.2.1.1. 3. check_f and check_za_f Unlike check_c, check_f and check_za_f do not need command-line parameters. Instead the hard-coded parameters are provided in the source code. In our example,check_f validates the data field CFC11 under the swath HIRDLS for an HDF-EOS5 swath file single_swath_2.he5. This file is the same as the one used by check_c. check_za_f validates the data field Day under the object HIRDLS for an HDF-EOS5 zonal average file single_zonal_average.he5. At the command prompt, typing the following command to validate the swath file single_swath_2.he5: ./check_f The output is similar to the C example described in 2.2.1.1. One can also modify the parameters in the source code of check_f to validate a grid file. At the command prompt, typing the following command to validate the zonal average file single_zonal_average.he5 : ./check_za_f The output is similar to the C example described in 2.2.1.1. 4. Limitations 4.1 Data fields and attributes In this release check_c only validates a data field and its two attributes: Units and Title. If these two attributes exist, their values will be printed out together with the values of the data field, otherwise NetCDF: Attribute not found will be reported. Be aware that this is not an error if these two attributes don't exist. A user can also use check_c to validate other attributes by modifying the code itself. In the similar way, check_f and check_za_f can also be used to validate other data fields and attributes if a user modifies the corresponding source code. 4.2 Data types Without modifying the source code, the data type for a data field to be validated is limited to 32-bit floating point only; the data type for an attribute to be validated is limited to string only.