netcdf twpwsifullradianceC3.b1.20040110.000000 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.000600 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.001200 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.001800 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.002400 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.003000 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.003600 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.004200 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.004800 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.005400 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.010000 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.010600 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.011200 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.011800 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.012400 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.013000 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.013600 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.014800 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.015400 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.020000 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.020600 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.021200 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.021800 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.022400 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.023000 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.023600 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.024200 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.024800 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.025400 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.030000 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.030600 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.031200 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.031800 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.032400 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.033000 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.033600 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.034200 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.034800 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.035400 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.040000 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.040600 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.041200 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.041800 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.042400 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.043000 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.043600 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.044200 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.044800 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.045400 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.050000 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.050600 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.051200 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.051800 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.052400 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.053000 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.053600 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.054200 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.054800 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.055400 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.060000 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.060600 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.061200 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.061800 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.062400 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.063000 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.063600 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.064200 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.064800 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.065400 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.070000 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.070600 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.071200 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.071800 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.072400 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.073000 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.073600 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.074200 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.074800 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.090600 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.091200 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.091800 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.092400 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.093000 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.093600 { dimensions: image_count = UNLIMITED ; // (3 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.124800 { dimensions: image_count = UNLIMITED ; // (1 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.125400 { dimensions: image_count = UNLIMITED ; // (1 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.130000 { dimensions: image_count = UNLIMITED ; // (1 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.130600 { dimensions: image_count = UNLIMITED ; // (1 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.131200 { dimensions: image_count = UNLIMITED ; // (1 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ================================================== netcdf twpwsifullradianceC3.b1.20040110.131800 { dimensions: image_count = UNLIMITED ; // (1 currently) image_cols = 512 ; image_rows = 512 ; dark_file_types = 2 ; char_5 = 5 ; char_10 = 10 ; char_25 = 25 ; char_64 = 64 ; variables: int base_time ; base_time:long_name = "base time in epoch" ; base_time:units = "seconds" ; base_time:resolution = 1 ; base_time:valid_range = 0, 1576800000 ; base_time:comment = "seconds since 00:00:00 1 Jan 1970 GMT" ; double time_offset ; time_offset:long_name = "offset from \"base_time\"" ; time_offset:units = "seconds" ; time_offset:resolution = 1. ; time_offset:valid_range = 0., 1576800000. ; time_offset:comment = "positive offset from base time for data; always zero for this file type" ; float cal_image(image_count, image_rows, image_cols) ; cal_image:long_name = "calibrated image" ; cal_image:units = "mW/m^2/sr/nm" ; cal_image:resolution = 0.1f ; cal_image:valid_range = 0.f, 1000.f ; cal_image:null_value = NaNf ; cal_image:comment = "image set should include {blue, red, nir} for day, {clear, blue, red, nir} for bright night, or {clear, nir} for dark night" ; byte mask(image_rows, image_cols) ; mask:long_name = "source, horizon, poles, occultor, and trolley mask" ; mask:units = "unitless" ; mask:resolution = 1b ; mask:valid_range = 0b, 1b ; mask:null_value = 0b ; mask:comment = "mask applicable to any clear, blue, red, and nir images that exist indicating pixels with valid data (mask=1) and suspect data (mask=0); suspect data may be influenced by light source, horizon (horizon structures not currently considered), occultor pole mechanisms, occultor, or trolley" ; char image_color(image_count, char_5) ; image_color:long_name = "image color" ; image_color:units = "unitless" ; image_color:valid_range = "{clear, blue, red, nir}" ; image_color:comment = "identifies type of image by image_count dimension" ; char set_quality ; set_quality:long_name = "quality control character for image set" ; set_quality:units = "unitless" ; set_quality:valid_range = "{A, B, C, D, F}" ; set_quality:comment = "A = no problems detected, B = minor problems that do not affect calibrated image validity, C = minor problems that could affect image validity, D = image calibration suspect, F = bad calibrated images" ; char header_date_time(char_25) ; header_date_time:long_name = "raw image header time stamp" ; header_date_time:units = "unitless" ; header_date_time:comment = "yyyy:mm:dd:hh:mm:ss" ; char time_source ; time_source:long_name = "source for time" ; time_source:units = "unitless" ; time_source:valid_range = "{W, B, S, G, F}" ; time_source:null_value = "@" ; time_source:comment = "W = WWV, B = BIOS, S = system clock, G = GPS, F = none" ; char time_status ; time_status:long_name = "clock diagnostic code" ; time_status:units = "unitless" ; time_status:valid_range = "{0, 1, 2, 3, 4, 9, A}" ; time_status:null_value = "@" ; time_status:comment = "if source is W or G then {1=first time grab, 2=match with BIOS, 3=match with system, 9=mismatch with BIOS, A=mismatch with system}, else if source is S then {1=only system clock valid}, else if source is B then {4=WWV or GPS invalid}, else if source is F then {0=no valid clocks}" ; char file(image_count, char_64) ; file:long_name = "00 image file name" ; file:units = "unitless" ; file:comment = "raw image file name without directory information indexed by image_count, limited to char_64 characters" ; char dark_file(dark_file_types, char_64) ; dark_file:long_name = "dark image file names" ; dark_file:units = "unitless" ; dark_file:null_value = "null" ; dark_file:comment = "raw dark image file name without directory information used for dark current estimation or \"average\" if average dark current from calibration file is used; dimensions are [drk, dr2]; null_value used for dr2 for old IDPC operation; limited to char_64 characters" ; char cal_file(char_64) ; cal_file:long_name = "calibration file name" ; cal_file:units = "unitless" ; cal_file:comment = "calibration file name without directory information used for this retrieval, limited to char_64 characters" ; float exposure(image_count) ; exposure:long_name = "exposure" ; exposure:units = "milliseconds" ; exposure:resolution = 1.f ; exposure:valid_range = 0.f, 120000.f ; exposure:null_value = NaNf ; exposure:comment = "exposure time for each image in set" ; short neutral_filter(image_count) ; neutral_filter:long_name = "neutral density filter" ; neutral_filter:units = "unitless" ; neutral_filter:resolution = 1s ; neutral_filter:valid_range = 1s, 4s ; neutral_filter:null_value = 0s ; neutral_filter:comment = "approximate filter transmissivity: 1 = 1.0, 2 = 0.01, 3 = 0.001, 4 = 1.0" ; short spectral_filter(image_count) ; spectral_filter:long_name = "spectral filter" ; spectral_filter:units = "unitless" ; spectral_filter:resolution = 1s ; spectral_filter:valid_range = 1s, 4s ; spectral_filter:null_value = 0s ; spectral_filter:comment = "filter center and FWHM bandpass: 1 = NIR (800nm, 70nm), 2 = open (-), 3 = red (650nm, 70nm), 4 = blue (450nm, 70nm)" ; float arc_dest(image_count) ; arc_dest:long_name = "occultor arc intended destination" ; arc_dest:units = "degrees" ; arc_dest:resolution = 0.1f ; arc_dest:valid_range = 0.f, 180.f ; arc_dest:null_value = NaNf ; arc_dest:comment = "commanded occultor position" ; float arc_pos(image_count) ; arc_pos:long_name = "occultor arc sensed destination" ; arc_pos:units = "degrees" ; arc_pos:resolution = 0.1f ; arc_pos:valid_range = 0.f, 180.f ; arc_pos:null_value = NaNf ; arc_pos:comment = "sensed occultor position; may be different than actual position" ; float trolley_dest(image_count) ; trolley_dest:long_name = "trolley intended destination" ; trolley_dest:units = "degrees" ; trolley_dest:resolution = 0.1f ; trolley_dest:valid_range = 0.f, 180.f ; trolley_dest:null_value = NaNf ; trolley_dest:comment = "commanded trolley position; unused field for instruments not equipped with a trolley" ; float trolley_pos(image_count) ; trolley_pos:long_name = "trolley sensed destination" ; trolley_pos:units = "degrees" ; trolley_pos:resolution = 0.1f ; trolley_pos:valid_range = 0.f, 180.f ; trolley_pos:null_value = NaNf ; trolley_pos:comment = "sensed trolley position; may be different than actual position; unused field for instruments not equipped with a trolley" ; float sun_az(image_count) ; sun_az:long_name = "sun azimuth" ; sun_az:units = "degrees" ; sun_az:resolution = 0.1f ; sun_az:valid_range = 0.f, 360.f ; sun_az:null_value = NaNf ; sun_az:comment = "calculated based on time and date" ; float sun_zen(image_count) ; sun_zen:long_name = "sun zenith" ; sun_zen:units = "degrees" ; sun_zen:resolution = 0.1f ; sun_zen:valid_range = -90.f, 90.f ; sun_zen:null_value = NaNf ; sun_zen:comment = "calculated based on time and date" ; float moon_az(image_count) ; moon_az:long_name = "moon azimuth" ; moon_az:units = "degrees" ; moon_az:resolution = 0.1f ; moon_az:valid_range = 0.f, 360.f ; moon_az:null_value = NaNf ; moon_az:comment = "calculated based on time and date" ; float moon_zen(image_count) ; moon_zen:long_name = "moon zenith" ; moon_zen:units = "degrees" ; moon_zen:resolution = 0.1f ; moon_zen:valid_range = -90.f, 90.f ; moon_zen:null_value = NaNf ; moon_zen:comment = "calculated based on time and date" ; char light_source(char_5) ; light_source:long_name = "light source" ; light_source:units = "unitless" ; light_source:valid_range = "{sun, moon, none}" ; light_source:null_value = "@@@@@" ; light_source:comment = "source for positioning occultor" ; char red_flags(image_count, char_25) ; red_flags:long_name = "serious trouble flags" ; red_flags:units = "unitless" ; red_flags:comment = "a string of 11 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "No response from camera; images are not being snapped" ; red_flags:character_2 = "Camera CCD chip temperature above 0 deg C (camera CEU powered off at Temp. = 10 deg C)" ; red_flags:character_3 = "Environmental housing temperature above 49 deg C" ; red_flags:character_4 = "Coolant flow rate less than 0.09 gallons per minute (camera CEU powered off)" ; red_flags:character_5 = "Camera housing temperature above 49 deg C" ; red_flags:character_6 = "Arc occultor not responding; arc position > 8 deg off" ; red_flags:character_7 = "Trolley occultor not responding; trolley position > 8 deg off" ; red_flags:character_8 = "Neutral density filter not in position" ; red_flags:character_9 = "Spectral filter not in position" ; red_flags:character_10 = "Flux levels abnormal; too high, at least 5% of pixels are off scale bright" ; red_flags:character_11 = "Flux levels abnormal; too low, pixel values < 100 in dark region" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 16 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; yellow_flags:character_1 = "Camera CCD chip temperature above -30 deg C" ; yellow_flags:character_2 = "Environmental housing temperature above 32 deg C" ; yellow_flags:character_3 = "Coolant flow rate less than 0.125 gal per min" ; yellow_flags:character_4 = "Camera housing temperature above 32 deg C" ; yellow_flags:character_5 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_6 = "Arc occultor not responding; arc position > 2 deg off" ; yellow_flags:character_7 = "Trolley occultor not responding; trolley position > 2 deg off" ; yellow_flags:character_8 = "GPS clock not responding" ; yellow_flags:character_9 = "Hard disk is full" ; yellow_flags:character_10 = "Unable to resolve IP address" ; yellow_flags:character_11 = "Unknown host name" ; yellow_flags:character_12 = "Unknown user name" ; yellow_flags:character_13 = "Unknown password" ; yellow_flags:character_14 = "Cannot send files to NT buffer computer" ; yellow_flags:character_15 = "Flux levels abnormal, at least 1% of pixels are offscale bright" ; yellow_flags:character_16 = "Flux levels abnormal; areas just inside image are < 5% as bright as dark region; shutter may be malfunctioning" ; float housing_temp ; housing_temp:long_name = "camera housing temperature" ; housing_temp:units = "degrees C" ; housing_temp:resolution = 0.1f ; housing_temp:valid_range = 0.f, 100.f ; housing_temp:null_value = NaNf ; housing_temp:comment = "should be less than 32 degrees C" ; float env_temp ; env_temp:long_name = "environmental housing temperature" ; env_temp:units = "degrees C" ; env_temp:resolution = 0.1f ; env_temp:valid_range = 0.f, 100.f ; env_temp:null_value = NaNf ; env_temp:comment = "should be less than 32 degrees C" ; float ccd_temp ; ccd_temp:long_name = "camera CCD chip temperature" ; ccd_temp:units = "degrees C" ; ccd_temp:resolution = 0.1f ; ccd_temp:valid_range = -50.f, 100.f ; ccd_temp:null_value = NaNf ; ccd_temp:comment = "should be less than -30 degrees C" ; float humidity ; humidity:long_name = "environmental housing relative humidity" ; humidity:units = "percentage" ; humidity:resolution = 1.f ; humidity:valid_range = 0.f, 100.f ; humidity:null_value = NaNf ; humidity:comment = "none" ; float n2_press ; n2_press:long_name = "camera housing nitrogen pressure" ; n2_press:units = "psi" ; n2_press:resolution = 0.1f ; n2_press:valid_range = 0.f, 10.f ; n2_press:null_value = NaNf ; n2_press:comment = "should be greater than 2 psi" ; float flow_rate ; flow_rate:long_name = "camera coolant flow rate" ; flow_rate:units = "gpm" ; flow_rate:resolution = 0.001f ; flow_rate:valid_range = 0.f, 1.f ; flow_rate:null_value = NaNf ; flow_rate:comment = "should be greater than 0.125 gpm" ; char hardware_version(char_5) ; hardware_version:long_name = "hardware version" ; hardware_version:null_value = "@@@@@" ; hardware_version:comment = "indicates modification level of instrument" ; char software_version(char_5) ; software_version:long_name = "runwsi software version" ; software_version:null_value = "@@@@@" ; software_version:comment = "indicates modification level of the runwsi software that controls insturment operation" ; float camera_offset ; camera_offset:long_name = "camera offset" ; camera_offset:units = "degrees" ; camera_offset:resolution = 0.1f ; camera_offset:valid_range = 0.f, 360.f ; camera_offset:null_value = NaNf ; camera_offset:comment = "camera offset as installed from environmental housing" ; float field_offset ; field_offset:long_name = "field offset" ; field_offset:units = "degrees" ; field_offset:resolution = 0.1f ; field_offset:valid_range = 0.f, 360.f ; field_offset:null_value = NaNf ; field_offset:comment = "offset as installed of environmental housing from true north" ; float occultor_az_offset ; occultor_az_offset:long_name = "occultor azimuth offset" ; occultor_az_offset:units = "degrees" ; occultor_az_offset:resolution = 0.1f ; occultor_az_offset:valid_range = 0.f, 360.f ; occultor_az_offset:null_value = NaNf ; occultor_az_offset:comment = "offset as installed of occultor pivot axis from true north" ; float occultor_zen_offset ; occultor_zen_offset:long_name = "occultor zenith offset" ; occultor_zen_offset:units = "degrees" ; occultor_zen_offset:resolution = 0.1f ; occultor_zen_offset:valid_range = 0.f, 360.f ; occultor_zen_offset:null_value = NaNf ; occultor_zen_offset:comment = "offset as installed of occultor arc zenith from true zenith" ; float center_column ; center_column:long_name = "image center column" ; center_column:units = "pixels" ; center_column:resolution = 0.1f ; center_column:valid_range = 0.f, 511.f ; center_column:null_value = NaNf ; center_column:comment = "uncalibrated column coordinate of zenithal point" ; float center_row ; center_row:long_name = "image center row" ; center_row:units = "pixels" ; center_row:resolution = 0.1f ; center_row:valid_range = 0.f, 511.f ; center_row:null_value = NaNf ; center_row:comment = "uncalibrated row coordinate of zenithal point" ; float radius ; radius:long_name = "image radius" ; radius:units = "pixels" ; radius:resolution = 0.1f ; radius:valid_range = 0.f, 511.f ; radius:null_value = NaNf ; radius:comment = "uncalibrated mean pixel distance from image center to 90 degree zenith angle circle" ; char field_az_update(char_10) ; field_az_update:long_name = "field azimuth update time" ; field_az_update:units = "unitless" ; field_az_update:format = "hhmm:ss" ; field_az_update:comment = "time of last update of platform (e.g. SHEBA ship) heading information" ; char site(char_5) ; site:long_name = "site location" ; site:units = "unitless" ; site:valid_range = "{sheba, nsa-1, nsa-2, twp-1, twp-2, twp-3, sgp-1, spg-2, other}" ; site:comment = "instrument location designator" ; float latitude ; latitude:long_name = "latitude" ; latitude:units = "degrees" ; latitude:resolution = 0.0001f ; latitude:valid_range = -90.f, 90.f ; latitude:null_value = NaNf ; latitude:comment = "southern hemisphere is negative" ; float longitude ; longitude:long_name = "longitude" ; longitude:units = "degrees" ; longitude:resolution = 0.0001f ; longitude:valid_range = -180.f, 180.f ; longitude:null_value = NaNf ; longitude:comment = "western hemisphere is negative" ; float alt ; alt:long_name = "altitude" ; alt:units = "meters" ; alt:resolution = 1.f ; alt:valid_range = -200.f, 9000.f ; alt:null_value = NaNf ; alt:comment = "referenced to mean sea level" ; // global attributes: :ingest_software = "WsiIdpc4_v13.pro, 2001/09/25 tooman" ; :proc_level = "a1" ; :site_id = "twp" ; :facility_id = "C3:Darwin_Central_Facility" ; :sds_mode = "production" ; :comment = "when reducing data, the calibration file which most immediately preceded the subject data was used, or else the first one available" ; :collection_mode = "2 minute partial set and 6 minute full set" ; :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" ; :wsi_serial_number = 9s ; :zeb_platform = "twpwsifullradianceC3.b1" ; :history = "unknown" ; } ==================================================