Flights uploaded via the API must be in a file format supported by CloudAhoy. There are two ways to use a properly formatted CSV file to send flight data to CloudAhoy:
- By importing a CSV file through the CloudAhoy website.
- By using the CloudAhoy API. To request access to the APIs, contact team@cloudahoy.com.
CSV File Structure
CSV files must be properly formatted for importation into CloudAhoy. Below is an example of a brief CSV file with Metadata and Data:
METADATA,CA_CSV.3 GMT,1591059271 TAIL,N12345 DATA, seconds/t,feet/Alt (gps),degrees/lat,degrees/lon,knots/GS,degrees/HDG,degrees/TRK 0.13,2172.6394,37.610973,-122.35892,83.643655,283.273712,288.214599 0.36,2172.6397,37.610985,-122.35901,83.425312,282.983334,287.998999
Metadata
The metadata must appear at the start of the file. There are two columns per row:
- keyword
- Value
The Metadata can also include additional Keyword / Value pairs defined by the sender for future use. This data will be stored permanently on CloudAhoy’s servers.
Keyword | Sample Value | Notes |
---|---|---|
METADATA | CA_CSV.3 | Mandatory It must be the first row It must be CA_CSV.3 |
GMT | 1591059271 | Mandatory The time in GMT that the flight started. Formatted as a Unix timestamp; number of seconds since Epoch. |
TAIL | N12345 | Mandatory Aircraft tail number |
AIRCRAFT_TYPE | C172 | Optional The type of aircraft. It must be already known to CloudAhoy. Contact team@cloudahoy.com for a list. CloudAhoy will attempt to determine aircraft type based on the Tail Number provided. It's generally not necessary to include this field. |
joepilot@example.com | Optional with an Exception The Pilot's email address For Organizational Accounts that are not store by tail, either EMAIL or PILOTCALLSIGN must be specified. |
|
PILOTCALLSIGN | Maverick42 | Optional with an Exception The Pilot's callsign For Organizational Accounts that are not store by tail, either EMAIL or PILOTCALLSIGN must be specified. |
PILOT | Joe Pilot | Optional Pilot's name |
COPILOT | Jane Pilot | Optional Co-pilot's name |
Remarks | Practiced steep turns and forward slips | Optional Remarks about the flight |
GPS | G1000 | Optional The device which generated this data |
INTENDED | KHRV GILRO KCVH | Optional The intended flight path |
ISSIM | 1 | Optional Denotes whether this flight was flown in a simulator:
|
Vref | 105 | Optional Vref (knots) used for the approach |
V1 | 86 | Optional V1 (knots) used for takeoff |
Vr | 121 | Optional Vr (knots) used for takeoff |
V2 | 140 | Optional V2 (knots) used for takeoff |
DATA | (must have no value) | Mandatory It must be the last row of Metadata It must have a trailing comma |
Data
Following the metadata, the data starts with a row that includes column headers, followed by rows for each data point.
- Each column header must be of the form unit/name.
- Column names are not case-sensitive (e.g., degrees/LAT and Degrees/Lat are equivalent). The columns can be in any order.
- The seconds/t column specifies the timestamp of the data points relative to the flight’s GMT.
There should be at least 1 row of data per second of flight time (a 1Hz sample rate), but more than four rows per second (a 4Hz sample rate) is not advised. A higher sample rate does not make the analysis more accurate, and it takes more time for analysis to execute.
Columns
Additional data can be provided at the developer’s discretion and will be stored for potential future use. Example: volts/g_sensor.
Column Header (with typical unit) |
Sample Value | Description |
---|---|---|
seconds/t | 0.13 | Mandatory Timestamp of the data point Relative to the metadata GMT |
feet/Alt (gps) | 2172.6394 | Mandatory GPS reported altitude |
degrees/lat | 37.610973 | Mandatory Latitude |
degrees/lon | -122.35892 | Mandatory Longitude |
ft baro/AltB | 2144.63623 | Optional Barometric altitude |
ft msl/AltMSL | 3223.14 | Optional Altitude above mean sea level |
knots/GS | 83.643655 | Optional Ground Speed |
knots/IAS | 110.720001 | Optional Indicated air speed |
knots/TAS | 112.257901 | Optional True air speed |
degrees/HDG | 283.273712 | Optional Magnetic heading |
degrees/TRK | 288.214599 | Optional Magnetic ground track |
degrees/MagVar | 13.265895 | Optional Magnetic variation Positive values - east Negative values - west |
degrees/WndDr | 270.00003 | Optional Magnetic wind direction |
knots/WndSpd | 30.000001 | Optional Wind Speed |
degrees/Pitch | 7.263741 | Optional Pitch (positive for up) |
degrees/Roll | 0.577412 | Optional Roll (positive for right) |
degrees/Yaw | -0.033709 | Optional Yaw (positive for right) |
fpm/VS | 1349.094726 | Optional Vertical Speed |
degC/OAT | 15.2 | Optional Outside air temperature |
degrees/flaps | 10 | Optional Flap extension |
down/gear | 1 | Optional Gear Extension Extended - 1 Retracted - 0 Fractional values allowed for gear in transit |
rpm/E1 RPM | 2699.53955 | Optional Engine 1 RPM Increment the integer for additional engines (E1, E2, E3, etc) |
in hg/E1 MAP | 33.97742 | Optional Engine 1 manifold absolute pressure Increment the integer for additional engines (E1, E2, E3, etc) |
fsd/HCDI | -0.552742 | Optional Horizontal course deviation indicator Leave the field blank to indicate loss of signal |
fsd/VCDI | -1.25 | Optional Vertical Course Deviation Indicator Leave the field blank to indicate loss of signal |
degrees/AOA | 13.5 | Optional Angle of Attack |
g/NormAcc | 1.1 | Optional Normal (vertical) acceleration |
g/LateralAcc | 0.02 | Optional Lateral acceleration |
g/LongAcc | 0.2 | Optional Longitudinal Acceleration |
gal/FQtyL | 45 | Optional Fuel quantity, left tank |
gal/FQtyR | 44.5 | Optional Fuel quantity, right tank |
gph/E1 FFlow | 9.8 | Optional Fuel flow, per engine |
psi/E2 FPres | 1.1 | Optional Fuel Pressure, per engine |
degC/E1 OilT | 271 | Optional Oil temp., per engine |
psi/E2 OilP | 33 | Optional Oil pressure, per engine |
%/E1 %Pwr | 87 | Optional Percent power, per engine |
MHz/NAV1 | 112.70 | Optional NAV1 frequency |
MHz/NAV2 | 112.50 | Optional NAV2 frequency |
MHz/COM1 | 118.5 | Optional COM1 frequency |
MHz/COM2 | 124.6 | Optional COM2 frequency |
dps/YawRate | 0.1 | Optional Yaw change rate |
dps/RollRate | 6.3 | Optional Roll change rate |
dps/PitchRate | 0.8 | Optional Pitch change rate |
down/Wow | 1 |
Optional
|
rpm/E2 N1 | 2102 | Optional N1 rotational speed, per engine |
rpm/E1 N2 | 2339 | Optional N2 rotational speed, per engine |
degC/E1 itt | 311 | Optional Interstage Turbine Temperature, per engine |
%/E1 %torque | Optional Percent Torque, per engine |
|
knots/Vref | 112 | Optional Vref |
Units
Valid values for unit (column headers are in the form unit/name)
Unit Label | Meaning |
---|---|
t | Seconds Integer or Floating Point |
m | Meters |
feet | Feet See also - ft baro |
ft baro | Feet Altitude from the barometric altimeter |
ms2 | Meters / Second ^ 2 Acceleration |
g | G-Force Acceleration (1g equal 9.8 m/s^2) |
knots | Knots Horizontal Speed |
ms | Meters / second Horizontal speed |
fpm | Feet / minute Vertical speed |
fps | Feet / second Horizontal speed |
rad | Radians |
deg | Degrees |
degrees | Degrees |
rpm | Revolutions per minute |
fsd | Full-scale deflection Used for Nav instruments Normal values are in the range [-1, 1]. Values outside this range values indicate a full-scale needle. Omit the value entirely to indicate no navigation signal available (e.g., the navigation flag would be "off" for a mechanical instrument, or an electronic navigation source would not show a valid needle). Positive values - right & down Negative values - left & up |
degC | Degrees Celsius |
degF | Degrees Fahrenheit |
txt | Text data Example: next waypoint, NAVAID identifier |
gph | Gallons per hour |
gal | Gallons |
psi | Pressure per square inch |
MHz | Megahertz |
dps | Degrees per second |
Last Updated: