Skip to content

Fermi

Fermi parsers cover the main GBM and LAT topics:

  • gcn.classic.voevent.FERMI_GBM_ALERT
  • gcn.classic.voevent.FERMI_GBM_FIN_POS
  • gcn.classic.voevent.FERMI_GBM_FLT_POS
  • gcn.classic.voevent.FERMI_GBM_GND_POS
  • gcn.classic.voevent.FERMI_LAT_OFFLINE
  • gcn.classic.voevent.FERMI_LAT_POS_DIAG
  • gcn.classic.voevent.FERMI_LAT_POS_INI
  • gcn.classic.voevent.FERMI_LAT_POS_UPD

Classes

FermiGBMAlert

Bases: BaseModel

Parsed Fermi-GBM VOEvent alert notice.

Attributes:

Name Type Description
author_contact_name str

Contact name of the notice author.

author_email str

Email address of the notice author.

alert_datetime Annotated[datetime, ISO8601]

UTC datetime when the notice was issued (ISO-8601).

ivorn str

Raw VOEvent IVORN identifying this notice instance.

packet_type int

GCN packet type number (110 = GBM Alert, 116 = GBM Alert Internal).

pkt_ser_num int

Serial number for this packet type.

trig_id int

Unique trigger identifier; seconds since 2001-01-01.

sequence_num int

Record sequence number across all messages for this trigger.

burst_datetime Annotated[datetime, ISO8601]

UTC datetime of the trigger event (ISO-8601).

burst_tjd Annotated[int, days]

Truncated Julian Day of the trigger (days).

burst_sod Annotated[float, s]

Seconds of day of the trigger (s).

trig_signif Annotated[float, sigma]

Significance of the trigger (sigma).

trig_dur Annotated[float, s]

Trigger integration interval duration (s).

lo_chan_index Annotated[int, dn]

Lower energy channel index (dn).

hi_chan_index Annotated[int, dn]

Upper energy channel index (dn).

lo_chan_energy Annotated[int, keV]

Lower energy channel bound (keV).

hi_chan_energy Annotated[int | None, keV]

Upper energy channel bound; None for open-ended range (keV).

adc_lo_chan Annotated[int, dn]

Lower ADC channel (dn).

adc_hi_chan Annotated[int, dn]

Upper ADC channel (dn).

algorithm int

Index identifying the location-calculation algorithm.

dets tuple[str, ...]

Names of the triggering detectors (0..9, A, B, BGO1, BGO2).

sc_long Annotated[float, deg]

East geographic longitude of the spacecraft at trigger time (deg).

sc_lat Annotated[float, deg]

Geographic latitude of the spacecraft at trigger time (deg).

lightcurve_url str

URL to the quicklook lightcurve GIF.

coords_type Annotated[int, dn]

Coordinate type code (dn).

coords_string str

Human-readable description of the coordinate type.

importance float

VOEvent importance rating.

inference_probability float

VOEvent inference probability.

values_out_of_range bool

Whether parameter values exceeded the valid range.

near_bright_star bool

Whether the location is near a bright star.

err_circle_in_galaxy bool

Whether the error circle overlaps the Galactic plane.

galaxy_in_err_circle bool

Whether the Galactic plane lies within the error circle.

too_generated bool

Whether a Target of Opportunity was generated.

trig_time_is_sec_hdr_time bool

Whether trigger time equals the secondary header time.

delayed_transmission bool

Whether transmission of this notice was delayed.

updated_notice bool

Whether this notice updates a previous notice.

flt_generated bool

Whether the notice originated from flight software.

gnd_generated bool

Whether the notice originated from ground operations.

temporal_prox_match bool

Whether temporal coincidence was found with another event.

crc_error bool

Whether a CRC error was detected.

reference_uri str

URL to the Fermi GBM instrument documentation.

followup str | None

IVORN of the parent notice that this notice updates (unlikely any).

Source code in gcn_parser/fermi/fermi_gbm_alert.py
class FermiGBMAlert(BaseModel):
    """Parsed Fermi-GBM VOEvent alert notice.

    Attributes:
        author_contact_name: Contact name of the notice author.
        author_email: Email address of the notice author.
        alert_datetime: UTC datetime when the notice was issued (ISO-8601).
        ivorn: Raw VOEvent IVORN identifying this notice instance.
        packet_type: GCN packet type number (110 = GBM Alert, 116 = GBM Alert Internal).
        pkt_ser_num: Serial number for this packet type.
        trig_id: Unique trigger identifier; seconds since 2001-01-01.
        sequence_num: Record sequence number across all messages for this trigger.
        burst_datetime: UTC datetime of the trigger event (ISO-8601).
        burst_tjd: Truncated Julian Day of the trigger (days).
        burst_sod: Seconds of day of the trigger (s).
        trig_signif: Significance of the trigger (sigma).
        trig_dur: Trigger integration interval duration (s).
        lo_chan_index: Lower energy channel index (dn).
        hi_chan_index: Upper energy channel index (dn).
        lo_chan_energy: Lower energy channel bound (keV).
        hi_chan_energy: Upper energy channel bound; ``None`` for open-ended range (keV).
        adc_lo_chan: Lower ADC channel (dn).
        adc_hi_chan: Upper ADC channel (dn).
        algorithm: Index identifying the location-calculation algorithm.
        dets: Names of the triggering detectors (0..9, A, B, BGO1, BGO2).
        sc_long: East geographic longitude of the spacecraft at trigger time (deg).
        sc_lat: Geographic latitude of the spacecraft at trigger time (deg).
        lightcurve_url: URL to the quicklook lightcurve GIF.
        coords_type: Coordinate type code (dn).
        coords_string: Human-readable description of the coordinate type.
        importance: VOEvent importance rating.
        inference_probability: VOEvent inference probability.
        values_out_of_range: Whether parameter values exceeded the valid range.
        near_bright_star: Whether the location is near a bright star.
        err_circle_in_galaxy: Whether the error circle overlaps the Galactic plane.
        galaxy_in_err_circle: Whether the Galactic plane lies within the error circle.
        too_generated: Whether a Target of Opportunity was generated.
        trig_time_is_sec_hdr_time: Whether trigger time equals the secondary header time.
        delayed_transmission: Whether transmission of this notice was delayed.
        updated_notice: Whether this notice updates a previous notice.
        flt_generated: Whether the notice originated from flight software.
        gnd_generated: Whether the notice originated from ground operations.
        temporal_prox_match: Whether temporal coincidence was found with another event.
        crc_error: Whether a CRC error was detected.
        reference_uri: URL to the Fermi GBM instrument documentation.
        followup: IVORN of the parent notice that this notice updates (unlikely any).

    """

    author_contact_name: str
    author_email: str
    alert_datetime: Annotated[datetime, "ISO8601"]
    ivorn: str
    packet_type: int
    pkt_ser_num: int
    trig_id: int
    sequence_num: int
    burst_datetime: Annotated[datetime, "ISO8601"]
    burst_tjd: Annotated[int, "days"]
    burst_sod: Annotated[float, "s"]
    trig_signif: Annotated[float, "sigma"]
    trig_dur: Annotated[float, "s"]
    lo_chan_index: Annotated[int, "dn"]
    hi_chan_index: Annotated[int, "dn"]
    lo_chan_energy: Annotated[int, "keV"]
    hi_chan_energy: Annotated[int | None, "keV"]
    adc_lo_chan: Annotated[int, "dn"]
    adc_hi_chan: Annotated[int, "dn"]
    algorithm: int
    dets: tuple[str, ...]
    sc_long: Annotated[float, "deg"]
    sc_lat: Annotated[float, "deg"]
    lightcurve_url: str
    coords_type: Annotated[int, "dn"]
    coords_string: str
    importance: float
    inference_probability: float
    values_out_of_range: bool
    near_bright_star: bool
    err_circle_in_galaxy: bool
    galaxy_in_err_circle: bool
    too_generated: bool
    trig_time_is_sec_hdr_time: bool
    delayed_transmission: bool
    updated_notice: bool
    flt_generated: bool
    gnd_generated: bool
    temporal_prox_match: bool
    crc_error: bool
    reference_uri: str
    followup: str | None = None

FermiGBMFinPos

Bases: BaseModel

Parsed Fermi-GBM final position VOEvent notice from bytes.

Attributes:

Name Type Description
author_contact_name str

Contact name of the notice author.

author_email str

Email address of the notice author.

alert_datetime Annotated[datetime, ISO8601]

UTC datetime when the notice was issued (ISO-8601).

ivorn str

