.:netcdf:home
NetCDF Data Format and Software
Document UND Airborne Data file format information for NetCDF data.
The conversion of the ASCII to NetCDF using NCAR-RAF netCDF Conventions Version 1.3. Naming conventions not given by NCAR-RAF were found by using CF Metadata Naming Convetions.
The program 'convert_undtonetcdf' will convert an ASCII file with UND Citation Aircraft Data Flags and convert it to a time dependant NetCDF file with the following changes.
What is NetCDF?
NetCDF (Network Common Data Form) is an array oriented system of storing and acessing data. Some of the main advantages in using this format are as follows, NetCDF is :
- Self describing in that the file includes the necessary information about the data it contains.
- Machine independent, different computers that handle data types differently are not effected by the binary NetCDF format.
- Backwards compatibility, all new forms of NetCDF will be backwards compatable with current NetCDF formats.
- Conventions, a good NetCDF file will share standard convetions for varibables and attributes as decided upon by NCAR.
Header Attributes
Header Conventions For Global Attributes:
ASCII | NetCDF | Type |
---|---|---|
ONAME | Author | String |
ORG | Organization | String |
SNAME | Source | String |
MNAME | ProjectName | String |
DATE | FlightDate_RevisionDate | String |
IVOL | VolumeNumber | Short |
NVOL | TotalVolumes | Short |
DX | SampledRate | String |
XNAME | FlightStart | String |
NV | NumberVariables | Short |
NSCOML | SpecialCommentLines | Short |
NNCOML | NormalCommentLines | Short |
Please visit
this link
for further information on the file header.
Variables: Data & Attributes
All variables contain the basic attributes: units, long_name, and _FillValue (missing_value is being deprecated). The convert_undtonetcdf names of variables in the ASCII files remain the same in the NetCDF file (e.g. Press_Alt in ASCII is still Press_Alt in NetCDF) for short_names only. If applicable a standard_name is given otherwise the short_name is reused. All variables are dependant on time.
Attributes:
short_name: A short descriptive name for a variable which is the same as in the ASCII file.
standard_name: The name used to identify the physical quantity. A standard name contains no whitespace and is case sensitive. Not every variable is required to have a standard_name attribute. We have adopted the CF Conventions use of standard_name where applicable.
long_name: The long_name attribute is defined to contain a long descriptive name which may, for example, be used for labeling plots.
units: The units attribute is required for all variables that represent dimensional quantities and must be given in MKS.
_FillValue: The number assigned to a missing value. Currently -9999.9 of the floating point type.
DataQuality: Attempts to inform the user of the quality of these data. Some values are Bad, Preliminary and Good
SampledRate: States the frequency of data sampling
Example
This is an abridged example of 'ncdump' output on 08_02_06_11_49_53.sau.nc :
netcdf 08_01_06_10_42_46.sau {
dimensions:
Time = 5510 ;
variables:
float _FillValue ;
_FillValue:missing_value_code = -9999.9f ;
float Air_Temp_n(Time) ;
Air_Temp_n:short_name = "Air_Temp_n" ;
Air_Temp_n:standard_name = "Air_Temperature" ;
Air_Temp_n:long_name = "Air Temperature Corrected for Dynamic Heating based on Nose Pitot Pressure [Kelvin]" ;
Air_Temp_n:units = "K" ;
Air_Temp_n:missing_value = -9999.9f ;
Air_Temp_n:DataQuality = "Preliminary Data" ;
float MachNo_n(Time) ;
MachNo_n:short_name = "MachNo_n" ;
MachNo_n:standard_name = "MachNo_n" ;
MachNo_n:long_name = "Mach Number based on Nose Pitot Pressure" ;
MachNo_n:units = "None" ;
MachNo_n:missing_value = -9999.9f ;
MachNo_n:DataQuality = "Preliminary Data" ;
// global attributes:
:Author = "David Delene" ;
:Organization = "University of North Dakota" ;
:Source = "King Air 200 Aircraft" ;
:ProjectName = "Saudi Arabia Weather Modification Project" ;
:FlightDate_RevisionDate = "2008 01 06 2008 02 23" ;
:VolumeNumber = 1s ;
:TotalVolumes = 1s ;
:TimeInterval = " 1.0000" ;
:FlightStart = "Time [seconds]; UT seconds from midnight on day aircraft flight started" ;
:NumberVariables = 22s ;
:SpecialCommentLines = 0s ;
:NormalCommentLines = 4s ;
:SampledRate = "1 Hz Data" ;
data:
Air_Temp_n = -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9,
-9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9,
-9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9,
-9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9,
-9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9,
-9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9,
-9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9,
-9999.9, -9999.9, 289.6698, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9,
-9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9,
-9999.9, -9999.9, -9999.9, -9999.9, -9999.9, 289.6247, 289.7545, ...
MachNo_n = -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9,
-9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9,
-9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9,
-9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9,
-9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9,
-9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9,
-9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9,
-9999.9, -9999.9, 0.0151, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9,
-9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9, -9999.9,
-9999.9, -9999.9, -9999.9, -9999.9, -9999.9, 0.0172, 0.0217, ...
}