Minimum Sector Altitude (MSA) records defining obstacle clearance altitudes within defined sectors around a reference navaid or fix near an airport
Each record can define up to 7 sectors (SECTOR_BEARING/ALTITUDE/RADIUS 1-7). SECTOR_BEARING values are encoded as 6-digit strings where the first 3 digits represent the start bearing and the last 3 digits represent the end bearing of the sector. SECTOR_ALTITUDE values are stored in hundreds of feet (e.g., '063' = 6300 feet MSL). A single omnidirectional MSA uses 180180 as the bearing (360-degree sector). Multiple sectors define a divided MSA around the center fix.
# Introspect the CifpMsa type in GraphiQL at https://api.nav.sortie.co/graphql
# Example shape (pair with a compatible root query field):
{
# ...rootQuery... {
recordType
customerAreaCode
sectionCode
airportIdentifier
# }
}Run at https://api.nav.sortie.co/graphql — GraphiQL is available in-browser.
| Field | Type | Description | Units | Enum |
|---|---|---|---|---|
| recordType ← RECORD_TYPE | RecordType | ARINC 424 record type identifier; 'S' indicates a standard record |
| |
| customerAreaCode ← CUSTOMER_AREA_CODE | CustomerAreaCode | Geographic area code identifying the region of the world for which the record applies |
| |
| sectionCode ← SECTION_CODE | CifpMsaSectionCode | ARINC 424 section code identifying the record type; 'PS' indicates Airport MSA (Airport/Heliport section, MSA subsection) |
| |
| airportIdentifier ← AIRPORT_IDENTIFIER | String | ICAO identifier of the airport or heliport with which this MSA record is associated | ||
| icaoCode ← ICAO_CODE | CifpMsaIcaoCode | ICAO region code for the airport identified in AIRPORT_IDENTIFIER | 18 values
| |
| msaCenter ← MSA_CENTER | String | Identifier of the navaid, fix, or runway used as the center reference point for the MSA sectors; may be a VOR, NDB, waypoint, or runway identifier | ||
| icaoCode2 ← ICAO_CODE_2 | CifpMsaIcaoCode2 | ICAO region code for the MSA center fix identified in MSA_CENTER | 19 values
| |
| sectionCode2 ← SECTION_CODE_2 | SectionCode3 | ARINC 424 section/subsection code identifying the type of the MSA center fix referenced in MSA_CENTER |
| |
| multipleCode ← MULTIPLE_CODE | MultipleCodeOrTaaSectorIdentifier | Differentiates multiple MSA records for the same airport when more than one MSA is defined (e.g., for different center fixes or overlapping definitions) |
| |
| continuationRecordNo ← CONTINUATION_RECORD_NO | String | Continuation record number; '0' indicates a primary record, higher values indicate continuation records with additional data | ||
| sectorBearing ← SECTOR_BEARING | String | Sector 1 bearing limits encoded as a 6-digit string: first 3 digits = sector start bearing (degrees), last 3 digits = sector end bearing (degrees). A value of 180180 indicates an omnidirectional (360-degree) sector. | degrees | |
| sectorAltitude ← SECTOR_ALTITUDE | String | Minimum sector altitude for sector 1, stored in hundreds of feet MSL (e.g., '063' = 6300 feet MSL) | hundreds of feet MSL | |
| sectorRadius ← SECTOR_RADIUS | String | Radius of sector 1 defining the area within which the minimum sector altitude applies, measured from the MSA center fix | nautical miles | |
| sectorBearing2 ← SECTOR_BEARING_2 | String | Sector 2 bearing limits encoded as a 6-digit string: first 3 digits = sector start bearing (degrees), last 3 digits = sector end bearing (degrees); null if fewer than 2 sectors are defined | degrees | |
| sectorAltitude2 ← SECTOR_ALTITUDE_2 | String | Minimum sector altitude for sector 2, stored in hundreds of feet MSL; null if fewer than 2 sectors are defined | hundreds of feet MSL | |
| sectorRadius2 ← SECTOR_RADIUS_2 | String | Radius of sector 2; null if fewer than 2 sectors are defined | nautical miles | |
| sectorBearing3 ← SECTOR_BEARING_3 | String | Sector 3 bearing limits encoded as a 6-digit string: first 3 digits = sector start bearing (degrees), last 3 digits = sector end bearing (degrees); null if fewer than 3 sectors are defined | degrees | |
| sectorAltitude3 ← SECTOR_ALTITUDE_3 | String | Minimum sector altitude for sector 3, stored in hundreds of feet MSL; null if fewer than 3 sectors are defined | hundreds of feet MSL | |
| sectorRadius3 ← SECTOR_RADIUS_3 | String | Radius of sector 3; null if fewer than 3 sectors are defined | nautical miles | |
| sectorBearing4 ← SECTOR_BEARING_4 | String | Sector 4 bearing limits encoded as a 6-digit string: first 3 digits = sector start bearing (degrees), last 3 digits = sector end bearing (degrees); null if fewer than 4 sectors are defined | degrees | |
| sectorAltitude4 ← SECTOR_ALTITUDE_4 | String | Minimum sector altitude for sector 4, stored in hundreds of feet MSL; null if fewer than 4 sectors are defined | hundreds of feet MSL | |
| sectorRadius4 ← SECTOR_RADIUS_4 | String | Radius of sector 4; null if fewer than 4 sectors are defined | nautical miles | |
| sectorBearing5 ← SECTOR_BEARING_5 | String | Sector 5 bearing limits encoded as a 6-digit string: first 3 digits = sector start bearing (degrees), last 3 digits = sector end bearing (degrees); null if fewer than 5 sectors are defined | degrees | |
| sectorAltitude5 ← SECTOR_ALTITUDE_5 | String | Minimum sector altitude for sector 5, stored in hundreds of feet MSL; null if fewer than 5 sectors are defined | hundreds of feet MSL | |
| sectorRadius5 ← SECTOR_RADIUS_5 | String | Radius of sector 5; null if fewer than 5 sectors are defined | nautical miles | |
| sectorBearing6 ← SECTOR_BEARING_6 | String | Sector 6 bearing limits encoded as a 6-digit string: first 3 digits = sector start bearing (degrees), last 3 digits = sector end bearing (degrees); null if fewer than 6 sectors are defined | degrees | |
| sectorAltitude6 ← SECTOR_ALTITUDE_6 | String | Minimum sector altitude for sector 6, stored in hundreds of feet MSL; null if fewer than 6 sectors are defined | hundreds of feet MSL | |
| sectorRadius6 ← SECTOR_RADIUS_6 | String | Radius of sector 6; null if fewer than 6 sectors are defined | nautical miles | |
| sectorBearing7 ← SECTOR_BEARING_7 | String | Sector 7 bearing limits encoded as a 6-digit string: first 3 digits = sector start bearing (degrees), last 3 digits = sector end bearing (degrees); null if fewer than 7 sectors are defined | degrees | |
| sectorAltitude7 ← SECTOR_ALTITUDE_7 | String | Minimum sector altitude for sector 7, stored in hundreds of feet MSL; null if fewer than 7 sectors are defined | hundreds of feet MSL | |
| sectorRadius7 ← SECTOR_RADIUS_7 | String | Radius of sector 7; null if fewer than 7 sectors are defined | nautical miles | |
| magneticTrueBearing ← MAGNETIC_TRUE_BEARING | MagneticTrueIndicator | Indicates whether the sector bearings in this record are referenced to magnetic north or true north |
| |
| fileRecordNo ← FILE_RECORD_NO | String | Sequential file record number assigned to this record within the ARINC 424 data file for traceability | ||
| cycleDate ← CYCLE_DATE | String | AIRAC cycle date indicating when this record was last updated, encoded as a 4-digit string where the first 2 digits represent the year and the last 2 digits represent the AIRAC cycle number (e.g., '1310' = year 2013, cycle 10) |