Raw VOEvent IVORN identifying this notice instance.

packet_type int

GCN packet type number (115 = Fin Pos, 146 = Fin Pos Internal).

pkt_ser_num int

Serial number for this packet type.

trig_id int

Unique trigger identifier; seconds since 2001-01-01.

sequence_num int

Record sequence number across all messages for this trigger.

burst_datetime Annotated[datetime, ISO8601]

UTC datetime of the trigger event (ISO-8601).

burst_tjd Annotated[int, days]

Truncated Julian Day of the trigger (days).

burst_sod Annotated[float, s]

Seconds of day of the trigger (s).

burst_inten Annotated[int, counts]

Number of events in the trigger integration window (counts).

data_integ Annotated[float, s]

Duration of the trigger integration interval (s).

burst_signif Annotated[float, sigma]

Significance of the burst in the integrated data (sigma).

phi Annotated[float, deg]

GBM instrument azimuth of the burst (deg).

theta Annotated[float, deg]

GBM instrument zenith of the burst measured from LAT boresight (deg).

ra Annotated[float, deg]

Right ascension of the burst position (deg).

dec Annotated[float, deg]

Declination of the burst position (deg).

error_radius Annotated[float, deg]

Radius of the positional error circle (deg).

algorithm int

Version index of the location algorithm.

lo_energy Annotated[int, keV]

Lower energy bound of the analysis range (keV).

hi_energy Annotated[int, keV]

Upper energy bound of the analysis range (keV).

def_not_a_grb bool

Whether ground analysis determined this is definitely not a GRB.

target_in_blk_catalog bool

Whether the source is in the blocked-source catalog.

human_generated bool

Whether the position was manually reviewed by a human.

robo_generated bool

Whether the position was generated autonomously.

long_short str

Classification of the burst duration ("long", "short", or "unknown").

spatial_prox_match bool

Whether spatial coincidence was found with another event.

temporal_prox_match bool

Whether temporal coincidence was found with another event.

test_submission bool

Whether this is an internal test submission.

values_out_of_range bool

Whether any coordinate values were out of valid range.

flt_generated bool

Whether the notice originated from flight software.

gnd_generated bool

Whether the notice originated from ground operations.

crc_error bool

Whether a CRC error was detected.

lightcurve_url str

URL to the quicklook lightcurve GIF.

locationmap_url str

URL to the location plot PNG.

coords_type Annotated[int, dn]

Coordinate type code (dn).

coords_string str

Human-readable description of the coordinate type.

reference_uri str

URL to the Fermi GBM instrument documentation.

followup str | None

IVORN of the parent notice that this notice updates (if any).

importance float

VOEvent importance rating.

inference_probability float

VOEvent inference probability.

Source code in gcn_parser/fermi/fermi_gbm_fin_pos.py
class FermiGBMFinPos(BaseModel):
    """Parsed Fermi-GBM final position VOEvent notice from bytes.

    Attributes:
        author_contact_name: Contact name of the notice author.
        author_email: Email address of the notice author.
        alert_datetime: UTC datetime when the notice was issued (ISO-8601).
        ivorn: Raw VOEvent IVORN identifying this notice instance.
        packet_type: GCN packet type number (115 = Fin Pos, 146 = Fin Pos Internal).
        pkt_ser_num: Serial number for this packet type.
        trig_id: Unique trigger identifier; seconds since 2001-01-01.
        sequence_num: Record sequence number across all messages for this trigger.
        burst_datetime: UTC datetime of the trigger event (ISO-8601).
        burst_tjd: Truncated Julian Day of the trigger (days).
        burst_sod: Seconds of day of the trigger (s).
        burst_inten: Number of events in the trigger integration window (counts).
        data_integ: Duration of the trigger integration interval (s).
        burst_signif: Significance of the burst in the integrated data (sigma).
        phi: GBM instrument azimuth of the burst (deg).
        theta: GBM instrument zenith of the burst measured from LAT boresight (deg).
        ra: Right ascension of the burst position (deg).
        dec: Declination of the burst position (deg).
        error_radius: Radius of the positional error circle (deg).
        algorithm: Version index of the location algorithm.
        lo_energy: Lower energy bound of the analysis range (keV).
        hi_energy: Upper energy bound of the analysis range (keV).
        def_not_a_grb: Whether ground analysis determined this is definitely not a GRB.
        target_in_blk_catalog: Whether the source is in the blocked-source catalog.
        human_generated: Whether the position was manually reviewed by a human.
        robo_generated: Whether the position was generated autonomously.
        long_short: Classification of the burst duration (``"long"``, ``"short"``, or ``"unknown"``).
        spatial_prox_match: Whether spatial coincidence was found with another event.
        temporal_prox_match: Whether temporal coincidence was found with another event.
        test_submission: Whether this is an internal test submission.
        values_out_of_range: Whether any coordinate values were out of valid range.
        flt_generated: Whether the notice originated from flight software.
        gnd_generated: Whether the notice originated from ground operations.
        crc_error: Whether a CRC error was detected.
        lightcurve_url: URL to the quicklook lightcurve GIF.
        locationmap_url: URL to the location plot PNG.
        coords_type: Coordinate type code (dn).
        coords_string: Human-readable description of the coordinate type.
        reference_uri: URL to the Fermi GBM instrument documentation.
        followup: IVORN of the parent notice that this notice updates (if any).
        importance: VOEvent importance rating.
        inference_probability: VOEvent inference probability.

    """

    author_contact_name: str
    author_email: str
    alert_datetime: Annotated[datetime, "ISO8601"]
    ivorn: str
    packet_type: int
    pkt_ser_num: int
    trig_id: int
    sequence_num: int
    burst_datetime: Annotated[datetime, "ISO8601"]
    burst_tjd: Annotated[int, "days"]
    burst_sod: Annotated[float, "s"]
    burst_inten: Annotated[int, "counts"]
    data_integ: Annotated[float, "s"]
    burst_signif: Annotated[float, "sigma"]
    phi: Annotated[float, "deg"]
    theta: Annotated[float, "deg"]
    ra: Annotated[float, "deg"]
    dec: Annotated[float, "deg"]
    error_radius: Annotated[float, "deg"]
    algorithm: int
    lo_energy: Annotated[int, "keV"]
    hi_energy: Annotated[int, "keV"]
    def_not_a_grb: bool
    target_in_blk_catalog: bool
    human_generated: bool
    robo_generated: bool
    long_short: str
    spatial_prox_match: bool
    temporal_prox_match: bool
    test_submission: bool
    values_out_of_range: bool
    flt_generated: bool
    gnd_generated: bool
    crc_error: bool
    lightcurve_url: str
    locationmap_url: str
    coords_type: Annotated[int, "dn"]
    coords_string: str
    reference_uri: str
    followup: str | None = None
    importance: float
    inference_probability: float

FermiGBMFltPos

Bases: BaseModel

Parsed Fermi-GBM flight position VOEvent notice from bytes.

Attributes:

Name Type Description
author_contact_name str

Contact name of the notice author.

author_email str

Email address of the notice author.

alert_datetime Annotated[datetime, ISO8601]

UTC datetime when the notice was issued (ISO-8601).

ivorn str

Raw VOEvent IVORN identifying this notice instance.

packet_type int

GCN packet type number (111 = Flt Pos, 117 = Flt Pos Internal).

pkt_ser_num int

Serial number for this packet type.

trig_id int

Unique trigger identifier; seconds since 2001-01-01.

sequence_num int

Record sequence number across all messages for this trigger.

burst_datetime Annotated[datetime, ISO8601]

UTC datetime of the trigger event (ISO-8601).

burst_tjd Annotated[int, days]

Truncated Julian Day of the trigger (days).

burst_sod Annotated[float, s]

Seconds of day of the trigger (s).

burst_inten Annotated[int, counts]

Number of events in the trigger integration window (counts).

trig_timescale Annotated[float, s]

Binning of the countrate lightcurve used for trigger detection (s).

data_timescale Annotated[float, s]

Binning of the countrate lightcurve used for location calculation (s).

data_signif Annotated[float, sigma]

Significance of the ongoing integrated data (sigma).

phi Annotated[float, deg]

GBM instrument azimuth of the burst (deg).

theta Annotated[float, deg]

GBM instrument zenith of the burst measured from LAT boresight (deg).

ra Annotated[float, deg]

Right ascension of the burst position (deg).

dec Annotated[float, deg]

Declination of the burst position (deg).

error_radius Annotated[float, deg]

Radius of the positional error circle (deg).

