Attributes { sample { String long_name "Sample index"; String units "1"; String comment "The netCDF coordinate variable associated with the sample dimension, which enumerates the zero-justified index range of the DDM time instants contained in the file."; } ddm { String long_name "DDM reflectometry channel"; String units "1"; String comment "The netCDF coordinate variable associated with variables that are dimensioned by the 4 DDMI reflectometry channels. It enumerates the zero-justified index range of DDM reflectometry channels. Ranges from 0 to 3."; } spacecraft_id { String long_name "CCSDS spacecraft identifier"; String units "1"; String comment "The CCSDS spacecraft identifier: 0xF7 (247): CYGNSS 1 0xF9 (249): CYGNSS 2 0x2B ( 43): CYGNSS 3 0x2C ( 44): CYGNSS 4 0x2F ( 47): CYGNSS 5 0x36 ( 54): CYGNSS 6 0x37 ( 55): CYGNSS 7 0x49 ( 73): CYGNSS 8 0x00 ( 0): end to end simulator 0x0E ( 14): engineering model 0x0D ( 15): default 0xFF (255): unknown "; } spacecraft_num { String long_name "CYGNSS spacecraft number"; String units "1"; Int16 valid_min 1; Int16 valid_max 99; String comment "The CYGNSS spacecraft number: Ranges from 1 through 8 and 99. 1 through 8 are on-orbit spacecraft. 99 is the CYGNSS end-to-end simulator"; } ddm_source { String long_name "Level 0 data source"; Int16 valid_range 0, 3; Int16 flag_values 0, 1, 2, 3; String flag_meanings "e2es gpss ddmi unknown"; String comment "The source of the Level 0 DDM raw counts and metadata. 0 = End-End Simulator (E2ES) 1 = GPS signal simulator 2 = CYGNSS spacecraft 3 = Source unknown"; } ddm_time_type_selector { String long_name "DDM sample time type selector"; Int16 valid_range 0, 3; Int16 flag_values 0, 1, 2, 3; String flag_meanings "start middle end pvt"; String comment "Determines the position of ddm_timestamp_utc relative to the DDM sampling period. Set to for nominal science operations. Other settings are used for pre-launch testing only. 0 = Start of DDM sampling period (used for pre-launch testing only) 1 = Middle of DDM sampling period 2 = End of DDM sampling period (used for testing pre-launch only) 3 = pvt_timestamp_utc (used for testing pre-launch only)"; } delay_resolution { String long_name "DDM delay bin resolution"; String units "1"; String comment "DDM delay bin resolution in chips. One chip is equal to 1/1,023,000 seconds."; } dopp_resolution { String long_name "DDM Doppler bin resolution"; String units "s-1"; String comment "DDM Doppler bin resolution in Hz"; } ddm_timestamp_utc { String long_name "DDM sample timestamp - UTC"; String standard_name "time"; String calendar "gregorian"; String comment "DDM sample time. The number of seconds since time_coverage_start with nanosecond resolution. Its position relative to the DDM sampling period is determined by ddm_time_type_selector. Some metadata required for DDM calibration are generated relative to pvt_timestamp_utc or att_timestamp_utc. These metadata are interpolated to ddm_timestamp_utc before being used for DDM calibration. Note that the DDM sampling period is not synchronized with the UTC change of second and can occur at any time relative to the UTC change of second."; String units "seconds since 2022-05-26 00:00:00.499261785"; } ddm_timestamp_gps_week { String long_name "DDM sample timestamp - GPS Week"; String units "week"; String comment "The GPS week number of ddm_timestamp_utc"; } ddm_timestamp_gps_sec { String long_name "DDM sample timestamp - GPS Seconds"; String units "second"; String comment "The GPS second of week of ddm_timestamp_utc, with nanosecond resolution"; } pvt_timestamp_utc { String long_name "PVT timestamp - UTC"; String standard_name "time"; String calendar "gregorian"; String comment "The spacecraft position and velocity epoch. The number of seconds since time_coverage_start with nanosecond resolution. This is the timestamp of the position and velocity reported by the DDMI. This is also the timestamp of the most recent GPS pulse per second."; String units "seconds since 2022-05-26 00:00:00.499261785"; } pvt_timestamp_gps_week { String long_name "PVT timestamp - GPS Week"; String units "week"; String comment "The GPS week number of pvt_timestamp_utc"; } pvt_timestamp_gps_sec { String long_name "PVT timestamp - GPS Seconds"; String units "second"; String comment "The GPS second of week of pvt_timestamp_utc, with nanosecond resolution."; } att_timestamp_utc { String long_name "Attitude timestamp - UTC"; String standard_name "time"; String calendar "gregorian"; String comment "The spacecraft attitude epoch. The number of seconds since time_coverage_start with nanosecond resolution. This is the timestamp of the spacecraft attitude reported by the spacecraft attitude determinination system."; String units "seconds since 2022-05-26 00:00:00.499261785"; } att_timestamp_gps_week { String long_name "Attitude timestamp - GPS Week"; String units "week"; String comment "The GPS week number of att_timestamp_utc"; } att_timestamp_gps_sec { String long_name "Attitude timestamp - GPS Seconds"; String units "second"; String comment "The GPS second of week of att_timestamp_utc, with nanosecond resolution"; } sc_pos_x { String long_name "Spacecraft position X at DDM sample time"; String units "meter"; Int32 _FillValue -99999999; String comment "The X component of the spacecraft WGS84 reference frame Earth-Centered Earth-Fixed (ECEF) position, in meters, at ddm_timestamp_utc"; } sc_pos_y { String long_name "Spacecraft position Y at DDM sample time"; String units "meter"; Int32 _FillValue -99999999; String comment "The Y component of the spacecraft WGS84 reference frame ECEF position, in meters, at ddm_timestamp_utc"; } sc_pos_z { String long_name "Spacecraft position Z at DDM sample time"; String units "meter"; Int32 _FillValue -99999999; String comment "The Z component of the spacecraft WGS84 reference frame ECEF position, in meters, at ddm_timestamp_utc"; } sc_vel_x { String long_name "Spacecraft velocity X at DDM sample time"; String units "meter s-1"; Int32 _FillValue -9999; String comment "The X component of the spacecraft WGS84 reference frame ECEF velocity, in m/s, at ddm_timestamp_utc"; } sc_vel_y { String long_name "Spacecraft velocity Y at DDM sample time"; String units "meter s-1"; Int32 _FillValue -9999; String comment "The Y component of the spacecraft WGS84 reference frame ECEF velocity, in m/s, at ddm_timestamp_utc"; } sc_vel_z { String long_name "Spacecraft velocity Z at DDM sample time"; String units "meter s-1"; Int32 _FillValue -9999; String comment "The Z component of the spacecraft WGS84 reference frame ECEF velocity, in m/s, at ddm_timestamp_utc"; } sc_pos_x_pvt { String long_name "Spacecraft position X at PVT time"; String units "meter"; Int32 _FillValue -99999999; String comment "The X component of the spacecraft WGS84 reference frame ECEF position, in meters, at pvt_timestamp_utc"; } sc_pos_y_pvt { String long_name "Spacecraft position Y at PVT time"; String units "meter"; Int32 _FillValue -99999999; String comment "The Y component of the spacecraft WGS84 reference frame ECEF position, in meters, at pvt_timestamp_utc"; } sc_pos_z_pvt { String long_name "Spacecraft position Z at PVT time"; String units "meter"; Int32 _FillValue -99999999; String comment "The Z component of the spacecraft WGS84 reference frame ECEF position, in meters, at pvt_timestamp_utc"; } sc_vel_x_pvt { String long_name "Spacecraft velocity X at PVT time"; String units "meter s-1"; Int32 _FillValue -9999; String comment "The X component of the spacecraft WGS84 reference frame ECEF velocity, in m/s, at pvt_timestamp_utc"; } sc_vel_y_pvt { String long_name "Spacecraft velocity Y at PVT time"; String units "meter s-1"; Int32 _FillValue -9999; String comment "The Y component of the spacecraft WGS84 reference frame ECEF velocity, in m/s, at pvt_timestamp_utc"; } sc_vel_z_pvt { String long_name "Spacecraft velocity Z at PVT time"; String units "meter s-1"; Int32 _FillValue -9999; String comment "The Z component of the spacecraft WGS84 reference frame ECEF velocity, in m/s, at pvt_timestamp_utc"; } nst_att_status { String long_name "NST attitude status"; Int16 _FillValue -99; Int16 valid_range 0, 22; Int16 flag_values 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22; String flag_meanings "ok not_used2 bad too_few_stars quest_failed residuals_too_high too_close_to_edge pix_amp_too_low pix_amp_too_high backgnd_too_high track_failure pix_sum_too_low unused too_dim_for_starid too_many_groups too_few_groups channel_disabled track_blk_overlap ok_for_starid too_close_to_other too_many_pixels too_many_columns too_many_rows"; String comment "Nano Star Tracker attitude status as reported by the ADCS subsystem. Enumeration, with 0 indicating OK, and non-zero indicating an erroneous condition. Values: 0 = ok 1 = not_used2 2 = bad 3 = too_few_stars 4 = quest_failed 5 = residuals_too_high 6 = too_close_to_edge 7 = pix_amp_too_low 8 = pix_amp_too_high 9 = backgnd_too_high 10 = track_failure 11 = pix_sum_too_low 12 = unused 13 = too_dim_for_starid 14 = too_many_groups 15 = too_few_groups 16 = channel_disabled 17 = track_blk_overlap 18 = ok_for_starid 19 = too_close_to_other 20 = too_many_pixels 21 = too_many_columns 22 = too_many_rows "; } sc_roll { String long_name "Spacecraft attitude roll angle at DDM sample time"; String units "radian"; Float32 _FillValue -9999.00000; String comment "Spacecraft roll angle relative to the orbit frame, in radians at ddm_timestamp_utc"; } sc_pitch { String long_name "Spacecraft attitude pitch angle at DDM sample time"; String units "radian"; Float32 _FillValue -9999.00000; String comment "Spacecraft pitch angle relative to the orbit frame, in radians at ddm_timestamp_utc"; } sc_yaw { String long_name "Spacecraft attitude yaw angle at DDM sample time"; String units "radian"; Float32 _FillValue -9999.00000; String comment "Spacecraft yaw angle relative to the orbit frame, in radians at ddm_timestamp_utc"; } sc_roll_att { String long_name "Spacecraft attitude roll angle at attitude time"; String units "radian"; Float32 _FillValue -9999.00000; String comment "Spacecraft roll angle relative to the orbit frame, in radians at att_timestamp_utc"; } sc_pitch_att { String long_name "Spacecraft attitude pitch angle at attitude time"; String units "radian"; Float32 _FillValue -9999.00000; String comment "Spacecraft pitch angle relative to the orbit frame, in radians at att_timestamp_utc"; } sc_yaw_att { String long_name "Spacecraft attitude yaw angle at attitude time"; String units "radian"; Float32 _FillValue -9999.00000; String comment "Spacecraft yaw angle relative to the orbit frame, in radians at att_timestamp_utc"; } sc_lat { String long_name "Sub-satellite point latitude"; String standard_name "latitude"; String units "degrees_north"; Float32 _FillValue -9999.00000; String comment "Subsatellite point latitude, in degrees North, at ddm_timestamp_utc"; } sc_lon { String long_name "Sub-satellite point longitude"; String standard_name "longitude"; String units "degrees_east"; Float32 _FillValue -9999.00000; String comment "Subsatellite point longitude, in degrees East, at ddm_timestamp_utc"; } sc_alt { String long_name "Spacecraft altitude"; String units "meter"; Int32 _FillValue -9999; String comment "Spacecraft altitude above WGS-84 ellipsoid, in meters, at ddm_timestamp_utc"; } commanded_sc_roll { String long_name "Commanded spacecraft attitude roll angle"; String units "radian"; Float32 _FillValue -9999.00000; String comment "Commanded spacecraft attitude roll angle, in radians at ddm_timestamp_utc. This value is updated every 10 seconds from the ENG_HI packet"; } rx_clk_bias { String long_name "GPS receiver clock bias"; String units "meter"; Float32 _FillValue -9999.00000; String comment "The receiver clock bias (in seconds) multiplied by the speed of light as reported by the DDMI, interpolated to ddm_timestamp_utc, in meters."; } rx_clk_bias_rate { String long_name "GPS receiver clock bias rate"; String units "meter s-1"; Float32 _FillValue -9999.00000; String comment "The receiver clock bias rate (in seconds/second) multiplied by the speed of light as reported by the DDMI, interpolated to ddm_timestamp_utc, in m/s."; } rx_clk_bias_pvt { String long_name "GPS receiver clock bias at PVT time"; String units "meter"; Float32 _FillValue -9999.00000; String comment "The receiver clock bias (in seconds) multiplied by the speed of light as reported by the DDMI at pvt_timestamp_utc, in meters."; } rx_clk_bias_rate_pvt { String long_name "GPS receiver clock bias rate at PVT time"; String units "meter s-1"; Float32 _FillValue -9999.00000; String comment "The receiver clock bias rate (in seconds/second) multiplied by the speed of light as reported by the DDMI, at pvt_timestamp_utc, in m/s."; } lna_temp_nadir_starboard { String long_name "Starboard antenna LNA temperature"; String units "degree_Celsius"; Float32 _FillValue -9999.00000; String comment "The temperature of the starboard antenna low noise amplifier at ddm_timestamp_utc, in degrees C."; } lna_temp_nadir_port { String long_name "Port Antenna LNA temperature"; String units "degree_Celsius"; Float32 _FillValue -9999.00000; String comment "The temperature of the port antenna low noise amplifier at ddm_timestamp_utc, in degrees C."; } lna_temp_zenith { String long_name "Zenith Antenna LNA temperature"; String units "degree_Celsius"; Float32 _FillValue -9999.00000; String comment "The temperature of the zenith antenna low noise amplifier at ddm_timestamp_utc, in degrees C."; } ddm_end_time_offset { String long_name "DDM end time offset"; String units "1e-9 s"; Int32 _FillValue -9999; String comment "For diagnostic use only. See UM document 148-0372 CYGNSS L1 netCDF Diagnostic Variables for more information."; } bit_ratio_lo_hi_starboard { String long_name "Starboard low/high bit counter ratio"; String units "1"; Float32 _FillValue -9999.00000; String comment "Bin ratio of the of the starboard antenna defined as (plus_1_cnts + minus_1_cnts) / (plus_3_cnts + minus_3_cnts)."; } bit_ratio_lo_hi_port { String long_name "Port low/high bit counter ratio"; String units "1"; Float32 _FillValue -9999.00000; String comment "Bin ratio of the of the port antenna defined as (plus_1_cnts + minus_1_cnts) / (plus_3_cnts + minus_3_cnts)."; } bit_ratio_lo_hi_zenith { String long_name "Zenith low/high bit counter ratio"; String units "1"; Float32 _FillValue -9999.00000; String comment "Bin ratio of the of the zenith antenna defined as (plus_1_cnts + minus_1_cnts) / (plus_3_cnts + minus_3_cnts)."; } bit_null_offset_starboard { String long_name "Starboard bit count null offset"; String units "1"; Float32 _FillValue -9999.00000; String comment "For diagnostic use only. See UM document 148-0372 CYGNSS L1 netCDF Diagnostic Variables for more information."; } bit_null_offset_port { String long_name "Port bit count null offset"; String units "1"; Float32 _FillValue -9999.00000; String comment "For diagnostic use only. See UM document 148-0372 CYGNSS L1 netCDF Diagnostic Variables for more information."; } bit_null_offset_zenith { String long_name "Zenith bit count null offset"; String units "1"; Float32 _FillValue -9999.00000; String comment "For diagnostic use only. See UM document 148-0372 CYGNSS L1 netCDF Diagnostic Variables for more information."; } status_flags_one_hz { String long_name "1 Hz Status Flags"; Int32 _FillValue -9999; Int32 valid_range 0, 15; Int32 flag_masks 1, 2, 4, 8; String flag_meanings "milky_way_in_zenith_field_of_view sun_in_zenith_field_of_view sub_sat_pt_over_open_ocean sub_sat_pt_lat_ascending"; String comment "One Hz status flags. These flags apply to all four DDMs. 1 indicates presence of condition. Flag masks: 1 = Milky way in zenith antenna field of view 2 = Sun in zenith antenna field of view 4 = Sub-satellite point over open ocean 8 = Sub-satellite point latitude ascending, i.e. sc_lat has increased since the previous DDM sample"; } prn_code { String long_name "GPS PRN code"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Int16 _FillValue -99; Int16 valid_min 0; Int16 valid_max 32; String comment "The PRN code of the GPS signal associated with the DDM. Ranges from 0 to 32. 0 = reflectometry channel idle. 1 through 32 = GPS PRN codes."; } sv_num { String long_name "GPS Space Vehicle Number"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Int32 _FillValue -9999; String comment "The GPS unique space vehicle number that transmitted prn_code."; } track_id { String long_name "DDM Track ID"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Int32 _FillValue -9999; String comment "A track is a temporally contiguous series of DDMs that have the same prn_code. Each track in the file is assigned a unique track_id starting with one. track_id ranges from 1 to N, where N is the total number of tracks in the file."; } ddm_ant { String long_name "DDM Antenna"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; Int16 _FillValue -99; Int16 valid_range 0, 3; Int16 flag_values 0, 1, 2, 3; String flag_meanings "none zenith nadir_starboard nadir_port"; String comment "The antenna that received the reflected GPS signal associated with the DDM. 0 = none 1 = zenith (never used) 2 = nadir_starboard 3 = nadir_port"; } zenith_code_phase { String long_name "Zenith signal code phase"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Float32 _FillValue -9999.00000; String comment "The DDMI-measured code phase of the direct GPS signal for prn_code interpolated to ddm_timestamp_utc. 0 <= zenith_code_phase < 1023.0."; } sp_ddmi_delay_correction { String long_name "Correction to DDMI specular point delay"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Float32 _FillValue -9999.00000; String comment "For diagnostic use only. See UM document 148-0372 CYGNSS L1 netCDF Diagnostic Variables for more information."; } sp_ddmi_dopp_correction { String long_name "Correction to DDMI specular point Doppler"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "s-1"; Float32 _FillValue -9999.00000; String comment "For diagnostic use only. See UM document 148-0372 CYGNSS L1 netCDF Diagnostic Variables for more information."; } add_range_to_sp { String long_name "Additional range to specular point at DDM sample time"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Float32 _FillValue -9999.00000; String comment "For diagnostic use only. See UM document 148-0372 CYGNSS L1 netCDF Diagnostic Variables for more information."; } add_range_to_sp_pvt { String long_name "Additional range to specular point at PVT time"; String units "1"; Float32 _FillValue -9999.00000; String comment "For diagnostic use only. See UM document 148-0372 CYGNSS L1 netCDF Diagnostic Variables for more information."; } sp_ddmi_dopp { String long_name "DDMI Doppler at specular point"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "s-1"; Float32 _FillValue -9999.00000; String comment "For diagnostic use only. See UM document 148-0372 CYGNSS L1 netCDF Diagnostic Variables for more information."; } sp_fsw_delay { String long_name "Flight software specular point delay"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Float32 _FillValue -9999.00000; String comment "For diagnostic use only. See UM document 148-0372 CYGNSS L1 netCDF Diagnostic Variables for more information."; } sp_delay_error { String long_name "Flight software specular point delay error"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Float32 _FillValue -9999.00000; String comment "For diagnostic use only. See UM document 148-0372 CYGNSS L1 netCDF Diagnostic Variables for more information."; } sp_dopp_error { String long_name "Flight software specular point Doppler error"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "s-1"; Float32 _FillValue -9999.00000; String comment "For diagnostic use only. See UM document 148-0372 CYGNSS L1 netCDF Diagnostic Variables for more information."; } fsw_comp_delay_shift { String long_name "Flight software DDM compression delay shift"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Float32 _FillValue -9999.00000; String comment "For diagnostic use only. See UM document 148-0372 CYGNSS L1 netCDF Diagnostic Variables for more information."; } fsw_comp_dopp_shift { String long_name "Flight software DDM compression Doppler shift"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "s-1"; Float32 _FillValue -9999.00000; String comment "For diagnostic use only. See UM document 148-0372 CYGNSS L1 netCDF Diagnostic Variables for more information."; } prn_fig_of_merit { String long_name "PRN selection figure of Merit"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Int16 _FillValue -99; String comment "The RCG Figure of Merit (FOM) for the DDM. Ranges from 0 through 15.The DDMI selects the four strongest specular points (SP) for DDM production. It ranks the strength of SPs using an antenna RCG map. The map converts the position of the SP in antenna azimuth and declination angles to an RCG FOM. 0 represents the least FOM value. 15 represents the greatest FOM value."; } tx_clk_bias { String long_name "GPS transmitter clock bias"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "meter"; Float32 _FillValue -9999.00000; String comment "The GPS spacecraft (sv_num) clock time minus GPS constellation time (in seconds) times the speed of light, in meters."; } sp_lat { String long_name "Specular point latitude"; String standard_name "latitude"; String units "degrees_north"; Float32 _FillValue -9999.00000; String comment "Specular point latitude, in degrees North, at ddm_timestamp_utc"; } sp_lon { String long_name "Specular point longitude"; String standard_name "longitude"; String units "degrees_east"; Float32 _FillValue -9999.00000; String comment "Specular point longitude, in degrees East, at ddm_timestamp_utc"; } sp_alt { String long_name "Specular point altitude"; String standard_name "altitude"; String units "meter"; Float32 _FillValue -9999.00000; String comment "Altitude of the specular point relative to the WGS 84 datum in meters, at ddm_timestamp_utc, as calculated on the ground. Note that an approximated DTU10 mean sea surface height model is used to calculate the specular point altitude."; } sp_pos_x { String long_name "Specular point position X"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "meter"; Int32 _FillValue -99999999; String comment "The X component of the specular point position in the ECEF coordinate system, in meters, at ddm_timestamp_utc, as calculated on the ground."; } sp_pos_y { String long_name "Specular point position Y"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "meter"; Int32 _FillValue -99999999; String comment "The Y component of the specular point position in the ECEF coordinate system, in meters, at ddm_timestamp_utc, as calculated on the ground."; } sp_pos_z { String long_name "Specular point position Z"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "meter"; Int32 _FillValue -99999999; String comment "The Z component of the specular point position in the ECEF coordinate system, in meters, at ddm_timestamp_utc, as calculated on the ground."; } sp_vel_x { String long_name "Specular point velocity X"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "meter s-1"; Int32 _FillValue -9999; String comment "The X component of the specular point velocity in the ECEF coordinate system, in m/s, at ddm_timestamp_utc, as calculated on the ground."; } sp_vel_y { String long_name "Specular point velocity Y"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "meter s-1"; Int32 _FillValue -9999; String comment "The Y component of the specular point velocity in the ECEF coordinate system, in m/s, at ddm_timestamp_utc, as calculated on the ground."; } sp_vel_z { String long_name "Specular point velocity Z"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "meter s-1"; Int32 _FillValue -9999; String comment "The Z component of the specular point velocity in the ECEF coordinate system, in m/s, at ddm_timestamp_utc, as calculated on the ground."; } sp_inc_angle { String long_name "Specular point incidence angle"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "degree"; Float32 _FillValue -9999.00000; String comment "The specular point incidence angle, in degrees, at ddm_timestamp_utc. This is the angle between the line normal to the Earth's surface at the specular point and the line extending from the specular point to the spacecraft. See UM Doc. 148-0336, CYGNSS Science Data Processing Coordinate Systems Definitions."; } sp_theta_orbit { String long_name "Specular point orbit frame theta angle"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "degree"; Float32 _FillValue -9999.00000; String comment "The angle between the orbit frame +Z axis and the line extending from the spacecraft to the specular point, in degrees, at ddm_timestamp_utc. See UM Doc. 148-0336, CYGNSS Science Data Processing Coordinate Systems Definitions."; } sp_az_orbit { String long_name "Specular point orbit frame azimuth angle"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "degree"; Float32 _FillValue -9999.00000; String comment "Let line A be the line that extends from the spacecraft to the specular point at ddm_timestamp_utc. Let line B be the projection of line A onto the orbit frame XY plane. sp_az_orbit is the angle between the orbit frame +X axis (the velocity vector) and line B, in degrees, at ddm_timestamp_utc. See UM Doc. 148-0336, CYGNSS Science Data Processing Coordinate Systems Definitions."; } sp_theta_body { String long_name "Specular point body frame theta angle"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "degree"; Float32 _FillValue -9999.00000; String comment "The angle between the spacecraft body frame +Z axis and the line extending from the spacecraft to the specular point, in degrees, at ddm_timestamp_utc. See UM Doc. 148-0336, CYGNSS Science Data Processing Coordinate Systems Definitions."; } sp_az_body { String long_name "Specular point body frame azimuth angle"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "degree"; Float32 _FillValue -9999.00000; String comment "Let line A be the line that extends from the spacecraft to the specular point, at ddm_timestamp_utc. Let line B be the projection of line A onto the spacecraft body frame XY plane. sp_az_body is the angle between the spacecraft body frame +X axis and line B, in degrees, at ddm_timestamp_utc. See UM Doc. 148-0336, CYGNSS Science Data Processing Coordinate Systems Definitions."; } sp_rx_gain { String long_name "Specular point Rx antenna gain"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "dBi"; Float32 _FillValue -9999.00000; String comment "The receive antenna gain in the direction of the specular point, in dBi, at ddm_timestamp_utc."; } gps_eirp { String long_name "GPS effective isotropic radiated power"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "watt"; Float32 _FillValue -9999.00000; String comment "The estimated effective isotropic RF power (EIRP) of the L1 C/A code signal within \302\261 1 MHz of the L1 carrier radiated by space vehicle, sv_num, in the direction of the specular point, in Watts, at ddm_timestamp_utc. Variations in GPS transmit power are tracked by the direct signal power measured by the navigation receiver. One second samples are smoothed by a \302\261 10 second running average."; } static_gps_eirp { String long_name "Static GPS effective isotropic radiated power"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "watt"; Float32 _FillValue -9999.00000; String comment "Heritage version of gps_eirp (v2.1 and earlier) that assumed a static value for the power level of the L1 signal transmitted by the GPS satellite, prior to implementation of dynamic gps_eirp monitoring in August 2018."; } gps_tx_power_db_w { String long_name "GPS SV transmit power"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "dBW"; Float32 _FillValue -9999.00000; String comment "Power input to SV Tx antenna. Referenced from the heritage version of gps_eirp (v2.1 and earlier)."; } gps_ant_gain_db_i { String long_name "GPS SV transmit antenna gain"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "dBi"; Float32 _FillValue -9999.00000; String comment "SV antenna gain in the direction of the specular point. Referenced from the heritage version of gps_eirp (v2.1 and earlier)."; } gps_off_boresight_angle_deg { String long_name "GPS off boresight angle"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "degree"; Float32 _FillValue -9999.00000; String comment "SV antenna off boresight angle in the direction of the specular point"; } ddm_snr { String long_name "DDM signal to noise ratio"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "dB"; Float32 _FillValue -9999.00000; String comment "10log(Smax/Navg), where Smax is the maximum value (in raw counts) in a single DDM bin and Navg is the the average per-bin raw noise counts. ddm_snr is in dB, at ddm_timestamp_utc."; } ddm_noise_floor { String long_name "DDM noise floor"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Float32 _FillValue -9999.00000; String comment "For non-black-body DDMs: Is equal to the average bin raw counts in the first 45 delay rows of the uncompressed 20 x 128 DDM, in counts, at ddm_timestamp_utc. For black body DDMs: Is equal to the average bin raw counts in all 128 delay rows of the uncompressed 20 x 128 DDM, in counts, at ddm_timestamp_utc."; } ddm_noise_floor_corrected { String long_name "DDM noise floor corrected"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Float32 _FillValue -9999.00000; String comment "The ddm_noise_floor after a correction factor, based on the nadir antenna bin ratio, has been applied."; } noise_correction { String long_name "DDM noise floor correction factor"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Float32 _FillValue -9999.00000; String comment "The correction factor applied with ddm_noise_floor = (ddm_noise_floor_uncorrected*noise_correction)."; } inst_gain { String long_name "Instrument gain"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Float32 _FillValue -9999.00000; String comment "The black body noise counts divided by the sum of the black body power and the instrument noise power, in count/W, at ddm_timestamp_utc."; } lna_noise_figure { String long_name "LNA noise figure"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "dB"; Float32 _FillValue -9999.00000; String comment "The low noise amplifier (LNA) noise figure, in dB, at ddm_timestamp_utc. Estimated from pre-launch characterization of LNA performance as a function of LNA temperature."; } rx_to_sp_range { String long_name "Rx to specular point range"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "meter"; Int32 _FillValue -9999; String comment "The distance between the CYGNSS spacecraft and the specular point, in meters, at ddm_timestamp_utc."; } tx_to_sp_range { String long_name "Tx to specular point range"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "meter"; Int32 _FillValue -9999; String comment "The distance between the GPS satellite and the specular point, in meters, at ddm_timestamp_utc."; } tx_pos_x { String long_name "GPS Tx position X"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "meter"; Int32 _FillValue -99999999; String comment "The X component of the GPS spacecraft WGS84 reference frame ECEF position, in meters, at ddm_timestamp_utc"; } tx_pos_y { String long_name "GPS Tx position Y"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "meter"; Int32 _FillValue -99999999; String comment "The Y component of the GPS spacecraft WGS84 reference frame ECEF position, in meters, at ddm_timestamp_utc"; } tx_pos_z { String long_name "GPS Tx position Z"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "meter"; Int32 _FillValue -99999999; String comment "The Z component of the GPS spacecraft WGS84 reference frame ECEF position, in meters, at ddm_timestamp_utc"; } tx_vel_x { String long_name "GPS Tx velocity X"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "meter s-1"; Int32 _FillValue -9999; String comment "The X component of the GPS spacecraft WGS84 reference frame ECEF velocity in meters, at ddm_timestamp_utc"; } tx_vel_y { String long_name "GPS Tx velocity Y"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "meter s-1"; Int32 _FillValue -9999; String comment "The Y component of the GPS spacecraft WGS84 reference frame ECEF velocity in meters, at ddm_timestamp_utc"; } tx_vel_z { String long_name "GPS Tx velocity Z"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "meter s-1"; Int32 _FillValue -9999; String comment "The Z component of the GPS spacecraft WGS84 reference frame ECEF velocity in meters, at ddm_timestamp_utc"; } bb_nearest { String long_name "Time to most recent black body reading"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "second"; Float32 _FillValue -9999.00000; String comment "The time between ddm_timestamp_utc and the ddm_timestamp_utc associated with the closest (in time) black body reading, in signed seconds. A positive value indicates that the black body reading occurred after ddm_timestamp_utc. A negative value indicates that the block body reading occurred before ddm_timestamp_utc."; } fresnel_coeff { String long_name "Fresnel power reflection coefficient at specular point"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Float32 _FillValue -9999.00000; String comment "The SQUARE of the left hand circularly polarized Fresnel electromagnetic voltage reflection coefficient at 1575 MHz for a smooth ocean surface at the specular point location and incidence angle. See UM document 148-0361 Fresnel Coefficient Calculation for more information."; } ddm_nbrcs { String long_name "Normalized BRCS"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Float32 _FillValue -9999.00000; String comment "Normalized BRCS of a 3 delay x 5 Doppler bin box that includes the specular point bin. The specular point bin is in the top (least delay) row and the center Doppler column of the 3 x 5 box."; } ddm_les { String long_name "Leading edge slope"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Float32 _FillValue -9999.00000; String comment "Leading edge slope of a 3 delay x 5 Doppler bin box that include the specular point bin. The specular point bin is in the top (least delay) row and the center Doppler column of the 3 x 5 box."; } nbrcs_scatter_area { String long_name "NBRCS scattering area"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "meter2"; Float32 _FillValue -9999.00000; String comment "The scattering area of the 3 x 5 region of the ddm used to calculate ddm_nbrcs."; } les_scatter_area { String long_name "LES scattering area"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "meter2"; Float32 _FillValue -9999.00000; String comment "The scattering area of the 3 x 5 region of the ddm used to calculate ddm_les."; } brcs_ddm_peak_bin_delay_row { String long_name "BRCS DDM peak bin delay row"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Int16 _FillValue -99; String comment "The zero-based delay row of the peak value in the bistatic radar cross section DDM (brcs). Ranges from 0 to 16."; } brcs_ddm_peak_bin_dopp_col { String long_name "BRCS DDM peak bin Doppler column"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Int16 _FillValue -99; String comment "The zero-based Doppler column of the peak value in the bistatic radar cross section DDM (brcs). Ranges from 0 to 10."; } brcs_ddm_sp_bin_delay_row { String long_name "BRCS DDM specular point bin delay row"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Float32 _FillValue -9999.00000; String comment "The zero-based delay row of the specular point delay in the bistatic radar cross section DDM (brcs). Note that this is a floating point value."; } brcs_ddm_sp_bin_dopp_col { String long_name "BRCS DDM specular point bin Doppler column"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Float32 _FillValue -9999.00000; String comment "The zero-based Doppler column of the specular point Doppler in the bistatic radar cross section DDM (brcs). Note that this is a floating point value."; } ddm_brcs_uncert { String long_name "DDM BRCS uncertainty"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Float32 _FillValue -9999.00000; String comment "Uncertainty of the BRCS"; } bb_power_temperature_density { String long_name "Black Body Power Temperature Density"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "Counts/Kelvin"; Float32 _FillValue -9999.00000; String comment "Raw counts of detected power radiated by the blackbody calibration target, divided by receiver gain and blackbody physical temperature in Kelvins, gives the detected power per unit absolute temperature."; } zenith_sig_i2q2 { String long_name "Zenith Signal I2Q2"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Float32 _FillValue -9999.00000; String comment "Raw counts of detected power in direct GPS L1 C/A signal received by zenith navigation antenna and detected by navigation receiver."; } zenith_sig_i2q2_corrected { String long_name "Zenith Signal I2Q2 Corrected"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Float32 _FillValue -9999.00000; String comment "The zenith_sig_i2q2 after a correction factor, based on the zenith antenna bin ratio, has been applied."; } zenith_sig_i2q2_mult_correction { String long_name "Zenith Signal I2Q2 Multiplicative Correction Factor"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Float32 _FillValue -9999.00000; String comment "The multiplicative correction factor applied with zenith_sig_i2q2_corrected = 10*log10(zenith_sig_i2q2*zenith_sig_i2q2_mult_correction)-zenith_sig_i2q2_add_correction."; } zenith_sig_i2q2_add_correction { String long_name "Zenith Signal I2 Q2 additive correction factor"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Float32 _FillValue -9999.00000; String comment "The additive correction factor applied with zenith_sig_i2q2_corrected = 10*log10(zenith_sig_i2q2*zenith_sig_i2q2_mult_correction)-zenith_sig_i2q2_add_correction."; } starboard_gain_setting { String long_name "The Nadir-Starboard Gain Setting"; String units "dB"; Int32 _FillValue -9999; String comment "The Nadir-Starboard Gain Setting (dB, 0=Automatic)"; } port_gain_setting { String long_name "The Nadir-Port Gain Setting"; String units "dB"; Int32 _FillValue -9999; String comment "The Nadir-Port Gain Setting (dB, 0=Automatic)"; } ddm_kurtosis { String long_name "DDM kurtosis"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Float32 _FillValue -9999.00000; String comment "The kurtosis of the DDM noise floor. For diagnostic use only. See UM document 148-0347 DDM RFI Algorithm for more information."; } quality_flags { String long_name "Per-DDM quality flags 1"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; Int32 _FillValue -9999; Int32 valid_range 0, 2147483647; Int32 flag_masks 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4194304, 8388608, 16777216, 33554432, 67108864, 134217728, 268435456, 536870912, 1073741824; String flag_meanings "poor_overall_quality s_band_powered_up small_sc_attitude_err large_sc_attitude_err black_body_ddm ddmi_reconfigured spacewire_crc_invalid ddm_is_test_pattern channel_idle low_confidence_ddm_noise_floor sp_over_land sp_very_near_land sp_near_land large_step_noise_floor large_step_lna_temp direct_signal_in_ddm low_confidence_gps_eirp_estimate rfi_detected brcs_ddm_sp_bin_delay_error brcs_ddm_sp_bin_dopp_error neg_brcs_value_used_for_nbrcs gps_pvt_sp3_error sp_non_existent_error brcs_lut_range_error ant_data_lut_range_error bb_framing_error fsw_comp_shift_error low_quality_gps_ant_knowledge sc_altitude_out_of_nominal_range anomalous_sampling_period invalid_roll_state"; String comment "First group of the Per-DDM quality flags. 1 indicates presence of condition. More quality flags can be found in quality_flags_2. Flag bit masks: 1/0x00000001 = poor_overall_quality. The logical OR of the following flags. If any one of the following flags are set then poor_overall_quality will be set: large_sc_attitude_err black_body_ddm ddmi_reconfigured spacewire_crc_invalid ddm_is_test_pattern channel_idle low_confidence_ddm_noise_floor sp_over_land sp_very_near_land large_step_noise_floor large_step_lna_temp direct_signal_in_ddm low_confidence_gps_eirp_estimate rfi_detected brcs_ddm_sp_bin_delay_error brcs_ddm_sp_bin_dopp_error gps_pvt_sp3_error sp_non_existent_error brcs_lut_range_error ant_data_lut_range_error bb_framing_error fsw_comp_shift_error low_quality_gps_ant_knowledge sc_altitude_out_of_nominal_range anomalous_sampling_period invalid_roll_state incorrect_ddmi_antenna_selection(quality_flags_2) sp_in_sidelobe(quality_flags_2) fatal_nst_outage(quality_flags_2) low_zenith_ant_gain(quality_flags_2) poor_bb_quality(quality_flags_2) poor_quality_bin_ratio(quality_flags_2) 2/0x00000002 = s_band_powered_up Set if S-band transmitter is powered up. 4/0x00000004 = small_sc_attitude_err Set if the absolute value of the spacecraft roll is between 1 and 30 degrees, the pitch is between 1 and 10 degrees, or the yaw is between 1 and 5 degrees. 8/0x00000008 = large_sc_attitude_err Set if the absolute value of the spacecraft roll is greater than or equal to 30 degrees, the pitch is greater than or equal to 10 degrees, or the yaw is greater than or equal to 5 degrees. 16/0x00000010 = black_body_ddm Set if the black body load was selected during the DDM sampling period. 32/0x00000020 = ddmi_reconfigured Set if the DDMI was reconfigured during the DDM sampling period. 64/0x00000040 = spacewire_crc_invalid Set if the DDM CRC transmitted from the DDMI to the spacecraft computer was not valid. 128/0x00000080 = ddm_is_test_pattern Set if the DDM is a test pattern generated by the DDMI. 256/0x00000100 = channel_idle Set if this reflectometry channel was not tracking a PRN. 512/0x00000200 = low_confidence_ddm_noise_floor Set if the difference between this DDM noise floor and the previous DDM noise floor is greater than 10 percent. 1024/0x00000400 = sp_over_land Set if the specular point is over land. Referenced using a map with 0.1 degree lat/lon bins. Coastline features or islands smaller than bin size may not be properly captured. 2048/0x00000800 = sp_very_near_land Set if the specular point is within 25 km of land. Referenced using a map with 0.1 degree lat/lon bins. 4096/0x00001000 = sp_near_land Set if the specular point is within 50 km of land. Referenced using a map with 0.1 degree lat/lon bins. 8192/0x00002000 = large_step_noise_floor Set if the difference between this DDM noise floor and the previous DDM noise floor is greater than 0.24 dB. 16384/0x00004000 = large_step_lna_temp Set if the LNA temperature rate of change is greater than 1 degree C per minute. 32768/0x00008000 = direct_signal_in_ddm Set if the absolute value of the difference between direct signal code phase and the DDM signal code phase is less than or equal to four. 65536/0x00010000 = low_confidence_gps_eirp_estimate Set when there is low confidence in the GPS effective isotropic radiated power estimate. 131072/0x00020000 = rfi_detected Set when the kurtosis of the DDM noise floor deviates from pure Gaussian by more than 1.0. 262144/0x00040000 = brcs_ddm_sp_bin_delay_error Set if the calculated specular point bin zero-based delay row is less than 4 or greater than 8. 524288/0x00080000 = brcs_ddm_sp_bin_dopp_error Set if the calculated specular point bin zero-based Doppler column is less than 4 or greater than 6. 1048576/0x00100000 = neg_brcs_value_used_for_nbrcs Set if any bin in the 3 x 5 brcs area used to calculate ddm_nbrcs has a negative value. 2097152/0x00200000 = gps_pvt_sp3_error Cannot calculate GPS SV position/velocity/time from SP3 file. 4194304/0x00400000 = sp_non_existent_error Specular point does not exist. 8388608/0x00800000 = brcs_lut_range_error Unable to index into BRCS uncertainty lookup table. 16777216/0x01000000 = ant_data_lut_range_error Unable to index into antenna data lookup table. 33554432/0x02000000 = bb_framing_error Insufficient black body data for calibration. 67108864/0x04000000 = fsw_comp_shift_error Flight software telemetry encoding error of the fsw_comp_delay_shift and fsw_comp_dopp_shift variables. Corrected in FSW version 4.5. 134217728/0x08000000 = low_quality_gps_ant_knowledge Not enough data is available to properly calibrate the NBRCS for this sample's GPS satellite. 268435456/0x10000000 = sc_altitude_out_of_nominal_range The spacecraft's altitude is out of nominal altitude range. Nominal altitude is defined as between 490 km to 550 km. 536870912/0x20000000 = anomalous_sampling_period Set when an anomaly was observed on the CYGNSS or GPS satellite while this sample was taken. These samples have produced data that do not align with typical CYGNSS results. See up to date list at: https://docs.google.com/spreadsheets/d/1AFAZanVGDApLSnJQAAdPfOKoJQs0jnB8ZvIuD1Z5mAc/edit?usp=sharing 1073741824/0x40000000 = invalid_roll_state The spacecraft\342\200\231s reported roll angle is more than 1 degree from the commanded roll. "; } quality_flags_2 { String long_name "Per-DDM quality flags 2"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; Int32 _FillValue -9999; Int32 valid_range 0, 1024; Int32 flag_masks 1, 2, 4, 8, 16, 32, 64, 128, 256, 512; String flag_meanings "incorrect_ddmi_antenna_selection high_signal_noise noise_floor_cal_error sp_in_sidelobe negligible_nst_outage minor_nst_outage fatal_nst_outage low_zenith_ant_gain poor_bb_quality poor_quality_bin_ratio"; String comment "Second group of the Per-DDM quality flags. 1 indicates presence of condition. The first group of quality flags can be found in quality_flags. Flag bit masks: 1/0x00000001 = incorrect_ddmi_antenna_selection The wrong (port or starboard) antenna was selected. 2/0x00000002 = high_signal_noise The signal is in the highest noise group, but there are still some OK noise rows. Samples are suspect, but may contain quality data. Flag only used for land applications. 4/0x00000004 = noise_floor_cal_error The signal is off or is very near the top rows of the full DDM. A proper noise floor cannot be computed. Flag only used for land applications. 8/0x00000008 = sp_in_sidelobe The specular point is in the sidelobe causing low confidence in the antenna gain. 16/0x00000010 = negligible_nst_outage Minor star track outage with negligible impact on attitude knowledge 32/0x00000020 = minor_nst_outage Minor star track outage with small but acceptable impact on attitude knowledge 64/0x00000040 = fatal_nst_outage Star track outage with unacceptable impact on attitude knowledge 128/0x00000080 = low_zenith_ant_gain Zenith antenna gain is less than -6 dB 256/0x00000100 = poor_bb_quality The distance between the surrounding BB samples > 1350 seconds OR the absolute value of the time to the nearest BB > 350 seconds. 512/0x00000200 = poor_quality_bin_ratio Bin ratio on the nadir or zenith antenna is associated with degraded performance. "; } raw_counts { String long_name "DDM bin raw counts"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "1"; Int32 _FillValue -9999; String comment "17 x 11 array of DDM bin raw counts These are the uncalibrated power values produced by the DDMI."; } power_analog { String long_name "DDM bin analog power"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "watt"; Float32 _FillValue -9999.00000; String comment "17 x 11 array of DDM bin analog power, Watts. analog_power is the true power that would have been measured by an ideal (analog) power sensor. power_digital is the power measured by the actual 2-bit sensor, which includes quantization effects. power_analog has been corrected for quantization effects."; } brcs { String long_name "DDM bin bistatic radar cross section"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "meter2"; Float32 _FillValue -9999.00000; String comment "17 x 11 array of DDM bin bistatic radar cross section, m^2. The specular point is located in DDM bin round(brcs_ddm_sp_bin_delay_row), round(brcs_ddm_sp_bin_dopp_col)."; } eff_scatter { String long_name "DDM bin effective scattering area"; String coordinates "ddm_timestamp_utc sp_lat sp_lon"; String units "meter2"; Float32 _FillValue -9999.00000; String comment "17 x 11 array of DDM bin effective scattering area, m^2. This is an estimate of the true surface scattering area that contributes power to each DDM bin, after accounting for the GPS signal spreading function. It is calculated by convolving the GPS ambiguity function with the surface area that contributes power to a given DDM bin as determined by its delay and Doppler values and the measurement geometry. The specular point bin location matches the specular point bin location in brcs."; } NC_GLOBAL { String Conventions "CF-1.6, ACDD-1.3, ISO-8601"; String standard_name_vocabulary "CF Standard Name Table v30"; String project "CYGNSS"; String featureType "trajectory"; String summary "CYGNSS is a NASA Earth Venture mission, managed by the Earth System Science Pathfinder Program. The mission consists of a constellation of eight small satellites. The eight observatories comprise a constellation that measures the ocean surface wind field with very high temporal resolution and spatial coverage, under all precipitating conditions, and over the full dynamic range of wind speeds experienced in a tropical cyclone. The CYGNSS observatories fly in 510 km circular orbits at a common inclination of 35\302\260. Each observatory includes a Delay Doppler Mapping Instrument (DDMI) consisting of a modified GPS receiver capable of measuring surface scattering, a low gain zenith antenna for measurement of the direct GPS signal, and two high gain nadir antennas for measurement of the weaker scattered signal. Each DDMI is capable of measuring 4 simultaneous bi-static reflections, resulting in a total of 32 wind measurements per second by the full constellation."; String program "CYGNSS"; String references "Ruf, C., P. Chang, M.P. Clarizia, S. Gleason, Z. Jelenak, J. Murray, M. Morris, S. Musko, D. Posselt, D. Provost, D. Starkenburg, V. Zavorotny, CYGNSS Handbook, Ann Arbor, MI, Michigan Pub., ISBN 978-1-60785-380-0, 154 pp, 1 Apr 2016. http://clasp-research.engin.umich.edu/missions/cygnss/reference/cygnss-mission/CYGNSS_Handbook_April2016.pdf"; String processing_level "1"; String comment "DDMs are calibrated into Power (Watts) and Bistatic Radar Cross Section (m^2)"; String creator_type "institution"; String institution "University of Michigan Space Physics Research Lab (SPRL)"; String creator_name "CYGNSS Science Operations Center"; String publisher_name "PO.DAAC"; String publisher_email "podaac@podaac.jpl.nasa.gov"; String publisher_url "\342\200\213http://podaac.jpl.nasa.gov"; String sensor "Delay Doppler Mapping Instrument (DDMI)"; String source "Delay Doppler maps (DDM) obtained from the DDMI aboard CYGNSS observatory constellation"; String version_id "3.1"; String title "CYGNSS Level 1 Science Data Record Version 3.1"; String ShortName "CYGNSS_L1_V3.1"; String id "PODAAC-CYGNS-L1X31"; String netcdf_version_id "4.3.3.1 of Dec 10 2015 16:44:18 $"; String history "Fri May 27 21:29:16 2022: ncks -O -a -dsample,0,164111,1 -L1 --cnk_dmn=sample,1000 --cnk_dmn=ddm,4 --cnk_dmn=delay,17 --cnk_dmn=doppler,11 /tmp/qt_temp.b27996 /tmp/qt_temp.f27996 ../../src/produce-L1-files/produce-L1-files production_1@cygnss-data-1.engin.umich.edu 3 2022-05-26 00:00:00 2022-05-27 00:00:00 --allow-partial"; String platform "Observatory Reference: cyg3 (C-SCID=2B)"; String l1_algorithm_version "3.1"; String l1_data_version "3.2"; String lna_data_version "2"; String nadir_ant_data_version "17"; String nadir_sidelobe_mask_version "-1"; String zenith_ant_data_version "13"; String ant_temp_version "1"; String eff_scatter_2d_version "4"; String eff_scatter_3d_version "6"; String nbrcs_scatt_1d_version "9"; String gps_eirp_param_version "7"; String prn_sv_maps_version "1"; String land_mask_version "1"; String near_land_mask_version "1"; String very_near_land_mask_version "1"; String open_ocean_mask_version "1"; String ddm_a2d_version "1"; String milky_way_version "1"; String fresnel_coeff_version "1"; String brcs_uncert_lut_version "3"; String ddma_les_sel_luts_version "2"; String mean_sea_surface_version "1"; String zenith_specular_ratio_gain_version "19"; String zenith_calibration_params_version "17"; String anomalous_sampling_periods_version "1"; String noise_floor_correction_version "9"; String zenith_sig_i2_q2_correction_version "4"; String ddm_nbrcs_scale_factor_version "6"; String eirp_scale_factor_version "2"; String bin_ratio_qc_version "1"; String per_bin_ant_version "1"; String date_created "2022-05-27T21:29:16Z"; String date_issued "2022-05-27T21:29:16Z"; String geospatial_lat_min "-42.045N"; String geospatial_lat_max "42.165N"; String geospatial_lon_min "0.000E"; String geospatial_lon_max "360.000E"; String time_coverage_resolution "P0DT0H0M1S"; String time_coverage_start "2022-05-26T00:00:00.499261785Z"; String time_coverage_end "2022-05-26T23:59:59.999261635Z"; String time_coverage_duration "P1DT0H0M0S"; String NCO "4.4.4"; } }