# CifpMsa

Minimum Sector Altitude (MSA) records defining obstacle clearance altitudes within defined sectors around a reference navaid or fix near an airport

**Source:** CIFP table `CIFP_MSA` · version `239462ba9c35` · effective 2026-04-16

> 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.

## Example query

```graphql
# 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 available in-browser).

## Fields

| Field | Type | Description | Units | Enum |
|---|---|---|---|---|
| `recordType` | `RecordType` | ARINC 424 record type identifier; 'S' indicates a standard record |  | `S`=Standard record |
| `customerAreaCode` | `CustomerAreaCode` | Geographic area code identifying the region of the world for which the record applies |  | `CAN`=Canada; `LAM`=Latin America/Caribbean; `PAC`=Pacific; `SPA`=South Pacific/Australia; `USA`=United States |
| `sectionCode` | `CifpMsaSectionCode` | ARINC 424 section code identifying the record type; 'PS' indicates Airport MSA (Airport/Heliport section, MSA subsection) |  | `PS`=Airport/Heliport MSA |
| `airportIdentifier` | `String` | ICAO identifier of the airport or heliport with which this MSA record is associated |  |  |
| `icaoCode` | `CifpMsaIcaoCode` | ICAO region code for the airport identified in AIRPORT_IDENTIFIER |  | `K1`, `K2`, `K3`, … (18 values) |
| `msaCenter` | `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` | `CifpMsaIcaoCode2` | ICAO region code for the MSA center fix identified in MSA_CENTER |  | `K1`, `K2`, `K3`, … (19 values) |
| `sectionCode2` | `SectionCode3` | ARINC 424 section/subsection code identifying the type of the MSA center fix referenced in MSA_CENTER |  | `D`=VHF Navaid (VOR, VORDME, etc.); `DB`=NDB Navaid; `PA`=Airport/Heliport reference point; `PC`=Terminal Waypoint/Fix; `PG`=Runway; `PN`=Terminal NDB |
| `multipleCode` | `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) |  | `A`=First additional MSA definition; `B`=Second additional MSA definition |
| `continuationRecordNo` | `String` | Continuation record number; '0' indicates a primary record, higher values indicate continuation records with additional data |  |  |
| `sectorBearing` | `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` | `String` | Minimum sector altitude for sector 1, stored in hundreds of feet MSL (e.g., '063' = 6300 feet MSL) | hundreds of feet MSL |  |
| `sectorRadius` | `String` | Radius of sector 1 defining the area within which the minimum sector altitude applies, measured from the MSA center fix | nautical miles |  |
| `sectorBearing2` | `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` | `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` | `String` | Radius of sector 2; null if fewer than 2 sectors are defined | nautical miles |  |
| `sectorBearing3` | `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` | `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` | `String` | Radius of sector 3; null if fewer than 3 sectors are defined | nautical miles |  |
| `sectorBearing4` | `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` | `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` | `String` | Radius of sector 4; null if fewer than 4 sectors are defined | nautical miles |  |
| `sectorBearing5` | `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` | `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` | `String` | Radius of sector 5; null if fewer than 5 sectors are defined | nautical miles |  |
| `sectorBearing6` | `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` | `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` | `String` | Radius of sector 6; null if fewer than 6 sectors are defined | nautical miles |  |
| `sectorBearing7` | `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` | `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` | `String` | Radius of sector 7; null if fewer than 7 sectors are defined | nautical miles |  |
| `magneticTrueBearing` | `MagneticTrueIndicator` | Indicates whether the sector bearings in this record are referenced to magnetic north or true north |  | `M`=Magnetic bearing reference; `T`=True bearing reference |
| `fileRecordNo` | `String` | Sequential file record number assigned to this record within the ARINC 424 data file for traceability |  |  |
| `cycleDate` | `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) |  |  |

## Enum values

### `icaoCode` (`CifpMsaIcaoCode`)

| Code | Description |
|---|---|
| `K1` | Contiguous US (eastern) |
| `K2` | Contiguous US (central) |
| `K3` | Contiguous US (western) |
| `K4` | Contiguous US (northwest) |
| `K5` | Contiguous US (southwest) |
| `K6` | Contiguous US (north-central) |
| `K7` | Contiguous US (south-central) |
| `NS` | North Atlantic/North Sea |
| `PA` | Alaska |
| `PF` | Pacific (other) |
| `PG` | Guam/Micronesia |
| `PH` | Hawaii |
| `PK` | Marshall Islands |
| `PM` | Midway Island |
| `PO` | Pacific Ocean |
| `PT` | Trust Territory of Pacific |
| `TI` | US Virgin Islands |
| `TJ` | Puerto Rico |

### `icaoCode2` (`CifpMsaIcaoCode2`)

| Code | Description |
|---|---|
| `K1` | Contiguous US (eastern) |
| `K2` | Contiguous US (central) |
| `K3` | Contiguous US (western) |
| `K4` | Contiguous US (northwest) |
| `K5` | Contiguous US (southwest) |
| `K6` | Contiguous US (north-central) |
| `K7` | Contiguous US (south-central) |
| `NS` | North Atlantic/North Sea |
| `NZ` | New Zealand |
| `PA` | Alaska |
| `PF` | Pacific (other) |
| `PG` | Guam/Micronesia |
| `PH` | Hawaii |
| `PK` | Marshall Islands |
| `PM` | Midway Island |
| `PO` | Pacific Ocean |
| `PT` | Trust Territory of Pacific |
| `TI` | US Virgin Islands |
| `TJ` | Puerto Rico |

## Column provenance

Every field maps 1:1 to a column in the `CIFP_MSA` table of `nasr.db`. Original FAA column names:

| GraphQL field | SQLite column |
|---|---|
| `recordType` | `RECORD_TYPE` |
| `customerAreaCode` | `CUSTOMER_AREA_CODE` |
| `sectionCode` | `SECTION_CODE` |
| `airportIdentifier` | `AIRPORT_IDENTIFIER` |
| `icaoCode` | `ICAO_CODE` |
| `msaCenter` | `MSA_CENTER` |
| `icaoCode2` | `ICAO_CODE_2` |
| `sectionCode2` | `SECTION_CODE_2` |
| `multipleCode` | `MULTIPLE_CODE` |
| `continuationRecordNo` | `CONTINUATION_RECORD_NO` |
| `sectorBearing` | `SECTOR_BEARING` |
| `sectorAltitude` | `SECTOR_ALTITUDE` |
| `sectorRadius` | `SECTOR_RADIUS` |
| `sectorBearing2` | `SECTOR_BEARING_2` |
| `sectorAltitude2` | `SECTOR_ALTITUDE_2` |
| `sectorRadius2` | `SECTOR_RADIUS_2` |
| `sectorBearing3` | `SECTOR_BEARING_3` |
| `sectorAltitude3` | `SECTOR_ALTITUDE_3` |
| `sectorRadius3` | `SECTOR_RADIUS_3` |
| `sectorBearing4` | `SECTOR_BEARING_4` |
| `sectorAltitude4` | `SECTOR_ALTITUDE_4` |
| `sectorRadius4` | `SECTOR_RADIUS_4` |
| `sectorBearing5` | `SECTOR_BEARING_5` |
| `sectorAltitude5` | `SECTOR_ALTITUDE_5` |
| `sectorRadius5` | `SECTOR_RADIUS_5` |
| `sectorBearing6` | `SECTOR_BEARING_6` |
| `sectorAltitude6` | `SECTOR_ALTITUDE_6` |
| `sectorRadius6` | `SECTOR_RADIUS_6` |
| `sectorBearing7` | `SECTOR_BEARING_7` |
| `sectorAltitude7` | `SECTOR_ALTITUDE_7` |
| `sectorRadius7` | `SECTOR_RADIUS_7` |
| `magneticTrueBearing` | `MAGNETIC_TRUE_BEARING` |
| `fileRecordNo` | `FILE_RECORD_NO` |
| `cycleDate` | `CYCLE_DATE` |