sc_long Annotated[float, deg]

East geographic longitude of the spacecraft at trigger time (deg).

sc_lat Annotated[float, deg]

Geographic latitude of the spacecraft at trigger time (deg).

algorithm int

Version index of the flight software location algorithm.

most_likely_index LikelySource

Class ID of the most likely source class (dn).

most_likely_prob Annotated[int, percent]

Probability of the most likely source class (percent).

sec_most_likely_index LikelySource

Class ID of the second most likely source class (dn).

sec_most_likely_prob Annotated[int, percent]

Probability of the second most likely source class (percent).

hardness_ratio float

Hardness ratio (15-50 keV / 50-300 keV).

def_not_a_grb bool

Whether ground analysis determined this is definitely not a GRB.

target_in_blk_catalog bool

Whether the source is in the blocked-source catalog.

spatial_prox_match bool

Whether spatial coincidence was found with another event.

temporal_prox_match bool

Whether temporal coincidence was found with another event.

test_submission bool

Whether this is an internal test submission.

values_out_of_range bool

Whether any coordinate values were out of valid range.

delayed_transmission bool

Whether transmission of this notice was delayed.

flt_generated bool

Whether the notice originated from flight software.

gnd_generated bool

Whether the notice originated from ground operations.

lightcurve_url str

URL to the quicklook lightcurve GIF.

coords_type Annotated[int, dn]

Coordinate type code (dn).

coords_string str

Human-readable description of the coordinate type.

reference_uri str

URL to the Fermi GBM instrument documentation.

followup str | None

IVORN of the parent notice that this notice updates (if any).

importance float

VOEvent importance rating.

inference_probability float

VOEvent inference probability.

Source code in gcn_parser/fermi/fermi_gbm_flt_pos.py
class FermiGBMFltPos(BaseModel):
    """Parsed Fermi-GBM flight position VOEvent notice from bytes.

    Attributes:
        author_contact_name: Contact name of the notice author.
        author_email: Email address of the notice author.
        alert_datetime: UTC datetime when the notice was issued (ISO-8601).
        ivorn: Raw VOEvent IVORN identifying this notice instance.
        packet_type: GCN packet type number (111 = Flt Pos, 117 = Flt Pos Internal).
        pkt_ser_num: Serial number for this packet type.
        trig_id: Unique trigger identifier; seconds since 2001-01-01.
        sequence_num: Record sequence number across all messages for this trigger.
        burst_datetime: UTC datetime of the trigger event (ISO-8601).
        burst_tjd: Truncated Julian Day of the trigger (days).
        burst_sod: Seconds of day of the trigger (s).
        burst_inten: Number of events in the trigger integration window (counts).
        trig_timescale: Binning of the countrate lightcurve used for trigger detection (s).
        data_timescale: Binning of the countrate lightcurve used for location calculation (s).
        data_signif: Significance of the ongoing integrated data (sigma).
        phi: GBM instrument azimuth of the burst (deg).
        theta: GBM instrument zenith of the burst measured from LAT boresight (deg).
        ra: Right ascension of the burst position (deg).
        dec: Declination of the burst position (deg).
        error_radius: Radius of the positional error circle (deg).
        sc_long: East geographic longitude of the spacecraft at trigger time (deg).
        sc_lat: Geographic latitude of the spacecraft at trigger time (deg).
        algorithm: Version index of the flight software location algorithm.
        most_likely_index: Class ID of the most likely source class (dn).
        most_likely_prob: Probability of the most likely source class (percent).
        sec_most_likely_index: Class ID of the second most likely source class (dn).
        sec_most_likely_prob: Probability of the second most likely source class (percent).
        hardness_ratio: Hardness ratio (15-50 keV / 50-300 keV).
        def_not_a_grb: Whether ground analysis determined this is definitely not a GRB.
        target_in_blk_catalog: Whether the source is in the blocked-source catalog.
        spatial_prox_match: Whether spatial coincidence was found with another event.
        temporal_prox_match: Whether temporal coincidence was found with another event.
        test_submission: Whether this is an internal test submission.
        values_out_of_range: Whether any coordinate values were out of valid range.
        delayed_transmission: Whether transmission of this notice was delayed.
        flt_generated: Whether the notice originated from flight software.
        gnd_generated: Whether the notice originated from ground operations.
        lightcurve_url: URL to the quicklook lightcurve GIF.
        coords_type: Coordinate type code (dn).
        coords_string: Human-readable description of the coordinate type.
        reference_uri: URL to the Fermi GBM instrument documentation.
        followup: IVORN of the parent notice that this notice updates (if any).
        importance: VOEvent importance rating.
        inference_probability: VOEvent inference probability.

    """

    author_contact_name: str
    author_email: str
    alert_datetime: Annotated[datetime, "ISO8601"]
    ivorn: str
    packet_type: int
    pkt_ser_num: int
    trig_id: int
    sequence_num: int
    burst_datetime: Annotated[datetime, "ISO8601"]
    burst_tjd: Annotated[int, "days"]
    burst_sod: Annotated[float, "s"]
    burst_inten: Annotated[int, "counts"]
    trig_timescale: Annotated[float, "s"]
    data_timescale: Annotated[float, "s"]
    data_signif: Annotated[float, "sigma"]
    phi: Annotated[float, "deg"]
    theta: Annotated[float, "deg"]
    ra: Annotated[float, "deg"]
    dec: Annotated[float, "deg"]
    error_radius: Annotated[float, "deg"]
    sc_long: Annotated[float, "deg"]
    sc_lat: Annotated[float, "deg"]
    algorithm: int
    most_likely_index: LikelySource
    most_likely_prob: Annotated[int, "percent"]
    sec_most_likely_index: LikelySource
    sec_most_likely_prob: Annotated[int, "percent"]
    hardness_ratio: float
    def_not_a_grb: bool
    target_in_blk_catalog: bool
    spatial_prox_match: bool
    temporal_prox_match: bool
    test_submission: bool
    values_out_of_range: bool
    delayed_transmission: bool
    flt_generated: bool
    gnd_generated: bool
    lightcurve_url: str
    coords_type: Annotated[int, "dn"]
    coords_string: str
    reference_uri: str
    importance: float
    inference_probability: float
    followup: str | None = None

FermiGBMGndPos

Bases: BaseModel

Parsed Fermi-GBM ground position VOEvent notice from bytes.

Attributes:

Name Type Description
author_contact_name str

Contact name of the notice author.

author_email str

Email address of the notice author.

alert_datetime Annotated[datetime, ISO8601]

UTC datetime when the notice was issued (ISO-8601).

ivorn str

Raw VOEvent IVORN identifying this notice instance.

packet_type int

GCN packet type number (112 = Gnd Pos).

pkt_ser_num int

Serial number for this packet type.

trig_id int

Unique trigger identifier; seconds since 2001-01-01.

sequence_num int

Record sequence number across all messages for this trigger.

burst_datetime Annotated[datetime, ISO8601]

UTC datetime of the trigger event (ISO-8601).

burst_tjd Annotated[int, days]

Truncated Julian Day of the trigger (days).

burst_sod Annotated[float, s]

Seconds of day of the trigger (s).

burst_inten Annotated[int, counts]

Number of events in the trigger integration window (counts).

data_integ Annotated[float, s]

Duration of the trigger integration interval (s).

burst_signif Annotated[float, sigma]

Significance of the burst in the integrated data (sigma).

phi Annotated[float, deg]

GBM instrument azimuth of the burst (deg).

theta Annotated[float, deg]

GBM instrument zenith of the burst measured from LAT boresight (deg).

ra Annotated[float, deg]

Right ascension of the burst position (deg).

dec Annotated[float, deg]

Declination of the burst position (deg).

error_radius Annotated[float, deg]

Radius of the positional error circle (deg).

algorithm int

Version index of the ground location algorithm.

lo_energy Annotated[int, keV]

Lower energy bound of the analysis range (keV).

hi_energy Annotated[int, keV]

Upper energy bound of the analysis range (keV).

sc_geo_x int

Spacecraft geocentric X-coordinate (*4 km).

sc_geo_y int

Spacecraft geocentric Y-coordinate (*4 km).

sc_geo_z int

Spacecraft geocentric Z-coordinate (*4 km).

def_not_a_grb bool

Whether ground analysis determined this is definitely not a GRB.

target_in_blk_catalog bool

Whether the source is in the blocked-source catalog.

spatial_prox_match bool

Whether spatial coincidence was found with another event.

long_short str

Classification of the burst duration ("long", "short", or "unknown").

