netcdf housashenirM1.b1.20221001.000044 { dimensions: time = UNLIMITED ; // (478 currently) wavelength_nir = 256 ; test_incident_angle = 101 ; variables: int base_time ; base_time:string = "2022-10-01 00:00:00 0:00" ; base_time:long_name = "Base time in Epoch" ; base_time:units = "seconds since 1970-1-1 0:00:00 0:00" ; base_time:ancillary_variables = "time_offset" ; double time_offset(time) ; time_offset:long_name = "Time offset from base_time" ; time_offset:units = "seconds since 2022-10-01 00:00:00 0:00" ; time_offset:ancillary_variables = "base_time" ; double time(time) ; time:long_name = "Time offset from midnight" ; time:units = "seconds since 2022-10-01 00:00:00 0:00" ; time:standard_name = "time" ; float wavelength_nir(wavelength_nir) ; wavelength_nir:long_name = "Wavelength of NIR spectrometer pixels" ; wavelength_nir:units = "nm" ; float airmass(time) ; airmass:long_name = "Airmass" ; airmass:units = "unitless" ; airmass:valid_min = 1.f ; airmass:valid_max = 100.f ; airmass:missing_value = -9999.f ; airmass:comment = "Includes correction for atmospheric refraction (apparent solar position) and for spherical atmosphere." ; airmass:algorithm = "Essentially Kasten & Young Rayleigh airmass. This is the same algorithm as sunae.c (used in MFRSR and NIMFR Langley and AOD VAPs) ported to .net by Derek Hopkin in SASPect instrument SW." ; airmass:ancillary_variables = "qc_airmass" ; int qc_airmass(time) ; qc_airmass:long_name = "Quality check results on field: Airmass" ; qc_airmass:units = "unitless" ; qc_airmass:flag_method = "bit" ; qc_airmass:description = "See global attributes for individual bit descriptions." ; float atmos_pressure(time) ; atmos_pressure:long_name = "Atmospheric pressure" ; atmos_pressure:units = "kPa" ; atmos_pressure:valid_min = 85.f ; atmos_pressure:valid_max = 104.f ; atmos_pressure:missing_value = -9999.f ; atmos_pressure:comment = "Atmospheric pressure from MEMS sensor." ; atmos_pressure:ancillary_variables = "qc_atmos_pressure" ; int qc_atmos_pressure(time) ; qc_atmos_pressure:long_name = "Quality check results on field: Atmospheric pressure" ; qc_atmos_pressure:units = "unitless" ; qc_atmos_pressure:flag_method = "bit" ; qc_atmos_pressure:description = "See global attributes for individual bit descriptions." ; float mio_temperature_mems(time) ; mio_temperature_mems:long_name = "Temperature of multi-IO box from MEMS sensor" ; mio_temperature_mems:units = "degC" ; mio_temperature_mems:valid_min = 15.f ; mio_temperature_mems:valid_max = 45.f ; mio_temperature_mems:missing_value = -9999.f ; mio_temperature_mems:ancillary_variables = "qc_mio_temperature_mems" ; int qc_mio_temperature_mems(time) ; qc_mio_temperature_mems:long_name = "Quality check results on field: Temperature of multi-IO box from MEMS sensor" ; qc_mio_temperature_mems:units = "unitless" ; qc_mio_temperature_mems:flag_method = "bit" ; qc_mio_temperature_mems:description = "See global attributes for individual bit descriptions." ; float mio_temperature_trh(time) ; mio_temperature_trh:long_name = "Temperature of MIO box from TRH sensor" ; mio_temperature_trh:units = "degF" ; mio_temperature_trh:valid_min = 60.f ; mio_temperature_trh:valid_max = 120.f ; mio_temperature_trh:missing_value = -9999.f ; mio_temperature_trh:comment = "Should compare well with MIO_temperature_MEMS_F." ; mio_temperature_trh:ancillary_variables = "qc_mio_temperature_trh" ; int qc_mio_temperature_trh(time) ; qc_mio_temperature_trh:long_name = "Quality check results on field: Temperature of MIO box from TRH sensor" ; qc_mio_temperature_trh:units = "unitless" ; qc_mio_temperature_trh:flag_method = "bit" ; qc_mio_temperature_trh:description = "See global attributes for individual bit descriptions." ; float mio_rh(time) ; mio_rh:long_name = "MIO relative humidity from TRH sensor" ; mio_rh:units = "%" ; mio_rh:valid_min = 0.f ; mio_rh:valid_max = 100.f ; mio_rh:missing_value = -9999.f ; mio_rh:ancillary_variables = "qc_mio_rh" ; int qc_mio_rh(time) ; qc_mio_rh:long_name = "Quality check results on field: MIO relative humidity from TRH sensor" ; qc_mio_rh:units = "unitless" ; qc_mio_rh:flag_method = "bit" ; qc_mio_rh:description = "See global attributes for individual bit descriptions." ; float collector_temperature(time) ; collector_temperature:long_name = "Collector internal temperature from TRH sensor" ; collector_temperature:units = "degC" ; collector_temperature:valid_min = 0.f ; collector_temperature:valid_max = 50.f ; collector_temperature:missing_value = -9999.f ; collector_temperature:ancillary_variables = "qc_collector_temperature" ; int qc_collector_temperature(time) ; qc_collector_temperature:long_name = "Quality check results on field: Collector internal temperature from TRH sensor" ; qc_collector_temperature:units = "unitless" ; qc_collector_temperature:flag_method = "bit" ; qc_collector_temperature:description = "See global attributes for individual bit descriptions." ; float collector_rh(time) ; collector_rh:long_name = "Collector internal relative humidity from TRH sensor" ; collector_rh:units = "%" ; collector_rh:valid_min = 0.f ; collector_rh:valid_max = 90.f ; collector_rh:missing_value = -9999.f ; collector_rh:ancillary_variables = "qc_collector_rh" ; int qc_collector_rh(time) ; qc_collector_rh:long_name = "Quality check results on field: Collector internal relative humidity from TRH sensor" ; qc_collector_rh:units = "unitless" ; qc_collector_rh:flag_method = "bit" ; qc_collector_rh:description = "See global attributes for individual bit descriptions." ; float collector_dewpoint(time) ; collector_dewpoint:long_name = "Collector internal dew point" ; collector_dewpoint:units = "degC" ; collector_dewpoint:valid_min = -20.f ; collector_dewpoint:valid_max = 50.f ; collector_dewpoint:missing_value = -9999.f ; collector_dewpoint:comment = "Computed from collector T and RH." ; collector_dewpoint:ancillary_variables = "qc_collector_dewpoint" ; int qc_collector_dewpoint(time) ; qc_collector_dewpoint:long_name = "Quality check results on field: Collector internal dew point" ; qc_collector_dewpoint:units = "unitless" ; qc_collector_dewpoint:flag_method = "bit" ; qc_collector_dewpoint:description = "See global attributes for individual bit descriptions." ; float chiller_temperature(time) ; chiller_temperature:long_name = "Spectrometer chiller internal temperature" ; chiller_temperature:units = "degC" ; chiller_temperature:valid_min = -10.f ; chiller_temperature:valid_max = 35.f ; chiller_temperature:missing_value = -9999.f ; chiller_temperature:comment = "Internal spectrometer chiller temperature from TRH sensor." ; chiller_temperature:ancillary_variables = "qc_chiller_temperature" ; int qc_chiller_temperature(time) ; qc_chiller_temperature:long_name = "Quality check results on field: Spectrometer chiller internal temperature" ; qc_chiller_temperature:units = "unitless" ; qc_chiller_temperature:flag_method = "bit" ; qc_chiller_temperature:description = "See global attributes for individual bit descriptions." ; float chiller_rh(time) ; chiller_rh:long_name = "Spectrometer chiller internal RH" ; chiller_rh:units = "%" ; chiller_rh:valid_min = 0.f ; chiller_rh:valid_max = 90.f ; chiller_rh:missing_value = -9999.f ; chiller_rh:comment = "Internal spectrometer chiller relative humidity from TRH sensor." ; chiller_rh:ancillary_variables = "qc_chiller_rh" ; int qc_chiller_rh(time) ; qc_chiller_rh:long_name = "Quality check results on field: Spectrometer chiller internal RH" ; qc_chiller_rh:units = "unitless" ; qc_chiller_rh:flag_method = "bit" ; qc_chiller_rh:description = "See global attributes for individual bit descriptions." ; float chiller_dewpoint(time) ; chiller_dewpoint:long_name = "Spectrometer chiller internal dew point" ; chiller_dewpoint:units = "degC" ; chiller_dewpoint:valid_min = -55.f ; chiller_dewpoint:valid_max = 0.f ; chiller_dewpoint:missing_value = -9999.f ; chiller_dewpoint:comment = "Computed from Internal spectrometer chiller T and RH." ; chiller_dewpoint:ancillary_variables = "qc_chiller_dewpoint" ; int qc_chiller_dewpoint(time) ; qc_chiller_dewpoint:long_name = "Quality check results on field: Spectrometer chiller internal dew point" ; qc_chiller_dewpoint:units = "unitless" ; qc_chiller_dewpoint:flag_method = "bit" ; qc_chiller_dewpoint:description = "See global attributes for individual bit descriptions." ; float collector_x_tilt(time) ; collector_x_tilt:long_name = "Collector tilt along band axis" ; collector_x_tilt:units = "degree" ; collector_x_tilt:valid_min = -2.f ; collector_x_tilt:valid_max = 2.f ; collector_x_tilt:missing_value = -9999.f ; collector_x_tilt:comment = "Measured with MEMS device mounted in rotating frame. True level will show no deviation from a constant calibration offset as collector stage is rotated." ; collector_x_tilt:ancillary_variables = "qc_collector_x_tilt" ; int qc_collector_x_tilt(time) ; qc_collector_x_tilt:long_name = "Quality check results on field: Collector tilt along band axis" ; qc_collector_x_tilt:units = "unitless" ; qc_collector_x_tilt:flag_method = "bit" ; qc_collector_x_tilt:description = "See global attributes for individual bit descriptions." ; float collector_y_tilt(time) ; collector_y_tilt:long_name = "Collector tilt perpendicular to band axis" ; collector_y_tilt:units = "degree" ; collector_y_tilt:valid_min = -2.f ; collector_y_tilt:valid_max = 2.f ; collector_y_tilt:missing_value = -9999.f ; collector_y_tilt:comment = "Measured with MEMS device mounted in rotating frame. True level will show no deviation from a constant calibration offset as collector stage is rotated." ; collector_y_tilt:ancillary_variables = "qc_collector_y_tilt" ; int qc_collector_y_tilt(time) ; qc_collector_y_tilt:long_name = "Quality check results on field: Collector tilt perpendicular to band axis" ; qc_collector_y_tilt:units = "unitless" ; qc_collector_y_tilt:flag_method = "bit" ; qc_collector_y_tilt:description = "See global attributes for individual bit descriptions." ; float collector_x_tilt_std(time) ; collector_x_tilt_std:long_name = "Standard deviation of collector tilt measured along band axis." ; collector_x_tilt_std:units = "degree" ; collector_x_tilt_std:valid_min = 0.f ; collector_x_tilt_std:valid_max = 1.f ; collector_x_tilt_std:missing_value = -9999.f ; collector_x_tilt_std:comment = "True level will show no deviation from a constant calibration offset as collector stage is rotated." ; collector_x_tilt_std:ancillary_variables = "qc_collector_x_tilt_std" ; int qc_collector_x_tilt_std(time) ; qc_collector_x_tilt_std:long_name = "Quality check results on field: Standard deviation of collector tilt measured along band axis." ; qc_collector_x_tilt_std:units = "unitless" ; qc_collector_x_tilt_std:flag_method = "bit" ; qc_collector_x_tilt_std:description = "See global attributes for individual bit descriptions." ; float collector_y_tilt_std(time) ; collector_y_tilt_std:long_name = "Standard deviation of collector tilt measured perpendicular to band axis." ; collector_y_tilt_std:units = "degree" ; collector_y_tilt_std:valid_min = 0.f ; collector_y_tilt_std:valid_max = 1.f ; collector_y_tilt_std:missing_value = -9999.f ; collector_y_tilt_std:comment = "True level will show no deviation from a constant calibration offset as collector stage is rotated." ; collector_y_tilt_std:ancillary_variables = "qc_collector_y_tilt_std" ; int qc_collector_y_tilt_std(time) ; qc_collector_y_tilt_std:long_name = "Quality check results on field: Standard deviation of collector tilt measured perpendicular to band axis." ; qc_collector_y_tilt_std:units = "unitless" ; qc_collector_y_tilt_std:flag_method = "bit" ; qc_collector_y_tilt_std:description = "See global attributes for individual bit descriptions." ; float band_azimuth(time) ; band_azimuth:long_name = "Band axis orientation with respect to north" ; band_azimuth:units = "degree_N" ; band_azimuth:valid_min = -360.f ; band_azimuth:valid_max = 360.f ; band_azimuth:missing_value = -9999.f ; band_azimuth:comment = "Typically band orientation follows sun\'s motion across the sky." ; band_azimuth:ancillary_variables = "qc_band_azimuth" ; int qc_band_azimuth(time) ; qc_band_azimuth:long_name = "Quality check results on field: Band axis orientation with respect to north" ; qc_band_azimuth:units = "unitless" ; qc_band_azimuth:flag_method = "bit" ; qc_band_azimuth:description = "See global attributes for individual bit descriptions." ; float solar_azimuth(time) ; solar_azimuth:long_name = "Solar azimuth angle relative to north" ; solar_azimuth:units = "degree_N" ; solar_azimuth:valid_min = 0.f ; solar_azimuth:valid_max = 360.f ; solar_azimuth:missing_value = -9999.f ; solar_azimuth:comment = "From solar ephemeris based on lat, lon, and time/date." ; solar_azimuth:ancillary_variables = "qc_solar_azimuth" ; int qc_solar_azimuth(time) ; qc_solar_azimuth:long_name = "Quality check results on field: Solar azimuth angle relative to north" ; qc_solar_azimuth:units = "unitless" ; qc_solar_azimuth:flag_method = "bit" ; qc_solar_azimuth:description = "See global attributes for individual bit descriptions." ; float solar_zenith(time) ; solar_zenith:long_name = "Solar zenith angle relative to vertical zenith." ; solar_zenith:units = "degree" ; solar_zenith:valid_min = 0.f ; solar_zenith:valid_max = 180.f ; solar_zenith:missing_value = -9999.f ; solar_zenith:comment = "Apparent SZA from solar ephemeris with correction for refraction." ; solar_zenith:ancillary_variables = "qc_solar_zenith" ; int qc_solar_zenith(time) ; qc_solar_zenith:long_name = "Quality check results on field: Solar zenith angle relative to vertical zenith." ; qc_solar_zenith:units = "unitless" ; qc_solar_zenith:flag_method = "bit" ; qc_solar_zenith:description = "See global attributes for individual bit descriptions." ; float cosine_solar_zenith_angle(time) ; cosine_solar_zenith_angle:long_name = "Cosine of apparent solar zenith angle" ; cosine_solar_zenith_angle:units = "unitless" ; cosine_solar_zenith_angle:missing_value = -9999.f ; cosine_solar_zenith_angle:comment = "Cosine of Apparent SZA from solar ephemeris with correction for refraction." ; float cosine_test_incident_angle(test_incident_angle) ; cosine_test_incident_angle:long_name = "Cosine of angle of incidence during cosine bench test" ; cosine_test_incident_angle:units = "unitless" ; cosine_test_incident_angle:high_sun_orientation = "0 is at zenith, 90 is at horizon on free non-driven end of shadowband." ; cosine_test_incident_angle:low_sun_orientation = "0 is at zenith, 90 is at CW horizon." ; float test_incident_angle(test_incident_angle) ; test_incident_angle:long_name = "Angle of incidence during cosine bench test" ; test_incident_angle:units = "degree" ; test_incident_angle:high_sun_orientation = "0 is at zenith, 90 is at horizon on free non-driven end of shadowband." ; test_incident_angle:low_sun_orientation = "0 is at zenith, 90 is at CW horizon." ; float cosine_correction_hisun(test_incident_angle) ; cosine_correction_hisun:long_name = "Cosine correction for high sun angles" ; cosine_correction_hisun:units = "unitless" ; cosine_correction_hisun:comment = "Angle from zenith to horizon along the band axis." ; cosine_correction_hisun:comment_1 = "Initially determined from lab measurements, refined through comparison with NIMFR." ; float cosine_correction_lowsun(test_incident_angle) ; cosine_correction_lowsun:long_name = "Cosine correction for low sun angles" ; cosine_correction_lowsun:units = "unitless" ; cosine_correction_lowsun:comment = "Angle from zenith to horizon normal to the band axis." ; cosine_correction_lowsun:comment_1 = "Initially determined from lab measurements, refined through comparison with NIMFR." ; float cosine_correction_computed(time) ; cosine_correction_computed:long_name = "Cosine correction applied to direct_horizontal component" ; cosine_correction_computed:units = "unitless" ; cosine_correction_computed:missing_value = -9999.f ; cosine_correction_computed:comment = "Determined from the hi sun and low sun cosine corrections according to sun angle and whether the instrument is operating in \"hi sun\" mode with the band axis aligned with SAZ, or in \"low sun\" mode with the band axis normal to SAZ." ; float diffuse_correction ; diffuse_correction:long_name = "Cosine correction of diffuse component assuming isotropic sky" ; diffuse_correction:units = "unitless" ; float bench_temperature_nir(time) ; bench_temperature_nir:long_name = "Temperature of InGaAs linear array optical bench" ; bench_temperature_nir:units = "degC" ; bench_temperature_nir:valid_min = 5.f ; bench_temperature_nir:valid_max = 15.f ; bench_temperature_nir:missing_value = -9999.f ; bench_temperature_nir:comment = "From NTC sensor cemented to optical bench." ; bench_temperature_nir:ancillary_variables = "qc_bench_temperature_nir" ; int qc_bench_temperature_nir(time) ; qc_bench_temperature_nir:long_name = "Quality check results on field: Temperature of InGaAs linear array optical bench" ; qc_bench_temperature_nir:units = "unitless" ; qc_bench_temperature_nir:flag_method = "bit" ; qc_bench_temperature_nir:description = "See global attributes for individual bit descriptions." ; float ad_temperature_nir(time) ; ad_temperature_nir:long_name = "Temperature of InGaAs linear array AD board" ; ad_temperature_nir:units = "degC" ; ad_temperature_nir:valid_min = 10.f ; ad_temperature_nir:valid_max = 20.f ; ad_temperature_nir:missing_value = -9999.f ; ad_temperature_nir:comment = "From NTC sensor cemented to optical bench." ; ad_temperature_nir:ancillary_variables = "qc_ad_temperature_nir" ; int qc_ad_temperature_nir(time) ; qc_ad_temperature_nir:long_name = "Quality check results on field: Temperature of InGaAs linear array AD board" ; qc_ad_temperature_nir:units = "unitless" ; qc_ad_temperature_nir:flag_method = "bit" ; qc_ad_temperature_nir:description = "See global attributes for individual bit descriptions." ; float integration_time_nir(time) ; integration_time_nir:long_name = "Integration time of individual scans from InGaAs linear array spectrometer" ; integration_time_nir:units = "ms" ; integration_time_nir:valid_min = 1.f ; integration_time_nir:valid_max = 1000.f ; integration_time_nir:missing_value = -9999.f ; integration_time_nir:comment = "The total exposure time for a given spectra will be the spectrometer integration time times the number of individual scans recorded." ; integration_time_nir:ancillary_variables = "qc_integration_time_nir" ; int qc_integration_time_nir(time) ; qc_integration_time_nir:long_name = "Quality check results on field: Integration time of individual scans from InGaAs linear array spectrometer" ; qc_integration_time_nir:units = "unitless" ; qc_integration_time_nir:flag_method = "bit" ; qc_integration_time_nir:description = "See global attributes for individual bit descriptions." ; int number_of_scans_nir(time) ; number_of_scans_nir:long_name = "Number of spectrometer scans averaged for InGaAs linear array spectra" ; number_of_scans_nir:units = "unitless" ; number_of_scans_nir:valid_min = 1 ; number_of_scans_nir:valid_max = 1000 ; number_of_scans_nir:missing_value = -9999 ; number_of_scans_nir:comment = "The total exposure time for a given spectra will be the spectrometer integration time times the number of individual scans recorded." ; number_of_scans_nir:ancillary_variables = "qc_number_of_scans_nir" ; int qc_number_of_scans_nir(time) ; qc_number_of_scans_nir:long_name = "Quality check results on field: Number of spectrometer scans averaged for InGaAs linear array spectra" ; qc_number_of_scans_nir:units = "unitless" ; qc_number_of_scans_nir:flag_method = "bit" ; qc_number_of_scans_nir:description = "See global attributes for individual bit descriptions." ; float direct_horizontal_nir(time, wavelength_nir) ; direct_horizontal_nir:long_name = "Direct horizontal solar irradiance from InGaAs linear array spectrometer" ; direct_horizontal_nir:units = "W/m^2/nm" ; direct_horizontal_nir:missing_value = -9999.f ; direct_horizontal_nir:corrections = "dark subtracted, cosine corrected." ; float diffuse_hemisp_nir(time, wavelength_nir) ; diffuse_hemisp_nir:long_name = "Diffuse hemispheric irradiance component, InGaAs linear array spectrometer" ; diffuse_hemisp_nir:units = "W/m^2/nm" ; diffuse_hemisp_nir:missing_value = -9999.f ; diffuse_hemisp_nir:corrections = "dark subtracted, cosine corrected." ; float direct_normal_nir(time, wavelength_nir) ; direct_normal_nir:long_name = "Direct normal solar irradiance, InGaAs linear array spectrometer" ; direct_normal_nir:units = "W/m^2/nm" ; direct_normal_nir:missing_value = -9999.f ; direct_normal_nir:computation = "direct normal = direct horizontal / cos(sza)" ; direct_normal_nir:corrections = "dark subtracted, cosine corrected" ; float total_hemisp_nir(time, wavelength_nir) ; total_hemisp_nir:long_name = "Total hemispheric irradiance component, InGaAs linear array spectrometer" ; total_hemisp_nir:units = "W/m^2/nm" ; total_hemisp_nir:missing_value = -9999.f ; total_hemisp_nir:computation = "total hemisp = diffuse hemisp + direct horizontal" ; total_hemisp_nir:corrections = "dark subtracted, cosine corrected" ; float responsivity_nir(wavelength_nir) ; responsivity_nir:long_name = "responsivity of InGaAs linear array spectrometer" ; responsivity_nir:units = "(count/ms)/(W/m^2/nm)" ; responsivity_nir:missing_value = -9999.f ; responsivity_nir:comment = "normalized to spectrometer integration time in ms" ; float lat ; lat:long_name = "North latitude" ; lat:units = "degree_N" ; lat:valid_min = -90.f ; lat:valid_max = 90.f ; lat:standard_name = "latitude" ; float lon ; lon:long_name = "East longitude" ; lon:units = "degree_E" ; lon:valid_min = -180.f ; lon:valid_max = 180.f ; lon:standard_name = "longitude" ; float alt ; alt:long_name = "Altitude above mean sea level" ; alt:units = "m" ; alt:standard_name = "altitude" ; // global attributes: :command_line = "sashe_ingest -s hou -f M1 -RD --max-runtime 0" ; :Conventions = "ARM-1.0" ; :process_version = "ingest-sashe-1.12-0.el7" ; :dod_version = "sashenir-b1-1.4" ; :input_source = "/data/reproc/D230421.7/collection/hou/housasheM1.00/SASHe_SAz_OffZe_nir_1s.20220930_220308.csv" ; :site_id = "hou" ; :platform_id = "sashenir" ; :facility_id = "M1" ; :data_level = "b1" ; :location_description = "Tracking Aerosol Convection Interactions Experiment (TRACER), La Porte, Texas" ; :datastream = "housashenirM1.b1" ; :serial_number = "0911145U1" ; :serial_number_spectrometer_nir = "0911145U1" ; :qc_bit_comment = "The QC field values are a bit packed representation of true/false values for the tests that may have been performed. A QC value of zero means that none of the tests performed on the value failed." ; :qc_bit_1_description = "Value is equal to missing_value." ; :qc_bit_1_assessment = "Bad" ; :qc_bit_2_description = "Value is less than the valid_min." ; :qc_bit_2_assessment = "Bad" ; :qc_bit_3_description = "Value is greater than the valid_max." ; :qc_bit_3_assessment = "Bad" ; :history = "created by user erwinmj on machine prod-proc5.adc.arm.gov at 2023-07-18 19:26:31, using ingest-sashe-1.12-0.el7" ; }