For
instrumentation details see:
http://www.arm.gov/docs/instruments/static/mmcr.html
There are 4 a1 level netCDF files created from this instrument.
Sample netCDF file header for the nsammcrcalC1.a1 datastream:
------------------------------------------------------------------------------------
(Coming Soon)netcdf
nsammcrcalC1.a1.20010101.000103 {
dimensions:
time = UNLIMITED ; // (9249
currently)
height = 256 ;
entries = 63 ;
crventries = 90 ;
variables:
int base_time ;
base_time:string =
"1-Jan-2001,0:01:03 GMT" ;
base_time:long_name =
"Base time in Epoch" ;
base_time:units =
"seconds since 1970-1-1 0:00:00 0:00" ;
double time_offset(time) ;
time_offset:long_name =
"Time offset from base_time" ;
time_offset:units =
"seconds since 2001-01-01 00:01:03 0:00" ;
int InterPulsePeriod(time) ;
InterPulsePeriod:long_name =
"Inter Pulse Period" ;
InterPulsePeriod:units =
"nanoseconds" ;
InterPulsePeriod:resolution =
"1" ;
InterPulsePeriod:field_index =
"1" ;
int PulseWidth(time) ;
PulseWidth:long_name =
"Pulse Width" ;
PulseWidth:units =
"nanoseconds" ;
PulseWidth:resolution =
"1" ;
PulseWidth:field_index =
"2" ;
int StartGateDelay(time) ;
StartGateDelay:long_name =
"Start Gate Delay" ;
StartGateDelay:units =
"nanoseconds" ;
StartGateDelay:resolution =
"1" ;
StartGateDelay:field_index =
"3" ;
int GateSpacing(time) ;
GateSpacing:long_name =
"Time Spacing Between Gates" ;
GateSpacing:units =
"nanoseconds" ;
GateSpacing:resolution =
"1" ;
GateSpacing:field_index =
"4" ;
short NumCoherentIntegrations(time)
;
NumCoherentIntegrations:long_name
= "Number of Coherent Integrations" ;
NumCoherentIntegrations:units
= "count" ;
NumCoherentIntegrations:resolution
= "1" ;
NumCoherentIntegrations:field_index
= "5" ;
short NumSpectraAveraged(time) ;
NumSpectraAveraged:long_name =
"Number of Spectra Averaged" ;
NumSpectraAveraged:units =
"count" ;
NumSpectraAveraged:resolution
= "1" ;
NumSpectraAveraged:field_index
= "6" ;
short NumFft(time) ;
NumFft:long_name =
"Number of Ffts" ;
NumFft:units =
"count" ;
NumFft:resolution =
"1" ;
NumFft:field_index =
"7" ;
short NumHeights(time) ;
NumHeights:long_name =
"Number of Heights" ;
NumHeights:units =
"count" ;
NumHeights:resolution =
"1" ;
NumHeights:field_index =
"8" ;
short NumCodeBits(time) ;
NumCodeBits:long_name =
"Number of Code Bits" ;
NumCodeBits:units =
"count" ;
NumCodeBits:resolution =
"1" ;
NumCodeBits:field_index =
"9" ;
float TransmitterPathLoss(time) ;
TransmitterPathLoss:long_name
= "Transmitter Path Loss" ;
TransmitterPathLoss:units =
"dB" ;
TransmitterPathLoss:resolution
= "0.1" ;
TransmitterPathLoss:field_index
= "10" ;
float ReceiverPathLoss(time) ;
ReceiverPathLoss:long_name =
"Receiver Path Loss" ;
ReceiverPathLoss:units =
"dB" ;
ReceiverPathLoss:resolution =
"0.1" ;
ReceiverPathLoss:field_index =
"11" ;
float CirculatorAttenuation1(time) ;
CirculatorAttenuation1:long_name
= "Circulator #1 Attenuation" ;
CirculatorAttenuation1:units =
"dB" ;
CirculatorAttenuation1:resolution
= "0.1" ;
CirculatorAttenuation1:field_index
= "12" ;
float PeakTransmittedPower(time) ;
PeakTransmittedPower:long_name
= "Peak Transmitted Power" ;
PeakTransmittedPower:units =
"dBm" ;
PeakTransmittedPower:resolution
= "0.1" ;
PeakTransmittedPower:field_index
= "13" ;
float CodedPulseLoss(time) ;
CodedPulseLoss:long_name =
"Coded Pulse Loss" ;
CodedPulseLoss:units =
"dB" ;
CodedPulseLoss:resolution =
"0.1" ;
CodedPulseLoss:field_index =
"14" ;
float PartialDecodingLoss(time,
entries) ;
PartialDecodingLoss:long_name
= "Partial Decoding Loss" ;
PartialDecodingLoss:units =
"dB" ;
PartialDecodingLoss:resolution
= "0.1" ;
PartialDecodingLoss:field_index
= "15" ;
float RxCalibrationNoiseCrv(time,
crventries) ;
RxCalibrationNoiseCrv:long_name
= "Receiver Calib Noise Crv Cal. Power Values" ;
RxCalibrationNoiseCrv:units =
"dB" ;
RxCalibrationNoiseCrv:resolution
= "0.01" ;
RxCalibrationNoiseCrv:field_index
= "16" ;
float
RxCalibrationNoiseCrvSignal(time, crventries) ;
RxCalibrationNoiseCrvSignal:long_name
= "Receiver Cal Noise Crv Sig Power Values" ;
RxCalibrationNoiseCrvSignal:units
= "dBm" ;
RxCalibrationNoiseCrvSignal:resolution
= "0.01" ;
RxCalibrationNoiseCrvSignal:field_index
= "17" ;
int Heights(time, height) ;
Heights:long_name =
"Height of Measured Value; msl" ;
Heights:units =
"meters" ;
Heights:resolution =
"1" ;
Heights:field_index =
"18" ;
float Reflectivity(time, height) ;
Reflectivity:long_name =
"Reflectivity" ;
Reflectivity:units =
"dBZ" ;
Reflectivity:resolution =
"0.01" ;
Reflectivity:field_index =
"19" ;
float RangeCorrectedCalibratedPower(time,
height) ;
RangeCorrectedCalibratedPower:long_name
= "Range Corrected, Calibrated Power" ;
RangeCorrectedCalibratedPower:units
= "dBm" ;
RangeCorrectedCalibratedPower:resolution
= "0.01" ;
RangeCorrectedCalibratedPower:field_index
= "20" ;
float lat ;
lat:long_name = "north
latitude" ;
lat:units =
"degrees" ;
lat:valid_range = -90.f, 90.f
;
float lon ;
lon:long_name = "east
longitude" ;
lon:units =
"degrees" ;
lon:valid_range = -180.f,
180.f ;
float alt ;
alt:long_name =
"altitude" ;
alt:units = "meters above
Mean Sea Level" ;
// global attributes:
:ingest-software = "
mmcr_ingest.c,v 1.2 2000/02/23 18:40:36 turney Exp $" ;
:input-source =
"mmcr1:/raw/mmcr/20010101000103Cal.nc" ;
:site-id = "nsa" ;
:facility-id = "C1 :
PAARCS2:NSA-Barrow_Central_Facility" ;
:sds-mode =
"production" ;
:sample-int =
"unknown" ;
:averaging-int =
"None." ;
:serial-number = " "
;
:missing-data =
"N/A" ;
:comment = "NSA Barrow
(PAARCS2) processing" ;
:field_indices = "Each
field contains an attribute named field_index. This index is unique to each
field and contains a value from 1 to N (where N is the number of fields in
platform)." ;
:resolution_description =
"The resolution field attributes refer to the number of significant digits
relative to the decimal point that should be used in calculations. Using fewer digits might result in greater
uncertainty; using a larger number of digits should have no effect and thus is
unnecessary. However, analyses based on
differences in values with a larger number of significant digits than indicated
could lead to erroneous results or misleading scientific conclusions.resolution
for lat= 0.001resolution for lon = 0.001resolution for alt = 1" ;
:proc-level = "a1" ;
:zeb_platform =
"nsammcrcalC1.a1" ;
:history = "created by
the Zebra DataStore library, 1-Jan-2001,1:25:53, $RCSfile: DFA_NetCDF.c,v $
$Revision: 3.52 $\n",
"" ;
}
------------------------------------------------------------------------------------
netcdf
nsammcrmonC1.a1.20010101.000015 {
dimensions:
time = UNLIMITED ; // (4467
currently)
variables:
int base_time ;
base_time:string =
"1-Jan-2001,0:00:15 GMT" ;
base_time:long_name = "Base
time in Epoch" ;
base_time:units =
"seconds since 1970-1-1 0:00:00 0:00" ;
double time_offset(time) ;
time_offset:long_name =
"Time offset from base_time" ;
time_offset:units =
"seconds since 2001-01-01 00:00:15 0:00" ;
int TimeNanoSeconds(time) ;
TimeNanoSeconds:long_name =
"Time; Nanoseconds since the second" ;
TimeNanoSeconds:units =
"Nanoseconds" ;
TimeNanoSeconds:resolution =
"1" ;
TimeNanoSeconds:field_index =
"1" ;
float XAxisTilt(time) ;
XAxisTilt:long_name = "X
axis Tilt of Radar" ;
XAxisTilt:units =
"angular degrees" ;
XAxisTilt:resolution =
"0.1" ;
XAxisTilt:field_index =
"2" ;
float YAxisTilt(time) ;
YAxisTilt:long_name = "Y
axis Tilt of Radar" ;
YAxisTilt:units =
"angular degrees" ;
YAxisTilt:resolution = "0.1"
;
YAxisTilt:field_index =
"3" ;
float IndoorTemperature(time) ;
IndoorTemperature:long_name =
"Indoor Temperature" ;
IndoorTemperature:units =
"degrees C" ;
IndoorTemperature:resolution =
"0.1" ;
IndoorTemperature:field_index
= "4" ;
float OutdoorTemperature(time) ;
OutdoorTemperature:long_name =
"Outdoor Temperature" ;
OutdoorTemperature:units =
"degrees C" ;
OutdoorTemperature:resolution
= "0.1" ;
OutdoorTemperature:field_index
= "5" ;
float IndoorHumidity(time) ;
IndoorHumidity:long_name =
"Indoor Humidity" ;
IndoorHumidity:units =
"percent" ;
IndoorHumidity:resolution =
"0.1" ;
IndoorHumidity:field_index =
"6" ;
float RadarPCPlus5Volts(time) ;
RadarPCPlus5Volts:long_name =
"Radar PC +5V" ;
RadarPCPlus5Volts:units =
"volts" ;
RadarPCPlus5Volts:resolution =
"0.1" ;
RadarPCPlus5Volts:field_index
= "7" ;
float RadarPCMinus5Volts(time) ;
RadarPCMinus5Volts:long_name =
"Radar PC -5V" ;
RadarPCMinus5Volts:units =
"volts" ;
RadarPCMinus5Volts:resolution
= "0.1" ;
RadarPCMinus5Volts:field_index
= "8" ;
float RadarPCPlus12Volts(time) ;
RadarPCPlus12Volts:long_name =
"Radar PC +12V" ;
RadarPCPlus12Volts:units =
"volts" ;
RadarPCPlus12Volts:resolution
= "0.1" ;
RadarPCPlus12Volts:field_index
= "9" ;
float RadarPCMinus12Volts(time) ;
RadarPCMinus12Volts:long_name
= "Radar PC -12V" ;
RadarPCMinus12Volts:units =
"volts" ;
RadarPCMinus12Volts:resolution
= "0.1" ;
RadarPCMinus12Volts:field_index
= "10" ;
float DMSPCPlus5Volts(time) ;
DMSPCPlus5Volts:long_name =
"DMS PC +5V" ;
DMSPCPlus5Volts:units =
"volts" ;
DMSPCPlus5Volts:resolution =
"0.1" ;
DMSPCPlus5Volts:field_index =
"11" ;
float DMSPCMinus5Volts(time) ;
DMSPCMinus5Volts:long_name =
"DMS PC -5V" ;
DMSPCMinus5Volts:units =
"volts" ;
DMSPCMinus5Volts:resolution =
"0.1" ;
DMSPCMinus5Volts:field_index =
"12" ;
float DMSPCPlus12Volts(time) ;
DMSPCPlus12Volts:long_name =
"DMS PC +12V" ;
DMSPCPlus12Volts:units =
"volts" ;
DMSPCPlus12Volts:resolution =
"0.1" ;
DMSPCPlus12Volts:field_index =
"13" ;
float DMSPCMinus12Volts(time) ;
DMSPCMinus12Volts:long_name =
"DMS PC -12V" ;
DMSPCMinus12Volts:units =
"volts" ;
DMSPCMinus12Volts:resolution =
"0.1" ;
DMSPCMinus12Volts:field_index
= "14" ;
float InterfaceBoxPlus5Volts1(time)
;
InterfaceBoxPlus5Volts1:long_name
= "Interface Box +5V #1" ;
InterfaceBoxPlus5Volts1:units
= "volts" ;
InterfaceBoxPlus5Volts1:resolution
= "0.1" ;
InterfaceBoxPlus5Volts1:field_index
= "15" ;
float InterfaceBoxPlus5Volts2(time)
;
InterfaceBoxPlus5Volts2:long_name
= "Interface Box +5V #2" ;
InterfaceBoxPlus5Volts2:units
= "volts" ;
InterfaceBoxPlus5Volts2:resolution
= "0.1" ;
InterfaceBoxPlus5Volts2:field_index
= "16" ;
float InterfaceBoxMinus5Volts(time)
;
InterfaceBoxMinus5Volts:long_name
= "Interface Box -5V" ;
InterfaceBoxMinus5Volts:units
= "volts" ;
InterfaceBoxMinus5Volts:resolution
= "0.1" ;
InterfaceBoxMinus5Volts:field_index
= "17" ;
float InterfaceBoxPlus28Volts(time)
;
InterfaceBoxPlus28Volts:long_name
= "Interface Box +28V" ;
InterfaceBoxPlus28Volts:units
= "volts" ;
InterfaceBoxPlus28Volts:resolution
= "0.1" ;
InterfaceBoxPlus28Volts:field_index
= "18" ;
float InterfaceBoxPlus15Volts(time)
;
InterfaceBoxPlus15Volts:long_name
= "Interface Box +15V" ;
InterfaceBoxPlus15Volts:units
= "volts" ;
InterfaceBoxPlus15Volts:resolution
= "0.1" ;
InterfaceBoxPlus15Volts:field_index
= "19" ;
float InterfaceBoxMinus15Volts(time)
;
InterfaceBoxMinus15Volts:long_name
= "Interface Box -15V" ;
InterfaceBoxMinus15Volts:units
= "volts" ;
InterfaceBoxMinus15Volts:resolution
= "0.1" ;
InterfaceBoxMinus15Volts:field_index
= "20" ;
float ExtIFModPlus12Volts(time) ;
ExtIFModPlus12Volts:long_name
= "External IF Mod/Rec +12V" ;
ExtIFModPlus12Volts:units =
"volts" ;
ExtIFModPlus12Volts:resolution
= "0.1" ;
ExtIFModPlus12Volts:field_index
= "21" ;
float ExtIFModPlus15Volts(time) ;
ExtIFModPlus15Volts:long_name
= "External IF Mod/Rec +15V" ;
ExtIFModPlus15Volts:units =
"volts" ;
ExtIFModPlus15Volts:resolution
= "0.1" ;
ExtIFModPlus15Volts:field_index
= "22" ;
float IFModPlus15Volts(time) ;
IFModPlus15Volts:long_name =
"IF Mod/Rec +15V" ;
IFModPlus15Volts:units =
"volts" ;
IFModPlus15Volts:resolution =
"0.1" ;
IFModPlus15Volts:field_index =
"23" ;
float IFModMinus15Volts(time) ;
IFModMinus15Volts:long_name =
"IF Mod/Rec -15V" ;
IFModMinus15Volts:units =
"volts" ;
IFModMinus15Volts:resolution =
"0.1" ;
IFModMinus15Volts:field_index
= "24" ;
float RFCUDPlus15Volts(time) ;
RFCUDPlus15Volts:long_name =
"RF CUD +15V" ;
RFCUDPlus15Volts:units =
"volts" ;
RFCUDPlus15Volts:resolution =
"0.1" ;
RFCUDPlus15Volts:field_index =
"25" ;
float RFCUDTxPlus12Volts(time) ;
RFCUDTxPlus12Volts:long_name =
"RF CUD Transmitter +12V" ;
RFCUDTxPlus12Volts:units =
"volts" ;
RFCUDTxPlus12Volts:resolution
= "0.1" ;
RFCUDTxPlus12Volts:field_index
= "26" ;
float RFCUDRecPlus12Volts(time) ;
RFCUDRecPlus12Volts:long_name
= "RF CUD Receiver +12V" ;
RFCUDRecPlus12Volts:units =
"volts" ;
RFCUDRecPlus12Volts:resolution
= "0.1" ;
RFCUDRecPlus12Volts:field_index
= "27" ;
float TempCirc1(time) ;
TempCirc1:long_name =
"Temperature, Circulator #1" ;
TempCirc1:units =
"degrees C" ;
TempCirc1:resolution =
"0.1" ;
TempCirc1:field_index =
"28" ;
float TempCirc2(time) ;
TempCirc2:long_name =
"Temperature, Circulator #2" ;
TempCirc2:units =
"degrees C" ;
TempCirc2:resolution =
"0.1" ;
TempCirc2:field_index =
"29" ;
float ADCalVoltage(time) ;
ADCalVoltage:long_name =
"A/D Calibrated Voltage" ;
ADCalVoltage:units
= "volts" ;
ADCalVoltage:resolution =
"0.001" ;
ADCalVoltage:field_index =
"30" ;
int PulseWidthFault(time) ;
PulseWidthFault:long_name =
"Pulse Width Fault" ;
PulseWidthFault:units =
"n/a" ;
PulseWidthFault:resolution =
"1" ;
PulseWidthFault:field_index =
"31" ;
int SwitchFault(time) ;
SwitchFault:long_name =
"Switch Fault" ;
SwitchFault:units =
"n/a" ;
SwitchFault:resolution =
"1" ;
SwitchFault:field_index =
"32" ;
int 2GHzPhaseLock(time) ;
2GHzPhaseLock:long_name =
"2GHz Phase-lock" ;
2GHzPhaseLock:units =
"n/a" ;
2GHzPhaseLock:resolution =
"1" ;
2GHzPhaseLock:field_index =
"33" ;
int 16GHzPhaseLock(time) ;
16GHzPhaseLock:long_name =
"16.4GHz Phase-lock" ;
16GHzPhaseLock:units =
"n/a" ;
16GHzPhaseLock:resolution =
"1" ;
16GHzPhaseLock:field_index =
"34" ;
float UPSInputVoltage(time) ;
UPSInputVoltage:long_name =
"UPS Input Voltage" ;
UPSInputVoltage:units =
"volts" ;
UPSInputVoltage:resolution =
"0.1" ;
UPSInputVoltage:field_index =
"35" ;
float UPSOutputVoltage(time) ;
UPSOutputVoltage:long_name =
"UPS Output Voltage" ;
UPSOutputVoltage:units =
"volts" ;
UPSOutputVoltage:resolution =
"0.1" ;
UPSOutputVoltage:field_index =
"36" ;
float UPSOutputCurrent(time) ;
UPSOutputCurrent:long_name =
"UPS Output Current" ;
UPSOutputCurrent:units =
"amps" ;
UPSOutputCurrent:resolution =
"0.001" ;
UPSOutputCurrent:field_index =
"37" ;
float UPSBatteryCurrent(time) ;
UPSBatteryCurrent:long_name =
"UPS Battery Current" ;
UPSBatteryCurrent:units =
"amps" ;
UPSBatteryCurrent:resolution =
"0.001" ;
UPSBatteryCurrent:field_index
= "38" ;
float UPSBatteryVoltage(time) ;
UPSBatteryVoltage:long_name =
"UPS Battery Voltage" ;
UPSBatteryVoltage:units =
"volts" ;
UPSBatteryVoltage:resolution =
"0.1" ;
UPSBatteryVoltage:field_index
= "39" ;
int UPSBatteryTime(time) ;
UPSBatteryTime:long_name =
"Time remaining on UPS Battery" ;
UPSBatteryTime:units =
"seconds" ;
UPSBatteryTime:resolution =
"1" ;
UPSBatteryTime:field_index =
"40" ;
float lat ;
lat:long_name = "north
latitude" ;
lat:units =
"degrees" ;
lat:valid_range = -90.f, 90.f
;
float lon ;
lon:long_name = "east
longitude" ;
lon:units =
"degrees" ;
lon:valid_range = -180.f,
180.f ;
float alt ;
alt:long_name =
"altitude" ;
alt:units = "meters above
Mean Sea Level" ;
// global attributes:
:ingest-software = "
mmcr_ingest.c,v 1.2 2000/02/23 18:40:36 turney Exp $" ;
:input-source =
"mmcrmon1:/raw/mmcr/mon2001001000000.nc" ;
:site-id = "nsa" ;
:facility-id = "C1 :
PAARCS2:NSA-Barrow_Central_Facility" ;
:sds-mode =
"production" ;
:sample-int =
"unknown" ;
:averaging-int =
"None." ;
:serial-number = " "
;
:missing-data =
"N/A" ;
:comment = " " ;
:field_indices = "Each
field contains an attribute named field_index. This index is unique to each
field and contains a value from 1 to N (where N is the number of fields in
platform)." ;
:resolution_description =
"The resolution field attributes refer to the number of significant digits
relative to the decimal point that should be used in calculations. Using fewer digits might result in greater
uncertainty; using a larger number of digits should have no effect and thus is
unnecessary. However, analyses based on
differences in values with a larger number of significant digits than indicated
could lead to erroneous results or misleading scientific conclusions.resolution
for lat= 0.001resolution for lon = 0.001resolution for alt = 1" ;
:proc-level = "a1" ;
:zeb_platform =
"nsammcrmonC1.a1" ;
:history = "created by
the Zebra DataStore library, 1-Jan-2001,1:26:55, $RCSfile: DFA_NetCDF.c,v $
$Revision: 3.52 $\n",
"" ;
}
Sample netCDF file header for the nsammcrpowC1.a1 datastream:
------------------------------------------------------------------------------------
netcdf
nsammcrpowC1.a1.20010101.000000 {
dimensions:
time = UNLIMITED ; // (43200
currently)
variables:
int base_time ;
base_time:string =
"31-Dec-2000,23:59:59 GMT" ;
base_time:long_name =
"Base time in Epoch" ;
base_time:units =
"seconds since 1970-1-1 0:00:00 0:00" ;
double time_offset(time) ;
time_offset:long_name =
"Time offset from base_time" ;
time_offset:units =
"seconds since 2000-12-31 23:59:59 0:00" ;
int TimeNanoSeconds(time) ;
TimeNanoSeconds:long_name =
"Time; Nanoseconds since the second" ;
TimeNanoSeconds:units =
"Nanoseconds" ;
TimeNanoSeconds:resolution =
"1" ;
TimeNanoSeconds:field_index =
"1" ;
float TransmittedRFPower(time) ;
TransmittedRFPower:long_name =
"Transmitted RF Power" ;
TransmittedRFPower:units =
"dBm" ;
TransmittedRFPower:resolution
= "0.01" ;
TransmittedRFPower:field_index
= "2" ;
float lat ;
lat:long_name = "north
latitude" ;
lat:units =
"degrees" ;
lat:valid_range = -90.f, 90.f
;
float lon ;
lon:long_name = "east
longitude" ;
lon:units =
"degrees" ;
lon:valid_range = -180.f,
180.f ;
float alt ;
alt:long_name =
"altitude" ;
alt:units = "meters above
Mean Sea Level" ;
// global attributes:
:ingest-software = "
mmcr_ingest.c,v 1.2 2000/02/23 18:40:36 turney Exp $" ;
:input-source =
"mmcrpow1:/raw/mmcr/pow2001001000000.nc" ;
:site-id = "nsa" ;
:facility-id = "C1 :
PAARCS2:NSA-Barrow_Central_Facility" ;
:sds-mode =
"production" ;
:sample-int =
"unknown" ;
:averaging-int =
"None." ;
:serial-number = " "
;
:missing-data =
"N/A" ;
:comment = " " ;
:field_indices = "Each
field contains an attribute named field_index. This index is unique to each
field and contains a value from 1 to N (where N is the number of fields in
platform)." ;
:resolution_description =
"The resolution field attributes refer to the number of significant digits
relative to the decimal point that should be used in calculations. Using fewer digits might result in greater
uncertainty; using a larger number of digits should have no effect and thus is
unnecessary. However, analyses based on
differences in values with a larger number of significant digits than indicated
could lead to erroneous results or misleading scientific conclusions.resolution
for lat= 0.001resolution for lon = 0.001resolution for alt = 1" ;
:proc-level = "a1" ;
:zeb_platform =
"nsammcrpowC1.a1" ;
:history = "created by
the Zebra DataStore library, 1-Jan-2001,1:27:02, $RCSfile: DFA_NetCDF.c,v $
$Revision: 3.52 $\n",
"" ;
}
Sample netCDF file header for the nsammcrmomentsC1.a1 datastream:
------------------------------------------------------------------------------------
netcdf
nsammcrmomentsC1.a1.20010102.000106 {
dimensions:
time = UNLIMITED ; // (9242
currently)
height = 256 ;
variables:
int base_time ;
base_time:string =
"2-Jan-2001,0:01:06 GMT" ;
base_time:long_name =
"Base time in Epoch" ;
base_time:units =
"seconds since 1970-1-1 0:00:00 0:00" ;
double time_offset(time) ;
time_offset:long_name =
"Time offset from base_time" ;
time_offset:units =
"seconds since 2001-01-02 00:01:06 0:00" ;
short MeanDopplerValue(time, height)
;
MeanDopplerValue:long_name =
"10000 * [MeanDopperVelocity(m/s) / NyquistVelocity(m/s)]" ;
MeanDopplerValue:units =
"unitless" ;
MeanDopplerValue:resolution =
"1" ;
MeanDopplerValue:field_index =
"1" ;
MeanDopplerValue:comment =
"Positive values are towards the radar" ;
short SpectralWidthValue(time,
height) ;
SpectralWidthValue:long_name =
"10000 * [SpectralWidth(m/s) / NyquistVelocity(m/s)]" ;
SpectralWidthValue:units =
"unitless" ;
SpectralWidthValue:resolution
= "1" ;
SpectralWidthValue:field_index
= "2" ;
short SignalToNoiseRatio(time,
height) ;
SignalToNoiseRatio:long_name =
"Signal to Noise Ratio" ;
SignalToNoiseRatio:units =
"dB * 100" ;
SignalToNoiseRatio:resolution
= "1" ;
SignalToNoiseRatio:field_index
= "3" ;
short Noise(time, height) ;
Noise:long_name = "1000 *
log10 (noise signal level)" ;
Noise:units =
"millibells" ;
Noise:resolution =
"1" ;
Noise:field_index =
"4" ;
int InterPulsePeriod(time) ;
InterPulsePeriod:long_name =
"Inter Pulse Period" ;
InterPulsePeriod:units =
"nanoseconds" ;
InterPulsePeriod:resolution =
"1" ;
InterPulsePeriod:field_index =
"5" ;
int PulseWidth(time) ;
PulseWidth:long_name =
"Pulse Width" ;
PulseWidth:units =
"nanoseconds" ;
PulseWidth:resolution =
"1" ;
PulseWidth:field_index =
"6" ;
int StartGateDelay(time) ;
StartGateDelay:long_name =
"Start Gate Delay" ;
StartGateDelay:units =
"nanoseconds" ;
StartGateDelay:resolution =
"1" ;
StartGateDelay:field_index =
"7" ;
int GateSpacing(time) ;
GateSpacing:long_name =
"Time Spacing Between Gates" ;
GateSpacing:units =
"nanoseconds" ;
GateSpacing:resolution =
"1" ;
GateSpacing:field_index =
"8" ;
short NumHeights(time) ;
NumHeights:long_name =
"Number of Gate Heights" ;
NumHeights:units =
"count" ;
NumHeights:resolution =
"1" ;
NumHeights:field_index =
"9" ;
short NumCoherentIntegrations(time)
;
NumCoherentIntegrations:long_name
= "Number of Coherent Integrations" ;
NumCoherentIntegrations:units
= "count" ;
NumCoherentIntegrations:resolution
= "1" ;
NumCoherentIntegrations:field_index
= "10" ;
short NumSpectraAveraged(time) ;
NumSpectraAveraged:long_name =
"Number of Spectra Averaged" ;
NumSpectraAveraged:units =
"count" ;
NumSpectraAveraged:resolution
= "1" ;
NumSpectraAveraged:field_index
= "11" ;
short NumFft(time) ;
NumFft:long_name =
"Number of Ffts" ;
NumFft:units =
"count" ;
NumFft:resolution =
"1" ;
NumFft:field_index =
"12" ;
short Delay(time) ;
Delay:long_name = "Delay
through Rx" ;
Delay:units =
"nanoseconds" ;
Delay:resolution =
"1" ;
Delay:field_index =
"13" ;
short Switch(time) ;
Switch:long_name = "Rx
bandwidth switch code" ;
Switch:units = "none"
;
Switch:resolution =
"1" ;
Switch:field_index =
"14" ;
short NumCodeBits(time) ;
NumCodeBits:long_name =
"Number of Code Bits" ;
NumCodeBits:units =
"count" ;
NumCodeBits:resolution =
"1" ;
NumCodeBits:field_index =
"15" ;
float NyquistVelocity(time) ;
NyquistVelocity:long_name =
"RadarWaveLength(m) / [4 * InterPulsePeriod(s) *
NumCoherentIntegrations]" ;
NyquistVelocity:units =
"m/s" ;
NyquistVelocity:resolution =
"0.001" ;
NyquistVelocity:field_index =
"16" ;
int Heights(time, height) ;
Heights:long_name =
"Height of Measured Value; msl" ;
Heights:units =
"meters" ;
Heights:resolution =
"1" ;
Heights:field_index =
"17" ;
float lat ;
lat:long_name = "north
latitude" ;
lat:units =
"degrees" ;
lat:valid_range = -90.f, 90.f
;
float lon ;
lon:long_name = "east
longitude" ;
lon:units =
"degrees" ;
lon:valid_range = -180.f,
180.f ;
float alt ;
alt:long_name =
"altitude" ;
alt:units = "meters above
Mean Sea Level" ;
// global attributes:
:ingest-software = "
mmcr_ingest.c,v 1.2 2000/02/23 18:40:36 turney Exp $" ;
:input-source =
"mmcrmoments1:/raw/mmcr/d01002a0000.mom" ;
:site-id = "nsa" ;
:facility-id = "C1 :
PAARCS2:NSA-Barrow_Central_Facility" ;
:sds-mode =
"production" ;
:sample-int = "unknown"
;
:averaging-int =
"None." ;
:serial-number = " "
;
:missing-data =
"N/A" ;
:comment = " " ;
:field_indices = "Each
field contains an attribute named field_index. This index is unique to each
field and contains a value from 1 to N (where N is the number of fields in
platform)." ;
:resolution_description =
"The resolution field attributes refer to the number of significant digits
relative to the decimal point that should be used in calculations. Using fewer digits might result in greater
uncertainty; using a larger number of digits should have no effect and thus is
unnecessary. However, analyses based on
differences in values with a larger number of significant digits than indicated
could lead to erroneous results or misleading scientific conclusions.resolution
for lat= 0.001resolution for lon = 0.001resolution for alt = 1" ;
:proc-level = "a1" ;
:zeb_platform =
"nsammcrmomentsC1.a1" ;
:history = "created by
the Zebra DataStore library, 2-Jan-2001,1:08:16, $RCSfile: DFA_NetCDF.c,v $
$Revision: 3.52 $\n",
"" ;
}