temporal_prox_match bool

Whether temporal coincidence was found with another event.

test_submission bool

Whether this is an internal test submission.

values_out_of_range bool

Whether any coordinate values were out of valid range.

flt_generated bool

Whether the notice originated from flight software.

gnd_generated bool

Whether the notice originated from ground operations.

crc_error bool

Whether a CRC error was detected.

lightcurve_url str

URL to the quicklook lightcurve GIF.

locationmap_url str

URL to the ground location FITS map.

coords_type Annotated[int, dn]

Coordinate type code (dn).

coords_string str

Human-readable description of the coordinate type.

reference_uri str

URL to the Fermi GBM instrument documentation.

followup str | None

IVORN of the parent notice that this notice updates (if any).

importance float

VOEvent importance rating.

inference_probability float

VOEvent inference probability.

Source code in gcn_parser/fermi/fermi_gbm_gnd_pos.py
class FermiGBMGndPos(BaseModel):
    """Parsed Fermi-GBM ground position VOEvent notice from bytes.

    Attributes:
        author_contact_name: Contact name of the notice author.
        author_email: Email address of the notice author.
        alert_datetime: UTC datetime when the notice was issued (ISO-8601).
        ivorn: Raw VOEvent IVORN identifying this notice instance.
        packet_type: GCN packet type number (112 = Gnd Pos).
        pkt_ser_num: Serial number for this packet type.
        trig_id: Unique trigger identifier; seconds since 2001-01-01.
        sequence_num: Record sequence number across all messages for this trigger.
        burst_datetime: UTC datetime of the trigger event (ISO-8601).
        burst_tjd: Truncated Julian Day of the trigger (days).
        burst_sod: Seconds of day of the trigger (s).
        burst_inten: Number of events in the trigger integration window (counts).
        data_integ: Duration of the trigger integration interval (s).
        burst_signif: Significance of the burst in the integrated data (sigma).
        phi: GBM instrument azimuth of the burst (deg).
        theta: GBM instrument zenith of the burst measured from LAT boresight (deg).
        ra: Right ascension of the burst position (deg).
        dec: Declination of the burst position (deg).
        error_radius: Radius of the positional error circle (deg).
        algorithm: Version index of the ground location algorithm.
        lo_energy: Lower energy bound of the analysis range (keV).
        hi_energy: Upper energy bound of the analysis range (keV).
        sc_geo_x: Spacecraft geocentric X-coordinate (*4 km).
        sc_geo_y: Spacecraft geocentric Y-coordinate (*4 km).
        sc_geo_z: Spacecraft geocentric Z-coordinate (*4 km).
        def_not_a_grb: Whether ground analysis determined this is definitely not a GRB.
        target_in_blk_catalog: Whether the source is in the blocked-source catalog.
        spatial_prox_match: Whether spatial coincidence was found with another event.
        long_short: Classification of the burst duration (``"long"``, ``"short"``, or ``"unknown"``).
        temporal_prox_match: Whether temporal coincidence was found with another event.
        test_submission: Whether this is an internal test submission.
        values_out_of_range: Whether any coordinate values were out of valid range.
        flt_generated: Whether the notice originated from flight software.
        gnd_generated: Whether the notice originated from ground operations.
        crc_error: Whether a CRC error was detected.
        lightcurve_url: URL to the quicklook lightcurve GIF.
        locationmap_url: URL to the ground location FITS map.
        coords_type: Coordinate type code (dn).
        coords_string: Human-readable description of the coordinate type.
        reference_uri: URL to the Fermi GBM instrument documentation.
        followup: IVORN of the parent notice that this notice updates (if any).
        importance: VOEvent importance rating.
        inference_probability: VOEvent inference probability.

    """

    author_contact_name: str
    author_email: str
    alert_datetime: Annotated[datetime, "ISO8601"]
    ivorn: str
    packet_type: int
    pkt_ser_num: int
    trig_id: int
    sequence_num: int
    burst_datetime: Annotated[datetime, "ISO8601"]
    burst_tjd: Annotated[int, "days"]
    burst_sod: Annotated[float, "s"]
    burst_inten: Annotated[int, "counts"]
    data_integ: Annotated[float, "s"]
    burst_signif: Annotated[float, "sigma"]
    phi: Annotated[float, "deg"]
    theta: Annotated[float, "deg"]
    ra: Annotated[float, "deg"]
    dec: Annotated[float, "deg"]
    error_radius: Annotated[float, "deg"]
    algorithm: int
    lo_energy: Annotated[int, "keV"]
    hi_energy: Annotated[int, "keV"]
    sc_geo_x: int
    sc_geo_y: int
    sc_geo_z: int
    def_not_a_grb: bool
    target_in_blk_catalog: bool
    spatial_prox_match: bool
    long_short: str
    temporal_prox_match: bool
    test_submission: bool
    values_out_of_range: bool
    flt_generated: bool
    gnd_generated: bool
    crc_error: bool
    lightcurve_url: str
    locationmap_url: str
    coords_type: Annotated[int, "dn"]
    coords_string: str
    reference_uri: str
    importance: float
    inference_probability: float
    followup: str | None = None

FermiLATOffline

Bases: BaseModel

Parsed Fermi-LAT offline position VOEvent notice from bytes.

Attributes:

Name Type Description
author_contact_name str

Contact name of the notice author.

author_email str

Email address of the notice author.

alert_datetime Annotated[datetime, ISO8601]

UTC datetime when the notice was issued (ISO-8601).

ivorn str

Raw VOEvent IVORN identifying this notice instance.

packet_type int

GCN packet type number (128 = LAT Offline).

pkt_ser_num int

Serial number for this packet type.

trig_id int

Unique trigger identifier; seconds since 2001-01-01.

burst_datetime Annotated[datetime, ISO8601]

UTC datetime of the trigger event (ISO-8601).

burst_tjd Annotated[int, days]

Truncated Julian Day of the trigger (days).

burst_sod Annotated[float, s]

Seconds of day of the trigger (s).

burst_inten Annotated[int, counts]

Number of events in the trigger integration window (counts).

integ_time Annotated[float, s]

Integration time (s).

trigger_signif float

Significance of the trigger.

ra Annotated[float, deg]

Right ascension of the burst position (deg).

dec Annotated[float, deg]

Declination of the burst position (deg).

error_radius Annotated[float, deg]

Radius of the positional error circle (deg).

all_gammas_used bool

Whether all gammas were used in the location method.

only_gammas_above_used bool

Whether only gammas above an energy cut were used.

def_not_a_grb bool

Whether ground analysis determined this is definitely not a GRB.

spatial_prox_match bool

Whether spatial coincidence was found with another event.

temporal_prox_match bool

Whether temporal coincidence was found with another event.

report_request_made bool

Whether a repoint request was made to the spacecraft.

values_out_of_range bool

Whether any coordinate values were out of valid range.

near_bright_star bool

Whether the position is near a bright star (mag < 6.5).

err_circle_in_galaxy bool

Whether the error circle overlaps the Galactic plane.

galaxy_in_err_circle bool

Whether the Galactic plane lies within the error circle.

coords_type Annotated[int, dn]

Coordinate type code (dn).

coords_string str

Human-readable description of the coordinate type.

reference_uri str

URL to the Fermi LAT instrument documentation.

followup str | None

IVORN of the parent notice that this notice updates (if any).

importance float

VOEvent importance rating.

inference_probability float

VOEvent inference probability.

