Here is an example of a netCDF water vapor mixing ratio file that DA10 produces.
netcdf file:DA10_WV_U2910121_20231220T112007Z {
dimensions:
layer = 5;
module = 2;
range = 415;
time = UNLIMITED; // (19 currently)
variables:
short airplane_filter_max_range;
airplane_filter_max_range:_FillValue = -999S;
airplane_filter_max_range:units = "m";
airplane_filter_max_range:long_name = "Airplane filter max range";
airplane_filter_max_range:comment = "maximum range where airplane echoes are filtered to prevent false cloud detection";
double azimuth_angle(module);
azimuth_angle:_FillValue = -999.0;
azimuth_angle:units = "degrees";
azimuth_angle:long_name = "Measurement azimuth angle";
azimuth_angle:standard_name = "sensor_azimuth_angle";
azimuth_angle:comment = "azimuth direction of tilted beam for each optics unit, clockwise positive from north";
int cloud_base_heights(time, layer);
cloud_base_heights:coordinates = "time layer longitude latitude";
cloud_base_heights:comment = "reported in vertical, or in the instrument beam direction, depending on tilt_correction setting";
cloud_base_heights:_FillValue = -99;
cloud_base_heights:units = "m";
cloud_base_heights:long_name = "Cloud base heights";
cloud_base_heights:_ChunkSizes = 1, 5;
int cloud_penetration_depth(time, layer);
cloud_penetration_depth:_FillValue = -99;
cloud_penetration_depth:units = "m";
cloud_penetration_depth:long_name = "Cloud penetration depth";
cloud_penetration_depth:coordinates = "time layer longitude latitude";
cloud_penetration_depth:comment = "reported in the instrument beam direction";
cloud_penetration_depth:_ChunkSizes = 1, 5;
int cloud_thickness(time, layer);
cloud_thickness:long_name = "Cloud thickness";
cloud_thickness:coordinates = "time layer longitude latitude";
cloud_thickness:comment = "reported in the instrument beam direction";
cloud_thickness:_FillValue = -99;
cloud_thickness:units = "m";
cloud_thickness:_ChunkSizes = 1, 5;
int elevation;
elevation:long_name = "Ground level altitude";
elevation:_FillValue = -999;
elevation:units = "m";
elevation:standard_name = "ground_level_altitude";
elevation:comment = "measurement site height above or below a fixed reference point, most commonly mean sea level";
short fog_detection(time);
fog_detection:_FillValue = -999S;
fog_detection:long_name = "Detection of fog";
fog_detection:coordinates = "time longitude latitude";
fog_detection:comment = "detected/not-detected (1/0)";
fog_detection:_ChunkSizes = 19;
short height_offset(time);
height_offset:_FillValue = -999S;
height_offset:units = "m";
height_offset:long_name = "Instrument height offset to ground level";
height_offset:positive = "up";
height_offset:comment = "instrument height offset relative to ground level, for example, when the instrument is placed on a roof of a building or below the ground level; the offset is added to the cloud base height results";
height_offset:_ChunkSizes = 19;
double latitude;
latitude:_FillValue = -999.0;
latitude:units = "degrees_north";
latitude:long_name = "Latitude";
latitude:standard_name = "latitude";
int layer(layer);
layer:_FillValue = -999;
layer:units = "layer";
layer:long_name = "Cloud layer";
layer:comment = "1 ... 5: observed cloud layer or cloud base";
double longitude;
longitude:standard_name = "longitude";
longitude:_FillValue = -999.0;
longitude:units = "degrees_east";
longitude:long_name = "Longitude";
double merging_region(time, module);
merging_region:_FillValue = -999.0;
merging_region:units = "m";
merging_region:long_name = "Merging region from near range to far range";
merging_region:comment = "region where transition from near-range measurement to far-range measurement occurs; region adapts based on signal levels";
merging_region:_ChunkSizes = 1, 2;
int module(module);
module:comment = "1: near-range measurement unit, 2: far-range measurement unit";
module:_FillValue = -999;
module:long_name = "Measurement unit";
short precipitation_detection(time);
precipitation_detection:_FillValue = -999S;
precipitation_detection:long_name = "Detection of ground reaching precipitation";
precipitation_detection:coordinates = "time longitude latitude";
precipitation_detection:comment = "detected/not-detected (1/0)";
precipitation_detection:_ChunkSizes = 19;
double range(range);
range:_FillValue = -999.0;
range:units = "m";
range:long_name = "Measurement range";
range:axis = "Z";
range:positive = "up";
range:comment = "measurement distance from the instrument in the direction of the transmitted laser beam";
float range_resolution;
range_resolution:comment = "distance between consecutive profile elements in the direction of the transmitted laser beam";
range_resolution:_FillValue = -999.0f;
range_resolution:units = "m";
range_resolution:long_name = "Range resolution";
float receiver_gain(time, module);
receiver_gain:_FillValue = -999.0f;
receiver_gain:long_name = "Receiver gain";
receiver_gain:comment = "Value 1 corresponds to nominal gain";
receiver_gain:_ChunkSizes = 1, 2;
short sky_condition_cloud_layer_covers(time, layer);
sky_condition_cloud_layer_covers:_FillValue = -99S;
sky_condition_cloud_layer_covers:long_name = "Cloud cover per cloud layer";
sky_condition_cloud_layer_covers:coordinates = "time layer longitude latitude";
sky_condition_cloud_layer_covers:comment = "amount of cloud cover for different cloud layers for up to 5 layers";
sky_condition_cloud_layer_covers:units = "oktas";
sky_condition_cloud_layer_covers:_ChunkSizes = 1, 5;
int sky_condition_cloud_layer_heights(time, layer);
sky_condition_cloud_layer_heights:units = "m";
sky_condition_cloud_layer_heights:long_name = "Cloud layer heights";
sky_condition_cloud_layer_heights:coordinates = "time layer longitude latitude";
sky_condition_cloud_layer_heights:comment = "heights for different cloud layers for up to 5 layers, reported in vertical, or in the instrument beam direction, depending on tilt_correction setting";
sky_condition_cloud_layer_heights:_FillValue = -99;
sky_condition_cloud_layer_heights:_ChunkSizes = 1, 5;
short sky_condition_total_cloud_cover(time);
sky_condition_total_cloud_cover:units = "oktas";
sky_condition_total_cloud_cover:long_name = "Total cloud cover";
sky_condition_total_cloud_cover:coordinates = "time longitude latitude";
sky_condition_total_cloud_cover:comment = "total amount of cloud cover aggregated across cloud layers";
sky_condition_total_cloud_cover:_FillValue = -99S;
sky_condition_total_cloud_cover:_ChunkSizes = 19;
float surface_pressure(time);
surface_pressure:_FillValue = -999.0f;
surface_pressure:units = "hPa";
surface_pressure:long_name = "Surface pressure";
surface_pressure:coordinates = "time longitude latitude";
surface_pressure:comment = "measurement from weather transmitter";
surface_pressure:_ChunkSizes = 19;
float surface_temperature(time);
surface_temperature:_FillValue = -999.0f;
surface_temperature:units = "Celsius";
surface_temperature:long_name = "Surface temperature";
surface_temperature:coordinates = "time longitude latitude";
surface_temperature:comment = "measurement from weather transmitter";
surface_temperature:_ChunkSizes = 19;
float surface_water_vapor(time);
surface_water_vapor:long_name = "Surface water vapor mixing ratio";
surface_water_vapor:coordinates = "time longitude latitude";
surface_water_vapor:comment = "measurement from weather transmitter";
surface_water_vapor:_FillValue = -999.0f;
surface_water_vapor:units = "g/kg";
surface_water_vapor:_ChunkSizes = 19;
float tilt_angle(time, module);
tilt_angle:_FillValue = -999.0f;
tilt_angle:units = "degrees";
tilt_angle:long_name = "Optics unit tilt angle from the vertical";
tilt_angle:standard_name = "zenith_angle";
tilt_angle:_ChunkSizes = 1, 2;
short tilt_correction(time);
tilt_correction:_FillValue = -999S;
tilt_correction:long_name = "Tilt correction";
tilt_correction:comment = "on/off (1/0): when correction is on, cloud bases are reported in vertical direction; when correction is off, in beam direction";
tilt_correction:_ChunkSizes = 19;
double time(time);
time:_FillValue = -999.0;
time:units = "seconds since 1970-01-01 00:00:00.000";
time:long_name = "UTC time";
time:axis = "T";
time:standard_name = "time";
time:cf_role = "profile_id";
time:comment = "represents the end of the averaging period";
time:_ChunkSizes = 19;
int vertical_visibility(time);
vertical_visibility:long_name = "Vertical visibility";
vertical_visibility:coordinates = "time longitude latitude";
vertical_visibility:comment = "reported in the instrument beam direction";
vertical_visibility:_FillValue = -99;
vertical_visibility:units = "m";
vertical_visibility:_ChunkSizes = 19;
float water_vapor(time, range);
water_vapor:_FillValue = -999.0f;
water_vapor:units = "g/kg";
water_vapor:long_name = "Water vapor mixing ratio";
water_vapor:coordinates = "time range longitude latitude";
water_vapor:averaging_time_in_seconds = 1200;
water_vapor:_ChunkSizes = 1, 415;
double water_vapor_max_range(time);
water_vapor_max_range:comment = "maximum valid water vapor measurement range based on quality control";
water_vapor_max_range:long_name = "Maximum valid water vapor measurement range";
water_vapor_max_range:coordinates = "time longitude latitude";
water_vapor_max_range:_FillValue = -999.0;
water_vapor_max_range:units = "m";
water_vapor_max_range:_ChunkSizes = 19;
float water_vapor_uncertainty(time, range);
water_vapor_uncertainty:_FillValue = -999.0f;
water_vapor_uncertainty:units = "g/kg";
water_vapor_uncertainty:long_name = "Measurement uncertainty of water vapor mixing ratio";
water_vapor_uncertainty:coordinates = "time range longitude latitude";
water_vapor_uncertainty:comment = "uncertainty estimate is valid in the same measurement range where water vapor measurement is valid";
water_vapor_uncertainty:_ChunkSizes = 1, 415;
int water_vapor_valid(time, range);
water_vapor_valid:_FillValue = -999;
water_vapor_valid:long_name = "Validity of water vapor mixing ratio";
water_vapor_valid:coordinates = "time range longitude latitude";
water_vapor_valid:comment = "valid/invalid (1/0) flag for each measurement range based on quality control";
water_vapor_valid:_ChunkSizes = 1, 415;
group: monitoring {
variables:
double time(time);
time:standard_name = "time";
time:_FillValue = -999.0;
time:units = "seconds since 1970-01-01 00:00:00.000";
time:long_name = "UTC time";
time:axis = "T";
time:_ChunkSizes = 19;
float laser_power_percent(time, module);
laser_power_percent:comment = "laser output power relative to the laser power measured at factory";
laser_power_percent:_FillValue = -999.0f;
laser_power_percent:units = "percent";
laser_power_percent:long_name = "Laser power percent";
laser_power_percent:_ChunkSizes = 1, 2;
float window_condition(time);
window_condition:_FillValue = -999.0f;
window_condition:units = "percent";
window_condition:long_name = "Window condition (near range unit)";
window_condition:comment = "100 for a clean, 0 for a totally dirty window";
window_condition:_ChunkSizes = 19;
}
group: status {
}
// global attributes:
:title = "Vaisala DIAL Atmospheric Profiler DA10";
:institution = "";
:source = "DA10 gateway";
:instrument_serial_number = "U2910121";
:Conventions = "CF-1.8";
:schema_version = "v1.5";
:algorithm_version = "3.0.12";
:gateway_firmware_version = "1.1.3";
:dac_far_firmware_version = "2.0.0";
:dac_near_firmware_version = "2.0.0";
:history = "";
:comment = "";
:unit = "m";
:file_temporal_span_in_minutes = 20;
:profile_interval_in_seconds = 60;
data:
airplane_filter_max_range =-999
azimuth_angle =
{-999.0, -999.0}
cloud_base_heights =
{
{-99, -99, -99, -99, -99},
{-99, -99, -99, -99, -99},
{-99, -99, -99, -99, -99},
{-99, -99, -99, -99, -99},
...
{-99, -99, -99, -99, -99},
{-99, -99, -99, -99, -99}
}
cloud_penetration_depth =
{
{-99, -99, -99, -99, -99},
{-99, -99, -99, -99, -99},
{-99, -99, -99, -99, -99},
{-99, -99, -99, -99, -99},
...
{-99, -99, -99, -99, -99},
{-99, -99, -99, -99, -99}
}
cloud_thickness =
{
{-99, -99, -99, -99, -99},
{-99, -99, -99, -99, -99},
{-99, -99, -99, -99, -99},
{-99, -99, -99, -99, -99},
...
{-99, -99, -99, -99, -99},
{-99, -99, -99, -99, -99}
}
elevation =9000
fog_detection =
{-999, -999, -999, -999, ... , -999, -999}
height_offset =
{-666, -999, -999, -999, ... , -999, -999}
latitude =12.34
layer =
{-999, -999, -999, -999, -999}
longitude =56.78
merging_region =
{
{427.2, 475.2},
{427.2, 475.2},
{427.2, 475.2},
{427.2, 475.2},
...
{427.2, 475.2},
{427.2, 475.2}
}
module =
{1, 2}
precipitation_detection =
{-999, -999, -999, -999, ... , -999, -999}
range =
{57.6, 67.2, 76.80000000000001, 86.4, ... , 4022.4000000000005, 4032.0000000000005}
range_resolution =9.6
receiver_gain =
{
{1.0, 1.0},
{1.0, 1.0},
{1.0, 1.0},
{1.0, 1.0},
...
{1.0, 1.0},
{1.0, 1.0}
}
sky_condition_cloud_layer_covers =
{
{-99, -99, -99, -99, -99},
{-99, -99, -99, -99, -99},
{-99, -99, -99, -99, -99},
{-99, -99, -99, -99, -99},
...
{-99, -99, -99, -99, -99},
{-99, -99, -99, -99, -99}
}
sky_condition_cloud_layer_heights =
{
{-99, -99, -99, -99, -99},
{-99, -99, -99, -99, -99},
{-99, -99, -99, -99, -99},
{-99, -99, -99, -99, -99},
...
{-99, -99, -99, -99, -99},
{-99, -99, -99, -99, -99}
}
sky_condition_total_cloud_cover =
{-99, -99, -99, -99, ... , -99, -99}
surface_pressure =
{985.6, 985.6, 985.6, 985.6, ... , 985.7, 985.7}
surface_temperature =
{0.2, 0.2, 0.2, 0.2, 0.2, ... , 0.1, 0.1}
surface_water_vapor =
{3.1291788, 3.1291788, 3.1212673, 3.1291788, ... , 3.110064, 3.1061375}
tilt_angle =
{
{-999.0, -999.0},
{-999.0, -999.0},
{-999.0, -999.0},
{-999.0, -999.0},
...
{-999.0, -999.0},
{-999.0, -999.0}
}
tilt_correction =
{-999, -999, -999, -999, ... , -999, -999}
time =
{1.703069959E9, 1.703070019E9, 1.703070079E9, 1.703070144E9, ... , 1.703071024E9, 1.703071089E9}
vertical_visibility =
{-99, -99, -99, -99, ... , -99, -99}
water_vapor =
{
{3.1939607, 3.1544905, 3.0443187, 2.996748, ... , 1.3739222, 1.5079223},
{3.1918292, 3.15709, 3.0482056, 3.0012946, ... , 0.38427863, 0.35027865},
{3.1952486, 3.163091, 3.0545483, 3.0074682, ... , 1.6149026, 1.6809026},
{3.1987293, 3.1689765, 3.0603533, 3.012106, ... , 0.3225926, 0.18859258},
...
{3.239597, 3.2325306, 3.1285584, 3.0709732, ... , -6.6922946, -6.458295},
{3.2314954, 3.224443, 3.1206176, 3.0636442, ... , -4.8379917, -5.103992}
}
water_vapor_max_range =
{1187.0, 1191.0, 1187.0, 1187.0, ... , 1135.0, 1139.0}
water_vapor_uncertainty =
{
{0.04586634, 0.0796496, 0.09189384, 0.09422815, ... , 23.574614, 23.573853},
{0.05361579, 0.083767176, 0.08048829, 0.0745553, ... , 30.0, 30.0},
{0.053711724, 0.0893691, 0.09735192, 0.09557116, ... , 23.827347, 23.825846},
{0.054771014, 0.08568467, 0.08144672, 0.074429676, ... , 30.0, 30.0},
...
{0.025665687, 0.04625672, 0.058831025, 0.061937846, ... , 30.0, 30.0},
{0.032582074, 0.053732883, 0.056786343, 0.051832918, ... , 30.0, 30.0}
}
water_vapor_valid =
{
{-999, -999, -999, -999, -999, ... , -999, -999},
{-999, -999, -999, -999, -999, ... , -999, -999},
{-999, -999, -999, -999, -999, ... , -999, -999},
{-999, -999, -999, -999, -999, ... , -999, -999},
...
{-999, -999, -999, -999, -999, ... , -999, -999},
{-999, -999, -999, -999, -999, ... , -999, -999}
}
monitoring/time =
{1.703069959E9, 1.703070019E9, 1.703070079E9, 1.703070144E9, ... , 1.703071024E9, 1.703071089E9}
monitoring/laser_power_percent =
{
{98.459496, 99.802258},
{99.081055, 99.547394},
{98.44877, 99.1234},
{99.147, 99.54873},
...
{98.80352, 99.340584},
{98.67958, 99.093044}
}
monitoring/window_condition =
{100.0, 100.0, 100.0, 100.0, ... , 100.0, 100.0}
}