netcdf nsawsifullradianceC1.a1.20010730.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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.001000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.002000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.004000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.005000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.011000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.012000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.014000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.015000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.021000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.022000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.024000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.025000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.031000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.032000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.034000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.035000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.041000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.042000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.044000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.045000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.051000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.052000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.054000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.055000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.061000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.062000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.064000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.065000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.071000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.072000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.074000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.075000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.080000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.081000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.082000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.083000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.084000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.085000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.090000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.091000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.092000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.094000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.095000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.100000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.101000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.102000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.103000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.104000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.105000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.110000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.111000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.112000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.113000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.114000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.115000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.120000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.121000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.122000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.123000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.124000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.125000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.130000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.131000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.132000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.133000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.134000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.135000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.140000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.141000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.142000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.143000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.144000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.145000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.150000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.151000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.152000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.153000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.154000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.155000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.160000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.161000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.162000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.163000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.164000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.165000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.170000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.171000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.172000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.173000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.174000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.175000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.180000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.181000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.182000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.183000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.184000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.185000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.190000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.191000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.192000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.193000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.194000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.195000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.200000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.201000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.202000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.203000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.204000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.205000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.210000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.211000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.212000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.213000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.214000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.215000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.220000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.221000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.222000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.223000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.224000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.225000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.230000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.231000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.232000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.233000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.234000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ================================================== netcdf nsawsifullradianceC1.a1.20010730.235000 { 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 13 characters, numbered from right-to-left, where 0 = no problem, 1 = trouble" ; red_flags:character_1 = "Camera CCD chip temperature above 0 deg C" ; red_flags:character_2 = "Environmental housing temperature above 49 deg C" ; red_flags:character_3 = "Coolant flow rate less than 0.09 gal per min" ; red_flags:character_4 = "Camera housing temperature above 49 deg C" ; red_flags:character_5 = "No response from camera - images are not being snapped" ; red_flags:character_6 = "Arc occultor not responding to commands in >90% of images grabbed" ; red_flags:character_7 = "Trolley occultor not responding to commands in >90% of images grabbed" ; red_flags:character_8 = "Arc occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_9 = "Trolley occultor is responding but is unable to get to programmed destination in >90% of images grabbed" ; red_flags:character_10 = "Neutral density filter operation error in >90% of images grabbed" ; red_flags:character_11 = "Spectral filter operation error in >90% of images grabbed" ; red_flags:character_12 = "Nitrogen pressure reading error" ; red_flags:character_13 = "All available tape drives have failed or all available tapes are full" ; char yellow_flags(image_count, char_25) ; yellow_flags:long_name = "warning flags" ; yellow_flags:units = "unitless" ; yellow_flags:comment = "a string of 23 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 = "Arc occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_6 = "Trolley occultor not responding to commands in >10% of images grabbed" ; yellow_flags:character_7 = "Arc occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_8 = "Trolley occultor is responding but is unable to get to programmed destination in >10% of images grabbed" ; yellow_flags:character_9 = "Neutral density filter operation error in >10% of images grabbed" ; yellow_flags:character_10 = "Spectral filter operation error in >10% of images grabbed" ; yellow_flags:character_11 = "Writing to last available Exabyte drive" ; yellow_flags:character_12 = "Hard disk is full" ; yellow_flags:character_13 = "Nitrogen pressure is less than 2 PSI" ; yellow_flags:character_14 = "WWV/GPS clock not responding" ; yellow_flags:character_15 = "Problems writing to WSI raw data MO drive" ; yellow_flags:character_16 = "Problems writing to WSI processed data MO drive" ; yellow_flags:character_17 = "Unable to create E:\\WSIRAW subdirectory on MO drive" ; yellow_flags:character_18 = "Unable to create F:\\WSIPROC subdirectory on MO drive" ; yellow_flags:character_19 = "Unable to resolve IP address" ; yellow_flags:character_20 = "Unknown host name" ; yellow_flags:character_21 = "Unknown user name" ; yellow_flags:character_22 = "Unknown password" ; yellow_flags:character_23 = "Cannot send files to NT buffer computer" ; 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_v11.pro, 2000/09/18 tooman" ; :proc_level = "a1" ; :site_id = "nsa" ; :facility_id = "C1:Barrow_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 = "fixed interval, nominally 10 minutes" ; :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 = 8s ; :zeb_platform = "nsawsifullradianceC1.a1" ; :history = "unknown" ; } ==================================================