Source code in gcn_parser/fermi/fermi_lat_offline.py
class FermiLATOffline(BaseModel):
    """Parsed Fermi-LAT offline position VOEvent notice from bytes.

    Attributes:
        author_contact_name: Contact name of the notice author.
        author_email: Email address of the notice author.
        alert_datetime: UTC datetime when the notice was issued (ISO-8601).
        ivorn: Raw VOEvent IVORN identifying this notice instance.
        packet_type: GCN packet type number (128 = LAT Offline).
        pkt_ser_num: Serial number for this packet type.
        trig_id: Unique trigger identifier; seconds since 2001-01-01.
        burst_datetime: UTC datetime of the trigger event (ISO-8601).
        burst_tjd: Truncated Julian Day of the trigger (days).
        burst_sod: Seconds of day of the trigger (s).
        burst_inten: Number of events in the trigger integration window (counts).
        integ_time: Integration time (s).
        trigger_signif: Significance of the trigger.
        ra: Right ascension of the burst position (deg).
        dec: Declination of the burst position (deg).
        error_radius: Radius of the positional error circle (deg).
        all_gammas_used: Whether all gammas were used in the location method.
        only_gammas_above_used: Whether only gammas above an energy cut were used.
        def_not_a_grb: Whether ground analysis determined this is definitely not a GRB.
        spatial_prox_match: Whether spatial coincidence was found with another event.
        temporal_prox_match: Whether temporal coincidence was found with another event.
        report_request_made: Whether a repoint request was made to the spacecraft.
        values_out_of_range: Whether any coordinate values were out of valid range.
        near_bright_star: Whether the position is near a bright star (mag < 6.5).
        err_circle_in_galaxy: Whether the error circle overlaps the Galactic plane.
        galaxy_in_err_circle: Whether the Galactic plane lies within the error circle.
        coords_type: Coordinate type code (dn).
        coords_string: Human-readable description of the coordinate type.
        reference_uri: URL to the Fermi LAT instrument documentation.
        followup: IVORN of the parent notice that this notice updates (if any).
        importance: VOEvent importance rating.
        inference_probability: VOEvent inference probability.

    """

    author_contact_name: str
    author_email: str
    alert_datetime: Annotated[datetime, "ISO8601"]
    ivorn: str
    packet_type: int
    pkt_ser_num: int
    trig_id: int
    burst_datetime: Annotated[datetime, "ISO8601"]
    burst_tjd: Annotated[int, "days"]
    burst_sod: Annotated[float, "s"]
    burst_inten: Annotated[int, "counts"]
    integ_time: Annotated[float, "s"]
    trigger_signif: float
    ra: Annotated[float, "deg"]
    dec: Annotated[float, "deg"]
    error_radius: Annotated[float, "deg"]
    all_gammas_used: bool
    only_gammas_above_used: bool
    def_not_a_grb: bool
    spatial_prox_match: bool
    temporal_prox_match: bool
    report_request_made: bool
    values_out_of_range: bool
    near_bright_star: bool
    err_circle_in_galaxy: bool
    galaxy_in_err_circle: bool
    coords_type: Annotated[int, "dn"]
    coords_string: str
    reference_uri: str
    followup: str | None = None
    importance: float
    inference_probability: float

FermiLATPosDiag

Bases: BaseModel

Shared model for Fermi-LAT position notices.

Attributes:

Name Type Description
author_contact_name str

Contact name of the notice author.

author_email str

Email address of the notice author.

alert_datetime Annotated[datetime, ISO8601]

UTC datetime when the notice was issued (ISO-8601).

ivorn str

Raw VOEvent IVORN identifying this notice instance.

packet_type int

GCN packet type number.

pkt_ser_num int

Serial number for this packet type.

trig_id int

Unique trigger identifier; seconds since 2001-01-01.

record_num int

Record sequence number across all messages for this trigger.

burst_datetime Annotated[datetime, ISO8601]

UTC datetime of the trigger event (ISO-8601).

burst_tjd Annotated[int, days]

Truncated Julian Day of the trigger (days).

burst_sod Annotated[float, s]

Seconds of day of the trigger (s).

burst_inten Annotated[int, counts]

Number of events used in the location calculation (counts).

cnts_e1 Annotated[int, counts]

Event counts in the 0--100 MeV energy band (counts).

cnts_e2 Annotated[int, counts]

Event counts in the 100 MeV--1 GeV energy band (counts).

cnts_e3 Annotated[int, counts]

Event counts in the 1--10 GeV energy band (counts).

cnts_e4 Annotated[int, counts]

Event counts in the >10 GeV energy band (counts).

integ_time Annotated[float, s]

Integration time between first and last photons used (s).

trig_index Annotated[int, dn]

Index of the trigger criterion that provided the successful trigger (dn).

temp_test_stat Annotated[float, -log(prob)]

Temporal test statistic (-log probability).

image_test_stat Annotated[float, -log(prob)]

Image test statistic (-log probability).

ra Annotated[float, deg]

Right ascension of the burst position (deg).

dec Annotated[float, deg]

Declination of the burst position (deg).

error_radius Annotated[float, deg]

Radius of the positional error circle (deg).

all_gammas_used bool

Whether all gammas were used in the location method.

only_gammas_above_used bool

Whether only gammas above an energy cut were used.

def_not_a_grb bool

Whether ground analysis determined this is definitely not a GRB.

spatial_prox_match bool

Whether spatial coincidence was found with another event.

temporal_prox_match bool

Whether temporal coincidence was found with another event.

report_request_made bool

Whether a repoint request was made to the spacecraft.

values_out_of_range bool

Whether any coordinate values were out of valid range.

near_bright_star bool

Whether the position is near a bright star (mag < 6.5).

err_circle_in_galaxy bool

Whether the error circle overlaps the Galactic plane.

galaxy_in_err_circle bool

Whether the Galactic plane lies within the error circle.

coords_type Annotated[int, dn]

Coordinate type code (dn).

coords_string str

Human-readable description of the coordinate type.

reference_uri str

URL to the Fermi LAT instrument documentation.

followup str | None

IVORN of the parent notice that this notice updates (if any).

importance float

VOEvent importance rating.

inference_probability float

VOEvent inference probability.

Source code in gcn_parser/fermi/_fermi_lat_pos.py
class FermiLATPos(BaseModel):
    """Shared model for Fermi-LAT position notices.

    Attributes:
        author_contact_name: Contact name of the notice author.
        author_email: Email address of the notice author.
        alert_datetime: UTC datetime when the notice was issued (ISO-8601).
        ivorn: Raw VOEvent IVORN identifying this notice instance.
        packet_type: GCN packet type number.
        pkt_ser_num: Serial number for this packet type.
        trig_id: Unique trigger identifier; seconds since 2001-01-01.
        record_num: Record sequence number across all messages for this trigger.
        burst_datetime: UTC datetime of the trigger event (ISO-8601).
        burst_tjd: Truncated Julian Day of the trigger (days).
        burst_sod: Seconds of day of the trigger (s).
        burst_inten: Number of events used in the location calculation (counts).
        cnts_e1: Event counts in the 0--100 MeV energy band (counts).
        cnts_e2: Event counts in the 100 MeV--1 GeV energy band (counts).
        cnts_e3: Event counts in the 1--10 GeV energy band (counts).
        cnts_e4: Event counts in the >10 GeV energy band (counts).
        integ_time: Integration time between first and last photons used (s).
        trig_index: Index of the trigger criterion that provided the successful trigger (dn).
        temp_test_stat: Temporal test statistic (``-log`` probability).
        image_test_stat: Image test statistic (``-log`` probability).
        ra: Right ascension of the burst position (deg).
        dec: Declination of the burst position (deg).
        error_radius: Radius of the positional error circle (deg).
        all_gammas_used: Whether all gammas were used in the location method.
        only_gammas_above_used: Whether only gammas above an energy cut were used.
        def_not_a_grb: Whether ground analysis determined this is definitely not a GRB.
        spatial_prox_match: Whether spatial coincidence was found with another event.
        temporal_prox_match: Whether temporal coincidence was found with another event.
        report_request_made: Whether a repoint request was made to the spacecraft.
        values_out_of_range: Whether any coordinate values were out of valid range.
        near_bright_star: Whether the position is near a bright star (mag < 6.5).
        err_circle_in_galaxy: Whether the error circle overlaps the Galactic plane.
        galaxy_in_err_circle: Whether the Galactic plane lies within the error circle.
        coords_type: Coordinate type code (dn).
        coords_string: Human-readable description of the coordinate type.
        reference_uri: URL to the Fermi LAT instrument documentation.
        followup: IVORN of the parent notice that this notice updates (if any).
        importance: VOEvent importance rating.
        inference_probability: VOEvent inference probability.

    """

    author_contact_name: str
    author_email: str
    alert_datetime: Annotated[datetime, "ISO8601"]
    ivorn: str
    packet_type: int
    pkt_ser_num: int
    trig_id: int
    record_num: int
    burst_datetime: Annotated[datetime, "ISO8601"]
    burst_tjd: Annotated[int, "days"]
    burst_sod: Annotated[float, "s"]
    burst_inten: Annotated[int, "counts"]
    cnts_e1: Annotated[int, "counts"]
    cnts_e2: Annotated[int, "counts"]
    cnts_e3: Annotated[int, "counts"]
    cnts_e4: Annotated[int, "counts"]
    integ_time: Annotated[float, "s"]
    trig_index: Annotated[int, "dn"]
    temp_test_stat: Annotated[float, "-log(prob)"]
    image_test_stat: Annotated[float, "-log(prob)"]
    ra: Annotated[float, "deg"]
    dec: Annotated[float, "deg"]
    error_radius: Annotated[float, "deg"]
    all_gammas_used: bool
    only_gammas_above_used: bool
    def_not_a_grb: bool
    spatial_prox_match: bool
    temporal_prox_match: bool
    report_request_made: bool
    values_out_of_range: bool
    near_bright_star: bool
    err_circle_in_galaxy: bool
    galaxy_in_err_circle: bool
    coords_type: Annotated[int, "dn"]
    coords_string: str
    reference_uri: str
    followup: str | None = None
    importance: float
    inference_probability: float

FermiLATPosIni

Bases: BaseModel

Shared model for Fermi-LAT position notices.

Attributes:

Name Type Description
author_contact_name str

Contact name of the notice author.

author_email str

Email address of the notice author.

alert_datetime Annotated[datetime, ISO8601]

UTC datetime when the notice was issued (ISO-8601).

ivorn str

Raw VOEvent IVORN identifying this notice instance.

packet_type int

GCN packet type number.

pkt_ser_num int

Serial number for this packet type.

trig_id int

Unique trigger identifier; seconds since 2001-01-01.

record_num int

Record sequence number across all messages for this trigger.

burst_datetime Annotated[datetime, ISO8601]

UTC datetime of the trigger event (ISO-8601).

burst_tjd Annotated[int, days]

Truncated Julian Day of the trigger (days).

burst_sod Annotated[float, s]

Seconds of day of the trigger (s).

burst_inten Annotated[int, counts]

Number of events used in the location calculation (counts).

cnts_e1 Annotated[int, counts]

Event counts in the 0--100 MeV energy band (counts).

cnts_e2 Annotated[int, counts]

Event counts in the 100 MeV--1 GeV energy band (counts).

cnts_e3 Annotated[int, counts]

Event counts in the 1--10 GeV energy band (counts).

cnts_e4 Annotated[int, counts]

Event counts in the >10 GeV energy band (counts).

integ_time Annotated[float, s]

Integration time between first and last photons used (s).

trig_index Annotated[int, dn]

Index of the trigger criterion that provided the successful trigger (dn).

temp_test_stat Annotated[float, -log(prob)]

Temporal test statistic (-log probability).

image_test_stat Annotated[float, -log(prob)]

Image test statistic (-log probability).

ra Annotated[float, deg]

Right ascension of the burst position (deg).

dec Annotated[float, deg]

Declination of the burst position (deg).

error_radius Annotated[float, deg]

Radius of the positional error circle (deg).

all_gammas_used bool

Whether all gammas were used in the location method.

only_gammas_above_used bool

Whether only gammas above an energy cut were used.

def_not_a_grb bool

Whether ground analysis determined this is definitely not a GRB.

spatial_prox_match bool

Whether spatial coincidence was found with another event.

temporal_prox_match bool

Whether temporal coincidence was found with another event.

report_request_made bool

Whether a repoint request was made to the spacecraft.

values_out_of_range bool

Whether any coordinate values were out of valid range.

near_bright_star bool

Whether the position is near a bright star (mag < 6.5).

err_circle_in_galaxy bool

Whether the error circle overlaps the Galactic plane.

galaxy_in_err_circle bool

Whether the Galactic plane lies within the error circle.

coords_type Annotated[int, dn]

Coordinate type code (dn).

coords_string str

Human-readable description of the coordinate type.

reference_uri str

URL to the Fermi LAT instrument documentation.

followup str | None

IVORN of the parent notice that this notice updates (if any).

importance float

VOEvent importance rating.

inference_probability float

VOEvent inference probability.

Source code in gcn_parser/fermi/_fermi_lat_pos.py
class FermiLATPos(BaseModel):
    """Shared model for Fermi-LAT position notices.

    Attributes:
        author_contact_name: Contact name of the notice author.
        author_email: Email address of the notice author.
        alert_datetime: UTC datetime when the notice was issued (ISO-8601).
        ivorn: Raw VOEvent IVORN identifying this notice instance.
        packet_type: GCN packet type number.
        pkt_ser_num: Serial number for this packet type.
        trig_id: Unique trigger identifier; seconds since 2001-01-01.
        record_num: Record sequence number across all messages for this trigger.
        burst_datetime: UTC datetime of the trigger event (ISO-8601).
        burst_tjd: Truncated Julian Day of the trigger (days).
        burst_sod: Seconds of day of the trigger (s).
        burst_inten: Number of events used in the location calculation (counts).
        cnts_e1: Event counts in the 0--100 MeV energy band (counts).
        cnts_e2: Event counts in the 100 MeV--1 GeV energy band (counts).
        cnts_e3: Event counts in the 1--10 GeV energy band (counts).
        cnts_e4: Event counts in the >10 GeV energy band (counts).
        integ_time: Integration time between first and last photons used (s).
        trig_index: Index of the trigger criterion that provided the successful trigger (dn).
        temp_test_stat: Temporal test statistic (``-log`` probability).
        image_test_stat: Image test statistic (``-log`` probability).
        ra: Right ascension of the burst position (deg).
        dec: Declination of the burst position (deg).
        error_radius: Radius of the positional error circle (deg).
        all_gammas_used: Whether all gammas were used in the location method.
        only_gammas_above_used: Whether only gammas above an energy cut were used.
        def_not_a_grb: Whether ground analysis determined this is definitely not a GRB.
        spatial_prox_match: Whether spatial coincidence was found with another event.
        temporal_prox_match: Whether temporal coincidence was found with another event.
        report_request_made: Whether a repoint request was made to the spacecraft.
        values_out_of_range: Whether any coordinate values were out of valid range.
        near_bright_star: Whether the position is near a bright star (mag < 6.5).
        err_circle_in_galaxy: Whether the error circle overlaps the Galactic plane.
        galaxy_in_err_circle: Whether the Galactic plane lies within the error circle.
        coords_type: Coordinate type code (dn).
        coords_string: Human-readable description of the coordinate type.
        reference_uri: URL to the Fermi LAT instrument documentation.
        followup: IVORN of the parent notice that this notice updates (if any).
        importance: VOEvent importance rating.
        inference_probability: VOEvent inference probability.

    """

    author_contact_name: str
    author_email: str
    alert_datetime: Annotated[datetime, "ISO8601"]
    ivorn: str
    packet_type: int
    pkt_ser_num: int
    trig_id: int
    record_num: int
    burst_datetime: Annotated[datetime, "ISO8601"]
    burst_tjd: Annotated[int, "days"]
    burst_sod: Annotated[float, "s"]
    burst_inten: Annotated[int, "counts"]
    cnts_e1: Annotated[int, "counts"]
    cnts_e2: Annotated[int, "counts"]
    cnts_e3: Annotated[int, "counts"]
    cnts_e4: Annotated[int, "counts"]
    integ_time: Annotated[float, "s"]
    trig_index: Annotated[int, "dn"]
    temp_test_stat: Annotated[float, "-log(prob)"]
    image_test_stat: Annotated[float, "-log(prob)"]
    ra: Annotated[float, "deg"]
    dec: Annotated[float, "deg"]
    error_radius: Annotated[float, "deg"]
    all_gammas_used: bool
    only_gammas_above_used: bool
    def_not_a_grb: bool
    spatial_prox_match: bool
    temporal_prox_match: bool
    report_request_made: bool
    values_out_of_range: bool
    near_bright_star: bool
    err_circle_in_galaxy: bool
    galaxy_in_err_circle: bool
    coords_type: Annotated[int, "dn"]
    coords_string: str
    reference_uri: str
    followup: str | None = None
    importance: float
    inference_probability: float

FermiLATPosUpd

Bases: BaseModel

Shared model for Fermi-LAT position notices.

Attributes:

Name Type Description
author_contact_name str

Contact name of the notice author.

author_email str

Email address of the notice author.

alert_datetime Annotated[datetime, ISO8601]

UTC datetime when the notice was issued (ISO-8601).

ivorn str

Raw VOEvent IVORN identifying this notice instance.

packet_type int

GCN packet type number.

pkt_ser_num int

Serial number for this packet type.

trig_id int

Unique trigger identifier; seconds since 2001-01-01.

record_num int

Record sequence number across all messages for this trigger.

burst_datetime Annotated[datetime, ISO8601]

UTC datetime of the trigger event (ISO-8601).

burst_tjd Annotated[int, days]

Truncated Julian Day of the trigger (days).

burst_sod Annotated[float, s]

Seconds of day of the trigger (s).

burst_inten Annotated[int, counts]

Number of events used in the location calculation (counts).

cnts_e1 Annotated[int, counts]

Event counts in the 0--100 MeV energy band (counts).

cnts_e2 Annotated[int, counts]

Event counts in the 100 MeV--1 GeV energy band (counts).

cnts_e3 Annotated[int, counts]

Event counts in the 1--10 GeV energy band (counts).

cnts_e4 Annotated[int, counts]

Event counts in the >10 GeV energy band (counts).

integ_time Annotated[float, s]

Integration time between first and last photons used (s).

trig_index Annotated[int, dn]

Index of the trigger criterion that provided the successful trigger (dn).

temp_test_stat Annotated[float, -log(prob)]

Temporal test statistic (-log probability).

image_test_stat Annotated[float, -log(prob)]

Image test statistic (-log probability).

ra Annotated[float, deg]

Right ascension of the burst position (deg).

dec Annotated[float, deg]

Declination of the burst position (deg).

error_radius Annotated[float, deg]

Radius of the positional error circle (deg).

all_gammas_used bool

Whether all gammas were used in the location method.

only_gammas_above_used bool

Whether only gammas above an energy cut were used.

def_not_a_grb bool

Whether ground analysis determined this is definitely not a GRB.

spatial_prox_match bool

Whether spatial coincidence was found with another event.

temporal_prox_match bool

Whether temporal coincidence was found with another event.

report_request_made bool

Whether a repoint request was made to the spacecraft.

values_out_of_range bool

Whether any coordinate values were out of valid range.

near_bright_star bool

Whether the position is near a bright star (mag < 6.5).

err_circle_in_galaxy bool

Whether the error circle overlaps the Galactic plane.

galaxy_in_err_circle bool

Whether the Galactic plane lies within the error circle.

coords_type Annotated[int, dn]

Coordinate type code (dn).

coords_string str

Human-readable description of the coordinate type.

reference_uri str

URL to the Fermi LAT instrument documentation.

followup str | None

IVORN of the parent notice that this notice updates (if any).

importance float

VOEvent importance rating.

inference_probability float

VOEvent inference probability.

Source code in gcn_parser/fermi/_fermi_lat_pos.py
class FermiLATPos(BaseModel):
    """Shared model for Fermi-LAT position notices.

    Attributes:
        author_contact_name: Contact name of the notice author.
        author_email: Email address of the notice author.
        alert_datetime: UTC datetime when the notice was issued (ISO-8601).
        ivorn: Raw VOEvent IVORN identifying this notice instance.
        packet_type: GCN packet type number.
        pkt_ser_num: Serial number for this packet type.
        trig_id: Unique trigger identifier; seconds since 2001-01-01.
        record_num: Record sequence number across all messages for this trigger.
        burst_datetime: UTC datetime of the trigger event (ISO-8601).
        burst_tjd: Truncated Julian Day of the trigger (days).
        burst_sod: Seconds of day of the trigger (s).
        burst_inten: Number of events used in the location calculation (counts).
        cnts_e1: Event counts in the 0--100 MeV energy band (counts).
        cnts_e2: Event counts in the 100 MeV--1 GeV energy band (counts).
        cnts_e3: Event counts in the 1--10 GeV energy band (counts).
        cnts_e4: Event counts in the >10 GeV energy band (counts).
        integ_time: Integration time between first and last photons used (s).
        trig_index: Index of the trigger criterion that provided the successful trigger (dn).
        temp_test_stat: Temporal test statistic (``-log`` probability).
        image_test_stat: Image test statistic (``-log`` probability).
        ra: Right ascension of the burst position (deg).
        dec: Declination of the burst position (deg).
        error_radius: Radius of the positional error circle (deg).
        all_gammas_used: Whether all gammas were used in the location method.
        only_gammas_above_used: Whether only gammas above an energy cut were used.
        def_not_a_grb: Whether ground analysis determined this is definitely not a GRB.
        spatial_prox_match: Whether spatial coincidence was found with another event.
        temporal_prox_match: Whether temporal coincidence was found with another event.
        report_request_made: Whether a repoint request was made to the spacecraft.
        values_out_of_range: Whether any coordinate values were out of valid range.
        near_bright_star: Whether the position is near a bright star (mag < 6.5).
        err_circle_in_galaxy: Whether the error circle overlaps the Galactic plane.
        galaxy_in_err_circle: Whether the Galactic plane lies within the error circle.
        coords_type: Coordinate type code (dn).
        coords_string: Human-readable description of the coordinate type.
        reference_uri: URL to the Fermi LAT instrument documentation.
        followup: IVORN of the parent notice that this notice updates (if any).
        importance: VOEvent importance rating.
        inference_probability: VOEvent inference probability.

    """

    author_contact_name: str
    author_email: str
    alert_datetime: Annotated[datetime, "ISO8601"]
    ivorn: str
    packet_type: int
    pkt_ser_num: int
    trig_id: int
    record_num: int
    burst_datetime: Annotated[datetime, "ISO8601"]
    burst_tjd: Annotated[int, "days"]
    burst_sod: Annotated[float, "s"]
    burst_inten: Annotated[int, "counts"]
    cnts_e1: Annotated[int, "counts"]
    cnts_e2: Annotated[int, "counts"]
    cnts_e3: Annotated[int, "counts"]
    cnts_e4: Annotated[int, "counts"]
    integ_time: Annotated[float, "s"]
    trig_index: Annotated[int, "dn"]
    temp_test_stat: Annotated[float, "-log(prob)"]
    image_test_stat: Annotated[float, "-log(prob)"]
    ra: Annotated[float, "deg"]
    dec: Annotated[float, "deg"]
    error_radius: Annotated[float, "deg"]
    all_gammas_used: bool
    only_gammas_above_used: bool
    def_not_a_grb: bool
    spatial_prox_match: bool
    temporal_prox_match: bool
    report_request_made: bool
    values_out_of_range: bool
    near_bright_star: bool
    err_circle_in_galaxy: bool
    galaxy_in_err_circle: bool
    coords_type: Annotated[int, "dn"]
    coords_string: str
    reference_uri: str
    followup: str | None = None
    importance: float
    inference_probability: float

Functions

parse_fermi_gbm_alert(value)

Parses a Fermi GBM alert notice from bytes.

Parameters:

Name Type Description Default
value bytes

Raw XML bytes of the VOEvent notice.

required

Returns:

Type Description
FermiGBMAlert

Parsed GBM alert notice model.

Raises:

Type Description
ParseError

If the XML document cannot be parsed or model validation fails.

FieldParseError

If a specific field cannot be extracted from the notice.

Source code in gcn_parser/fermi/fermi_gbm_alert.py
def parse_fermi_gbm_alert(value: bytes) -> FermiGBMAlert:
    """Parses a Fermi GBM alert notice from bytes.

    Args:
        value: Raw XML bytes of the VOEvent notice.

    Returns:
        Parsed GBM alert notice model.

    Raises:
        ParseError: If the XML document cannot be parsed or model validation
            fails.
        FieldParseError: If a specific field cannot be extracted from the
            notice.
    """
    return parse_voevent_notice(
        value,
        FermiGBMAlert,
        "parse_fermi_gbm_alert",
        {
            "VOEvent": _ROOT_RULES,
            "Who": _WHO_RULES,
            "What": _WHAT_RULES,
            "WhereWhen": _WHEREWHEN_RULES,
            "How": _HOW_RULES,
            "Why": _WHY_RULES,
            "Citations": _CITATIONS_RULES,
        },
    )

parse_fermi_gbm_fin_pos(value)

Parses a Fermi GBM final position notice.

Parameters:

Name Type Description Default
value bytes

Raw XML bytes of the VOEvent notice.

required

Returns:

Type Description
FermiGBMFinPos

Parsed GBM final position notice model.

Raises:

Type Description
ParseError

If the XML document cannot be parsed or model validation fails.

FieldParseError

If a specific field cannot be extracted from the notice.

Source code in gcn_parser/fermi/fermi_gbm_fin_pos.py
def parse_fermi_gbm_fin_pos(value: bytes) -> FermiGBMFinPos:
    """Parses a Fermi GBM final position notice.

    Args:
        value: Raw XML bytes of the VOEvent notice.

    Returns:
        Parsed GBM final position notice model.

    Raises:
        ParseError: If the XML document cannot be parsed or model validation
            fails.
        FieldParseError: If a specific field cannot be extracted from the
            notice.
    """
    return parse_voevent_notice(
        value,
        FermiGBMFinPos,
        "parse_fermi_gbm_fin_pos",
        {
            "VOEvent": _ROOT_RULES,
            "Who": _WHO_RULES,
            "What": _WHAT_RULES,
            "WhereWhen": _WHEREWHEN_RULES,
            "How": _HOW_RULES,
            "Why": _WHY_RULES,
            "Citations": _CITATIONS_RULES,
        },
    )

parse_fermi_gbm_flt_pos(value)

Parses a Fermi GBM flight position notice.

Parameters:

Name Type Description Default
value bytes

Raw XML bytes of the VOEvent notice.

required

Returns:

Type Description
FermiGBMFltPos

Parsed GBM flight position notice model.

Raises:

Type Description
ParseError

If the XML document cannot be parsed or model validation fails.

FieldParseError

If a specific field cannot be extracted from the notice.

Source code in gcn_parser/fermi/fermi_gbm_flt_pos.py
def parse_fermi_gbm_flt_pos(value: bytes) -> FermiGBMFltPos:
    """Parses a Fermi GBM flight position notice.

    Args:
        value: Raw XML bytes of the VOEvent notice.

    Returns:
        Parsed GBM flight position notice model.

    Raises:
        ParseError: If the XML document cannot be parsed or model validation
            fails.
        FieldParseError: If a specific field cannot be extracted from the
            notice.
    """
    return parse_voevent_notice(
        value,
        FermiGBMFltPos,
        "parse_fermi_gbm_flt_pos",
        {
            "VOEvent": _ROOT_RULES,
            "Who": _WHO_RULES,
            "What": _WHAT_RULES,
            "WhereWhen": _WHEREWHEN_RULES,
            "How": _HOW_RULES,
            "Why": _WHY_RULES,
            "Citations": _CITATIONS_RULES,
        },
    )

parse_fermi_gbm_gnd_pos(value)

Parses a Fermi GBM ground position notice.

Parameters:

Name Type Description Default
value bytes

Raw XML bytes of the VOEvent notice.

required

Returns:

Type Description
FermiGBMGndPos

Parsed GBM ground position notice model.

Raises:

Type Description
ParseError

If the XML document cannot be parsed or model validation fails.

FieldParseError

If a specific field cannot be extracted from the notice.

Source code in gcn_parser/fermi/fermi_gbm_gnd_pos.py
def parse_fermi_gbm_gnd_pos(value: bytes) -> FermiGBMGndPos:
    """Parses a Fermi GBM ground position notice.

    Args:
        value: Raw XML bytes of the VOEvent notice.

    Returns:
        Parsed GBM ground position notice model.

    Raises:
        ParseError: If the XML document cannot be parsed or model validation
            fails.
        FieldParseError: If a specific field cannot be extracted from the
            notice.
    """
    return parse_voevent_notice(
        value,
        FermiGBMGndPos,
        "parse_fermi_gbm_gnd_pos",
        {
            "VOEvent": _ROOT_RULES,
            "Who": _WHO_RULES,
            "What": _WHAT_RULES,
            "WhereWhen": _WHEREWHEN_RULES,
            "How": _HOW_RULES,
            "Why": _WHY_RULES,
            "Citations": _CITATIONS_RULES,
        },
    )

parse_fermi_lat_offline(value)

Parses a Fermi LAT offline position notice.

Parameters:

Name Type Description Default
value bytes

Raw XML bytes of the VOEvent notice.

required

Returns:

Type Description
FermiLATOffline

Parsed LAT offline position notice model.

Raises:

Type Description
ParseError

If the XML document cannot be parsed or model validation fails.

FieldParseError

If a specific field cannot be extracted from the notice.

Source code in gcn_parser/fermi/fermi_lat_offline.py
def parse_fermi_lat_offline(value: bytes) -> FermiLATOffline:
    """Parses a Fermi LAT offline position notice.

    Args:
        value: Raw XML bytes of the VOEvent notice.

    Returns:
        Parsed LAT offline position notice model.

    Raises:
        ParseError: If the XML document cannot be parsed or model validation
            fails.
        FieldParseError: If a specific field cannot be extracted from the
            notice.
    """
    return parse_voevent_notice(
        value,
        FermiLATOffline,
        "parse_fermi_lat_offline",
        {
            "VOEvent": _ROOT_RULES,
            "Who": _WHO_RULES,
            "What": _WHAT_RULES,
            "WhereWhen": _WHEREWHEN_RULES,
            "How": _HOW_RULES,
            "Why": _WHY_RULES,
            "Citations": _CITATIONS_RULES,
        },
    )

parse_fermi_lat_pos_diag(value)

Parses a Fermi-LAT position notice from bytes.

Parameters:

Name Type Description Default
value bytes

Raw XML bytes of the VOEvent notice.

required

Returns:

Type Description
FermiLATPos

Parsed LAT position notice model.

Raises:

Type Description
ParseError

If the XML document cannot be parsed or model validation fails.

FieldParseError

If a specific field cannot be extracted from the notice.

Source code in gcn_parser/fermi/_fermi_lat_pos.py
def parse_fermi_lat_pos(value: bytes) -> FermiLATPos:
    """Parses a Fermi-LAT position notice from bytes.

    Args:
        value: Raw XML bytes of the VOEvent notice.

    Returns:
        Parsed LAT position notice model.

    Raises:
        ParseError: If the XML document cannot be parsed or model validation
            fails.
        FieldParseError: If a specific field cannot be extracted from the
            notice.
    """
    return parse_voevent_notice(
        value,
        FermiLATPos,
        "parse_fermi_lat_pos",
        {
            "VOEvent": _ROOT_RULES,
            "Who": _WHO_RULES,
            "What": _WHAT_RULES,
            "WhereWhen": _WHEREWHEN_RULES,
            "How": _HOW_RULES,
            "Why": _WHY_RULES,
            "Citations": _CITATIONS_RULES,
        },
    )

parse_fermi_lat_pos_ini(value)

Parses a Fermi-LAT position notice from bytes.

Parameters:

Name Type Description Default
value bytes

Raw XML bytes of the VOEvent notice.

required

Returns:

Type Description
FermiLATPos

Parsed LAT position notice model.

Raises:

Type Description
ParseError

If the XML document cannot be parsed or model validation fails.

FieldParseError

If a specific field cannot be extracted from the notice.

Source code in gcn_parser/fermi/_fermi_lat_pos.py
def parse_fermi_lat_pos(value: bytes) -> FermiLATPos:
    """Parses a Fermi-LAT position notice from bytes.

    Args:
        value: Raw XML bytes of the VOEvent notice.

    Returns:
        Parsed LAT position notice model.

    Raises:
        ParseError: If the XML document cannot be parsed or model validation
            fails.
        FieldParseError: If a specific field cannot be extracted from the
            notice.
    """
    return parse_voevent_notice(
        value,
        FermiLATPos,
        "parse_fermi_lat_pos",
        {
            "VOEvent": _ROOT_RULES,
            "Who": _WHO_RULES,
            "What": _WHAT_RULES,
            "WhereWhen": _WHEREWHEN_RULES,
            "How": _HOW_RULES,
            "Why": _WHY_RULES,
            "Citations": _CITATIONS_RULES,
        },
    )

parse_fermi_lat_pos_upd(value)

Parses a Fermi-LAT position notice from bytes.

Parameters:

Name Type Description Default
value bytes

Raw XML bytes of the VOEvent notice.

required

Returns:

Type Description
FermiLATPos

Parsed LAT position notice model.

Raises:

Type Description
ParseError

If the XML document cannot be parsed or model validation fails.

FieldParseError

If a specific field cannot be extracted from the notice.

Source code in gcn_parser/fermi/_fermi_lat_pos.py
def parse_fermi_lat_pos(value: bytes) -> FermiLATPos:
    """Parses a Fermi-LAT position notice from bytes.

    Args:
        value: Raw XML bytes of the VOEvent notice.

    Returns:
        Parsed LAT position notice model.

    Raises:
        ParseError: If the XML document cannot be parsed or model validation
            fails.
        FieldParseError: If a specific field cannot be extracted from the
            notice.
    """
    return parse_voevent_notice(
        value,
        FermiLATPos,
        "parse_fermi_lat_pos",
        {
            "VOEvent": _ROOT_RULES,
            "Who": _WHO_RULES,
            "What": _WHAT_RULES,
            "WhereWhen": _WHEREWHEN_RULES,
            "How": _HOW_RULES,
            "Why": _WHY_RULES,
            "Citations": _CITATIONS_RULES,
        },
    )

References