├── .gitignore
├── CONTRIBUTING.md
├── Concept Documents
├── Aviation2016_UTMConOps_AsPublished_v2.pdf
└── UTM-Original-TM-20140013436.pdf
├── DWG Documents
├── Rios_NASA-Tech-Memo-2017-219494v2.pdf
└── Rios_NASA-TechMemo_219462_UTM_UREP_20170214.pdf
├── Organization Documents
└── FAA_NASA_UAS_Traffic_Management_Research_Plan.pdf
├── README.md
├── SDSP Documents
└── NASA_TechMemo_219462_UTM_UREP_20170214.pdf
├── TCL3
└── tcl3-data-apis
│ ├── DMP_Format_Upload_Instructions.docx
│ ├── DMP_Format_Upload_Instructions.pdf
│ ├── files
│ ├── 2018-02-27_MasterVariableList-DMP.Rev.F-Draft.pdf
│ ├── 2018-03-01_MasterVariableList-DMP.Rev.F-Draft-CON.pdf
│ ├── SAMPLE-20180329-1714-CNS1.json
│ ├── SAMPLE-20180329-1714-CNS2.json
│ ├── SAMPLE-20180329-1714-CNS3.json
│ ├── SAMPLE-20180329-1714-CON1.json
│ ├── SAMPLE-20180329-1714-CON2.json
│ ├── SAMPLE-20180329-1714-CON4.json
│ ├── SAMPLE-20180329-1714-CON5.json
│ ├── SAMPLE-20180329-1714-FLIGHT_DATA.json
│ ├── SAMPLE-20180329-1714-SAA1.json
│ ├── SAMPLE-20180329-1714-SAA2.json
│ ├── SAMPLE-20180329-1714-SAA3.json
│ ├── SAMPLE-20180329-1714-SAA4.json
│ ├── SAMPLE-20180329-1714-SAA5.json
│ ├── SAMPLE-20180329-1714-SAA6.json
│ ├── TCL3-DMP-RevF-PDF-KML-Templates.zip
│ ├── requirements_table.pdf
│ └── requirements_table.xlsx
│ ├── utm-tcl3-cns.yaml
│ ├── utm-tcl3-con.yaml
│ ├── utm-tcl3-dat-4-99.yaml
│ ├── utm-tcl3-dat-test-schema-v1.yaml
│ ├── utm-tcl3-flight-data.yaml
│ └── utm-tcl3-saa.yaml
├── TCL4 Data Management
├── main.css
├── main.html
├── main.org
├── update_references.sh
├── utm-tcl4-data-collection.yaml
├── utm-tcl4-dmp-aircraft-flightplan-api.yaml
├── utm-tcl4-dmp-aircraft-flightplan.yaml
├── utm-tcl4-dmp-api.yaml
├── utm-tcl4-dmp-auxiliary-uas-operation.yaml
├── utm-tcl4-dmp-cns-api.yaml
├── utm-tcl4-dmp-cns.yaml
├── utm-tcl4-dmp-common.yaml
├── utm-tcl4-dmp-con-api.yaml
├── utm-tcl4-dmp-con.yaml
├── utm-tcl4-dmp-daa-api.yaml
├── utm-tcl4-dmp-daa-geofence-api.yaml
├── utm-tcl4-dmp-daa-geofence.yaml
├── utm-tcl4-dmp-daa.yaml
├── utm-tcl4-dmp-fet-api.yaml
├── utm-tcl4-dmp-fet-latency-api.yaml
├── utm-tcl4-dmp-fet-latency.yaml
├── utm-tcl4-dmp-fet.yaml
├── utm-tcl4-dmp-remote-id-api.yaml
├── utm-tcl4-dmp-remote-id.yaml
└── utm-tcl4-sdsp-models.yaml
└── etm
├── ess-interface-spec
├── README.md
└── etm-ess-api.yaml
└── operator-interface-spec
├── README.md
└── etm-oper-api.yaml
/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | .DS_Store
3 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributions
2 |
3 | This is not a code repository, so we are not looking for traditional contributions to this repo. If you are a NASA researcher working on the UTM project, feel free to contact project management regarding the addition of resources to this repo. If you are external to the NASA UTM project, feel free to [submit an issue](https://github.com/nasa/utm-docs/issues) to this repo to suggest improvements or documentation you think may be missing.
4 |
--------------------------------------------------------------------------------
/Concept Documents/Aviation2016_UTMConOps_AsPublished_v2.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nasa/utm-docs/fcf160354927cafa6a91185293fb33b8cc6aed22/Concept Documents/Aviation2016_UTMConOps_AsPublished_v2.pdf
--------------------------------------------------------------------------------
/Concept Documents/UTM-Original-TM-20140013436.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nasa/utm-docs/fcf160354927cafa6a91185293fb33b8cc6aed22/Concept Documents/UTM-Original-TM-20140013436.pdf
--------------------------------------------------------------------------------
/DWG Documents/Rios_NASA-Tech-Memo-2017-219494v2.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nasa/utm-docs/fcf160354927cafa6a91185293fb33b8cc6aed22/DWG Documents/Rios_NASA-Tech-Memo-2017-219494v2.pdf
--------------------------------------------------------------------------------
/DWG Documents/Rios_NASA-TechMemo_219462_UTM_UREP_20170214.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nasa/utm-docs/fcf160354927cafa6a91185293fb33b8cc6aed22/DWG Documents/Rios_NASA-TechMemo_219462_UTM_UREP_20170214.pdf
--------------------------------------------------------------------------------
/Organization Documents/FAA_NASA_UAS_Traffic_Management_Research_Plan.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nasa/utm-docs/fcf160354927cafa6a91185293fb33b8cc6aed22/Organization Documents/FAA_NASA_UAS_Traffic_Management_Research_Plan.pdf
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # The UTM Documentation Repository
2 |
3 | This repository is for maintaining publicly available NASA UTM documentation. Read on for further details on why this repo exists.
4 |
5 | ## Repository Status
6 | As of the time of this edit (21 Mar 2018), this repo is in a formation stage. It should NOT be used as 'truth' for the state of UTM documentation by any entity at this time.
7 |
8 | The repository will not ever be a comprehensive site for all UTM documentation. There are many NASA UTM documents that are not yet ready for public release. As those mature to a state where public release is reasonable, we will endeavor to include them here if they add to understanding the core UTM System concepts and implementation.
9 |
10 | ## Audience
11 | The primary audience for this repository are current NASA UTM partners or those partners that are currently in the on-boarding process. There may be value to others as well.
12 |
13 | ## Externally Available Documentation Collections
14 | In this section we link to important documentation already available elsewhere.
15 |
16 | | External location | Description |
17 | | ------------------------ | ------------- |
18 | | [NASA UTM Publication Repository](https://utm.arc.nasa.gov/documents.shtml) | This the full repository for all conference publications, NASA technical memos, and similar documents. We'll try to pull some of the key docs directly into this repository. |
19 | | [NASA UTM APIs](https://github.com/nasa/utm-apis) | A github repository representing the truth in terms of the current state of NASA APIs. |
20 | | [SwaggerHub API Documentation](https://app.swaggerhub.com/search?owner=utm) | A convenience view of the NASA UTM APIs. *NOTE THAT THE GITHUB REPO IS TRUTH FOR THE APIs*. It is possible for the SwaggerHub documentation and our github API repo to drift. Developers must always reference the github repo for building compliant systems. Swagger hub is nice for navigating and discussing the API with others. |
21 |
22 | ## Primary Concept Documents
23 | | Document | Pub Date | Description |
24 | | ------------------------ | --- | ------------- |
25 | | [UTM: Enabling Low-Altitude Airspace and UAS Operations](UTM-Original-TM-20140013436.pdf) | 2014 April | The original NASA Technical Memo describing UTM. |
26 | | [Unmanned Aircraft System Traffic Management (UTM) Concept of Operations](Aviation2016_UTMConOps_AsPublished_v2.pdf) | 2016 June | The first version of the UTM ConOps. |
27 |
28 | ## Documentation Supporting Software Development
29 |
30 | ## Working Group Documents
31 | This section will contain publicly-releaseable documents that originated from within each working group within NASA UTM. Again, we emphasize that these document lists do not represent the depth and breadth of work since not all documents are able to be publicly released. We will endeavor to keep this list up to date, but also encourage folks to submit a github issue if you think something is missing or have a suggestion for a helpful doc to include.
32 |
33 | The structure of the working groups is somewhat driven by the [NASA-FAA Research Transition Team for UTM](https://www.faa.gov/uas/research/utm/) organization structure. Please see the [UTM RTT Plan](FAA_NASA_UAS_Traffic_Management_Research_Plan.pdf) for more details on the Research Transition Team.
34 |
35 | ### Concepts Working Group
36 | The CWG will define the concept of UTM in terms of overall conceptual principles and
37 | assumptions, including those associated with operations, supporting architecture,
38 | information flows and exchanges, and FAA and UAS operator roles and responsibilities.
39 | This scoping and definition will: (1) ensure consistent messaging of a coordinated
40 | FAA/NASA view of UTM; (2) guide the efforts of other UTM RTT working groups; and
41 | (3) support the development of the UTM pilot program.
42 |
43 | ### Data and Information Architecture Working Group
44 | The objective of the DWG is to identify and collaboratively research and develop
45 | technical capabilities for the data/information exchange needed across stakeholders to
46 | support UAS operations that meet NAS service expectations. The data exchange and
47 | information architecture subgroup will work in conjunction with the Concepts &
48 | Scenarios, SAA, and Communications & Navigation subgroups to identify the data
49 | exchange and information gaps and/or deltas associated with the UTM concepts,
50 | strategies, and system capabilities to support safe expansion of the UAS operating
51 | envelope across the NAS structure.
52 |
53 | | Document | Pub Date | Description |
54 | | ------------------------ | --- | ------------- |
55 | | [UAS Reports (UREPs): Enabling Exchange of Observation Data Between UAS Operations](Rios_NASA-TechMemo_219462_UTM_UREP_20170214.pdf) | 2017 Feb | Description of the UREP concept and data schema. |
56 | | [UTM Data Working Group Demonstration 1: Final Report](Rios_NASA-Tech-Memo-2017-219494v2.pdf) | 2017 April | Description and results from a collaborative simulation in support of TCL2. |
57 |
58 |
59 | ### Sense and Avoid Working Group
60 | The objective for this subgroup is to explore operator solutions to ensure that unmanned
61 | aircraft do not collide with other aircraft (unmanned or manned).
62 |
63 | ### Communications and Navigation Working Group
64 | The objective for this subgroup is to explore operator solutions to ensure that UA are
65 | under operational control of the pilot (to the degree appropriate to the scenario) and
66 | remain within a defined area (around a planned trajectory or as a defined area).
67 |
--------------------------------------------------------------------------------
/SDSP Documents/NASA_TechMemo_219462_UTM_UREP_20170214.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nasa/utm-docs/fcf160354927cafa6a91185293fb33b8cc6aed22/SDSP Documents/NASA_TechMemo_219462_UTM_UREP_20170214.pdf
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/DMP_Format_Upload_Instructions.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nasa/utm-docs/fcf160354927cafa6a91185293fb33b8cc6aed22/TCL3/tcl3-data-apis/DMP_Format_Upload_Instructions.docx
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/DMP_Format_Upload_Instructions.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nasa/utm-docs/fcf160354927cafa6a91185293fb33b8cc6aed22/TCL3/tcl3-data-apis/DMP_Format_Upload_Instructions.pdf
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/files/2018-02-27_MasterVariableList-DMP.Rev.F-Draft.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nasa/utm-docs/fcf160354927cafa6a91185293fb33b8cc6aed22/TCL3/tcl3-data-apis/files/2018-02-27_MasterVariableList-DMP.Rev.F-Draft.pdf
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/files/2018-03-01_MasterVariableList-DMP.Rev.F-Draft-CON.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nasa/utm-docs/fcf160354927cafa6a91185293fb33b8cc6aed22/TCL3/tcl3-data-apis/files/2018-03-01_MasterVariableList-DMP.Rev.F-Draft-CON.pdf
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/files/SAMPLE-20180329-1714-CNS1.json:
--------------------------------------------------------------------------------
1 | {
2 | "fType": "CNS1",
3 | "UTM-TCL3-DMP-RevF-CNSPDF": "UTM-SAMPLE-CNS-4.pdf",
4 | "basic": {
5 | "uvin": "2e6793e1-0007-0006-0000-00000000dc12",
6 | "gufi": "1b5aa406-000f-0009-0000-00000000dc16",
7 | "submitTime": "2018-03-23T07:10:33.494Z",
8 | "ussInstanceID": "99d702d3-0002-0000-0000-00000000dc16",
9 | "ussName": "WUSS"
10 | },
11 |
12 | "plannedContingency": {
13 | "plannedContingencyLandingPoint_deg": [ { "lat":37.4119851, "lon":-122.0623431 }, { "lat":-37.4119853, "lon":-122.0623429 }, { "lat":37.4119857, "lon":-122.0623423 } ],
14 | "plannedContingencyLandingPointAlt_ft": [300,250,350],
15 | "plannedContingencyLoiterAlt_ft": [300,300.2,0.345],
16 | "plannedContingencyLoiterRadius_ft": [50,45.5,40.01]
17 | },
18 |
19 | "cns1TestType": [
20 | { "ts": "2018-03-23T07:10:33.546Z", "cns1TestType_nonDim": 0 },
21 | { "ts": "2018-03-23T07:15:33.786Z", "cns1TestType_nonDim": 0 }
22 | ],
23 |
24 | "contingencyCause": [
25 | { "ts": "2018-03-23T07:10:33.512Z", "contingencyCause_nonDim": [0] },
26 | { "ts": "2018-03-23T07:15:10.609Z", "contingencyCause_nonDim": [5,7] }
27 | ],
28 | "contingencyResponse": [
29 | { "ts": "2018-03-23T07:10:33.516Z", "contingencyResponse_nonDim": 0 },
30 | { "ts": "2018-03-23T07:15:10.609Z", "contingencyResponse_nonDim": 1 }
31 | ],
32 | "contingencyLoiterAlt": [
33 | { "ts": "2018-03-23T07:10:33.527Z", "contingencyLoiterAlt_ft": [300] },
34 | { "ts": "2018-03-23T07:15:33.607Z", "contingencyLoiterAlt_ft": [300,250] }
35 | ],
36 | "contingencyLoiterType": [
37 | { "ts": "2018-03-23T07:10:33.523Z", "contingencyLoiterType_nonDim": 0 },
38 | { "ts": "2018-03-23T07:15:33.607Z", "contingencyLoiterType_nonDim": 1 }
39 | ],
40 | "contingencyLoiterRadius": [
41 | { "ts": "2018-03-23T07:10:33.531Z", "contingencyLoiterRadius_ft": [2] },
42 | { "ts": "2018-03-23T07:15:33.607Z", "contingencyLoiterRadius_ft": [20,33] }
43 | ],
44 | "contingencyLanding": [
45 | {
46 | "ts": "2018-03-23T07:10:33.520Z",
47 | "contingencyLandingPointAlt_ft": [300.4,251],
48 | "contingencyLandingPoint_deg": [ { "lat":37.4119851, "lon":-122.0623431 }, {"lat":37.4119857, "lon":-122.0623423 } ]
49 | },
50 | {
51 | "ts": "2018-03-23T07:15:33.925Z",
52 | "contingencyLandingPointAlt_ft": [300.4,251],
53 | "contingencyLandingPoint_deg": [ { "lat":37.4119851, "lon":-122.0623431 }, { "lat":37.4119857, "lon":-122.0623423 } ]
54 | }
55 | ],
56 |
57 | "maneuverCommand": [
58 | { "ts": "2018-03-23T07:10:33.535Z", "maneuverCommand": "Climb to 400 ft and loiter" },
59 | { "ts": "2018-03-23T07:15:44.005Z", "maneuverCommand": "Return to takeoff location" }
60 | ],
61 | "timeManeuverCommandSent": [
62 | {"ts": "2018-03-23T07:10:33.550Z"},
63 | {"ts": "2018-03-23T07:15:44.733Z"}
64 | ],
65 | "estimatedTimeToVerifyManeuver": [
66 | { "ts": "2018-03-23T07:10:33.542Z", "estimatedTimeToVerifyManeuver_sec": 0.5 },
67 | { "ts": "2018-03-23T07:15:44.005Z", "estimatedTimeToVerifyManeuver_sec": 1.7 }
68 | ],
69 | "timeManeuverVerification": [
70 | {"ts": "2018-03-23T07:10:34.721Z"},
71 | {"ts": "2018-03-23T07:15:46.043Z"}
72 | ],
73 |
74 | "primaryLinkDescription": [
75 | { "ts": "2018-03-23T07:10:30.502Z", "primaryLinkDescription": "Description-of-the-primary-link" },
76 | { "ts": "2018-03-23T07:15:39.126Z", "primaryLinkDescription": "Description-of-the-primary-link" }
77 | ],
78 | "redundantLinkDescription": [
79 | { "ts": "2018-03-23T07:10:35.248Z", "redundantLinkDescription": "Description-of-the-redundant-link" },
80 | { "ts": "2018-03-23T07:15:44.842Z", "redundantLinkDescription": "Description-of-the-redundant-link" }
81 | ],
82 | "timePrimaryLinkDisconnect": [
83 | {"ts": "2018-03-23T07:10:33.550Z"},
84 | {"ts": "2018-03-23T07:15:40.158Z"}
85 | ],
86 | "timeRedundantLinkSwitch": [
87 | {"ts": "2018-03-23T07:10:36.228Z"},
88 | {"ts": "2018-03-23T07:15:46.504Z"}
89 | ]
90 | }
91 |
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/files/SAMPLE-20180329-1714-CNS2.json:
--------------------------------------------------------------------------------
1 | {
2 | "fType": "CNS2",
3 | "UTM-TCL3-DMP-RevF-CNSPDF": "UTM-SAMPLE-CNS-4.pdf",
4 | "basic": {
5 | "uvin": "06061a9a-0001-0005-0000-000000001a9d",
6 | "gufi": "f6ff70b1-0001-000e-0000-000000001a9e",
7 | "submitTime": "2018-03-24T00:40:01.456Z",
8 | "ussInstanceID": "366084b7-000b-0006-0000-000000001a9e",
9 | "ussName": "WUSS"
10 | },
11 | "plannedContingency": {
12 | "plannedContingencyLandingPoint_deg": [ { "lat":37.4119851, "lon":-122.0623431 }, { "lat":-37.4119853, "lon":-122.0623429 }, { "lat":37.4119857, "lon":-122.0623423 } ],
13 | "plannedContingencyLandingPointAlt_ft": [300,250,350],
14 | "plannedContingencyLoiterAlt_ft": [300,300.2,0.345],
15 | "plannedContingencyLoiterRadius_ft": [50,45.5,40.01]
16 | },
17 | "prnGPSSat": [
18 | { "ts": "2018-03-24T00:47:03.002Z", "prnGpsSat_nonDim": [3,12,23,10] },
19 | { "ts": "2018-03-24T00:51:34.341Z", "prnGpsSat_nonDim": [3,27,32] }
20 | ],
21 | "uere": [
22 | { "ts": "2018-03-24T00:47:02.800Z", "uere_in": 4 },
23 | { "ts": "2018-03-24T00:50:22.525Z", "uere_in": -3.645 }
24 | ],
25 | "contingencyCause": [
26 | { "ts": "2018-03-24T00:47:02.814Z", "contingencyCause_nonDim": [0] },
27 | { "ts": "2018-03-24T00:51:34.001Z", "contingencyCause_nonDim": [7] }
28 | ],
29 | "contingencyResponse": [
30 | { "ts": "2018-03-24T00:47:02.814Z", "contingencyResponse_nonDim": 0 },
31 | { "ts": "2018-03-24T00:51:34.001Z", "contingencyResponse_nonDim": 2 }
32 | ],
33 | "contingencyLoiterType": [
34 | { "ts": "2018-03-24T00:47:02.814Z", "contingencyLoiterType_nonDim": 0 },
35 | { "ts": "2018-03-24T00:51:34.001Z", "contingencyLoiterType_nonDim": 2 }
36 | ],
37 | "contingencyLoiterAlt": [
38 | { "ts": "2018-03-24T00:47:02.814Z", "contingencyLoiterAlt_ft": [300] },
39 | { "ts": "2018-03-24T00:51:34.001Z", "contingencyLoiterAlt_ft": [300,250] }
40 | ],
41 | "contingencyLoiterRadius": [
42 | { "ts": "2018-03-24T00:47:02.814Z", "contingencyLoiterRadius_ft": [10] },
43 | { "ts": "2018-03-24T00:51:34.001Z", "contingencyLoiterRadius_ft": [33,100] }
44 | ],
45 | "contingencyLanding": [
46 | {
47 | "ts": "2018-03-24T00:47:02.814Z",
48 | "contingencyLandingPointAlt_ft": [300.4,251],
49 | "contingencyLandingPoint_deg": [ { "lat":37.4119851, "lon":-122.0623431 }, { "lat":37.4119857, "lon":-122.0623423 } ]
50 | },
51 | {
52 | "ts": "2018-03-24T00:51:34.001Z",
53 | "contingencyLandingPointAlt_ft": [300.4,251],
54 | "contingencyLandingPoint_deg": [ { "lat":37.4119851, "lon":-122.0623431 }, { "lat":37.4119857, "lon":-122.0623423 } ]
55 | }
56 | ],
57 | "uasTruth": [
58 | {
59 | "ts": "2018-03-24T00:47:02.814Z",
60 | "uasTruthEcefXCoordinate_ft": 13782808.4,
61 | "uasTruthEcefYCoordinate_ft": 565813.648,
62 | "uasTruthEcefZCoordinate_ft": 15682742.78,
63 | "estimatedTruthPositionError95Prct_in": 9.13
64 | },
65 | {
66 | "ts": "2018-03-24T00:51:34.001Z",
67 | "uasTruthEcefXCoordinate_ft": 13782809.221,
68 | "uasTruthEcefYCoordinate_ft": 565814.045,
69 | "uasTruthEcefZCoordinate_ft": 15682743.907,
70 | "estimatedTruthPositionError95Prct_in": 9.17
71 | }
72 | ]
73 | }
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/files/SAMPLE-20180329-1714-CNS3.json:
--------------------------------------------------------------------------------
1 | {
2 | "fType": "CNS3",
3 | "UTM-TCL3-DMP-RevF-CNSPDF": "UTM-SAMPLE-CNS-4.pdf",
4 | "basic": {
5 | "uvin": "13b51a25-0002-0009-0000-000000006b20",
6 | "gufi": "94c28eaf-0000-000d-0000-000000006b20",
7 | "submitTime": "2018-03-29T17:03:22.528Z",
8 | "ussInstanceID": "dbc56b6d-0009-0008-0000-000000006b20",
9 | "ussName": "WUSS"
10 | },
11 | "RFData": [
12 | "UTM-UASORG-20180329-1714-2200_84MHz-55_18MSPS-rfData.bin",
13 | "UTM-UASORG-20180329-1714-2200920KHz-55180KSPS-rfData.bin",
14 | "UTM-UASORG-20180329-1714-750MHz-55MSPS-rfData.bin"
15 | ],
16 | "prnGPSSat": [
17 | { "ts": "2018-03-29T17:15:03.002Z", "prnGpsSat_nonDim": [3,12,23,10] },
18 | { "ts": "2018-03-29T17:19:34.341Z", "prnGpsSat_nonDim": [3,27,32] }
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/files/SAMPLE-20180329-1714-CON1.json:
--------------------------------------------------------------------------------
1 | {
2 | "fType": "CON1",
3 | "basic": {
4 | "uvin": "cc10e9e9-0004-4005-b000-000000005363",
5 | "gufi": "eabb408a-000e-400b-b000-000000005363",
6 | "submitTime": "2018-03-29T17:16:15.123456Z",
7 | "ussName": "WUSS",
8 | "ussInstanceID": "95401977-000d-4010-b000-000000005364"
9 | },
10 | "UTM-TCL3-DMP-RevF-CONPDF": "UTM-SAMPLE-CON-1.pdf",
11 | "plannedBvlosLandingPoint_deg": [
12 | { "lat":37.4119851, "lon":-122.0623431 },
13 | { "lat":37.4119853, "lon":-122.0623429 },
14 | { "lat":37.4119857, "lon":-122.0623423 }
15 | ],
16 | "plannedBvlosLandingPointAlt_ft": [1.1,2.2,3.3],
17 |
18 | "actualBvlosLandingPoint": [
19 | { "ts": "2018-03-29T17:16:15.123456Z",
20 | "actualBvlosLandingPoint_deg": [
21 | { "lat":37.4119851, "lon":-122.0623431 },
22 | { "lat":37.4119853, "lon":-122.0623429 },
23 | { "lat":37.4119857, "lon":-122.0623423 }
24 | ],
25 | "actualBVLOSLandingPointAlt_ft": [1.1,2.2,3.3]
26 | },
27 | { "ts": "2018-03-29T17:16:16.123456Z",
28 | "actualBvlosLandingPoint_deg": [
29 | { "lat":37.4119851, "lon":-122.0623431 },
30 | { "lat":37.4119853, "lon":-122.0623429 },
31 | { "lat":37.4119857, "lon":-122.0623423 }
32 | ],
33 | "actualBVLOSLandingPointAlt_ft": [1.1,2.2,3.3]
34 | }
35 | ],
36 |
37 | "landingOffset_ft": [25.3,19.7,88.6],
38 | "alongTrackDistanceFlown_ft": 1592.3,
39 | "distanceFromLaunchSite_ft": 164.9,
40 | "bvlosLandingZoneSize_ft": [40.0,45.1,50.5],
41 | "bvlosLandingZoneStructure_deg": [
42 | { "lat":37.4119851, "lon":-122.0623431 },
43 | { "lat":37.4119853, "lon":-122.0623429 },
44 | { "lat":37.4119857, "lon":-122.0623423 }
45 | ],
46 | "bvlosLandingZonePeople_deg": [
47 | { "lat":37.4119851, "lon":-122.0623431 },
48 | { "lat":37.4119853, "lon":-122.0623429 },
49 | { "lat":37.4119857, "lon":-122.0623423 }
50 | ],
51 | "wxBvlosLandingZone": [
52 | { "ts": "2018-03-29T17:16:15.123456Z",
53 | "wxBvlosLandingZone1Data": { "temp":-10.0, "pressure":29.8, "windSpeed":9.8, "windDir":1.3 },
54 | "wxBvlosLandingZone2Data": { "temp":-11.0, "pressure":30.9, "windSpeed":2.2, "windDir":2.3 },
55 | "wxBvlosLandingZone3Data": { "temp":-10.5, "pressure":30.8, "windSpeed":3.7, "windDir":3.1 }
56 | },
57 | { "ts": "2018-03-29T17:16:16.123456Z",
58 | "wxBvlosLandingZone1Data": { "temp":-10.1, "pressure":29.7, "windSpeed":9.7, "windDir":1.3 },
59 | "wxBvlosLandingZone2Data": { "temp":-11.1, "pressure":30.8, "windSpeed":2.3, "windDir":2.2 },
60 | "wxBvlosLandingZone3Data": { "temp":-10.4, "pressure":30.6, "windSpeed":3.6, "windDir":3.0 }
61 | }
62 | ],
63 | "c2": [
64 | { "ts": "2018-03-29T17:16:15.123456Z",
65 | "c2RssiAircraft_dBm": 3.1,
66 | "c2RssiGcs_dBm": 5.3,
67 | "c2NoiseAircraft_dBm": 7.9,
68 | "c2NoiseGcs_dBm": 9.1
69 | },
70 | { "ts": "2018-03-29T17:16:16.123456Z",
71 | "c2RssiAircraft_dBm": 2.0,
72 | "c2RssiGcs_dBm": 4.2,
73 | "c2NoiseAircraft_dBm": 6.8,
74 | "c2NoiseGcs_dBm": 8.4
75 | }
76 | ],
77 | "c2PacketLoss": [
78 | { "ts": "2018-03-29T17:16:15.123456Z",
79 | "c2PacketLossRateAircraftPrct_nonDim": 45.4,
80 | "c2PacketLossRateGcsPrct_nonDim": 99.9
81 | },
82 | { "ts": "2018-03-29T17:16:16.123456Z",
83 | "c2PacketLossRateAircraftPrct_nonDim": 0.0,
84 | "c2PacketLossRateGcsPrct_nonDim": 72.3
85 | }
86 | ]
87 | }
88 |
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/files/SAMPLE-20180329-1714-CON2.json:
--------------------------------------------------------------------------------
1 | {
2 | "fType": "CON2",
3 | "basic": {
4 | "uvin": "882790d6-000b-4003-b000-00000000f6f7",
5 | "gufi": "b36a45f8-0003-4011-b000-00000000f6f7",
6 | "submitTime": "2018-03-29T17:16:15.123456Z",
7 | "ussName": "WUSS",
8 | "ussInstanceID": "6c4ec31e-0002-4009-b000-00000000f6f8"
9 | },
10 | "UTM-TCL3-DMP-RevF-CONPDF": "UTM-SAMPLE-CON-1.pdf",
11 | "UTM-TCL3-DMP-RevF-CONKML": "UTM-SAMPLE-CON-1.kml",
12 | "declaredEmerg": [
13 | { "ts": "2018-03-29T17:16:15.123456Z", "declaredEmergency": "Goose!" },
14 | { "ts": "2018-03-29T17:16:30.123456Z", "declaredEmergency": "Duck!" }
15 | ],
16 | "emergencyInitiationTime": [
17 | "2018-03-29T17:16:15.123456Z",
18 | "2018-03-29T17:16:30.123456Z"
19 | ],
20 | "emergencyCompletionTime": [
21 | "2018-03-29T17:16:20.123456Z",
22 | "2018-03-29T17:16:40.123456Z"
23 | ],
24 | "contingencyCause": [
25 | { "ts": "2018-03-29T17:16:15.123456Z", "contingencyCause_nonDim": [10,11] },
26 | { "ts": "2018-03-29T17:16:30.123456Z", "contingencyCause_nonDim": [10,11] }
27 | ],
28 | "contingencyResponse": [
29 | { "ts": "2018-03-29T17:16:15.123456Z", "contingencyResponse_nonDim": 0 },
30 | { "ts": "2018-03-29T17:16:15.123456Z", "contingencyResponse_nonDim": 0 }
31 | ],
32 | "plannedContingency": {
33 | "plannedContingencyLandingPoint_deg": [
34 | { "lat":37.4119851, "lon":-122.0623431 },
35 | { "lat":37.4119853, "lon":-122.0623429 },
36 | { "lat":37.4119857, "lon":-122.0623423 }
37 | ],
38 | "plannedContingencyLandingPointAlt_ft": [300,250,350],
39 | "plannedContingencyLoiterAlt_ft": [300,250,350,300.2,0.345,-123,0.0],
40 | "plannedContingencyLoiterRadius_ft": [50,45.5,40.01,30,30,40,40]
41 | },
42 | "contingencyLanding": [
43 | {
44 | "ts": "2018-03-29T17:16:15.123456Z",
45 | "contingencyLandingPoint_deg": [
46 | { "lat":37.4119852, "lon":-122.0623431 },
47 | { "lat":37.4119854, "lon":-122.0623429 }
48 | ],
49 | "contingencyLandingPointAlt_ft": [300.4,251]
50 | },
51 | {
52 | "ts": "2018-03-29T17:16:16.123456Z",
53 | "contingencyLandingPoint_deg": [
54 | { "lat":37.411962, "lon":-122.0623431 },
55 | { "lat":37.411966, "lon":-122.0623435 }
56 | ],
57 | "contingencyLandingPointAlt_ft": [300.4,251]
58 | }
59 | ],
60 | "contingencyLoiterType": [
61 | { "ts": "2018-03-29T17:16:15.123456Z", "contingencyLoiterType_nonDim": 1 },
62 | { "ts": "2018-03-29T17:16:16.123456Z", "contingencyLoiterType_nonDim": 1 }
63 | ],
64 | "contingencyLoiterAlt": [
65 | { "ts": "2018-03-29T17:16:15.123456Z", "contingencyLoiterAlt_ft": [300,250,300,300] },
66 | { "ts": "2018-03-29T17:16:16.123456Z", "contingencyLoiterAlt_ft": [300,250,300,300] }
67 | ],
68 | "contingencyLoiterRadius": [
69 | { "ts": "2018-03-29T17:16:15.123456Z", "contingencyLoiterRadius_ft": [50.1,45.5,40.1,30.2] },
70 | { "ts": "2018-03-29T17:16:16.123456Z", "contingencyLoiterRadius_ft": [50.1,45.5,40.1,30.2] }
71 | ]
72 | }
73 |
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/files/SAMPLE-20180329-1714-CON4.json:
--------------------------------------------------------------------------------
1 | {
2 | "fType": "CON4",
3 | "basic": {
4 | "uvin": "c03c6755-0004-4009-b000-000000000fe7",
5 | "gufi": "382db215-000e-400a-b000-000000000fe7",
6 | "submitTime": "2018-03-29T17:16:15.123456Z",
7 | "ussInstanceID": "7c2f92ba-000e-400c-b000-000000000fe8",
8 | "ussName": "WUSS"
9 | },
10 | "UTM-TCL3-DMP-RevF-CONPDF": "UTM-SAMPLE-CON-1.pdf",
11 | "UTM-TCL3-DMP-RevF-CONKML": "UTM-SAMPLE-CON-1.kml"
12 | }
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/files/SAMPLE-20180329-1714-CON5.json:
--------------------------------------------------------------------------------
1 | {
2 | "fType": "CON5",
3 | "basic": {
4 | "uvin": "f5e24049-000d-4000-b000-0000000052e4",
5 | "gufi": "771daea6-0009-4002-b000-0000000052e7",
6 | "submitTime": "2018-03-29T17:16:15.123456Z",
7 | "ussName": "WUSS",
8 | "ussInstanceID": "1e9075e9-0002-4002-b000-0000000052e7"
9 | },
10 | "distFromBoundary": [
11 | { "ts": "2018-03-29T17:16:15.123456Z", "distFromBoundary_ft": 42.2 },
12 | { "ts": "2018-03-29T17:16:16.123456Z", "distFromBoundary_ft": 32.2 },
13 | { "ts": "2018-03-29T17:16:17.123456Z", "distFromBoundary_ft": 35.5 },
14 | { "ts": "2018-03-29T17:16:18.123456Z", "distFromBoundary_ft": 34.8 }
15 | ],
16 | "unauthorizedAirspaceStatus": [
17 | { "ts": "2018-03-29T17:16:15.123456Z", "unauthorizedAirspaceStatus_nonDim": 0 },
18 | { "ts": "2018-03-29T17:16:16.123456Z", "unauthorizedAirspaceStatus_nonDim": 0 },
19 | { "ts": "2018-03-29T17:16:17.123456Z", "unauthorizedAirspaceStatus_nonDim": 1 },
20 | { "ts": "2018-03-29T17:16:18.123456Z", "unauthorizedAirspaceStatus_nonDim": 0 }
21 | ]
22 | }
23 |
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/files/SAMPLE-20180329-1714-SAA1.json:
--------------------------------------------------------------------------------
1 | {
2 | "fType": "SAA1",
3 | "basic": {
4 | "uvin": "cf8e2212-000a-400b-b000-00000000ef99",
5 | "gufi": "9d6cc3b0-0009-400c-b000-00000000ef9d",
6 | "submitTime": "2018-03-29T17:16:15.123456Z",
7 | "ussInstanceID": "f60053e3-0001-400e-b000-00000000ef9e",
8 | "ussName": "WUSS"
9 | },
10 | "timeAtEncounterInit": "2018-03-29T17:16:16.000012Z",
11 | "timeAtConflictAlert": "2018-03-29T17:16:18.020033Z",
12 | "timeAtConflictResManeuverInit": "2018-03-29T17:16:20.101001Z",
13 | "timeAtConflictResManeuverComplt": "2018-03-29T17:16:25.570013Z",
14 | "timeAtClearOfConflict": "2018-03-29T17:16:28.492042Z",
15 | "geoFence": {
16 | "geoFenceAvailable_nonDim": 1,
17 | "geoFenceStartTime": [
18 | "2018-03-29T17:16:16.123456Z",
19 | "2018-03-29T17:18:00.994056Z"
20 | ],
21 | "geoFenceEndTime": [
22 | "2018-03-29T17:17:22.123456Z",
23 | "2018-03-29T17:23:05.206608Z"
24 | ],
25 | "geoFenceType_nonDim": 1,
26 | "geoFenceMinAltitude_ft": 100,
27 | "geoFenceMaxAltitude_ft": 250,
28 | "geoFenceCircularPointLat_deg": 0,
29 | "geoFenceCircularPointLon_deg": 0,
30 | "geoFenceCircularRadius_ft": 0,
31 | "geoFenceEnable": [
32 | { "ts": "2018-03-29T17:16:17.000000Z", "geoFenceEnable_nonDim": 1 },
33 | { "ts": "2018-03-29T17:23:15.000000Z", "geoFenceEnable_nonDim": 0 }
34 | ],
35 | "geoFenceDynamicPolygonPoint": [
36 | { "ts": "2018-03-29T17:16:16.000000Z",
37 | "geoFenceDynamicPolygonPoint_deg": [
38 | { "lat":37.4349402, "lon":-122.0680381 },
39 | { "lat":37.4357561, "lon":-122.0276982 },
40 | { "lat":37.4010582, "lon":-122.0358520 },
41 | { "lat":37.4084903, "lon":-122.0669224 }
42 | ]
43 | },
44 | { "ts": "2018-03-29T17:16:17.000000Z",
45 | "geoFenceDynamicPolygonPoint_deg": [
46 | { "lat":37.4349402, "lon":-122.0680381 },
47 | { "lat":37.4357561, "lon":-122.0276982 },
48 | { "lat":37.4010582, "lon":-122.0358520 },
49 | { "lat":37.4084903, "lon":-122.0669224 }
50 | ]
51 | }
52 | ]
53 | }
54 | }
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/files/SAMPLE-20180329-1714-SAA2.json:
--------------------------------------------------------------------------------
1 | {
2 | "fType": "SAA2",
3 | "basic": {
4 | "uvin": "a193c135-0001-4010-b000-00000000c950",
5 | "gufi": "9433dca9-0001-4010-b000-00000000c951",
6 | "submitTime": "2018-03-29T17:16:15.123456Z",
7 | "ussInstanceID": "4e13626b-0008-4010-b000-00000000c952",
8 | "ussName": "WUSS"
9 | },
10 | "geoFence": {
11 | "geoFenceAvailable_nonDim": 1,
12 | "geoFenceStartTime": [
13 | "2018-03-29T17:16:16.123456Z",
14 | "2018-03-29T17:18:00.994056Z"
15 | ],
16 | "geoFenceEndTime": [
17 | "2018-03-29T17:17:22.123456Z",
18 | "2018-03-29T17:23:05.206608Z"
19 | ],
20 | "geoFenceType_nonDim": 0,
21 | "geoFenceMinAltitude_ft": 100,
22 | "geoFenceMaxAltitude_ft": 300,
23 | "geoFenceCircularPointLat_deg": 37.4178391,
24 | "geoFenceCircularPointLon_deg": -122.05128902,
25 | "geoFenceCircularRadius_ft": 100,
26 | "geoFenceEnable": [
27 | { "ts": "2018-03-29T17:16:17.000000Z", "geoFenceEnable_nonDim": 1 },
28 | { "ts": "2018-03-29T17:23:15.000000Z", "geoFenceEnable_nonDim": 0 }
29 | ],
30 | "geoFenceDynamicPolygonPoint": [
31 | { "ts": "2018-03-29T17:16:15.123456Z",
32 | "geoFenceDynamicPolygonPoint_deg": [
33 | { "lat":37.4217203, "lon":-122.0562211 },
34 | { "lat":37.4217203, "lon":-122.0462250 },
35 | { "lat":37.4138512, "lon":-122.0462250 },
36 | { "lat":37.4138512, "lon":-122.0562211 }
37 | ]
38 | },
39 | { "ts": "2018-03-29T17:16:15.123456Z",
40 | "geoFenceDynamicPolygonPoint_deg": [
41 | { "lat":37.4217203, "lon":-122.0562211 },
42 | { "lat":37.4217203, "lon":-122.0462250 },
43 | { "lat":37.4138512, "lon":-122.0462250 },
44 | { "lat":37.4138512, "lon":-122.0562211 }
45 | ]
46 | }
47 | ]
48 | }
49 | }
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/files/SAMPLE-20180329-1714-SAA3.json:
--------------------------------------------------------------------------------
1 | {
2 | "fType": "SAA3",
3 | "basic": {
4 | "uvin": "58a04474-0003-4001-b000-00000000d597",
5 | "gufi": "1ce879b7-0010-400f-b000-00000000d597",
6 | "submitTime": "2018-03-29T17:16:15.123456Z",
7 | "ussInstanceID": "c3bba53b-0003-4006-b000-00000000d598",
8 | "ussName": "WUSS"
9 | },
10 | "geoFence": {
11 | "geoFenceAvailable_nonDim": 1,
12 | "geoFenceStartTime": [
13 | "2018-03-29T17:16:16.123456Z",
14 | "2018-03-29T17:18:00.994056Z"
15 | ],
16 | "geoFenceEndTime": [
17 | "2018-03-29T17:17:22.123456Z",
18 | "2018-03-29T17:23:05.206608Z"
19 | ],
20 | "geoFenceType_nonDim": 1,
21 | "geoFenceMinAltitude_ft": 100,
22 | "geoFenceMaxAltitude_ft": 250,
23 | "geoFenceCircularPointLat_deg": 0,
24 | "geoFenceCircularPointLon_deg": 0,
25 | "geoFenceCircularRadius_ft": 0,
26 | "geoFenceEnable": [
27 | { "ts": "2018-03-29T17:16:17.000000Z", "geoFenceEnable_nonDim": 1 },
28 | { "ts": "2018-03-29T17:23:15.000000Z", "geoFenceEnable_nonDim": 0 }
29 | ],
30 | "geoFenceDynamicPolygonPoint": [
31 | { "ts": "2018-03-29T17:16:16.000000Z",
32 | "geoFenceDynamicPolygonPoint_deg": [
33 | { "lat":37.4349402, "lon":-122.0680381 },
34 | { "lat":37.4357561, "lon":-122.0276982 },
35 | { "lat":37.4010582, "lon":-122.0358520 },
36 | { "lat":37.4084903, "lon":-122.0669224 }
37 | ]
38 | },
39 | { "ts": "2018-03-29T17:16:17.000000Z",
40 | "geoFenceDynamicPolygonPoint_deg": [
41 | { "lat":37.4349402, "lon":-122.0680381 },
42 | { "lat":37.4357561, "lon":-122.0276982 },
43 | { "lat":37.4010582, "lon":-122.0358520 },
44 | { "lat":37.4084903, "lon":-122.0669224 }
45 | ]
46 | }
47 | ]
48 | }
49 | }
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/files/SAMPLE-20180329-1714-SAA4.json:
--------------------------------------------------------------------------------
1 | {
2 | "fType": "SAA4",
3 | "basic": {
4 | "uvin": "e22e6fe9-0007-400a-b000-00000000e8f8",
5 | "gufi": "9fce6bb5-0009-400c-b000-00000000e8f8",
6 | "submitTime": "2018-03-29T17:16:15.123456Z",
7 | "ussInstanceID": "b15ee7a9-0005-4011-b000-00000000e8f9",
8 | "ussName": "WUSS"
9 | },
10 | "geoFence": {
11 | "geoFenceAvailable_nonDim": 1,
12 | "geoFenceStartTime": [
13 | "2018-03-29T17:16:16.123456Z",
14 | "2018-03-29T17:18:00.994056Z"
15 | ],
16 | "geoFenceEndTime": [
17 | "2018-03-29T17:17:22.123456Z",
18 | "2018-03-29T17:23:05.206608Z"
19 | ],
20 | "geoFenceType_nonDim": 1,
21 | "geoFenceMinAltitude_ft": 100,
22 | "geoFenceMaxAltitude_ft": 250,
23 | "geoFenceCircularPointLat_deg": 0,
24 | "geoFenceCircularPointLon_deg": 0,
25 | "geoFenceCircularRadius_ft": 0,
26 | "geoFenceEnable": [
27 | { "ts": "2018-03-29T17:16:17.000000Z", "geoFenceEnable_nonDim": 1 },
28 | { "ts": "2018-03-29T17:23:15.000000Z", "geoFenceEnable_nonDim": 0 }
29 | ],
30 | "geoFenceDynamicPolygonPoint": [
31 | { "ts": "2018-03-29T17:16:16.000000Z",
32 | "geoFenceDynamicPolygonPoint_deg": [
33 | { "lat":37.4349402, "lon":-122.0680381 },
34 | { "lat":37.4357561, "lon":-122.0276982 },
35 | { "lat":37.4010582, "lon":-122.0358520 },
36 | { "lat":37.4084903, "lon":-122.0669224 }
37 | ]
38 | },
39 | { "ts": "2018-03-29T17:16:17.000000Z",
40 | "geoFenceDynamicPolygonPoint_deg": [
41 | { "lat":37.4349402, "lon":-122.0680381 },
42 | { "lat":37.4357561, "lon":-122.0276982 },
43 | { "lat":37.4010582, "lon":-122.0358520 },
44 | { "lat":37.4084903, "lon":-122.0669224 }
45 | ]
46 | }
47 | ]
48 | },
49 | "typeOfSaaSensor": "Radar",
50 | "relativeHeadingAtFirstDetection_deg": 62.44,
51 | "azimuthSensorMin_deg": 1.0,
52 | "azimuthSensorMax_deg": 45.0,
53 | "elevationSensorMin_deg": 1.0,
54 | "elevationSensorMax_deg": 50.0,
55 | "saaSensorMinSlantRange_ft": 1.0,
56 | "saaSensorMaxSlantRange_ft": 23.0,
57 | "minRcsOfSensor_ft2": 1.0,
58 | "maxRcsOfSensor_ft2": 1.7,
59 | "updateRateSensor_hz": 1.0,
60 | "saaSensorAzimuthAccuracy_deg": 1.0,
61 | "saaSensorAltitudeAccuracy_ft": 0.2,
62 | "horRangeAccuracy_ft": 0.2,
63 | "verRangeAccuracy_ft": 0.2,
64 | "slantRangeAccuracy_ft": 0.31,
65 | "timeToTrack_sec": 1.0,
66 | "probabilityFalseAlarmPrct_nonDim": 3.8,
67 | "probabilityIntruderDetectionPrct_nonDim": 92.0,
68 | "targetTrackCapacity_nonDim": 7.0,
69 | "dataPacketRatio_nonDim": 0.98,
70 | "transmissionDelay_sec": 0.06,
71 | "numberOfLostTracks_nonDim": 1.0,
72 | "intruderRadarCrossSection_ft2": 1.1,
73 | "txRadioFrequencyPower_w": 61.4,
74 | "intruder": {
75 | "ts": "2018-03-29T17:16:15.123456Z",
76 | "intruderPositionLat_deg": 37.1234567,
77 | "intruderPositionLon_deg": -122.1234567,
78 | "intruderPositionAlt_ft": 104.8,
79 | "intruderGroundSpeed_ftPerSec": 8.6,
80 | "intruderVelNorth_ftPerSec": 9.33,
81 | "intruderVelEast_ftPerSec": 16.1,
82 | "intruderVelDown_ftPerSec": 1.1,
83 | "intruderGroundCourse_deg": 57.8
84 | }
85 | }
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/files/SAMPLE-20180329-1714-SAA5.json:
--------------------------------------------------------------------------------
1 | {
2 | "fType": "SAA5",
3 | "basic": {
4 | "uvin": "c367e289-0003-400c-8000-000000005471",
5 | "gufi": "1e1298d9-0006-400d-8000-000000005472",
6 | "submitTime": "2018-03-29T17:11:15.123456Z",
7 | "ussInstanceID": "8f92a231-0011-400f-b000-000000005472",
8 | "ussName": "WUSS"
9 | },
10 | "geoFence": {
11 | "geoFenceAvailable_nonDim": 1,
12 | "geoFenceStartTime": [
13 | "2018-03-29T17:16:16.123456Z",
14 | "2018-03-29T17:18:00.994056Z"
15 | ],
16 | "geoFenceEndTime": [
17 | "2018-03-29T17:17:22.123456Z",
18 | "2018-03-29T17:23:05.206608Z"
19 | ],
20 | "geoFenceType_nonDim": 1,
21 | "geoFenceMinAltitude_ft": 100,
22 | "geoFenceMaxAltitude_ft": 250,
23 | "geoFenceCircularPointLat_deg": 0,
24 | "geoFenceCircularPointLon_deg": 0,
25 | "geoFenceCircularRadius_ft": 0,
26 | "geoFenceEnable": [
27 | { "ts": "2018-03-29T17:16:17.000000Z", "geoFenceEnable_nonDim": 1 },
28 | { "ts": "2018-03-29T17:23:15.000000Z", "geoFenceEnable_nonDim": 0 }
29 | ],
30 | "geoFenceDynamicPolygonPoint": [
31 | { "ts": "2018-03-29T17:16:16.000000Z",
32 | "geoFenceDynamicPolygonPoint_deg": [
33 | { "lat":37.4349402, "lon":-122.0680381 },
34 | { "lat":37.4357561, "lon":-122.0276982 },
35 | { "lat":37.4010582, "lon":-122.0358520 },
36 | { "lat":37.4084903, "lon":-122.0669224 }
37 | ]
38 | },
39 | { "ts": "2018-03-29T17:16:17.000000Z",
40 | "geoFenceDynamicPolygonPoint_deg": [
41 | { "lat":37.4349402, "lon":-122.0680381 },
42 | { "lat":37.4357561, "lon":-122.0276982 },
43 | { "lat":37.4010582, "lon":-122.0358520 },
44 | { "lat":37.4084903, "lon":-122.0669224 }
45 | ]
46 | }
47 | ]
48 | },
49 | "UTM-TCL3-DMP-RevF-SAAPDF": "UTM-SAMPLE-SAA-3.pdf",
50 | "lookAheadTime_sec": 3.3,
51 | "typeOfConflictResolution_nonDim": 2,
52 | "expectedOperatorResponseTime_sec": 2.0,
53 | "expectedUASResponseTime_sec": 1.4,
54 | "expectedCommLatency_sec": 0.3,
55 | "expectedClimbRateOwnship_ftPerSec": 8.0,
56 | "expectedDescendRateOwnship_ftPerSec": 16.0,
57 | "expectedTurnRateOwnship_degPerSec": 57.0
58 | }
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/files/SAMPLE-20180329-1714-SAA6.json:
--------------------------------------------------------------------------------
1 | {
2 | "fType": "SAA6",
3 | "basic": {
4 | "uvin": "e5cf4d8c-000d-4007-b000-000000005484",
5 | "gufi": "48802488-000e-4003-b000-000000005485",
6 | "submitTime": "2018-03-29T17:16:15.123456Z",
7 | "ussInstanceID": "418c0891-000c-4009-b000-000000005486",
8 | "ussName": "WUSS"
9 | },
10 | "geoFence": {
11 | "geoFenceAvailable_nonDim": 1,
12 | "geoFenceStartTime": [
13 | "2018-03-29T17:16:16.123456Z",
14 | "2018-03-29T17:18:00.994056Z"
15 | ],
16 | "geoFenceEndTime": [
17 | "2018-03-29T17:17:22.123456Z",
18 | "2018-03-29T17:23:05.206608Z"
19 | ],
20 | "geoFenceType_nonDim": 1,
21 | "geoFenceMinAltitude_ft": 100,
22 | "geoFenceMaxAltitude_ft": 250,
23 | "geoFenceCircularPointLat_deg": 0,
24 | "geoFenceCircularPointLon_deg": 0,
25 | "geoFenceCircularRadius_ft": 0,
26 | "geoFenceEnable": [
27 | { "ts": "2018-03-29T17:16:17.000000Z", "geoFenceEnable_nonDim": 1 },
28 | { "ts": "2018-03-29T17:23:15.000000Z", "geoFenceEnable_nonDim": 0 }
29 | ],
30 | "geoFenceDynamicPolygonPoint": [
31 | { "ts": "2018-03-29T17:16:16.000000Z",
32 | "geoFenceDynamicPolygonPoint_deg": [
33 | { "lat":37.4349402, "lon":-122.0680381 },
34 | { "lat":37.4357561, "lon":-122.0276982 },
35 | { "lat":37.4010582, "lon":-122.0358520 },
36 | { "lat":37.4084903, "lon":-122.0669224 }
37 | ]
38 | },
39 | { "ts": "2018-03-29T17:16:17.000000Z",
40 | "geoFenceDynamicPolygonPoint_deg": [
41 | { "lat":37.4349402, "lon":-122.0680381 },
42 | { "lat":37.4357561, "lon":-122.0276982 },
43 | { "lat":37.4010582, "lon":-122.0358520 },
44 | { "lat":37.4084903, "lon":-122.0669224 }
45 | ]
46 | }
47 | ]
48 | },
49 | "numberOfLossesOfSeparation_nonDim": 3,
50 | "numberOfNmac_nonDim": 4,
51 | "numberOfPrimaryConflicts_nonDim": 1,
52 | "numberOfInducedConflicts_nonDim": 3,
53 | "numberOfResolvedConflicts_nonDim": 3,
54 | "numberOfUnresolvedConflicts_nonDim": 1,
55 | "slantRangeAtPtOfApproach_ft": 1.79,
56 | "horMissDistAtClosestPtApproach_ft": 8.0,
57 | "verMissDistAtClosestPtApproach_ft": 9.2,
58 | "numberOfAlertsPerPrimaryConflict_nonDim": 2,
59 | "numberOfAlertsPerInducedConflict_nonDim": 5,
60 | "numberOfStrengtheningAlertsPerConflict_nonDim": 2,
61 | "numberOfStrengtheningAlertsTotal_nonDim": 4,
62 | "numberOfWeakeningAlertsPerConflict_nonDim": 1,
63 | "numberOfWeakeningAlertsTotal_nonDim": 1,
64 | "numberOfReversalAlertsPerConflict_nonDim": 0,
65 | "numberOfReversalAlertsTotal_nonDim": 0,
66 | "numberOfYoYoAlertsPerConflict_nonDim": 1,
67 | "numberOfYoYoAlertsTotal_nonDim": 1,
68 | "horFlightPathDeviation_ft": 15.0,
69 | "verFlightPathDeviation_ft": 12.0,
70 | "maxAbsolutePathDeviation_ft": 19.2,
71 | "maxHorPathDeviation_ft": 21.3,
72 | "maxVerPathDeviation_ft": 24.04,
73 | "totalHorPathDeviation_ft2": 78.0,
74 | "totalVerPathDeviation_ft2": 93.5
75 | }
76 |
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/files/TCL3-DMP-RevF-PDF-KML-Templates.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nasa/utm-docs/fcf160354927cafa6a91185293fb33b8cc6aed22/TCL3/tcl3-data-apis/files/TCL3-DMP-RevF-PDF-KML-Templates.zip
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/files/requirements_table.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nasa/utm-docs/fcf160354927cafa6a91185293fb33b8cc6aed22/TCL3/tcl3-data-apis/files/requirements_table.pdf
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/files/requirements_table.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nasa/utm-docs/fcf160354927cafa6a91185293fb33b8cc6aed22/TCL3/tcl3-data-apis/files/requirements_table.xlsx
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/utm-tcl3-cns.yaml:
--------------------------------------------------------------------------------
1 | swagger: '2.0'
2 | info:
3 | version: "v3"
4 | title: CNS JSON upload format description
5 | description: Enforced upload format for CNS MOP
6 | contact:
7 | name: 'NASA Ames Research Center, Aviation Systems Division'
8 | url: 'https://utmregistry.arc.nasa.gov/'
9 | email: joseph.rios@nasa.gov
10 | license:
11 | name: NASA Open Source Agreement
12 | url: 'https://ti.arc.nasa.gov/opensource/nosa/'
13 | termsOfService: >-
14 | A. No Warranty: THE SUBJECT SOFTWARE IS PROVIDED \"AS IS\" WITHOUT ANY
15 | WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING,
16 | BUT NOT LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO
17 | SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
18 | PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT THE
19 | SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT DOCUMENTATION, IF
20 | PROVIDED, WILL CONFORM TO THE SUBJECT SOFTWARE. THIS AGREEMENT DOES NOT, IN
21 | ANY MANNER, CONSTITUTE AN ENDORSEMENT BY GOVERNMENT AGENCY OR ANY PRIOR
22 | RECIPIENT OF ANY RESULTS, RESULTING DESIGNS, HARDWARE, SOFTWARE PRODUCTS OR
23 | ANY OTHER APPLICATIONS RESULTING FROM USE OF THE SUBJECT SOFTWARE. FURTHER,
24 | GOVERNMENT AGENCY DISCLAIMS ALL WARRANTIES AND LIABILITIES REGARDING
25 | THIRD-PARTY SOFTWARE, IF PRESENT IN THE ORIGINAL SOFTWARE, AND DISTRIBUTES
26 | IT \"AS IS.\"
27 |
28 |
29 | B. Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS
30 | AGAINST THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS
31 | WELL AS ANY PRIOR RECIPIENT. IF RECIPIENT''S USE OF THE SUBJECT SOFTWARE
32 | RESULTS IN ANY LIABILITIES, DEMANDS, DAMAGES, EXPENSES OR LOSSES ARISING
33 | FROM SUCH USE, INCLUDING ANY DAMAGES FROM PRODUCTS BASED ON, OR RESULTING
34 | FROM, RECIPIENT''S USE OF THE SUBJECT SOFTWARE, RECIPIENT SHALL INDEMNIFY
35 | AND HOLD HARMLESS THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND
36 | SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT, TO THE EXTENT PERMITTED BY
37 | LAW. RECIPIENT''S SOLE REMEDY FOR ANY SUCH MATTER SHALL BE THE IMMEDIATE,
38 | UNILATERAL TERMINATION OF THIS AGREEMENT.
39 | paths: {}
40 | definitions:
41 |
42 | CNS1_MOP:
43 | type: object
44 | required: ['basic','fType','UTM-TCL3-DMP-RevF-CNSPDF','plannedContingency','primaryLinkDescription','redundantLinkDescription','contingencyCause','contingencyResponse','contingencyLanding','contingencyLoiterType','contingencyLoiterAlt','contingencyLoiterRadius','maneuverCommand','estimatedTimeToVerifyManeuver','cns1TestType','timeManeuverCommandSent','timeManeuverVerification','timePrimaryLinkDisconnect','timeRedundantLinkSwitch']
45 | properties:
46 | basic:
47 | $ref: '#/definitions/basicInformation'
48 | fType:
49 | type: string
50 | enum:
51 | - CNS1
52 | UTM-TCL3-DMP-RevF-CNSPDF:
53 | $ref: '#/definitions/CNSPDFFileName'
54 | plannedContingency:
55 | $ref: '#/definitions/plannedContingency'
56 | primaryLinkDescription:
57 | type: array
58 | items:
59 | type: object
60 | required: ['ts','primaryLinkDescription']
61 | properties:
62 | ts:
63 | $ref: '#/definitions/timestamp'
64 | primaryLinkDescription:
65 | $ref: '#/definitions/string280'
66 | redundantLinkDescription:
67 | type: array
68 | items:
69 | type: object
70 | required: ['ts','redundantLinkDescription']
71 | properties:
72 | ts:
73 | $ref: '#/definitions/timestamp'
74 | redundantLinkDescription:
75 | $ref: '#/definitions/string280'
76 | contingencyCause:
77 | $ref: '#/definitions/contingencyCause'
78 | contingencyResponse:
79 | $ref: '#/definitions/contingencyResponse'
80 | contingencyLanding:
81 | $ref: '#/definitions/contingencyLanding'
82 | contingencyLoiterType:
83 | $ref: '#/definitions/contingencyLoiterType'
84 | contingencyLoiterAlt:
85 | $ref: '#/definitions/contingencyLoiterAlt'
86 | contingencyLoiterRadius:
87 | $ref: '#/definitions/contingencyLoiterRadius'
88 | maneuverCommand:
89 | type: array
90 | items:
91 | type: object
92 | required: ['ts','maneuverCommand']
93 | properties:
94 | ts:
95 | $ref: '#/definitions/timestamp'
96 | maneuverCommand:
97 | $ref: '#/definitions/string280'
98 | estimatedTimeToVerifyManeuver:
99 | type: array
100 | items:
101 | type: object
102 | required: ['ts','estimatedTimeToVerifyManeuver_sec']
103 | properties:
104 | ts:
105 | $ref: '#/definitions/timestamp'
106 | estimatedTimeToVerifyManeuver_sec:
107 | type: number
108 | cns1TestType:
109 | type: array
110 | items:
111 | type: object
112 | required: ['ts','cns1TestType_nonDim']
113 | properties:
114 | ts:
115 | $ref: '#/definitions/timestamp'
116 | cns1TestType_nonDim:
117 | type: integer
118 | enum:
119 | - 0
120 | - 1
121 | - 2
122 | timeManeuverCommandSent:
123 | type: array
124 | items:
125 | $ref: '#/definitions/tsObject'
126 | timeManeuverVerification:
127 | type: array
128 | items:
129 | $ref: '#/definitions/tsObject'
130 | timePrimaryLinkDisconnect:
131 | type: array
132 | items:
133 | $ref: '#/definitions/tsObject'
134 | timeRedundantLinkSwitch:
135 | type: array
136 | items:
137 | $ref: '#/definitions/tsObject'
138 |
139 |
140 | CNS2_MOP:
141 | type: object
142 | required: ['basic','fType','UTM-TCL3-DMP-RevF-CNSPDF','plannedContingency','uasTruth','prnGPSSat','uere','contingencyCause','contingencyResponse','contingencyLanding','contingencyLoiterType','contingencyLoiterAlt','contingencyLoiterRadius']
143 | properties:
144 | basic:
145 | $ref: '#/definitions/basicInformation'
146 | fType:
147 | type: string
148 | enum:
149 | - CNS2
150 | UTM-TCL3-DMP-RevF-CNSPDF:
151 | $ref: '#/definitions/CNSPDFFileName'
152 | plannedContingency:
153 | $ref: '#/definitions/plannedContingency'
154 | uasTruth:
155 | type: array
156 | items:
157 | type: object
158 | required: ['ts','uasTruthEcefXCoordinate_ft','uasTruthEcefYCoordinate_ft','uasTruthEcefZCoordinate_ft','estimatedTruthPositionError95Prct_in']
159 | properties:
160 | ts:
161 | $ref: '#/definitions/timestamp'
162 | uasTruthEcefXCoordinate_ft:
163 | type: number
164 | uasTruthEcefYCoordinate_ft:
165 | type: number
166 | uasTruthEcefZCoordinate_ft:
167 | type: number
168 | estimatedTruthPositionError95Prct_in:
169 | type: number
170 | prnGpsSat:
171 | $ref: '#/definitions/prnGpsSat'
172 | uere:
173 | type: array
174 | items:
175 | type: object
176 | required: ['ts','uere_in']
177 | properties:
178 | ts:
179 | $ref: '#/definitions/timestamp'
180 | uere_in:
181 | type: number
182 | contingencyCause:
183 | $ref: '#/definitions/contingencyCause'
184 | contingencyResponse:
185 | $ref: '#/definitions/contingencyResponse'
186 | contingencyLanding:
187 | $ref: '#/definitions/contingencyLanding'
188 | contingencyLoiterType:
189 | $ref: '#/definitions/contingencyLoiterType'
190 | contingencyLoiterAlt:
191 | $ref: '#/definitions/contingencyLoiterAlt'
192 | contingencyLoiterRadius:
193 | $ref: '#/definitions/contingencyLoiterRadius'
194 |
195 |
196 | CNS3_MOP:
197 | type: object
198 | required: ["basic","fType","UTM-TCL3-DMP-RevF-CNSPDF","RFData","prnGPSSat"]
199 | properties:
200 | basic:
201 | $ref: '#/definitions/basicInformation'
202 | fType:
203 | type: string
204 | enum:
205 | - CNS3
206 | UTM-TCL3-DMP-RevF-CNSPDF:
207 | $ref: '#/definitions/CNSPDFFileName'
208 | RFData:
209 | $ref: '#/definitions/CNS3RFDataList'
210 | prnGPSSat:
211 | $ref: '#/definitions/prnGpsSat'
212 |
213 | # definitions shared by the MOPs
214 |
215 | tsObject:
216 | type: object
217 | required: ['ts']
218 | properties:
219 | ts:
220 | $ref: '#/definitions/timestamp'
221 |
222 | contingencyCause:
223 | type: array
224 | items:
225 | type: object
226 | required: ['ts','contingencyCause_nonDim']
227 | properties:
228 | ts:
229 | $ref: '#/definitions/timestamp'
230 | contingencyCause_nonDim:
231 | $ref: '#/definitions/ContingencyCauseNumberList'
232 |
233 | contingencyResponse:
234 | type: array
235 | items:
236 | type: object
237 | required: ['ts','contingencyResponse_nonDim']
238 | properties:
239 | ts:
240 | $ref: '#/definitions/timestamp'
241 | contingencyResponse_nonDim:
242 | type: integer
243 | enum:
244 | - 0
245 | - 1
246 | - 2
247 | - 3
248 |
249 | contingencyLanding:
250 | type: array
251 | items:
252 | type: object
253 | required: ['ts','contingencyLandingPoint_deg','contingencyLandingPointAlt_ft']
254 | properties:
255 | ts:
256 | $ref: '#/definitions/timestamp'
257 | contingencyLandingPoint_deg:
258 | $ref: '#/definitions/LatLonList'
259 | contingencyLandingPointAlt_ft:
260 | $ref: '#/definitions/AltitudeList'
261 |
262 | contingencyLoiterType:
263 | type: array
264 | items:
265 | type: object
266 | required: ['ts','contingencyLoiterType_nonDim']
267 | properties:
268 | ts:
269 | $ref: '#/definitions/timestamp'
270 | contingencyLoiterType_nonDim:
271 | type: integer
272 | enum:
273 | - 0
274 | - 1
275 | - 2
276 | - 3
277 |
278 | contingencyLoiterAlt:
279 | type: array
280 | items:
281 | type: object
282 | required: ['ts','contingencyLoiterAlt_ft']
283 | properties:
284 | ts:
285 | $ref: '#/definitions/timestamp'
286 | contingencyLoiterAlt_ft:
287 | $ref: '#/definitions/AltitudeList'
288 |
289 | contingencyLoiterRadius:
290 | type: array
291 | items:
292 | type: object
293 | required: ['ts','contingencyLoiterRadius_ft']
294 | properties:
295 | ts:
296 | $ref: '#/definitions/timestamp'
297 | contingencyLoiterRadius_ft:
298 | $ref: '#/definitions/NumberList'
299 |
300 | prnGpsSat:
301 | type: array
302 | items:
303 | type: object
304 | required: ['ts','prnGpsSat_nonDim']
305 | properties:
306 | ts:
307 | $ref: '#/definitions/timestamp'
308 | prnGpsSat_nonDim:
309 | $ref: '#/definitions/prnList'
310 |
311 | CNSPDFFileName:
312 | type: string
313 | pattern: '^UTM-[^-]+-CNS-[0-9]+.pdf$'
314 | example: 'UTM-UASORG-CNS-3.pdf'
315 |
316 | CNS3RFDataList:
317 | type: array
318 | items:
319 | $ref: '#/definitions/CNS3RFDataFileName'
320 |
321 | CNS3RFDataFileName:
322 | type: string
323 | pattern: '^UTM-[^-]+-2[0-9][0-9][0-9][01][0-9][123][0-9]-[0-9]{4}-rfData\..*$'
324 | example: 'UTM-UASORG-20180231-1459-rfData.bin'
325 |
326 | basicInformation:
327 | type: object
328 | required: ['uvin','gufi','submitTime','ussName','ussInstanceID']
329 | properties:
330 | uvin:
331 | $ref: '#/definitions/GUID'
332 | gufi:
333 | $ref: '#/definitions/GUID'
334 | submitTime:
335 | $ref: '#/definitions/timestamp'
336 | ussName:
337 | type: string
338 | ussInstanceID:
339 | $ref: '#/definitions/GUID'
340 |
341 | plannedContingency:
342 | type: object
343 | required: ['plannedContingencyLandingPoint_deg','plannedContingencyLandingPointAlt_ft','plannedContingencyLoiterAlt_ft','plannedContingencyLoiterRadius_ft']
344 | properties:
345 | plannedContingencyLandingPoint_deg:
346 | $ref: '#/definitions/LatLonList'
347 | plannedContingencyLandingPointAlt_ft:
348 | $ref: '#/definitions/AltitudeList'
349 | plannedContingencyLoiterAlt_ft:
350 | $ref: '#/definitions/AltitudeList'
351 | plannedContingencyLoiterRadius_ft:
352 | $ref: '#/definitions/NumberList'
353 |
354 | # low level definitions
355 |
356 | timestamp:
357 | type: string
358 | pattern: '^2[0-9][0-9][0-9]-[01][0-9]-[0123][0-9]T[012][0-9]:[012345][0-9]:[012345][0-9]\.[0-9][0-9][0-9][0-9]*Z{0,1}$'
359 | example: '2018-03-05T19:56:23.445'
360 |
361 | string280:
362 | type: string
363 | maxLength: 280
364 |
365 | LatLon:
366 | description: Latitude and Longitude should be specified to at least 7 digits of precision
367 | type: object
368 | required: ['lat','lon']
369 | properties:
370 | lat:
371 | type: number
372 | minimum: -90.0
373 | maximum: 90.0
374 | lon:
375 | type: number
376 | minimum: -180.0
377 | maximum: 180.0
378 |
379 | LatLonList:
380 | type: array
381 | minItems: 1
382 | items:
383 | $ref: '#/definitions/LatLon'
384 |
385 | AltitudeList:
386 | # positive and negative ints and floats (feet)
387 | type: array
388 | minItems: 1
389 | items:
390 | type: number
391 |
392 | ContingencyCauseNumberList:
393 | type: array
394 | minItems: 1
395 | items:
396 | type: integer
397 | minimum: 0
398 | maximum: 13
399 |
400 | NumberList:
401 | # postive ints and floats only
402 | type: array
403 | minItems: 1
404 | items:
405 | type: number
406 | minimum: 0
407 |
408 | prnList:
409 | # gps satellite numbers, 1-32
410 | type: array
411 | minItems: 1
412 | items:
413 | type: integer
414 | minimum: 0
415 | maximum: 32
416 |
417 | GUID:
418 | type: string
419 | format: uuid
420 | pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$'
421 | example: 'd7126818-d280-475f-aaee-c16e9c6f04e0'
422 | maxLength: 36
423 | minLength: 36
424 |
425 | # Added by API Auto Mocking Plugin
426 | host: virtserver.swaggerhub.com
427 | basePath: /NASA8/CNS/V3.0
428 | schemes:
429 | - https
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/utm-tcl3-con.yaml:
--------------------------------------------------------------------------------
1 | swagger: '2.0'
2 | info:
3 | version: "v2"
4 | title: CON JSON upload format description
5 | description: Enforced upload format for CON MOP
6 | contact:
7 | name: 'NASA Ames Research Center, Aviation Systems Division'
8 | url: 'https://utmregistry.arc.nasa.gov/'
9 | email: joseph.rios@nasa.gov
10 | license:
11 | name: NASA Open Source Agreement
12 | url: 'https://ti.arc.nasa.gov/opensource/nosa/'
13 | termsOfService: >-
14 | A. No Warranty: THE SUBJECT SOFTWARE IS PROVIDED \"AS IS\" WITHOUT ANY
15 | WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING,
16 | BUT NOT LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO
17 | SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
18 | PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT THE
19 | SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT DOCUMENTATION, IF
20 | PROVIDED, WILL CONFORM TO THE SUBJECT SOFTWARE. THIS AGREEMENT DOES NOT, IN
21 | ANY MANNER, CONSTITUTE AN ENDORSEMENT BY GOVERNMENT AGENCY OR ANY PRIOR
22 | RECIPIENT OF ANY RESULTS, RESULTING DESIGNS, HARDWARE, SOFTWARE PRODUCTS OR
23 | ANY OTHER APPLICATIONS RESULTING FROM USE OF THE SUBJECT SOFTWARE. FURTHER,
24 | GOVERNMENT AGENCY DISCLAIMS ALL WARRANTIES AND LIABILITIES REGARDING
25 | THIRD-PARTY SOFTWARE, IF PRESENT IN THE ORIGINAL SOFTWARE, AND DISTRIBUTES
26 | IT \"AS IS.\"
27 |
28 |
29 | B. Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS
30 | AGAINST THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS
31 | WELL AS ANY PRIOR RECIPIENT. IF RECIPIENT''S USE OF THE SUBJECT SOFTWARE
32 | RESULTS IN ANY LIABILITIES, DEMANDS, DAMAGES, EXPENSES OR LOSSES ARISING
33 | FROM SUCH USE, INCLUDING ANY DAMAGES FROM PRODUCTS BASED ON, OR RESULTING
34 | FROM, RECIPIENT''S USE OF THE SUBJECT SOFTWARE, RECIPIENT SHALL INDEMNIFY
35 | AND HOLD HARMLESS THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND
36 | SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT, TO THE EXTENT PERMITTED BY
37 | LAW. RECIPIENT''S SOLE REMEDY FOR ANY SUCH MATTER SHALL BE THE IMMEDIATE,
38 | UNILATERAL TERMINATION OF THIS AGREEMENT.
39 | paths: {}
40 | definitions:
41 |
42 | # Refer 2018-03-01_MasterVariableList-DMP.Rev.F-Draft-CON for all the necessary inputs required for data collection of CON MOPS
43 | # It is mandatory to collect FLIGHT_DATA for CON1, CON2, CON4, CON5 available at https://app.swaggerhub.com/apis/utm/tcl3-flight-data/v2 in addition you have to collect the following data for respective MOPS
44 |
45 | #CON.1-BVLOS Landing
46 |
47 | CON1_MOP:
48 | type: object
49 | required: ['basic','fType','UTM-TCL3-DMP-RevF-CONPDF','plannedBvlosLandingPoint_deg','plannedBvlosLandingPointAlt_ft','actualBvlosLandingPoint','landingOffset_ft','alongTrackDistanceFlown_ft','distanceFromLaunchSite_ft','bvlosLandingZoneSize_ft','bvlosLandingZoneStructure_deg','bvlosLandingZonePeople_deg','wxBvlosLandingZone','c2','c2PacketLoss']
50 | properties:
51 | basic:
52 | $ref: '#/definitions/basicInformation'
53 | fType:
54 | type: string
55 | enum:
56 | - CON1
57 | UTM-TCL3-DMP-RevF-CONPDF:
58 | $ref: '#/definitions/CONPDFFileName'
59 | plannedBvlosLandingPoint_deg:
60 | $ref: '#/definitions/LatLonList'
61 | plannedBvlosLandingPointAlt_ft:
62 | $ref: '#/definitions/AltitudeList'
63 | actualBvlosLandingPoint:
64 | type: array
65 | items:
66 | type: object
67 | required: ['ts','actualBvlosLandingPoint_deg','actualBVLOSLandingPointAlt_ft']
68 | properties:
69 | ts:
70 | $ref: '#/definitions/timestamp'
71 | actualBvlosLandingPoint_deg:
72 | $ref: '#/definitions/LatLonList'
73 | actualBVLOSLandingPointAlt_ft:
74 | $ref: '#/definitions/AltitudeList'
75 | landingOffset_ft:
76 | $ref: '#/definitions/NumberList'
77 | alongTrackDistanceFlown_ft:
78 | type: number
79 | distanceFromLaunchSite_ft:
80 | type: number
81 | bvlosLandingZoneSize_ft:
82 | $ref: '#/definitions/NumberList'
83 | bvlosLandingZoneStructure_deg:
84 | $ref: '#/definitions/LatLonList'
85 | bvlosLandingZonePeople_deg:
86 | $ref: '#/definitions/LatLonList'
87 | wxBvlosLandingZone:
88 | type: array
89 | items:
90 | type: object
91 | required: ['ts','wxBvlosLandingZone1Data','wxBvlosLandingZone2Data','wxBvlosLandingZone3Data']
92 | properties:
93 | ts:
94 | $ref: '#/definitions/timestamp'
95 | wxBvlosLandingZone1Data:
96 | $ref: '#/definitions/wxBvlosLandingZoneData'
97 | wxBvlosLandingZone2Data:
98 | $ref: '#/definitions/wxBvlosLandingZoneData'
99 | wxBvlosLandingZone3Data:
100 | $ref: '#/definitions/wxBvlosLandingZoneData'
101 | c2:
102 | type: array
103 | items:
104 | type: object
105 | required: ['ts','c2RssiAircraft_dBm','c2RssiGcs_dBm','c2NoiseAircraft_dBm','c2NoiseGcs_dBm']
106 | properties:
107 | ts:
108 | $ref: '#/definitions/timestamp'
109 | c2RssiAircraft_dBm:
110 | type: number
111 | c2RssiGcs_dBm:
112 | type: number
113 | c2NoiseAircraft_dBm:
114 | type: number
115 | c2NoiseGcs_dBm:
116 | type: number
117 |
118 | c2PacketLoss:
119 | type: array
120 | items:
121 | type: object
122 | required: ['ts','c2PacketLossRateAircraftPrct_nonDim','c2PacketLossRateGcsPrct_nonDim']
123 | properties:
124 | ts:
125 | $ref: '#/definitions/timestamp'
126 | c2PacketLossRateAircraftPrct_nonDim:
127 | type: number
128 | c2PacketLossRateGcsPrct_nonDim:
129 | type: number
130 |
131 | #CON.2-Contingency Initiation
132 |
133 | CON2_MOP:
134 | type: object
135 | required: ['basic','fType','UTM-TCL3-DMP-RevF-CONPDF','UTM-TCL3-DMP-RevF-CONKML','declaredEmerg','emergencyInitiationTime','emergencyCompletionTime','contingencyCause','contingencyResponse','plannedContingency','contingencyLanding','contingencyLoiterType','contingencyLoiterAlt','contingencyLoiterRadius']
136 | properties:
137 | basic:
138 | $ref: '#/definitions/basicInformation'
139 | fType:
140 | type: string
141 | enum:
142 | - CON2
143 | UTM-TCL3-DMP-RevF-CONPDF:
144 | $ref: '#/definitions/CONPDFFileName'
145 | UTM-TCL3-DMP-RevF-CONKML:
146 | $ref: '#/definitions/CONKMLFileName'
147 | declaredEmerg:
148 | type: array
149 | items:
150 | type: object
151 | required: ['ts','declaredEmergency']
152 | properties:
153 | ts:
154 | $ref: '#/definitions/timestamp'
155 | declaredEmergency:
156 | $ref: '#/definitions/string280'
157 | emergencyInitiationTime:
158 | type: array
159 | items:
160 | $ref: '#/definitions/timestamp'
161 | emergencyCompletionTime:
162 | type: array
163 | items:
164 | $ref: '#/definitions/timestamp'
165 |
166 | contingencyCause:
167 | type: array
168 | items:
169 | type: object
170 | required: ['ts','contingencyCause_nonDim']
171 | properties:
172 | ts:
173 | $ref: '#/definitions/timestamp'
174 | contingencyCause_nonDim:
175 | $ref: '#/definitions/ContingencyCauseNumberList'
176 | contingencyResponse:
177 | $ref: '#/definitions/contingencyResponse'
178 | plannedContingency:
179 | $ref: '#/definitions/plannedContingency'
180 | contingencyLanding:
181 | $ref: '#/definitions/contingencyLanding'
182 | contingencyLoiterType:
183 | $ref: '#/definitions/contingencyLoiterType'
184 | contingencyLoiterAlt:
185 | $ref: '#/definitions/contingencyLoiterAlt'
186 | contingencyLoiterRadius:
187 | $ref: '#/definitions/contingencyLoiterRadius'
188 |
189 | #CON.3-Public Portal
190 | #CON3_MOP The final deliverable for the Public Portal test will be a report delivered to the NASA CON3 test POC - Jeffrey Homola [jeffrey.r.homola@nasa.gov]
191 |
192 | #CON.4-Multiple TCL-2/3 operations for a sustained period
193 |
194 | CON4_MOP:
195 | type: object
196 | required: ['basic','fType','UTM-TCL3-DMP-RevF-CONPDF','UTM-TCL3-DMP-RevF-CONKML']
197 | properties:
198 | basic:
199 | $ref: '#/definitions/basicInformation'
200 | fType:
201 | type: string
202 | enum:
203 | - CON4
204 | UTM-TCL3-DMP-RevF-CONPDF:
205 | $ref: '#/definitions/CONPDFFileName'
206 | UTM-TCL3-DMP-RevF-CONKML:
207 | $ref: '#/definitions/CONKMLFileName'
208 |
209 | #CON.5-FIMS/USS interaction when vehicle heads towards controlled or unauthorized airspace
210 |
211 | CON5_MOP:
212 | type: object
213 | required: ['basic','fType','distFromBoundary','unauthorizedAirspaceStatus']
214 | properties:
215 | basic:
216 | $ref: '#/definitions/basicInformation'
217 | fType:
218 | type: string
219 | enum:
220 | - CON5
221 | distFromBoundary:
222 | type: array
223 | items:
224 | type: object
225 | required: ['ts','distFromBoundary_ft']
226 | properties:
227 | ts:
228 | $ref: '#/definitions/timestamp'
229 | distFromBoundary_ft:
230 | type: number
231 | unauthorizedAirspaceStatus:
232 | type: array
233 | items:
234 | type: object
235 | required: ['ts','unauthorizedAirspaceStatus_nonDim']
236 | properties:
237 | ts:
238 | $ref: '#/definitions/timestamp'
239 | unauthorizedAirspaceStatus_nonDim:
240 | type: integer
241 | enum:
242 | - 0
243 | - 1
244 |
245 |
246 | # definitions shared by the MOPs
247 |
248 | contingencyResponse:
249 | type: array
250 | items:
251 | type: object
252 | required: ['ts','contingencyResponse_nonDim']
253 | properties:
254 | ts:
255 | $ref: '#/definitions/timestamp'
256 | contingencyResponse_nonDim:
257 | type: integer
258 | enum:
259 | - 0
260 | - 1
261 | - 2
262 | - 3
263 |
264 | contingencyLanding:
265 | type: array
266 | items:
267 | type: object
268 | required: ['ts','contingencyLandingPoint_deg','contingencyLandingPointAlt_ft']
269 | properties:
270 | ts:
271 | $ref: '#/definitions/timestamp'
272 | contingencyLandingPoint_deg:
273 | $ref: '#/definitions/LatLonList'
274 | contingencyLandingPointAlt_ft:
275 | $ref: '#/definitions/AltitudeList'
276 |
277 | contingencyLoiterType:
278 | type: array
279 | items:
280 | type: object
281 | required: ['ts','contingencyLoiterType_nonDim']
282 | properties:
283 | ts:
284 | $ref: '#/definitions/timestamp'
285 | contingencyLoiterType_nonDim:
286 | type: integer
287 | enum:
288 | - 0
289 | - 1
290 | - 2
291 | - 3
292 |
293 | contingencyLoiterAlt:
294 | type: array
295 | items:
296 | type: object
297 | required: ['ts','contingencyLoiterAlt_ft']
298 | properties:
299 | ts:
300 | $ref: '#/definitions/timestamp'
301 | contingencyLoiterAlt_ft:
302 | $ref: '#/definitions/AltitudeList'
303 |
304 | contingencyLoiterRadius:
305 | type: array
306 | items:
307 | type: object
308 | required: ['ts','contingencyLoiterRadius_ft']
309 | properties:
310 | ts:
311 | $ref: '#/definitions/timestamp'
312 | contingencyLoiterRadius_ft:
313 | $ref: '#/definitions/NumberList'
314 |
315 | CONPDFFileName:
316 | type: string
317 | pattern: '^UTM-[^-]+-CON-[0-9]+.pdf$'
318 | example: 'UTM-UASORG-CON-3.pdf'
319 |
320 | CONKMLFileName:
321 | type: string
322 | pattern: '^UTM-[^-]+-CON-[0-9]+.kml$'
323 | example: 'UTM-UASORG-CON-3.kml'
324 |
325 | basicInformation:
326 | type: object
327 | required: ['uvin','gufi','submitTime','ussName','ussInstanceID']
328 | properties:
329 | uvin:
330 | $ref: '#/definitions/GUID'
331 | gufi:
332 | $ref: '#/definitions/GUID'
333 | submitTime:
334 | $ref: '#/definitions/timestamp'
335 | ussName:
336 | type: string
337 | ussInstanceID:
338 | $ref: '#/definitions/GUID'
339 |
340 | wxBvlosLandingZoneData:
341 | type: object
342 | required: ['temp','pressure','windSpeed','windDir']
343 | description: 4 numbers for temperature, air pressure (inHg), windspeed (ft/sec), wind direction
344 | properties:
345 | temp:
346 | type: number
347 | pressure:
348 | type: number
349 | minimum: 5
350 | maximum: 40
351 | windspeed:
352 | type: number
353 | minimum: 0
354 | maximum: 1000
355 | windDir:
356 | type: number
357 | minimum: 0
358 | maximum: 360
359 |
360 | plannedContingency:
361 | type: object
362 | required: ['plannedContingencyLandingPoint_deg','plannedContingencyLandingPointAlt_ft','plannedContingencyLoiterAlt_ft','plannedContingencyLoiterRadius_ft']
363 | properties:
364 | plannedContingencyLandingPoint_deg:
365 | $ref: '#/definitions/LatLonList'
366 | plannedContingencyLandingPointAlt_ft:
367 | $ref: '#/definitions/AltitudeList'
368 | plannedContingencyLoiterAlt_ft:
369 | $ref: '#/definitions/AltitudeList'
370 | plannedContingencyLoiterRadius_ft:
371 | $ref: '#/definitions/NumberList'
372 |
373 | # low level definitions
374 |
375 | timestamp:
376 | type: string
377 | pattern: '^2[0-9][0-9][0-9]-[01][0-9]-[0123][0-9]T[012][0-9]:[012345][0-9]:[012345][0-9]\.[0-9][0-9][0-9][0-9]*Z{0,1}$'
378 | example: '2018-03-05T19:56:23.445'
379 |
380 | string280:
381 | type: string
382 | maxLength: 280
383 |
384 | LatLon:
385 | description: Latitude and Longitude should have precision of 7 or more digits
386 | type: object
387 | required: ['lat','lon']
388 | properties:
389 | lat:
390 | type: number
391 | minimum: -90.0
392 | maximum: 90.0
393 | lon:
394 | type: number
395 | minimum: -180.0
396 | maximum: 180.0
397 |
398 | LatLonList:
399 | type: array
400 | minItems: 1
401 | items:
402 | $ref: '#/definitions/LatLon'
403 |
404 | AltitudeList:
405 | # positive and negative ints and floats (feet)
406 | type: array
407 | minItems: 1
408 | items:
409 | type: number
410 | example: [300,250,350,300.2,.345,-123.,0.0]
411 |
412 | ContingencyCauseNumberList:
413 | type: array
414 | minItems: 1
415 | items:
416 | type: integer
417 | minimum: 0
418 | maximum: 13
419 |
420 | NumberList:
421 | # postive ints and floats
422 | type: array
423 | minItems: 1
424 | items:
425 | type: number
426 | minimum: 0
427 |
428 | GUID:
429 | type: string
430 | format: uuid
431 | pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$'
432 | example: 'd7126818-d280-475f-aaee-c16e9c6f04e0'
433 | maxLength: 36
434 | minLength: 36
435 |
436 | # Added by API Auto Mocking Plugin
437 | host: virtserver.swaggerhub.com
438 | basePath: /NASA8/CON/V3.0
439 | schemes:
440 | - https
441 |
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/utm-tcl3-dat-4-99.yaml:
--------------------------------------------------------------------------------
1 | swagger: '2.0'
2 | info:
3 | version: "v1"
4 | title: DAT JSON upload format description
5 | description: Enforced upload format for DAT data
6 | contact:
7 | name: 'NASA Ames Research Center, Aviation Systems Division'
8 | url: 'https://utmregistry.arc.nasa.gov/'
9 | email: joseph.rios@nasa.gov
10 | license:
11 | name: NASA Open Source Agreement
12 | url: 'https://ti.arc.nasa.gov/opensource/nosa/'
13 | termsOfService: >-
14 | A. No Warranty: THE SUBJECT SOFTWARE IS PROVIDED \"AS IS\" WITHOUT ANY
15 | WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING,
16 | BUT NOT LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO
17 | SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
18 | PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT THE
19 | SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT DOCUMENTATION, IF
20 | PROVIDED, WILL CONFORM TO THE SUBJECT SOFTWARE. THIS AGREEMENT DOES NOT, IN
21 | ANY MANNER, CONSTITUTE AN ENDORSEMENT BY GOVERNMENT AGENCY OR ANY PRIOR
22 | RECIPIENT OF ANY RESULTS, RESULTING DESIGNS, HARDWARE, SOFTWARE PRODUCTS OR
23 | ANY OTHER APPLICATIONS RESULTING FROM USE OF THE SUBJECT SOFTWARE. FURTHER,
24 | GOVERNMENT AGENCY DISCLAIMS ALL WARRANTIES AND LIABILITIES REGARDING
25 | THIRD-PARTY SOFTWARE, IF PRESENT IN THE ORIGINAL SOFTWARE, AND DISTRIBUTES
26 | IT \"AS IS.\"
27 |
28 |
29 | B. Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS
30 | AGAINST THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS
31 | WELL AS ANY PRIOR RECIPIENT. IF RECIPIENT''S USE OF THE SUBJECT SOFTWARE
32 | RESULTS IN ANY LIABILITIES, DEMANDS, DAMAGES, EXPENSES OR LOSSES ARISING
33 | FROM SUCH USE, INCLUDING ANY DAMAGES FROM PRODUCTS BASED ON, OR RESULTING
34 | FROM, RECIPIENT''S USE OF THE SUBJECT SOFTWARE, RECIPIENT SHALL INDEMNIFY
35 | AND HOLD HARMLESS THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND
36 | SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT, TO THE EXTENT PERMITTED BY
37 | LAW. RECIPIENT''S SOLE REMEDY FOR ANY SUCH MATTER SHALL BE THE IMMEDIATE,
38 | UNILATERAL TERMINATION OF THIS AGREEMENT.
39 | paths: {}
40 | definitions:
41 | DAT4:
42 | description: >-
43 | DAT4 MOP collects metrics and data related to the UAS ID concept demo. This includes the technology used to identify the vehicle and HTTP request/response data resulting from the communication with the corresponding public safety USS. Further details are discused below.
44 | type: object
45 | required: ['basicUSS','fType','uas_id']
46 | properties:
47 | basic:
48 | $ref: '#/definitions/basicUSSInformation'
49 | fType:
50 | type: string
51 | pattern: 'DAT4'
52 | uas_id:
53 | $ref: '#/definitions/uas_id'
54 | DAT99:
55 | description: >-
56 | DAT 99 MOP records the various timestamps associated with the registration of a USS instance with the USS Discovery Service. In order to register a USS instance, a sequence of HTTP requests (PUT) and HTTP responses occur. For a given instance, we record the timestamps of these events. A USS instance can have one and only one data object (instance_reg_latency) described below.
57 | type: object
58 | required: ['basic','fType','instance_reg_latency']
59 | properties:
60 | basic:
61 | $ref: '#/definitions/basicUSSInformation'
62 | fType:
63 | type: string
64 | pattern: 'DAT99'
65 | instance_reg_latency:
66 | $ref: '#/definitions/instance_reg_latency'
67 |
68 |
69 | basicUSSInformation:
70 | type: object
71 | required: ['ussName','ussInstanceID']
72 | properties:
73 | ussName:
74 | type: string
75 | ussInstanceID:
76 | $ref: '#/definitions/GUID'
77 | GUID:
78 | type: string
79 | format: uuid
80 | pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$'
81 | example: 'd7126818-d280-475f-aaee-c16e9c6f04e0'
82 | maxLength: 36
83 | minLength: 36
84 |
85 | timestamp:
86 | type: string
87 | pattern: '^2[0-9][0-9][0-9]-[01][0-9]-[0123][0-9]T[012][0-9]:[012345][0-9]:[012345][0-9]\.[0-9][0-9][0-9][0-9]*Z{0,1}$'
88 | example: '2018-03-05T19:56:23.445'
89 |
90 | instance_reg_latency:
91 | type: object
92 | properties:
93 | timeInitialSubmission:
94 | description: >-
95 | Time of initial submission to USS Discovery Service.
96 | This is the inital PUT emanating from the USS instance to be
97 | registered to the USS Discovery Service URL. Uses the
98 | ISO 8601 format conforming to pattern: YYYY-MM-DDThh:mm:ss.sssZ.
99 | Seconds may have up to millisecond accuracy (three positions after
100 | decimal). The 'Z' implies UTC times and is the only timezone
101 | accepted.
102 | type: string
103 | pattern: '^2[0-9][0-9][0-9]-[01][0-9]-[0123][0-9]T[012][0-9]:[012345][0-9]:[012345][0-9]\.[0-9][0-9][0-9][0-9]*Z{0,1}$'
104 | example: '2018-03-05T19:56:23.445'
105 | timeFirstMsgRecieved:
106 | description: >-
107 | Time of first PUT message received from USS Discovery Service. USS Discover sends a PUT message to the callback URL in the JSON registration payload. Uses the
108 | ISO 8601 format conforming to pattern: YYYY-MM-DDThh:mm:ss.sssZ.
109 | Seconds may have up to millisecond accuracy (three positions after
110 | decimal). The 'Z' implies UTC times and is the only timezone
111 | accepted. Enter NULL if no messaged recieved.
112 | type: string
113 | pattern: '^2[0-9][0-9][0-9]-[01][0-9]-[0123][0-9]T[012][0-9]:[012345][0-9]:[012345][0-9]\.[0-9][0-9][0-9][0-9]*Z{0,1}$'
114 | example: '2018-03-05T19:56:23.445'
115 | timeLastMsgReceived:
116 | description: >-
117 | Time of final PUT received from USS Discovery Service. Uses the
118 | ISO 8601 format conforming to pattern: YYYY-MM-DDThh:mm:ss.sssZ.
119 | Seconds may have up to millisecond accuracy (three positions after
120 | decimal). The 'Z' implies UTC times and is the only timezone
121 | accepted. Enter NULL if no messaged recieved.
122 | type: string
123 | pattern: '^2[0-9][0-9][0-9]-[01][0-9]-[0123][0-9]T[012][0-9]:[012345][0-9]:[012345][0-9]\.[0-9][0-9][0-9][0-9]*Z{0,1}$'
124 | example: '2018-03-05T19:56:23.445'
125 | uas_id:
126 | type: array
127 | items:
128 | type: object
129 | properties:
130 | uvin:
131 | description: >-
132 | The uvin corresponding to the vehicle that is to be detected.
133 | type: string
134 | format: uuid
135 | maxLength: 36
136 | minLength: 36
137 | example: "00000000-0000-0000-0000-000000000000"
138 | gufi:
139 | description: >-
140 | The gufi corresponding to the flight of the vehicle that is to be detected.
141 | type: string
142 | format: uuid
143 | maxLength: 36
144 | minLength: 36
145 | example: "00000000-0000-0000-0000-000000000000"
146 | tech:
147 | description: >-
148 | The technology used to identify the vehicle and its position.
149 | type: string
150 | notes:
151 | type: string
152 | description: Any additional notes corresponding to particular UAS ID test flight (gufi) can be noted here.
153 | lookup:
154 | description: >-
155 | For a given (uvin,gufi) pair, the uss instance can perform one or more lookups
156 | type: array
157 | items:
158 | type: object
159 | properties:
160 | startTimeLookup:
161 | description: >-
162 | Time the lookup is initiated (via call to public safety USS URL). Uses the
163 | ISO 8601 format conforming to pattern: YYYY-MM-DDThh:mm:ss.sssZ.
164 | Seconds may have up to millisecond accuracy (three positions after
165 | decimal). The 'Z' implies UTC times and is the only timezone
166 | accepted.
167 | type: string
168 | pattern: '^2[0-9][0-9][0-9]-[01][0-9]-[0123][0-9]T[012][0-9]:[012345][0-9]:[012345][0-9]\.[0-9][0-9][0-9][0-9]*Z{0,1}$'
169 | example: '2018-03-05T19:56:23.445'
170 | endTimeLookup:
171 | description: >-
172 | Time the lookup is completed. If it does not complete, use NULL. Uses the
173 | ISO 8601 format conforming to pattern: YYYY-MM-DDThh:mm:ss.sssZ.
174 | Seconds may have up to millisecond accuracy (three positions after
175 | decimal). The 'Z' implies UTC times and is the only timezone
176 | accepted.
177 | type: string
178 | pattern: '^2[0-9][0-9][0-9]-[01][0-9]-[0123][0-9]T[012][0-9]:[012345][0-9]:[012345][0-9]\.[0-9][0-9][0-9][0-9]*Z{0,1}$'
179 | example: '2018-03-05T19:56:23.445'
180 | successfulLookupUasId:
181 | description: >-
182 | If the lookup process resulted in the expected response.
183 | type: boolean
184 | timeOfDetection:
185 | description: >-
186 | Time the vehicle was detected by the device. Uses the
187 | ISO 8601 format conforming to pattern: YYYY-MM-DDThh:mm:ss.sssZ.
188 | Seconds may have up to millisecond accuracy (three positions after
189 | decimal). The 'Z' implies UTC times and is the only timezone
190 | accepted.
191 | type: string
192 | pattern: '^2[0-9][0-9][0-9]-[01][0-9]-[0123][0-9]T[012][0-9]:[012345][0-9]:[012345][0-9]\.[0-9][0-9][0-9][0-9]*Z{0,1}$'
193 | example: '2018-03-05T19:56:23.445'
194 | vidPosLat:
195 | description: >-
196 | WGS84 latitude of the vehicle identification device at the time of detection
197 | type: number
198 | vidPosLon:
199 | description: >-
200 | WGS84 longitude of the vehicle identification device at the time of detection
201 | type: number
202 | vidPosAlt:
203 | description: >-
204 | WGS84 altitude of the vehicle identification device at the time of detection
205 | type: number
206 | publicSafetyRequestUrl:
207 | description: Complete GET request of public safety USS URL including any query parameters
208 | type: string
209 | publicSafetyResponse:
210 | description: Complete HTTP response from public safety USS
211 | type: string
212 | # Added by API Auto Mocking Plugin
213 | host: virtserver.swaggerhub.com
214 | basePath: /akishiha/DAT_USS/v1
215 | schemes:
216 | - https
217 |
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/utm-tcl3-dat-test-schema-v1.yaml:
--------------------------------------------------------------------------------
1 | info:
2 | description: >-
3 | This document collects the UTM TCL3 DAT Test data collection schemas as a swagger domain. These schemas specifically cover the DAT 2, DAT 3, and DAT 5 tests. A separate instance of the appropriate model should be provided by each participating USS for each run of a test. So, if DAT2 is run 4 times with the same two USSs, both USSs would submit 4 instances of model DAT2-DAT3. NASA will accept additional data fields in these models. Not all fields are required for each USS in each test. For questions, please contact joseph.rios@nasa.gov. The DAT 1 and DAT 4 tests are already described in the Data Management Plan. DAT 6 is covered via human factors data collection.
4 | version: v1
5 | title: UTM TCL3 DAT2,3,5 Test Data Collection Schemas
6 | contact:
7 | name: Joseph Rios
8 | email: joseph.rios@nasa.gov
9 | termsOfService: "Not for publid release. For NASA and UTM partner use only."
10 | definitions:
11 | DAT2-DAT3:
12 | properties:
13 | test_card:
14 | description: "The name or number of the test card. Should be able to cross-reference this with operations that were submitted during the run of this test card."
15 | minLength: 1
16 | type: string
17 | time_test_card_begin:
18 | description: >-
19 | Time the test card began executing.
20 | type: string
21 | format: date-time
22 | minLength: 20
23 | maxLength: 25
24 | example: '2015-08-20T14:11:56.118Z'
25 | time_test_card_begin_how_measured:
26 | description: >-
27 | The method for obtaining this timestamp. Suggested values include 'manually recorded', 'auto logged from USS', etc. Aim for consistency in values for this field in your data reporting.
28 | type: string
29 | time_component_failure_initiated:
30 | description: >-
31 | Time the failure was initiated. May not be known precisely by the reporting entity.
32 | type: string
33 | format: date-time
34 | minLength: 20
35 | maxLength: 25
36 | example: '2015-08-20T14:11:56.118Z'
37 | time_component_failure_initiated_how_measured:
38 | description: >-
39 | The method for obtaining this timestamp. Suggested values include 'manually recorded', 'auto logged from USS', etc. Aim for consistency in values for this field in your data reporting.
40 | type: string
41 | time_component_failure_recognized:
42 | description: >-
43 | Time the failure was recognize by entity submitting these data.
44 | type: string
45 | format: date-time
46 | minLength: 20
47 | maxLength: 25
48 | example: '2015-08-20T14:11:56.118Z'
49 | time_component_failure_reconized_how_measured:
50 | description: >-
51 | The method for obtaining this timestamp. Suggested values include 'manually recorded', 'auto logged from USS', etc. Aim for consistency in values for this field in your data reporting.
52 | type: string
53 | time_first_actions_initiated_based_on_failure:
54 | description: >-
55 | Time the entity submitting these data performed some action based on the failure.
56 | type: string
57 | format: date-time
58 | minLength: 20
59 | maxLength: 25
60 | example: '2015-08-20T14:11:56.118Z'
61 | time_first_actions_initiated_based_on_failure_how_measured:
62 | description: >-
63 | The method for obtaining this timestamp. Suggested values include 'manually recorded', 'auto logged from USS', etc. Aim for consistency in values for this field in your data reporting.
64 | type: string
65 | time_failed_component_recovered:
66 | description: >-
67 | Time the component recovered. May not be known precisely by the reporting entity.
68 | type: string
69 | format: date-time
70 | minLength: 20
71 | maxLength: 25
72 | example: '2015-08-20T14:11:56.118Z'
73 | time_failed_component_recovered_how_measured:
74 | description: >-
75 | The method for obtaining this timestamp. Suggested values include 'manually recorded', 'auto logged from USS', etc. Aim for consistency in values for this field in your data reporting.
76 | type: string
77 | time_recognizing_component_recognized_recovery:
78 | description: >-
79 | Time that the recovery was recognized.
80 | type: string
81 | format: date-time
82 | minLength: 20
83 | maxLength: 25
84 | example: '2015-08-20T14:11:56.118Z'
85 | time_recognizing_component_recognized_recovery_how_measured:
86 | description: >-
87 | The method for obtaining this timestamp. Suggested values include 'manually recorded', 'auto logged from USS', etc. Aim for consistency in values for this field in your data reporting.
88 | type: string
89 | operations_under_management_in_test:
90 | type: array
91 | items:
92 | type: string
93 | format: uuid
94 | minItems: 0
95 | maxItems: 300
96 | operations_airborne_at_failure:
97 | type: array
98 | items:
99 | type: string
100 | format: uuid
101 | minItems: 0
102 | maxItems: 300
103 | operations_onground_at_failure:
104 | type: array
105 | items:
106 | type: string
107 | format: uuid
108 | minItems: 0
109 | maxItems: 300
110 | modified_operations_due_to_failure:
111 | type: array
112 | items:
113 | type: string
114 | format: uuid
115 | minItems: 0
116 | maxItems: 300
117 | cancelled_operations_due_to_failure:
118 | type: array
119 | items:
120 | type: string
121 | format: uuid
122 | minItems: 0
123 | maxItems: 300
124 | notes:
125 | type: string
126 |
127 | DAT5:
128 | properties:
129 | test_card:
130 | description: >-
131 | The name or number of the test card. Should be able to cross-reference this with operations that were submitted during the run of this test card.
132 | minLength: 1
133 | type: string
134 | time_test_card_begin:
135 | description: >-
136 | Time the test card began executing.
137 | type: string
138 | format: date-time
139 | minLength: 20
140 | maxLength: 25
141 | example: '2015-08-20T14:11:56.118Z'
142 | time_test_card_begin_how_measured:
143 | description: >-
144 | The method for obtaining this timestamp. Suggested values include 'manually recorded', 'auto logged from USS', etc. Aim for consistency in values for this field in your data reporting.
145 | type: string
146 | operations_in_negotiation:
147 | description: >-
148 | An array of gufi's involved in negotiation.
149 | type: array
150 | items:
151 | type: string
152 | format: uuid
153 | minLength: 2
154 | time_conflict_first_recognized:
155 | description: >-
156 | The time the conflict being negotiated was first recognized by at least one party.
157 | type: string
158 | format: date-time
159 | minLength: 20
160 | maxLength: 25
161 | example: '2015-08-20T14:11:56.118Z'
162 | time_conflict_first_recognized_how_measured:
163 | description: >-
164 | The method for obtaining this timestamp. Suggested values include 'manually recorded', 'auto logged from USS', etc. Aim for consistency in values for this field in your data reporting.
165 | type: string
166 | time_first_negotiation_message_sent:
167 | description: >-
168 | The first negotiation was sent.
169 | type: string
170 | format: date-time
171 | minLength: 20
172 | maxLength: 25
173 | example: '2015-08-20T14:11:56.118Z'
174 | time_first_negotiation_message_sent_how_measured:
175 | description: >-
176 | The method for obtaining this timestamp. Suggested values include 'manually recorded', 'auto logged from USS', etc. Aim for consistency in values for this field in your data reporting.
177 | type: string
178 | time_last_negotiation_message_sent:
179 | type: string
180 | format: date-time
181 | minLength: 20
182 | maxLength: 25
183 | example: '2015-08-20T14:11:56.118Z'
184 | time_last_negotiation_message_sent_how_measured:
185 | description: >-
186 | The method for obtaining this timestamp. Suggested values include 'manually recorded', 'auto logged from USS', etc. Aim for consistency in values for this field in your data reporting.
187 | type: string
188 | number_of_negotiation_messages_sent:
189 | description: >-
190 | Total number of negotiation messages sent.
191 | type: number
192 | format: int32
193 | conflict_resolved:
194 | description: >-
195 | Was the conflict resolved?
196 | type: boolean
197 | notes:
198 | description: >-
199 | Any notes would be valuable. If there is an external reference for the negotiation approach, please provide pointer to that reference here.
200 | type: string
--------------------------------------------------------------------------------
/TCL3/tcl3-data-apis/utm-tcl3-flight-data.yaml:
--------------------------------------------------------------------------------
1 | swagger: '2.0'
2 | info:
3 | version: "v3"
4 | title: Flight Data JSON upload format description
5 | description: Enforced upload format for FLIGHT_DATA
6 | contact:
7 | name: 'NASA Ames Research Center, Aviation Systems Division'
8 | url: 'https://utmregistry.arc.nasa.gov/'
9 | email: joseph.rios@nasa.gov
10 | license:
11 | name: NASA Open Source Agreement
12 | url: 'https://ti.arc.nasa.gov/opensource/nosa/'
13 | termsOfService: >-
14 | A. No Warranty: THE SUBJECT SOFTWARE IS PROVIDED \"AS IS\" WITHOUT ANY
15 | WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING,
16 | BUT NOT LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO
17 | SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
18 | PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT THE
19 | SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT DOCUMENTATION, IF
20 | PROVIDED, WILL CONFORM TO THE SUBJECT SOFTWARE. THIS AGREEMENT DOES NOT, IN
21 | ANY MANNER, CONSTITUTE AN ENDORSEMENT BY GOVERNMENT AGENCY OR ANY PRIOR
22 | RECIPIENT OF ANY RESULTS, RESULTING DESIGNS, HARDWARE, SOFTWARE PRODUCTS OR
23 | ANY OTHER APPLICATIONS RESULTING FROM USE OF THE SUBJECT SOFTWARE. FURTHER,
24 | GOVERNMENT AGENCY DISCLAIMS ALL WARRANTIES AND LIABILITIES REGARDING
25 | THIRD-PARTY SOFTWARE, IF PRESENT IN THE ORIGINAL SOFTWARE, AND DISTRIBUTES
26 | IT \"AS IS.\"
27 |
28 |
29 | B. Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS
30 | AGAINST THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS
31 | WELL AS ANY PRIOR RECIPIENT. IF RECIPIENT''S USE OF THE SUBJECT SOFTWARE
32 | RESULTS IN ANY LIABILITIES, DEMANDS, DAMAGES, EXPENSES OR LOSSES ARISING
33 | FROM SUCH USE, INCLUDING ANY DAMAGES FROM PRODUCTS BASED ON, OR RESULTING
34 | FROM, RECIPIENT''S USE OF THE SUBJECT SOFTWARE, RECIPIENT SHALL INDEMNIFY
35 | AND HOLD HARMLESS THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND
36 | SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT, TO THE EXTENT PERMITTED BY
37 | LAW. RECIPIENT''S SOLE REMEDY FOR ANY SUCH MATTER SHALL BE THE IMMEDIATE,
38 | UNILATERAL TERMINATION OF THIS AGREEMENT.
39 | paths: {}
40 | definitions:
41 |
42 |
43 | FLIGHT_DATA:
44 | type: object
45 | required: ['basic','fType','auxiliaryUASOperation','aircraftFlightPlan','uasState']
46 | properties:
47 | basic:
48 | $ref: '#/definitions/basicInformation'
49 | fType:
50 | type: string
51 | enum:
52 | - FLIGHT_DATA
53 | auxiliaryUASOperation:
54 | type: object
55 | required: ['typeOfOperation','flightTestCardName','testIdentifiers','takeoffWeight_lb','takeOffTime','takeoffPosLat_deg','takeoffPosLon_deg','takeoffPosAlt_ft','landingTime','landingPosLat_deg','landingPosLon_deg','landingPosAlt_ft','gcsPosLat_deg','gcsPosLon_deg','gcsPosAlt_ft']
56 | properties:
57 | typeOfOperation:
58 | type: string
59 | enum:
60 | - Live
61 | - Simulated
62 | flightTestCardName:
63 | type: string
64 | testIdentifiers:
65 | $ref: '#/definitions/MOPTypes'
66 | takeoffWeight_lb:
67 | type: number
68 | takeOffTime:
69 | $ref: '#/definitions/timestamp'
70 | takeoffPosLat_deg:
71 | $ref: '#/definitions/LAT'
72 | takeoffPosLon_deg:
73 | $ref: '#/definitions/LON'
74 | takeoffPosAlt_ft:
75 | type: number
76 | landingTime:
77 | $ref: '#/definitions/timestamp'
78 | landingPosLat_deg:
79 | $ref: '#/definitions/LAT'
80 | landingPosLon_deg:
81 | $ref: '#/definitions/LON'
82 | landingPosAlt_ft:
83 | type: number
84 | gcsPosLat_deg:
85 | $ref: '#/definitions/LAT'
86 | gcsPosLon_deg:
87 | $ref: '#/definitions/LON'
88 | gcsPosAlt_ft:
89 | type: number
90 | aircraftFlightPlan:
91 | type: array
92 | items:
93 | type: object
94 | required: ['wpSequenceNum_nonDim','wpType_nonDim','wpLat_deg','wpLon_deg','wpAlt_ft','wpTargetGroundSpeed_ftPerSec','wpTargetAirSpeed_ftPerSec','hoverTime_sec','wpTime']
95 | properties:
96 | wpSequenceNum_nonDim:
97 | type: integer
98 | wpType_nonDim:
99 | type: integer
100 | enum:
101 | - 0
102 | - 1
103 | wpLat_deg:
104 | $ref: '#/definitions/LAT'
105 | wpLon_deg:
106 | $ref: '#/definitions/LON'
107 | wpAlt_ft:
108 | type: number
109 | wpTargetGroundSpeed_ftPerSec:
110 | type: number
111 | wpTargetAirSpeed_ftPerSec:
112 | type: number
113 | hoverTime_sec:
114 | type: number
115 | wpTime:
116 | $ref: '#/definitions/timestamp'
117 | uasState:
118 | type: array
119 | items:
120 | type: object
121 | required: ['ts','sensor','value']
122 | properties:
123 | ts:
124 | $ref: '#/definitions/timestamp'
125 | sensor:
126 | $ref: '#/definitions/sensorList'
127 | value:
128 | $ref: '#/definitions/intOrFloatList'
129 | example:
130 | - ts: 2018-03-12T16:02:00.000
131 | sensor: 'vehiclePositionLat_deg,vehiclePositionLon_deg,vehiclePositionAlt_ft'
132 | value: '37.246973,-115.799630,4500'
133 | - ts: 2018-03-12T16:03:00.000
134 | sensor: 'vehiclePositionLat_deg,vehiclePositionLon_deg,vehiclePositionAlt_ft'
135 | value: '37.233200,-115.792284,5000'
136 | - ts: 2018-03-12T16:04:00.000
137 | sensor: 'vehiclePositionLat_deg,vehiclePositionLon_deg,vehiclePositionAlt_ft'
138 | value: '37.219504,-115.785051,5500'
139 |
140 |
141 |
142 |
143 | # definitions shared by the MOPs
144 |
145 | intOrFloatList:
146 | type: array
147 | items:
148 | type: number
149 |
150 | sensorList:
151 | type: array
152 | items:
153 | $ref: '#/definitions/sensorItem'
154 |
155 | sensorItem:
156 | type: string
157 | enum:
158 | - aboveTerrainAltitude_ft
159 | - accBodyX_ftPerSec2
160 | - accBodyY_ftPerSec2
161 | - accBodyZ_ftPerSec2
162 | - acousticSensorAltitude_ft
163 | - aileronActuatorCommand_nonDim
164 | - aircraftAirborneState_nonDim
165 | - aircraftControlMode
166 | - altitudeUsedByAutopilot_ft
167 | - angleOfAttack_deg
168 | - barometricAltitude_ft
169 | - barometricPressure_psi
170 | - batteryCurrent_a
171 | - batteryVoltage_v
172 | - c2NoiseAircraft_dBm
173 | - c2NoiseGcs_dBm
174 | - c2PacketLossRateAircraftPrct_nonDim
175 | - c2PacketLossRateGcsPrct_nonDim
176 | - c2RssiAircraft_dBm
177 | - c2RssiGcs_dBm
178 | - elevatorActuatorCommand_nonDim
179 | - flapActuatorCommand_nonDim
180 | - groundCourse_deg
181 | - groundSpeed_ftPerSec
182 | - hdop_nonDim
183 | - imageSensorAltitude_ft
184 | - indicatedAirspeed_ftPerSec
185 | - landingGearActuatorCommand_nonDim
186 | - laserSensorAltitude_ft
187 | - lateralNavPositionError_ft
188 | - lateralNavVelocityError_ftPerSec
189 | - minDistToDefinedAreaLateralBoundary_ft
190 | - minDistToDefinedAreaVerticalBoundary_ft
191 | - motor10ControlThrottleCommand_nonDim
192 | - motor11ControlThrottleCommand_nonDim
193 | - motor12ControlThrottleCommand_nonDim
194 | - motor13ControlThrottleCommand_nonDim
195 | - motor14ControlThrottleCommand_nonDim
196 | - motor15ControlThrottleCommand_nonDim
197 | - motor16ControlThrottleCommand_nonDim
198 | - motor1ControlThrottleCommand_nonDim
199 | - motor2ControlThrottleCommand_nonDim
200 | - motor3ControlThrottleCommand_nonDim
201 | - motor4ControlThrottleCommand_nonDim
202 | - motor5ControlThrottleCommand_nonDim
203 | - motor6ControlThrottleCommand_nonDim
204 | - motor7ControlThrottleCommand_nonDim
205 | - motor8ControlThrottleCommand_nonDim
206 | - motor9ControlThrottleCommand_nonDim
207 | - numGpsSat_nonDim
208 | - numGpsSatellitesInView_nonDim
209 | - opticalSensorAltitude_ft
210 | - pitchRate_degPerSec
211 | - pitch_deg
212 | - radarSensorAltitude_ft
213 | - rollRate_degPerSec
214 | - roll_deg
215 | - rudderActuatorCommand_nonDim
216 | - sideSlip_deg
217 | - targetAirSpeed_ftPerSec
218 | - targetGroundSpeed_ftPerSec
219 | - targetWaypointAlt_ft
220 | - targetWaypointLat_deg
221 | - targetWaypointLon_deg
222 | - trueAirspeed_ftPerSec
223 | - vdop_nonDim
224 | - vehiclePositionAlt_ft
225 | - vehiclePositionLat_deg
226 | - vehiclePositionLon_deg
227 | - velDown_ftPerSec
228 | - velEast_ftPerSec
229 | - velNorth_ftPerSec
230 | - verticalNavPositionError_ft
231 | - verticalNavVelocityError_ftPerSec
232 | - yawRate_degPerSec
233 | - yaw_deg
234 |
235 | LAT:
236 | type: number
237 | minimum: -90
238 | maximum: 90
239 |
240 | LON:
241 | type: number
242 | minimum: -180
243 | maximum: 180
244 |
245 | basicInformation:
246 | type: object
247 | required: ['uvin','gufi','submitTime','ussName','ussInstanceID']
248 | properties:
249 | uvin:
250 | $ref: '#/definitions/GUID'
251 | gufi:
252 | $ref: '#/definitions/GUID'
253 | submitTime:
254 | $ref: '#/definitions/timestamp'
255 | ussName:
256 | type: string
257 | ussInstanceID:
258 | $ref: '#/definitions/GUID'
259 |
260 | MOPType:
261 | type: string
262 | pattern: '^((CNS)\.{0,1}[123])|((SAA)\.{0,1}[1-6])|((DAT)\.{0,1}([1-6]|(4\.1)|(4\.2)|(4\.3)|(99\.1)))|((CON)\.{0,1}[1-5])|(OMEGA1)*$'
263 | example:
264 | cns1: 'CNS1'
265 | cns2: 'CNS.2'
266 | saa3: 'SAA3'
267 | dat1: 'DAT1'
268 | dat2: 'DAT.2'
269 | dat4: 'DAT.4'
270 | dat99: 'DAT99.1'
271 | con3: 'CON3'
272 | omega1: 'OMEGA1'
273 |
274 | MOPTypes:
275 | type: array
276 | minItems: 1
277 | items:
278 | $ref: '#/definitions/MOPType'
279 |
280 | # low level definitions
281 |
282 | timestamp:
283 | type: string
284 | pattern: '^2[0-9][0-9][0-9]-[01][0-9]-[0123][0-9]T[012][0-9]:[012345][0-9]:[012345][0-9]\.[0-9][0-9][0-9][0-9]*Z{0,1}$'
285 | example: '2018-03-05T19:56:23.445'
286 |
287 | GUID:
288 | type: string
289 | format: uuid
290 | pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$'
291 | example: 'd7126818-d280-475f-aaee-c16e9c6f04e0'
292 | maxLength: 36
293 | minLength: 36
294 |
295 |
--------------------------------------------------------------------------------
/TCL4 Data Management/main.css:
--------------------------------------------------------------------------------
1 | html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}[hidden],template{display:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,optgroup,select,textarea{font:inherit;margin:0}optgroup{font-weight:700}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.org-bold{font-weight:700}.org-bold-italic{font-weight:700;font-style:italic}.org-buffer-menu-buffer{font-weight:700}.org-builtin{color:#483d8b}.org-button{color:#3a5fcd;text-decoration:underline}.org-calendar-month-header{color:#00f}.org-calendar-today{text-decoration:underline}.org-calendar-weekday-header{color:#008b8b}.org-calendar-weekend-header{color:#b22222}.org-comint-highlight-input{font-weight:700}.org-comint-highlight-prompt{color:#0000cd}.org-comment,.org-comment-delimiter{color:#b22222}.org-constant{color:#008b8b}.org-diary{color:red}.org-doc{color:#8b2252}.org-error{color:red;font-weight:700}.org-escape-glyph{color:brown}.org-file-name-shadow{color:#7f7f7f}.org-fringe{background-color:#f2f2f2}.org-function-name{color:#00f}.org-glyphless-char{font-size:60%}.org-header-line{color:#333;background-color:#e5e5e5}.org-help-argument-name{font-style:italic}.org-highlight{background-color:#b4eeb4}.org-holiday{background-color:pink}.org-info-header-node{color:brown;font-weight:700;font-style:italic}.org-info-header-xref{color:#3a5fcd;text-decoration:underline}.org-info-index-match{background-color:#ff0}.org-info-menu-header{font-weight:700}.org-info-menu-star{color:red}.org-info-node{color:brown;font-weight:700;font-style:italic}.org-info-title-1{font-size:172%;font-weight:700}.org-info-title-2{font-size:144%;font-weight:700}.org-info-title-3{font-size:120%;font-weight:700}.org-info-title-4{font-weight:700}.org-info-xref{color:#3a5fcd;text-decoration:underline}.org-italic{font-style:italic}.org-keyword{color:#a020f0}.org-lazy-highlight{background-color:#afeeee}.org-link{color:#3a5fcd;text-decoration:underline}.org-link-visited{color:#8b008b;text-decoration:underline}.org-makefile-makepp-perl{background-color:#bfefff}.org-makefile-space{background-color:#ff69b4}.org-makefile-targets{color:#00f}.org-match{background-color:#ff0}.org-next-error{background-color:gtk_selection_bg_color}.org-nobreak-space{color:brown;text-decoration:underline}.org-org-agenda-calendar-event,.org-org-agenda-calendar-sexp{color:#000;background-color:#fff}.org-org-agenda-clocking{background-color:#ff0}.org-org-agenda-column-dateline{background-color:#e5e5e5}.org-org-agenda-current-time{color:#b8860b}.org-org-agenda-date{color:#00f}.org-org-agenda-date-today{color:#00f;font-weight:700;font-style:italic}.org-org-agenda-date-weekend{color:#00f;font-weight:700}.org-org-agenda-diary{color:#000;background-color:#fff}.org-org-agenda-dimmed-todo{color:#7f7f7f}.org-org-agenda-done{color:#228b22}.org-org-agenda-filter-category,.org-org-agenda-filter-effort,.org-org-agenda-filter-regexp,.org-org-agenda-filter-tags{color:#000;background-color:#bfbfbf}.org-org-agenda-restriction-lock{background-color:#eee}.org-org-agenda-structure{color:#00f}.org-org-archived,.org-org-block{color:#7f7f7f}.org-org-block-begin-line,.org-org-block-end-line{color:#b22222}.org-org-checkbox{font-weight:700}.org-org-checkbox-statistics-done{color:#228b22;font-weight:700}.org-org-checkbox-statistics-todo{color:red;font-weight:700}.org-org-clock-overlay{color:#000;background-color:#d3d3d3}.org-org-code{color:#7f7f7f}.org-org-column,.org-org-column-title{background-color:#e5e5e5}.org-org-column-title{font-weight:700;text-decoration:underline}.org-org-date{color:#a020f0;text-decoration:underline}.org-org-date-selected{color:red}.org-org-default{color:#000;background-color:#fff}.org-org-document-info{color:#191970}.org-org-document-info-keyword{color:#7f7f7f}.org-org-document-title{color:#191970;font-weight:700}.org-org-done{color:#228b22;font-weight:700}.org-org-drawer{color:#00f}.org-org-ellipsis{color:#b8860b;text-decoration:underline}.org-org-footnote{color:#a020f0;text-decoration:underline}.org-org-formula{color:#b22222}.org-org-headline-done{color:#bc8f8f}.org-org-hide{color:#fff}.org-org-latex-and-related{color:#8b4513}.org-org-level-1{color:#00f}.org-org-level-2{color:sienna}.org-org-level-3{color:#a020f0}.org-org-level-4{color:#b22222}.org-org-level-5{color:#228b22}.org-org-level-6{color:#008b8b}.org-org-level-7{color:#483d8b}.org-org-level-8{color:#8b2252}.org-org-link{color:#3a5fcd;text-decoration:underline}.org-org-list-dt{font-weight:700}.org-org-macro{color:#8b4513}.org-org-meta-line{color:#b22222}.org-org-mode-line-clock{color:#000;background-color:#bfbfbf}.org-org-mode-line-clock-overrun{color:#000;background-color:red}.org-org-priority{color:#a020f0}.org-org-quote{color:#7f7f7f}.org-org-scheduled{color:#006400}.org-org-scheduled-previously{color:#b22222}.org-org-scheduled-today{color:#006400}.org-org-sexp-date,.org-org-special-keyword{color:#a020f0}.org-org-table{color:#00f}.org-org-tag,.org-org-tag-group{font-weight:700}.org-org-target{text-decoration:underline}.org-org-time-grid{color:#b8860b}.org-org-todo{color:red;font-weight:700}.org-org-upcoming-deadline{color:#b22222}.org-org-verbatim,.org-org-verse{color:#7f7f7f}.org-org-warning{color:red;font-weight:700}.org-outline-1{color:#00f}.org-outline-2{color:sienna}.org-outline-3{color:#a020f0}.org-outline-4{color:#b22222}.org-outline-5{color:#228b22}.org-outline-6{color:#008b8b}.org-outline-7{color:#483d8b}.org-outline-8{color:#8b2252}.org-preprocessor{color:#483d8b}.org-regexp-grouping-backslash,.org-regexp-grouping-construct{font-weight:700}.org-region{background-color:gtk_selection_bg_color}.org-secondary-selection{background-color:#ff0}.org-shadow{color:#7f7f7f}.org-show-paren-match{background-color:#40e0d0}.org-show-paren-mismatch{color:#fff;background-color:#a020f0}.org-string{color:#8b2252}.org-success{color:#228b22;font-weight:700}.org-table-cell{color:#e5e5e5;background-color:#00f}.org-tooltip{color:#000;background-color:#ffffe0}.org-trailing-whitespace{background-color:red}.org-type{color:#228b22}.org-underline{text-decoration:underline}.org-variable-name{color:sienna}.org-warning{color:#ff8c00;font-weight:700}.org-warning-1{color:red;font-weight:700}body{width:95%;margin:2% auto;font-size:14px;line-height:1.4em;font-family:Georgia,serif;color:#333}@media screen and (min-width:600px){body{font-size:18px}}@media screen and (min-width:910px){body{width:900px}}::-moz-selection{background:#d6edff}::selection{background:#d6edff}dl,ol,p,ul{margin:0 auto}.title{margin:.8em auto;color:#000}.subtitle,.title{text-align:center}.subtitle{font-size:1.1em;line-height:1.4;font-weight:700;margin:1em auto}.abstract{margin:auto;width:80%;font-style:italic}.abstract p:last-of-type:before{content:" ";white-space:pre}.status{font-size:90%;margin:2em auto}[class^=section-number-]{margin-right:.5em}[id^=orgheadline]{clear:both}#footnotes{font-size:90%}.footpara{display:inline;margin:.2em auto}.footdef{margin-bottom:1em}.footdef sup{padding-right:.5em}a{color:#527d9a;text-decoration:none}a:hover{color:#035;border-bottom:1px dotted}figure{padding:0;margin:1em auto;text-align:center}img{max-width:100%;vertical-align:middle}.MathJax_Display{margin:0!important;width:90%!important}h1,h2,h3,h4,h5,h6{color:#a5573e;line-height:1em;font-family:Helvetica,sans-serif}h1,h2,h3{line-height:1.4em}h4,h5,h6{font-size:1em}@media screen and (min-width:600px){h1{font-size:2em}h2{font-size:1.5em}h3{font-size:1.3em}h1,h2,h3{line-height:1.4em}h4,h5,h6{font-size:1.1em}}dt{font-weight:700}table{margin:1em auto;border-top:2px solid;border-collapse:collapse}table,thead{border-bottom:2px solid}table td+td,table th+th{border-left:1px solid gray}table tr{border-top:1px solid #d3d3d3}td,th{padding:.3em .6em;vertical-align:middle}caption.t-above{caption-side:top}caption.t-bottom{caption-side:bottom}caption{margin-bottom:.3em}figcaption{margin-top:.3em}th.org-center,th.org-left,th.org-right{text-align:center}td.org-right{text-align:right}td.org-left{text-align:left}td.org-center{text-align:center}blockquote{margin:1em 2em;padding-left:1em;border-left:3px solid #ccc}kbd{background-color:#f7f7f7;font-size:80%;margin:0 .1em;padding:.1em .6em}.todo{background-color:red}.done,.todo{color:#fff;padding:.1em .3em;border-radius:3px;background-clip:padding-box;font-size:80%;font-family:Lucida Console,monospace;line-height:1}.done{background-color:green}.priority{color:orange;font-family:Lucida Console,monospace}#table-of-contents li{clear:both}.tag{font-family:Lucida Console,monospace;font-size:.7em;font-weight:400}.tag span{padding:.3em;float:right;margin-right:.5em;border:1px solid #bbb;border-radius:3px;background-clip:padding-box;color:#333;background-color:#eee;line-height:1}.timestamp{color:#000;font-size:90%}.timestamp-kwd{color:#5f9ea0}.org-right{margin-left:auto;margin-right:0;text-align:right}.org-left{margin-left:0;margin-right:auto;text-align:left}.org-center{margin-left:auto;margin-right:auto;text-align:center}.underline{text-decoration:underline}#postamble p,#preamble p{font-size:90%;margin:.2em}p.verse{margin-left:3%}:not(pre)>code{padding:2px 5px;margin:auto 1px;border:1px solid #ddd;border-radius:3px;background-clip:padding-box;color:#333;font-size:80%}.org-src-container{border:1px solid #ccc;box-shadow:3px 3px 3px #eee;font-family:Lucida Console,monospace;font-size:80%;margin:1em auto;padding:.1em .5em;position:relative}.org-src-container>pre{overflow:auto}.org-src-container>pre:before{display:block;position:absolute;background-color:#b3b3b3;top:0;right:0;padding:0 .5em;border-bottom-left-radius:8px;border:0;color:#fff;font-size:80%}.org-src-container>pre.src-sh:before{content:"sh"}.org-src-container>pre.src-bash:before{content:"bash"}.org-src-container>pre.src-emacs-lisp:before{content:"Emacs Lisp"}.org-src-container>pre.src-R:before{content:"R"}.org-src-container>pre.src-cpp:before{content:"C++"}.org-src-container>pre.src-c:before{content:"C"}.org-src-container>pre.src-html:before{content:"HTML"}.org-src-container>pre.src-javascript:before,.org-src-container>pre.src-js:before{content:"Javascript"}// More languages 0% http://orgmode.org/worg/org-contrib/babel/languages.html .org-src-container>pre.src-abc:before{content:"ABC"}.org-src-container>pre.src-asymptote:before{content:"Asymptote"}.org-src-container>pre.src-awk:before{content:"Awk"}.org-src-container>pre.src-C:before{content:"C"}.org-src-container>pre.src-calc:before{content:"Calc"}.org-src-container>pre.src-clojure:before{content:"Clojure"}.org-src-container>pre.src-comint:before{content:"comint"}.org-src-container>pre.src-css:before{content:"CSS"}.org-src-container>pre.src-D:before{content:"D"}.org-src-container>pre.src-ditaa:before{content:"Ditaa"}.org-src-container>pre.src-dot:before{content:"Dot"}.org-src-container>pre.src-ebnf:before{content:"ebnf"}.org-src-container>pre.src-forth:before{content:"Forth"}.org-src-container>pre.src-F90:before{content:"Fortran"}.org-src-container>pre.src-gnuplot:before{content:"Gnuplot"}.org-src-container>pre.src-haskell:before{content:"Haskell"}.org-src-container>pre.src-io:before{content:"Io"}.org-src-container>pre.src-java:before{content:"Java"}.org-src-container>pre.src-latex:before{content:"LaTeX"}.org-src-container>pre.src-ledger:before{content:"Ledger"}.org-src-container>pre.src-ly:before{content:"Lilypond"}.org-src-container>pre.src-lisp:before{content:"Lisp"}.org-src-container>pre.src-makefile:before{content:"Make"}.org-src-container>pre.src-matlab:before{content:"Matlab"}.org-src-container>pre.src-max:before{content:"Maxima"}.org-src-container>pre.src-mscgen:before{content:"Mscgen"}.org-src-container>pre.src-Caml:before{content:"Objective"}.org-src-container>pre.src-octave:before{content:"Octave"}.org-src-container>pre.src-org:before{content:"Org"}.org-src-container>pre.src-perl:before{content:"Perl"}.org-src-container>pre.src-picolisp:before{content:"Picolisp"}.org-src-container>pre.src-plantuml:before{content:"PlantUML"}.org-src-container>pre.src-python:before{content:"Python"}.org-src-container>pre.src-ruby:before{content:"Ruby"}.org-src-container>pre.src-sass:before{content:"Sass"}.org-src-container>pre.src-scala:before{content:"Scala"}.org-src-container>pre.src-scheme:before{content:"Scheme"}.org-src-container>pre.src-screen:before{content:"Screen"}.org-src-container>pre.src-sed:before{content:"Sed"}.org-src-container>pre.src-shell:before{content:"shell"}.org-src-container>pre.src-shen:before{content:"Shen"}.org-src-container>pre.src-sql:before{content:"SQL"}.org-src-container>pre.src-sqlite:before{content:"SQLite"}.org-src-container>pre.src-stan:before{content:"Stan"}.org-src-container>pre.src-vala:before{content:"Vala"}.org-src-container>pre.src-axiom:before{content:"Axiom"}.org-src-container>pre.src-browser:before{content:"HTML"}.org-src-container>pre.src-cypher:before{content:"Neo4j"}.org-src-container>pre.src-elixir:before{content:"Elixir"}.org-src-container>pre.src-request:before{content:"http"}.org-src-container>pre.src-ipython:before{content:"iPython"}.org-src-container>pre.src-kotlin:before{content:"Kotlin"}.org-src-container>pre.src-Flavored Erlang lfe:before{content:"Lisp"}.org-src-container>pre.src-mongo:before{content:"MongoDB"}.org-src-container>pre.src-prolog:before{content:"Prolog"}.org-src-container>pre.src-rec:before{content:"rec"}.org-src-container>pre.src-ML sml:before{content:"Standard"}.org-src-container>pre.src-Translate translate:before{content:"Google"}.org-src-container>pre.src-typescript:before{content:"Typescript"}.org-src-container>pre.src-rust:before{content:"Rust"}.inlinetask{background:#ffc;border:2px solid gray;margin:10px;padding:10px}#org-div-home-and-up{font-size:70%;text-align:right;white-space:nowrap}.linenr{font-size:90%}.code-highlighted{background-color:#ff0}#bibliography{font-size:90%}#bibliography table{width:100%}.creator{display:block}@media screen and (min-width:600px){.creator{display:inline;float:right}}
2 |
--------------------------------------------------------------------------------
/TCL4 Data Management/main.org:
--------------------------------------------------------------------------------
1 | #+HTML_HEAD:
2 |
3 |
4 |
5 |
6 | #+SETUPFILE: https://fniessen.github.io/org-html-themes/setup/theme-readtheorg.setup
7 | #+HTML_HEAD:
8 | #+OPTIONS: ^:nil
9 |
10 |
11 | #+TITLE: UTM TCL4 DMP API and Data Models
12 | #+AUTHOR: Abraham K. Ishihara
13 | #+DATE: 2019-03-15
14 | #+OPTIONS: creator:nil
15 | * Introduction
16 | This document describes the API specification and implementation *release schedule* for UTM TCL4 DMP data collection efforts. It will be updated frequently. The specification and associated data models are described using OpenAPI Specification (OAS) 2.0 (=https://github.com/OAI/OpenAPI-Specification=) and can be found in the GIT repository located at
17 | #+BEGIN_SRC
18 | https://github.com/nasa/utm-docs/tree/master/TCL4%20Data%20Management
19 | #+END_SRC
20 | * API and Data Model Specification Release Schedule
21 | The GIT repository for the DMP API and data models is actively used by at least three parties:
22 | - NUSS
23 | - DMP
24 | - External Partners
25 | Since automated builds may directly incorporate the API and data models from the GIT repository, the following describes how changes will be conveyed and how continuous build cycles can be maintained while code is being developed to address the change.
26 |
27 | The master branch will be tagged with a version identifier of the form vx.y.z. Twenty four hours prior to a change, we will announce over the =uss_implementers= channel on slack that a change is forthcoming. We will identify the new tag and the release branch that contains the intended changes. During this time, developers can inspect the release branch and assess the impact to their code/build cycles. If it is determined that the change will have an adverse impact, developers can point their code to the current (stable) GIT tag idenfitier. Our GIT branching model for both specification and code generally follows the one outlined here: https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
28 |
29 |
30 | | Date Announced | Review-Branch | Date Implemented | Tag on Master | Desc |
31 | |------------------+----------------+------------------+---------------+-----------------------------------------------------------------------------------|
32 | | n/a | n/a | <2019-03-14 Thu> | v1.0.1 | |
33 | | <2019-03-21 Thu> | release-v1.0.2 | <2019-03-22 Fri> | v1.0.2 | |
34 | | <2019-03-30 Sat> | release-v1.0.3 | <2019-04-01 Mon> | v1.0.3 | |
35 | | <2019-04-03 Wed> | release-v1.0.4 | <2019-04-04 Thu> | v1.0.4 | |
36 | | <2019-04-09 Tue> | release-v1.0.5 | <2019-04-10 Wed> | v1.0.5 | |
37 | | <2019-04-16 Tue> | release-v1.0.6 | <2019-04-17 Wed> | v1.0.6 | |
38 | | <2019-05-01 Wed> | release-v1.0.7 | <2019-05-02 Thu> | v1.0.7 | |
39 | | <2019-06-05 Wed> | n/a | <2019-06-05 Wed> | v1.0.8 | Add flight plan api yaml; description changes |
40 | | <2019-06-05 Wed> | n/a | <2019-06-05 Wed> | v1.0.9 | Add daa geofence api yaml |
41 | | <2019-06-21 Fri> | release-v1.1.0 | <2019-06-21 Fri> | v1.1.0 | Change timestamp length to 22-24; add more descriptions |
42 | | <2019-06-22 Sat> | release-v1.1.1 | <2019-06-22 Sat> | v1.1.1 | Provide information on testing and uss-exchange call-signs |
43 | | <2019-08-21 Wed> | release-v1.1.2 | <2019-08-21 Wed> | v1.1.2 | Update DAA data model descriptions; update FET list of sensors that are available |
44 |
45 | * API Release Schedule
46 | This schedule is intended to convey to UTM TCL4 participants when NASA servers will support the various end-points described in the OpenAPI specification. It is to be assumed that the endpoints, when released, will support the latest tag on the master branch.
47 | | Endpoint | Location | Sprint | Release Date |
48 | |--------------------------------------+-------------------------------------------+------------------+------------------|
49 | | /uss-exchange | utm-tcl4-dmp-api.yaml | <2019-03-25 Mon> | <2019-03-28 Thu> |
50 | | /uss-handoff | utm-tcl4-dmp-api.yaml | <2019-03-25 Mon> | <2019-03-28 Thu> |
51 | | /uss-negotiation | utm-tcl4-dmp-api.yaml | <2019-03-25 Mon> | <2019-04-04 Thu> |
52 | | /uss-2-operator-exchange | utm-tcl4-dmp-api.yaml | <2019-03-25 Mon> | <2019-04-04 Thu> |
53 | | /dynamic-restriction-occurrence | utm-tcl4-dmp-api.yaml | <2019-04-01 Mon> | <2019-04-11 Thu> |
54 | | /fet | utm-tcl4-dmp-fet-api.yaml | <2019-04-01 Mon> | <2019-04-11 Thu> |
55 | | /fet-latency | utm-tcl4-dmp-fet-latency-api.yaml | <2019-04-01 Mon> | <2019-04-11 Thu> |
56 | | /off-nominal | utm-tcl4-dmp-api.yaml | <2019-04-01 Mon> | <2019-04-17 Wed> |
57 | | /loss-of-uss | utm-tcl4-dmp-api.yaml | <2019-04-01 Mon> | <2019-04-17 Wed> |
58 | | /cns-pre-run | utm-tcl4-dmp-cns-api.yaml | <2019-04-15 Mon> | <2019-04-25 Thu> |
59 | | /con-rpic-constraint-message | utm-tcl4-dmp-con-api.yaml | <2019-04-15 Mon> | <2019-04-25 Thu> |
60 | | /con-pre-run-range | utm-tcl4-dmp-con-api.yaml | <2019-04-15 Mon> | <2019-04-25 Thu> |
61 | | /con-pre-run-op | utm-tcl4-dmp-con-api.yaml | <2019-04-15 Mon> | <2019-04-25 Thu> |
62 | | /con-actual-landing | utm-tcl4-dmp-con-api.yaml | <2019-04-15 Mon> | <2019-04-25 Thu> |
63 | | /con-wx-operating-point-data | utm-tcl4-dmp-con-api.yaml | <2019-04-15 Mon> | <2019-04-25 Thu> |
64 | | /con-wx-operating-point-data-station | utm-tcl4-dmp-con-api.yaml | <2019-04-15 Mon> | <2019-04-25 Thu> |
65 | | /con-cell-service-availability | utm-tcl4-dmp-con-api.yaml | <2019-04-15 Mon> | <2019-04-25 Thu> |
66 | | /con-distress-v2v | utm-tcl4-dmp-con-api.yaml | <2019-04-15 Mon> | <2019-04-25 Thu> |
67 | | /aux-ops | utm-tcl4-dmp-auxiliary-uas-operation.yaml | <2019-04-22 Mon> | <2019-05-02 Thu> |
68 | | /cns-uas-truth-position | utm-tcl4-dmp-cns-api.yaml | <2019-04-22 Mon> | <2019-05-02 Thu> |
69 | | /cns-uas-truth-ecef-coordinate | utm-tcl4-dmp-cns-api.yaml | <2019-04-22 Mon> | <2019-05-02 Thu> |
70 | | /cns-emergency-phase | utm-tcl4-dmp-cns-api.yaml | <2019-04-22 Mon> | <2019-05-02 Thu> |
71 | | /cns-off-nominal-mitigation-outcome | utm-tcl4-dmp-cns-api.yaml | <2019-04-22 Mon> | <2019-05-02 Thu> |
72 | | /cns-landing-outcome | utm-tcl4-dmp-cns-api.yaml | <2019-04-22 Mon> | <2019-05-02 Thu> |
73 | | /cns-safe-to-land-location-reach | utm-tcl4-dmp-cns-api.yaml | <2019-04-22 Mon> | <2019-05-02 Thu> |
74 | | /cns-onboard-safe-landing-capability | utm-tcl4-dmp-cns-api.yaml | <2019-04-22 Mon> | <2019-05-02 Thu> |
75 | | /remote-id | utm-tcl4-dmp-remote-id-api.yaml | <2019-04-29 Mon> | <2019-05-09 Thu> |
76 | | /daa - all | utm-tcl4-dmp-daa-api.yaml | <2019-04-29 Mon> | <2019-05-02 Thu> |
77 | * Guidelines for Testing and Uploading Data
78 | ** Testing and Connectivity
79 | We recognize testing is essential in developing your APIs. However, since testing impacts production servers, the following guidelines must be strictly adhered to.
80 | | call_sign | test_run range | uvin | hours |
81 | |---------------------------+----------------+--------------------------------------+-----------------------------------------------|
82 | | test__ | 8000-8999 | 3d34bd51-5386-488b-9e63-f35b90a6ea48 | 5AM - 11PM PT and outside of flight test windows |
83 | | conn__ | TBD | 3d34bd51-5386-488b-9e63-f35b90a6ea48 | pre-flight window only |
84 |
85 | In the above, ==, refers to your client id, that is, what is submitted in the subclaim of the JWT. == can be set to =nv= or =tx=.
86 | Examples:
87 | | call_sign | test_run | uvin |
88 | |-------------------------------+----------+--------------------------------------|
89 | | test_utmalpha.arc.nasa.gov_nv | 8001 | 3d34bd51-5386-488b-9e63-f35b90a6ea48 |
90 | | conn_utmalpha.arc.nasa.gov_nv | 9001 | 3d34bd51-5386-488b-9e63-f35b90a6ea48 |
91 | ** Extensive Testing
92 | If you would like to perform testing with actual call signs and high data rates, give us a heads up. Specifically, provide
93 | - Objective of the test.
94 | - Call-signs you are going to use.
95 | - Time window (upper bound is what we are looking for).
96 |
97 | * Data Model Notes
98 | ** Uss Exchange
99 | The metadata for the uss-exchange data model described in https://github.com/nasa/utm-docs/blob/master/TCL4%20Data%20Management/utm-tcl4-data-collection.yaml requires a call-sign. For *every* uss-exchange model that you submit, please use the call-sign =ex__=
100 |
--------------------------------------------------------------------------------
/TCL4 Data Management/update_references.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # -----------------------------------------------------------------------------
3 | # Filename : update_references.sh
4 | # Desc. : This script updates references of the form release-vx.y.z to
5 | # : master for all yaml files
6 | # Project : UTM
7 | # Author : Abraham K. Ishihara
8 | # -----------------------------------------------------------------------------
9 | echo
10 | echo "------------------------"
11 | echo "Enter the destination branch for utm-docs repo:"
12 | echo
13 | read my_branch
14 | my_branch=$( echo $my_branch | sed 's/ //g' )
15 | echo "You selected: $my_branch"
16 | echo "------------------------"
17 |
18 | for f in *.yaml
19 | do
20 | temp=$( mktemp )
21 | # cat $f | sed 's/\/release\-v[0-9]\.[0-9]\.[0-9]*\//\/master\//g' > $temp
22 | # cat $f | sed "s:\/utm-docs\/.*\/:\/utm-docs\/$my_branch\/:g" > $temp
23 | cat $f | sed "s:\/utm-docs\/\(.*\)\/\(TCL4.*\):\/utm-docs\/$my_branch\/\2:g" > $temp
24 | mv $temp $f
25 | done
26 |
27 |
28 | exit 0
29 |
--------------------------------------------------------------------------------
/TCL4 Data Management/utm-tcl4-dmp-aircraft-flightplan-api.yaml:
--------------------------------------------------------------------------------
1 | swagger: '2.0'
2 | info:
3 | description: >-
4 | "TCL4 requires the submission of vehicle-centric data including from specialized sensors mounted on the vehicle which may collect data at various sampling rates. These models are referenced in the Data Management Plan (DMP)."
5 | version: 'v1.0'
6 | title: "API endpoints for UTM TCL DMP flight plan data collection"
7 | termsOfService: >
8 |
9 | A. No Warranty: THE SUBJECT SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY
10 | WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING,
11 | BUT NOT LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO
12 | SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
13 | PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT THE
14 | SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT DOCUMENTATION, IF
15 | PROVIDED, WILL CONFORM TO THE SUBJECT SOFTWARE. THIS AGREEMENT DOES NOT, IN
16 | ANY MANNER, CONSTITUTE AN ENDORSEMENT BY GOVERNMENT AGENCY OR ANY PRIOR
17 | RECIPIENT OF ANY RESULTS, RESULTING DESIGNS, HARDWARE, SOFTWARE PRODUCTS OR
18 | ANY OTHER APPLICATIONS RESULTING FROM USE OF THE SUBJECT SOFTWARE. FURTHER,
19 | GOVERNMENT AGENCY DISCLAIMS ALL WARRANTIES AND LIABILITIES REGARDING
20 | THIRD-PARTY SOFTWARE, IF PRESENT IN THE ORIGINAL SOFTWARE, AND DISTRIBUTES
21 | IT "AS IS."
22 |
23 |
24 | B. Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS
25 | AGAINST THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS
26 | WELL AS ANY PRIOR RECIPIENT. IF RECIPIENT''S USE OF THE SUBJECT SOFTWARE
27 | RESULTS IN ANY LIABILITIES, DEMANDS, DAMAGES, EXPENSES OR LOSSES ARISING
28 | FROM SUCH USE, INCLUDING ANY DAMAGES FROM PRODUCTS BASED ON, OR RESULTING
29 | FROM, RECIPIENT''S USE OF THE SUBJECT SOFTWARE, RECIPIENT SHALL INDEMNIFY
30 | AND HOLD HARMLESS THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND
31 | SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT, TO THE EXTENT PERMITTED BY
32 | LAW. RECIPIENT''S SOLE REMEDY FOR ANY SUCH MATTER SHALL BE THE IMMEDIATE,
33 | UNILATERAL TERMINATION OF THIS AGREEMENT.
34 | contact:
35 | name: 'NASA Ames Research Center, Aviation Systems Division'
36 | url: 'https://utm.arc.nasa.gov/'
37 | email: joseph.rios@nasa.gov
38 | license:
39 | name: NASA Open Source Agreement
40 | url: 'https://ti.arc.nasa.gov/opensource/nosa/'
41 |
42 | host: utmregistry.arc.nasa.gov.
43 | basePath: /api/v4
44 | schemes:
45 | - https
46 |
47 | securityDefinitions:
48 | ussapi_security:
49 | type: oauth2
50 | tokenUrl: 'https://utm.defined.host/oauth/token'
51 | flow: application
52 | scopes:
53 | 'utm.nasa.gov_write.message': Subject can create and delete DMP USS and vehicle-centric data
54 |
55 | paths:
56 |
57 | '/flight-plan':
58 | post:
59 | summary: Upload a array of the Waypoint models.
60 | security:
61 | - ussapi_security:
62 | - utm.nasa.gov_write.message
63 | consumes:
64 | - application/json
65 | parameters:
66 | - in: body
67 | name: WaypointArray
68 | description: Upload array of Waypoint models
69 | required: true
70 | schema:
71 | type: array
72 | items:
73 | $ref: >-
74 | https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-aircraft-flightplan.yaml#/definitions/Waypoint
75 | responses:
76 | '204':
77 | description: Data received. No content returned.
78 | '400':
79 | description: Bad request. Typically validation error. Fix your request and retry.
80 | schema:
81 | $ref: >-
82 | https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/UTMRestResponse
83 | '401':
84 | description: Invalid or missing access_token provided.
85 | schema:
86 | $ref: >-
87 | https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/UTMRestResponse
88 | '403':
89 | description: Forbidden. Do not retry with same access token. Reason not provided, but do you have the right scopes? Does uss_name match the sub claim?
90 | schema:
91 | $ref: >-
92 | https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/UTMRestResponse
93 |
94 | delete:
95 | summary: Delete array of Waypoint models
96 | security:
97 | - ussapi_security:
98 | - utm.nasa.gov_write.message
99 | parameters:
100 | - in: body
101 | name: MetaDataDmpUssId
102 | required: true
103 | schema:
104 | type: array
105 | items:
106 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/MetaDataDmpUssId'
107 | description: DELETE
108 | responses:
109 | '410':
110 | description: Gone.
111 | schema:
112 | $ref: >-
113 | https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/UTMRestResponse
114 |
--------------------------------------------------------------------------------
/TCL4 Data Management/utm-tcl4-dmp-aircraft-flightplan.yaml:
--------------------------------------------------------------------------------
1 | info:
2 | description: >-
3 | "TCL4 will require the submission of test data. Some of these data are not
4 | readily collected via UTM means. The models presented in this domain are in
5 | support of such data that are not readily collected otherwise. Some of
6 | these data will be collected live, some after testing, but all should be
7 | collected as a soon as feasible. Further details will be provided in other
8 | testing documentation."
9 | version: 'v1'
10 | title: "Domain for UAS flight plan data."
11 | contact:
12 | name: 'NASA Ames Research Center, Aviation Systems Division'
13 | url: 'https://utm.arc.nasa.gov/'
14 | email: joseph.rios@nasa.gov
15 | swagger: "2.0"
16 | paths:
17 | '/no-paths':
18 | put:
19 | responses:
20 | '410':
21 | description: >-
22 | Gone. Not implemented. Will not be implemented. Path included for
23 | proper use by automated tooling. Tools sometimes do not like
24 | when there are no paths, but domains do not contain paths.
25 | definitions:
26 | Waypoint:
27 | description: >-
28 | A single waypoint with associated data.
29 | required:
30 | - "metaData"
31 | - "waypoint_id"
32 | - "waypoint_sequence_id"
33 | - "waypoint_type"
34 | - "position"
35 | - "altitude"
36 | - "timestamp"
37 | - "target_air_speed"
38 | - "target_ground_speed"
39 | - "hover_time"
40 | properties:
41 | metaData:
42 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/metaData'
43 | waypoint_id:
44 | description: >-
45 | unique id for this data submission.
46 | type: string
47 | format: uuid
48 | maxLength: 36
49 | minLength: 36
50 | pattern: "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[8-b][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
51 | example: "00000000-0000-4444-8888-FEEDDEADBEEF"
52 | waypoint_sequence_id:
53 | description: >-
54 | integer indicating order of this waypoint in the list of waypoints.
55 |
56 | must be sequential starting with 1.
57 | type: integer
58 | format: int32
59 | minimum: 1
60 | maximum: 9999
61 | example: 23
62 | waypoint_type:
63 | description: >-
64 | Fly over or fly by?
65 | type: string
66 | enum:
67 | - FLY_BY
68 | - FLY_OVER
69 | position:
70 | description: 2D position of the waypoint. (Lat/Lon)
71 | $ref: 'https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-geojson.yaml#/definitions/Point'
72 | altitude:
73 | description: >-
74 | Targeted altitude of the waypoint expressed in WGS84 reference frame (ft)
75 | $ref: 'https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/Altitude'
76 | timestamp:
77 | description: >-
78 | Targeted time to reach this waypoint.
79 | type: string
80 | format: date-time
81 | minLength: 24
82 | maxLength: 24
83 | pattern: "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]{3})Z$"
84 | example: '2015-08-20T14:11:56.118Z'
85 | target_ground_speed:
86 | description: >-
87 | The target ground speed of the vehicle at this waypoint.
88 |
89 | Units of measure: ft/sec.
90 | type: integer
91 | format: int32
92 | minimum: 0
93 | maximum: 9999
94 | example: 32
95 | target_air_speed:
96 | description: >-
97 | The target air speed of the vehicle at this waypoint.
98 |
99 | Units of measure: ft/sec.
100 | type: integer
101 | format: int32
102 | minimum: -9999
103 | maximum: 9999
104 | example: 32
105 | hover_time:
106 | description: >-
107 | Number of seconds the vehicle plans to hover or loiter at this waypoint.
108 | type: integer
109 | format: int32
110 | minimum: 0
111 | maximum: 99999
112 | example: 120
113 |
--------------------------------------------------------------------------------
/TCL4 Data Management/utm-tcl4-dmp-auxiliary-uas-operation.yaml:
--------------------------------------------------------------------------------
1 | info:
2 | description: >-
3 | "TCL4 will require the submission of test data. Some of these data are not readily collected via UTM means.
4 | The models presented in this domain are in support of such data that are not readily collected otherwise.
5 | Some of these data will be collected live, some after testing, but all should be collected as a soon as
6 | feasible. Further details will be provided in other testing documentation."
7 | version: 'v1'
8 | title: "Domain for Auxiliary UAS Operation Data"
9 | contact:
10 | name: 'NASA Ames Research Center, Aviation Systems Division'
11 | url: 'https://utm.arc.nasa.gov/'
12 | email: joseph.rios@nasa.gov
13 | swagger: "2.0"
14 | paths:
15 | '/no-paths':
16 | put:
17 | responses:
18 | '410':
19 | description: >-
20 | Gone. Not implemented. Will not be implemented. Path included for
21 | proper use by automated tooling. Tools sometimes do not like
22 | when there are no paths, but domains do not contain paths.
23 | definitions:
24 | AuxiliaryUASOperation:
25 | required:
26 | - metaData
27 | - takeoff_time
28 | - takeoff_altitude
29 | - takeoff_position
30 | - takeoff_weight
31 | - landing_time
32 | - landing_altitude
33 | - landing_position
34 | - gcs_altitude
35 | - gcs_position
36 | - equipped_sensors
37 | - static_obstacle_lists
38 | properties:
39 | metaData:
40 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/metaData'
41 | takeoff_weight:
42 | description: >-
43 | The actual takeoff weight of the vehicle for this operation.
44 |
45 | Note value must be in US pounds.
46 |
47 | Note large maximum allows for some flexibility in vehicles that
48 | participate. May re-visit this value.
49 | type: number
50 | format: double
51 | minimum: 0.0
52 | maximum: 10000.0
53 | takeoff_time:
54 | description: >-
55 | UTC Time at initial takeoff, defined as the moment the vehicle leaves the ground/launching device.
56 | type: string
57 | format: date-time
58 | minLength: 24
59 | maxLength: 24
60 | pattern: "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]{3})Z$"
61 | example: '2015-08-20T14:11:56.118Z'
62 | takeoff_position:
63 | description: >-
64 | "Takeoff position latitude and longitude (deg).
65 |
66 | Report at least seven decimal degrees."
67 | $ref: 'https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-geojson.yaml#/definitions/Point'
68 | takeoff_altitude:
69 | description: >-
70 | Takeoff position WGS84 altitude. (ft)
71 | $ref: 'https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/Altitude'
72 | landing_time:
73 | description: >-
74 | UTC time at final landing, defined as the moment returns to ground/recovery device.
75 | type: string
76 | format: date-time
77 | minLength: 24
78 | maxLength: 24
79 | pattern: "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]{3})Z$"
80 | example: '2015-08-20T14:11:56.118Z'
81 | landing_position:
82 | description: >-
83 | "Landing position (deg).
84 |
85 | Report at least seven decimal degrees."
86 | $ref: 'https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-geojson.yaml#/definitions/Point'
87 | landing_altitude:
88 | description: >-
89 | Landing WGS84 altitude. (ft)
90 | $ref: 'https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/Altitude'
91 | gcs_position:
92 | description: >-
93 | "GCS position.
94 |
95 | Report at least seven decimal degrees."
96 | $ref: 'https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-geojson.yaml#/definitions/Point'
97 | gcs_altitude:
98 | description: >-
99 | GCS position WGS84 altitude. (ft)
100 | $ref: 'https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/Altitude'
101 | equipped_sensors:
102 | description: >-
103 | A list of identifiers indicating the types of sensors equipped. Descriptions
104 | of these sensors are to be provided in advance via the DaaSensor model.
105 |
106 | Provide as an array of DaaId values (UUIDs) representing DaaSensor.sensorId
107 | values that have been previously submitted. If an identifier is used in this
108 | array that is not previously known to the DMP system, an error may
109 | be thrown.
110 |
111 | If no sensors as described by a DaaSensor model are included on this
112 | vehicle during this operation, supply an empty (0-length) array since
113 | this is a required field.
114 | type: array
115 | items:
116 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-daa.yaml#/definitions/DaaUuid'
117 | minItems: 0
118 | maxItems: 100
119 | static_obstacle_lists:
120 | description: >-
121 | A list of identifiers indicating collections of obstacle data known
122 | to the UAS prior to departure.
123 |
124 | These identifiers map to StaticObstacleTable.staticObstacleId values
125 | that have been previously submitted. If an identifier is used in this
126 | array that is not previously known to the DMP system, an error may
127 | be thrown.
128 | type: array
129 | items:
130 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-daa.yaml#/definitions/DaaUuid'
131 | conflict_resolution_configuration:
132 | description: >-
133 | A reference to a previously submitted ConflictResolutionConfiguration via
134 | its conflictResolutionConfigId.
135 |
136 | This field is optional in this model, but it is required when the
137 | vehicle is implementing DAA capabilities.
138 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-daa.yaml#/definitions/DaaUuid'
139 |
--------------------------------------------------------------------------------
/TCL4 Data Management/utm-tcl4-dmp-cns.yaml:
--------------------------------------------------------------------------------
1 | info:
2 | version: "v1.0"
3 | title: UTM DMP TCL4 CNS
4 | description: Data model for CNS submission.
5 | contact:
6 | name: 'NASA Ames Research Center, Aviation Systems Division'
7 | url: 'https://utmregistry.arc.nasa.gov/'
8 | email: jaewoo.jung@nasa.gov
9 | license:
10 | name: NASA Open Source Agreement
11 | url: 'https://ti.arc.nasa.gov/opensource/nosa/'
12 | termsOfService: >-
13 | A. No Warranty: THE SUBJECT SOFTWARE IS PROVIDED \"AS IS\" WITHOUT ANY
14 | WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING,
15 | BUT NOT LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO
16 | SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
17 | PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT THE
18 | SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT DOCUMENTATION, IF
19 | PROVIDED, WILL CONFORM TO THE SUBJECT SOFTWARE. THIS AGREEMENT DOES NOT, IN
20 | ANY MANNER, CONSTITUTE AN ENDORSEMENT BY GOVERNMENT AGENCY OR ANY PRIOR
21 | RECIPIENT OF ANY RESULTS, RESULTING DESIGNS, HARDWARE, SOFTWARE PRODUCTS OR
22 | ANY OTHER APPLICATIONS RESULTING FROM USE OF THE SUBJECT SOFTWARE. FURTHER,
23 | GOVERNMENT AGENCY DISCLAIMS ALL WARRANTIES AND LIABILITIES REGARDING
24 | THIRD-PARTY SOFTWARE, IF PRESENT IN THE ORIGINAL SOFTWARE, AND DISTRIBUTES
25 | IT \"AS IS.\"
26 | B. Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS
27 | AGAINST THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS
28 | WELL AS ANY PRIOR RECIPIENT. IF RECIPIENT''S USE OF THE SUBJECT SOFTWARE
29 | RESULTS IN ANY LIABILITIES, DEMANDS, DAMAGES, EXPENSES OR LOSSES ARISING
30 | FROM SUCH USE, INCLUDING ANY DAMAGES FROM PRODUCTS BASED ON, OR RESULTING
31 | FROM, RECIPIENT''S USE OF THE SUBJECT SOFTWARE, RECIPIENT SHALL INDEMNIFY
32 | AND HOLD HARMLESS THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND
33 | SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT, TO THE EXTENT PERMITTED BY
34 | LAW. RECIPIENT''S SOLE REMEDY FOR ANY SUCH MATTER SHALL BE THE IMMEDIATE,
35 | UNILATERAL TERMINATION OF THIS AGREEMENT.
36 | swagger: '2.0'
37 |
38 | paths:
39 | '/no-paths':
40 | put:
41 | responses:
42 | '410':
43 | description: >-
44 | Gone. Not implemented. Will not be implemented. Path included for
45 | proper use by automated tooling. Tools sometimes do not like
46 | when there are no paths, but domains do not contain paths.
47 | definitions:
48 | CnsPreRun:
49 | type: object
50 | required:
51 | - "metaData"
52 | - "minimumAircraftToOperatorDataTransferRateForOperation_bytesPerSec"
53 | - "minimumOperatorToAircraftDataTransferRateForOperation_bytesPerSec"
54 | - "maximumAircraftToOperatorRoundTripLatencyTolerableForOperation_ms"
55 | - "maximumOperatorToAircraftRoundTripLatencyTolerableForOperation_ms"
56 | properties:
57 | metaData:
58 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/metaData'
59 | minimumAircraftToOperatorDataTransferRateForOperation_bytesPerSec:
60 | description: >-
61 | "Report the minimum aircraft to operator data transfer rate (in Bytes
62 | per second) necessary to execute the operation. Consider that data
63 | should be authenticated and checked for integrity. (bytesPerSec)"
64 | type: integer
65 | format: int32
66 | minimum: 0
67 | minimumOperatorToAircraftDataTransferRateForOperation_bytesPerSec:
68 | description: >-
69 | "Report the minimum operator to aircraft data transfer rate (in Bytes
70 | per second) necessary to execute the operation. Consider that data
71 | should be authenticated and checked for integrity. (bytesPerSec)"
72 | type: integer
73 | format: int32
74 | minimum: 0
75 | maximumAircraftToOperatorRoundTripLatencyTolerableForOperation_ms:
76 | description: >-
77 | "Report the maximum tolerable Round-trip latency from source (aircraft)
78 | to destination (operator) to execute the operation, in millisecond (ms)"
79 | type: integer
80 | format: int32
81 | minimum: 0
82 | maximumOperatorToAircraftRoundTripLatencyTolerableForOperation_ms:
83 | description: >-
84 | "Report the maximum tolerable Round-trip latency from source (operator)
85 | to destination (aircraft) to execute the operation, in millisecond (ms)"
86 | type: number
87 | format: int32
88 | minimum: 0
89 |
90 | UasTruthPosition:
91 | description: >-
92 | As reported by truth position system
93 | type: object
94 | required:
95 | - "metaData"
96 | - "xCoordinate_ft"
97 | - "yCoordinate_ft"
98 | - "zCoordinate_ft"
99 | - "timestamp"
100 | properties:
101 | metaData:
102 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/metaData'
103 | xCoordinate_ft:
104 | description: >-
105 | X-Coordinate truth position of UA (ECEF: Earth Centered Earth
106 | Fixed, inch-level resolution); as reported by the Ground Truth System
107 | (Truth Reference System, e.g. optical, radar, LiDAR, nav. beacon, etc).
108 | Can be reported by the UAS but has to be independent of UAS's primary navigation
109 | system, use of separate RTK system is allowed (UTC time stamped). Report
110 | at least 2 decimal places of precision. (ft)
111 | $ref: "#/definitions/UasTruthEcefCoordinate_ft"
112 | yCoordinate_ft:
113 | description: >-
114 | Y-Coordinate truth position of UA (ECEF: Earth Centered Earth
115 | Fixed, inch-level resolution); as reported by the Ground Truth System
116 | (Truth Reference System, e.g. optical, radar, LiDAR, nav. beacon, etc).
117 | Can be reported by the UAS but has to be independent of UAS's primary navigation
118 | system, use of separate RTK system is allowed (UTC time stamped). Report
119 | at least 2 decimal places of precision. (ft)
120 | $ref: "#/definitions/UasTruthEcefCoordinate_ft"
121 | zCoordinate_ft:
122 | description: >-
123 | Z-Coordinate truth position of UA (ECEF: Earth Centered Earth
124 | Fixed, inch-level resolution); as reported by the Ground Truth System
125 | (Truth Reference System, e.g. optical, radar, LiDAR, nav. beacon, etc).
126 | Can be reported by the UAS but has to be independent of UAS's primary navigation
127 | system, use of separate RTK system is allowed (UTC time stamped). Report
128 | at least 2 decimal places of precision. (ft)
129 | $ref: "#/definitions/UasTruthEcefCoordinate_ft"
130 | timestamp:
131 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/timestamp'
132 |
133 | UasTruthEcefCoordinate_ft:
134 | type: "object"
135 | required:
136 | - "estimatedError95Prct_in"
137 | - "value_ft"
138 | properties:
139 | value_ft:
140 | type: "number"
141 | format: "double"
142 | description: "Coordinate value (ft)"
143 | example: 871.94
144 | estimatedError95Prct_in:
145 | type: "number"
146 | format: "double"
147 | description: >-
148 | "Estimated truth system position (ECEF) error at time of measurement
149 | (95 percentile, inches). UTC time stamped. (in)"
150 | minimum: 0.0
151 | example: 3.2
152 |
153 | EmergencyPhase:
154 | description: >-
155 | "During operation, operator must monitor UA operation according
156 | to Communications and Navigation Procedure (Reference 9, Section 4.2)
157 | and report appropriate emergency phase with UTC timestamp as enum"
158 | type: object
159 | required:
160 | - "metaData"
161 | - "timestamp"
162 | - "emergencyPhaseValue"
163 | properties:
164 | metaData:
165 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/metaData'
166 | timestamp:
167 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/timestamp'
168 | emergencyPhaseValue:
169 | type: string
170 | enum:
171 | - "NOMINAL"
172 | - "UNCERTAINTY"
173 | - "ALERT"
174 | - "DISTRESS"
175 |
176 | OffNominalMitigationOutcome:
177 | description: >-
178 | Outcome of offnominal events like UA to Operator C2 Link Loss, Operator
179 | to UA C2 Link Loss, or Loss of Vehicle Navigation, is reported as enum:
180 | * Resolved_within_operation_volume,
181 | * Resolved_but_triggered_nonconforming_state,
182 | * Resolved_but_triggered_rogue_state,
183 | * Unresolved_vehicle_flew_away,
184 | * Unresolved_vehicle_crashed_to_ground,
185 | * Unresolved_vehicle_collided_with_another_vehicle,
186 | * Unresolved_vehicle_collided_with_building
187 | type: object
188 | required:
189 | - metaData
190 | - timestamp
191 | - offNominalMitigationOutcomeValue
192 | properties:
193 | metaData:
194 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/metaData'
195 | timestamp:
196 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/timestamp'
197 | offNominalMitigationOutcomeValue:
198 | type: "string"
199 | enum:
200 | - "RESOLVED_WITHIN_OPERATION_VOLUME"
201 | - "RESOLVED_BUT_TRIGGERED_NONCONFORMING_STATE"
202 | - "RESOLVED_BUT_TRIGGERED_ROGUE_STATE"
203 | - "UNRESOLVED_VEHICLE_FLEW_AWAY"
204 | - "UNRESOLVED_VEHICLE_CRASHED_TO_GROUND"
205 | - "UNRESOLVED_VEHICLE_COLLIDED_WITH_ANOTHER_VEHICLE"
206 | - "UNRESOLVED_VEHICLE_COLLIDED_WITH_BUILDING"
207 |
208 | LandingOutcome:
209 | type: object
210 | required:
211 | - "metaData"
212 | - "timestamp"
213 | - "landingOutcomeValue"
214 | properties:
215 | metaData:
216 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/metaData'
217 | timestamp:
218 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/timestamp'
219 | landingOutcomeValue:
220 | type: "string"
221 | description: >-
222 | "Report this for every landing as enum, landing within
223 | contingency_polygon is also considered as safe landing."
224 | enum:
225 | - "LANDED_SAFELY_WITHIN_OPERATION_VOLUME"
226 | - "LANDED_SAFELY_OUTSIDE_OF_OPERATION_VOLUME"
227 | - "LANDED_UNSAFELY_WITHIN_OPERATION_VOLUME"
228 | - "LANDED_UNSAFELY_OUTSIDE_OF_OPERATION_VOLUME"
229 |
230 | SafeToLandLocationReach:
231 | type: object
232 | required:
233 | - "metaData"
234 | - "timestamp"
235 | - "canReachSafeToLandLocation"
236 | properties:
237 | metaData:
238 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/metaData'
239 | timestamp:
240 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/timestamp'
241 | canReachSafeToLandLocation:
242 | type: "boolean"
243 | description: >-
244 | "Operator to select true/false to indicate whether UA can reach
245 | designated safe-to-reach location: For example, if battery is too low
246 | or wind is too strong for UA to reach safe to land location, 'false'
247 | should be selected."
248 | example: true
249 |
250 | OnBoardSafeLandingCapability:
251 | type: object
252 | required:
253 | - "metaData"
254 | - "timestamp"
255 | - "onBoardSafeLandingCapabilityStatus"
256 | properties:
257 | metaData:
258 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/metaData'
259 | timestamp:
260 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/timestamp'
261 | onBoardSafeLandingCapabilityStatus:
262 | type: "string"
263 | description: >-
264 | "Operator to select one of the following enum to indicate whether UA's
265 | onboard safe landing capability (i.e. onboard system that is capable
266 | of identifying safe to land location and land while avoiding people
267 | and property, such as safe2ditch) is working properly or not. For
268 | example, if the onboard safe landing system uses optical sensor and a
269 | bug has rendered it non-usable, (onboard safe landing system is
270 | compromised) should be selected."
271 | enum:
272 | - "ONBOARD_SAFE_LANDING_SYSTEM_FUNCTIONING_NORMALLY"
273 | - "ONBOARD_SAFE_LANDING_SYSTEM_IS_COMPROMISED"
274 | - "UA_NOT_EQUIPPED_WITH_ONBOARD_SAFE_LANDING_SYSTEM"
275 |
--------------------------------------------------------------------------------
/TCL4 Data Management/utm-tcl4-dmp-daa-geofence-api.yaml:
--------------------------------------------------------------------------------
1 | swagger: '2.0'
2 | info:
3 | description: >-
4 | "TCL4 requires the submission of vehicle-centric data including from specialized sensors mounted on the vehicle which may collect data at various sampling rates. These models are referenced in the Data Management Plan (DMP)."
5 | version: 'v1.0'
6 | title: "API endpoints for UTM TCL DAA data collection"
7 | termsOfService: >
8 | A. No Warranty: THE SUBJECT SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY
9 | WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING,
10 | BUT NOT LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO
11 | SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
12 | PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT THE
13 | SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT DOCUMENTATION, IF
14 | PROVIDED, WILL CONFORM TO THE SUBJECT SOFTWARE. THIS AGREEMENT DOES NOT, IN
15 | ANY MANNER, CONSTITUTE AN ENDORSEMENT BY GOVERNMENT AGENCY OR ANY PRIOR
16 | RECIPIENT OF ANY RESULTS, RESULTING DESIGNS, HARDWARE, SOFTWARE PRODUCTS OR
17 | ANY OTHER APPLICATIONS RESULTING FROM USE OF THE SUBJECT SOFTWARE. FURTHER,
18 | GOVERNMENT AGENCY DISCLAIMS ALL WARRANTIES AND LIABILITIES REGARDING
19 | THIRD-PARTY SOFTWARE, IF PRESENT IN THE ORIGINAL SOFTWARE, AND DISTRIBUTES
20 | IT "AS IS."
21 | B. Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS
22 | AGAINST THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS
23 | WELL AS ANY PRIOR RECIPIENT. IF RECIPIENT''S USE OF THE SUBJECT SOFTWARE
24 | RESULTS IN ANY LIABILITIES, DEMANDS, DAMAGES, EXPENSES OR LOSSES ARISING
25 | FROM SUCH USE, INCLUDING ANY DAMAGES FROM PRODUCTS BASED ON, OR RESULTING
26 | FROM, RECIPIENT''S USE OF THE SUBJECT SOFTWARE, RECIPIENT SHALL INDEMNIFY
27 | AND HOLD HARMLESS THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND
28 | SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT, TO THE EXTENT PERMITTED BY
29 | LAW. RECIPIENT''S SOLE REMEDY FOR ANY SUCH MATTER SHALL BE THE IMMEDIATE,
30 | UNILATERAL TERMINATION OF THIS AGREEMENT.
31 | contact:
32 | name: 'NASA Ames Research Center, Aviation Systems Division'
33 | url: 'https://utm.arc.nasa.gov/'
34 | email: joseph.rios@nasa.gov
35 | license:
36 | name: NASA Open Source Agreement
37 | url: 'https://ti.arc.nasa.gov/opensource/nosa/'
38 |
39 | host: utmalpha.arc.nasa.gov
40 | basePath: /eventdata
41 | schemes:
42 | - https
43 |
44 | securityDefinitions:
45 | ussapi_security:
46 | type: oauth2
47 | tokenUrl: 'https://utm.defined.host/oauth/token'
48 | flow: application
49 | scopes:
50 | 'utm.nasa.gov_write.message': Subject can create and delete DMP USS and vehicle-centric data
51 |
52 | paths:
53 |
54 | '/daa-geo-fence':
55 | post:
56 | security:
57 | - ussapi_security:
58 | - utm.nasa.gov_write.message
59 | consumes:
60 | - application/json
61 | parameters:
62 | - in: body
63 | name: DaaGeoFence
64 | required: true
65 | schema:
66 | $ref: >-
67 | https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-daa-geofence.yaml#/definitions/DaaGeoFence
68 | responses:
69 | '200':
70 | description: Data received. No content returned.
71 | schema:
72 | $ref: >-
73 | https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/UTMRestResponse
74 | '400':
75 | description: Bad request. Typically validation error. Fix your request and retry.
76 | schema:
77 | $ref: >-
78 | https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/UTMRestResponse
79 | '401':
80 | description: Invalid or missing access_token provided.
81 | schema:
82 | $ref: >-
83 | https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/UTMRestResponse
84 | '403':
85 | description: Forbidden. Do not retry with same access token. Reason not provided, but do you have the right scopes? Does uss_name match the sub claim?
86 | schema:
87 | $ref: >-
88 | https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/UTMRestResponse
89 |
--------------------------------------------------------------------------------
/TCL4 Data Management/utm-tcl4-dmp-daa-geofence.yaml:
--------------------------------------------------------------------------------
1 | info:
2 | description: >-
3 | "TCL4 will require the submission of test data. Some of these data are not
4 | readily collected via UTM means. The models presented in this domain are in
5 | support of such data that are not readily collected otherwise. Some of
6 | these data will be collected live, some after testing, but all should be
7 | collected as a soon as feasible. Further details will be provided in other
8 | testing documentation."
9 | version: 'v1'
10 | title: "Domain for Geofence Data used in DAA"
11 | contact:
12 | name: 'NASA Ames Research Center, Aviation Systems Division'
13 | url: 'https://utm.arc.nasa.gov/'
14 | email: joseph.rios@nasa.gov
15 | swagger: "2.0"
16 | paths:
17 | '/no-paths':
18 | put:
19 | responses:
20 | '410':
21 | description: >-
22 | Gone. Not implemented. Will not be implemented. Path included for
23 | proper use by automated tooling. Tools sometimes do not like
24 | when there are no paths, but domains do not contain paths.
25 | definitions:
26 | DaaGeoFence:
27 | required:
28 | - metaData
29 | - geofence_id
30 | - timestamp
31 | - enabled
32 | - start_time
33 | - end_time
34 | - type
35 | - min_altitude
36 | - max_altitude
37 | properties:
38 | metaData:
39 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/metaData'
40 | geofence_id:
41 | description: >-
42 | Identifier for this geofence data instance.
43 |
44 | Notes for static geofences:
45 | 1. Expecting a single DaaGeoFence submission for an operation with a
46 | static geofence.
47 |
48 | 2. Timestamp can be any reasonable value. Expect that it would be earlier
49 | than the operation start time since the geofence would be defined
50 | prior to operation commencement.
51 |
52 | Notes for dynamic geofences:
53 | 1. This id should remain constant across multiple geofence samples for a
54 | dynamic geofence associated with the same metaData model.
55 |
56 | 2. Samples for a single metaData model differentiated and ordered by
57 | timestamps.
58 | type: string
59 | format: uuid
60 | maxLength: 36
61 | minLength: 36
62 | pattern: "^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-4[0-9a-fA-F]{3}\\-[8-b][0-9a-fA-F]{3}\\-[0-9a-fA-F]{12}$"
63 | example: "00000000-0000-4444-8888-FEEDDEADBEEF"
64 | timestamp:
65 | description: >-
66 | Time for the sample of this geofence data instance. For a static
67 | geofence, this may simply be any reasonable time that the geofence
68 | is defined and/or entered on the platform. For dynamic geofences,
69 | this is the sample time for the geofence, likely during the operation
70 | window.
71 | type: string
72 | format: date-time
73 | minLength: 24
74 | maxLength: 24
75 | pattern: "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]{3})Z$"
76 | example: '2015-08-20T14:11:56.118Z'
77 | enabled:
78 | description: >-
79 | Geofence is enabled.
80 | type: boolean
81 | example: true
82 | start_time:
83 | description: >-
84 | UTC Time for start of the geofence. When the geofence is enabled.
85 | type: string
86 | format: date-time
87 | minLength: 24
88 | maxLength: 24
89 | pattern: "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]{3})Z$"
90 | example: '2015-08-20T14:11:56.118Z'
91 | end_time:
92 | description: >-
93 | UTC Time for end of the geofence. When the geofence is disabled.
94 | type: string
95 | format: date-time
96 | minLength: 24
97 | maxLength: 24
98 | pattern: "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]{3})Z$"
99 | example: '2015-08-20T14:11:56.118Z'
100 | type:
101 | description: >-
102 | The type of geofence.
103 | type: string
104 | enum:
105 | - NONE
106 | - CIRCULAR-POINT-RADIUS
107 | - POLYGON
108 | example: "POLYGON"
109 | min_altitude:
110 | description: >-
111 | Altitude floor of the geofence in WGS84. (ft)
112 | $ref: 'https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/Altitude'
113 | example:
114 | min_altitude:
115 | altitude_value: 1500
116 | altitude_reference: "W84"
117 | units_of_measure: "FT"
118 | max_altitude:
119 | description: >-
120 | Altitude ceiling of the geofence in WGS84. (ft)
121 | $ref: 'https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/Altitude'
122 | example:
123 | max_altitude:
124 | altitude_value: 1800
125 | altitude_reference: "W84"
126 | units_of_measure: "FT"
127 | circular_geofence_center:
128 | description: >-
129 | Circular origin point of the geofence, if circular. (Lat/Lon)
130 | $ref: 'https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-geojson.yaml#/definitions/Point'
131 | circular_geofence_radius:
132 | description: >-
133 | Radius of circular geofence in ft
134 | type: number
135 | format: double
136 | minimum: 0.0
137 | example: 200.0
138 | polygonal_geofence_boundary:
139 | description: >-
140 | Geofence boundary if a polygon. (Lat/Lon)
141 | $ref: 'https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-geojson.yaml#/definitions/Polygon'
142 |
--------------------------------------------------------------------------------
/TCL4 Data Management/utm-tcl4-dmp-fet-api.yaml:
--------------------------------------------------------------------------------
1 | swagger: '2.0'
2 | info:
3 | description: >-
4 | "TCL4 requires the submission of vehicle-centric data including from specialized sensors mounted on the vehicle which may collect data at various sampling rates. These models are referenced in the Data Management Plan (DMP)."
5 | version: 'v1.0'
6 | title: "API endpoints for UTM TCL DMP FET Data Models"
7 | termsOfService: >
8 |
9 | A. No Warranty: THE SUBJECT SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY
10 | WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING,
11 | BUT NOT LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO
12 | SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
13 | PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT THE
14 | SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT DOCUMENTATION, IF
15 | PROVIDED, WILL CONFORM TO THE SUBJECT SOFTWARE. THIS AGREEMENT DOES NOT, IN
16 | ANY MANNER, CONSTITUTE AN ENDORSEMENT BY GOVERNMENT AGENCY OR ANY PRIOR
17 | RECIPIENT OF ANY RESULTS, RESULTING DESIGNS, HARDWARE, SOFTWARE PRODUCTS OR
18 | ANY OTHER APPLICATIONS RESULTING FROM USE OF THE SUBJECT SOFTWARE. FURTHER,
19 | GOVERNMENT AGENCY DISCLAIMS ALL WARRANTIES AND LIABILITIES REGARDING
20 | THIRD-PARTY SOFTWARE, IF PRESENT IN THE ORIGINAL SOFTWARE, AND DISTRIBUTES
21 | IT "AS IS."
22 |
23 |
24 | B. Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS
25 | AGAINST THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS
26 | WELL AS ANY PRIOR RECIPIENT. IF RECIPIENT''S USE OF THE SUBJECT SOFTWARE
27 | RESULTS IN ANY LIABILITIES, DEMANDS, DAMAGES, EXPENSES OR LOSSES ARISING
28 | FROM SUCH USE, INCLUDING ANY DAMAGES FROM PRODUCTS BASED ON, OR RESULTING
29 | FROM, RECIPIENT''S USE OF THE SUBJECT SOFTWARE, RECIPIENT SHALL INDEMNIFY
30 | AND HOLD HARMLESS THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND
31 | SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT, TO THE EXTENT PERMITTED BY
32 | LAW. RECIPIENT''S SOLE REMEDY FOR ANY SUCH MATTER SHALL BE THE IMMEDIATE,
33 | UNILATERAL TERMINATION OF THIS AGREEMENT.
34 | contact:
35 | name: 'NASA Ames Research Center, Aviation Systems Division'
36 | url: 'https://utm.arc.nasa.gov/'
37 | email: joseph.rios@nasa.gov
38 | license:
39 | name: NASA Open Source Agreement
40 | url: 'https://ti.arc.nasa.gov/opensource/nosa/'
41 |
42 | host: utmregistry.arc.nasa.gov.
43 | basePath: /api/v4
44 | schemes:
45 | - https
46 |
47 | securityDefinitions:
48 | ussapi_security:
49 | type: oauth2
50 | tokenUrl: 'https://utm.defined.host/oauth/token'
51 | flow: application
52 | scopes:
53 | 'utm.nasa.gov_write.message': Subject can create and delete DMP USS and vehicle-centric data
54 |
55 | paths:
56 |
57 | '/fet':
58 | post:
59 | summary: Upload a single instance of the FlightEssentialTelemetryUasStates model
60 | security:
61 | - ussapi_security:
62 | - utm.nasa.gov_write.message
63 | consumes:
64 | - application/json
65 | parameters:
66 | - in: body
67 | name: FlightEssentialTelemetryUasStates
68 | description: The FlightEssentialTelemetryAndUasStates model
69 | required: true
70 | schema:
71 | $ref: >-
72 | https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-fet.yaml#/definitions/FlightEssentialTelemetryAndUasStates
73 | responses:
74 | '200':
75 | description: Data received. No content returned.
76 | schema:
77 | $ref: >-
78 | https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/UTMRestResponse
79 | '400':
80 | description: Bad request. Typically validation error. Fix your request and retry.
81 | schema:
82 | $ref: >-
83 | https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/UTMRestResponse
84 | '401':
85 | description: Invalid or missing access_token provided.
86 | schema:
87 | $ref: >-
88 | https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/UTMRestResponse
89 | '403':
90 | description: Forbidden. Do not retry with same access token. Reason not provided, but do you have the right scopes? Does uss_name match the sub claim?
91 | schema:
92 | $ref: >-
93 | https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/UTMRestResponse
94 |
95 | delete:
96 | summary: Delete one or more (sensor,timestamp) pairs associated with a (call_sign,test_run) pair specified in metadata
97 | security:
98 | - ussapi_security:
99 | - utm.nasa.gov_write.message
100 | parameters:
101 | - in: body
102 | name: metaDataCallSignRunTsSensor
103 | required: true
104 | schema:
105 | $ref: >-
106 | https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-fet.yaml#/definitions/MetaDataCallSignRunTsSensor
107 | description: DELETE one or more sensor data elements associated with pair (call_sign,test_run)
108 | responses:
109 | '410':
110 | description: Gone.
111 | schema:
112 | $ref: >-
113 | https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/UTMRestResponse
114 |
--------------------------------------------------------------------------------
/TCL4 Data Management/utm-tcl4-dmp-fet-latency-api.yaml:
--------------------------------------------------------------------------------
1 | swagger: '2.0'
2 | info:
3 | description: >-
4 | "TCL4 requires the submission of vehicle-centric data including from specialized sensors mounted on the vehicle which may collect data at various sampling rates. These models are referenced in the Data Management Plan (DMP)."
5 | version: 'v1.0'
6 | title: "API endpoints for UTM TCL DMP FET Data Models"
7 | termsOfService: >
8 |
9 | A. No Warranty: THE SUBJECT SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY
10 | WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING,
11 | BUT NOT LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO
12 | SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
13 | PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT THE
14 | SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT DOCUMENTATION, IF
15 | PROVIDED, WILL CONFORM TO THE SUBJECT SOFTWARE. THIS AGREEMENT DOES NOT, IN
16 | ANY MANNER, CONSTITUTE AN ENDORSEMENT BY GOVERNMENT AGENCY OR ANY PRIOR
17 | RECIPIENT OF ANY RESULTS, RESULTING DESIGNS, HARDWARE, SOFTWARE PRODUCTS OR
18 | ANY OTHER APPLICATIONS RESULTING FROM USE OF THE SUBJECT SOFTWARE. FURTHER,
19 | GOVERNMENT AGENCY DISCLAIMS ALL WARRANTIES AND LIABILITIES REGARDING
20 | THIRD-PARTY SOFTWARE, IF PRESENT IN THE ORIGINAL SOFTWARE, AND DISTRIBUTES
21 | IT "AS IS."
22 |
23 |
24 | B. Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS
25 | AGAINST THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS
26 | WELL AS ANY PRIOR RECIPIENT. IF RECIPIENT''S USE OF THE SUBJECT SOFTWARE
27 | RESULTS IN ANY LIABILITIES, DEMANDS, DAMAGES, EXPENSES OR LOSSES ARISING
28 | FROM SUCH USE, INCLUDING ANY DAMAGES FROM PRODUCTS BASED ON, OR RESULTING
29 | FROM, RECIPIENT''S USE OF THE SUBJECT SOFTWARE, RECIPIENT SHALL INDEMNIFY
30 | AND HOLD HARMLESS THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND
31 | SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT, TO THE EXTENT PERMITTED BY
32 | LAW. RECIPIENT''S SOLE REMEDY FOR ANY SUCH MATTER SHALL BE THE IMMEDIATE,
33 | UNILATERAL TERMINATION OF THIS AGREEMENT.
34 | contact:
35 | name: 'NASA Ames Research Center, Aviation Systems Division'
36 | url: 'https://utm.arc.nasa.gov/'
37 | email: joseph.rios@nasa.gov
38 | license:
39 | name: NASA Open Source Agreement
40 | url: 'https://ti.arc.nasa.gov/opensource/nosa/'
41 |
42 | host: utmregistry.arc.nasa.gov.
43 | basePath: /api/v4
44 | schemes:
45 | - https
46 |
47 | securityDefinitions:
48 | ussapi_security:
49 | type: oauth2
50 | tokenUrl: 'https://utm.defined.host/oauth/token'
51 | flow: application
52 | scopes:
53 | 'utm.nasa.gov_write.message': Subject can create and delete DMP USS and vehicle-centric data
54 |
55 | paths:
56 |
57 | '/fet-latency':
58 | post:
59 | summary: Upload a single instance of the FlightEssentialTelemetryLatency model
60 | security:
61 | - ussapi_security:
62 | - utm.nasa.gov_write.message
63 | consumes:
64 | - application/json
65 | parameters:
66 | - in: body
67 | name: FlightEssentialTelemetryLatency
68 | description: The FlightEssentialTelemetryLatency model
69 | required: true
70 | schema:
71 | $ref: >-
72 | https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-fet-latency.yaml#/definitions/FlightEssentialTelemetryLatency
73 | responses:
74 | '200':
75 | description: Data received. No content returned.
76 | schema:
77 | $ref: >-
78 | https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/UTMRestResponse
79 | '400':
80 | description: Bad request. Typically validation error. Fix your request and retry.
81 | schema:
82 | $ref: >-
83 | https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/UTMRestResponse
84 | '401':
85 | description: Invalid or missing access_token provided.
86 | schema:
87 | $ref: >-
88 | https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/UTMRestResponse
89 | '403':
90 | description: Forbidden. Do not retry with same access token. Reason not provided, but do you have the right scopes? Does uss_name match the sub claim?
91 | schema:
92 | $ref: >-
93 | https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/UTMRestResponse
94 |
95 | delete:
96 | summary: Delete one or more (sensor,timeSent) pairs associated with a (call_sign,test_run) pair specified in metadata
97 | security:
98 | - ussapi_security:
99 | - utm.nasa.gov_write.message
100 | parameters:
101 | - in: body
102 | name: metaDataCallSignRunTsSensorLatency
103 | required: true
104 | schema:
105 | $ref: >-
106 | https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-fet-latency.yaml#/definitions/MetaDataCallSignRunTsSensorLatency
107 | description: DELETE one or more sensor data elements associated with pair (call_sign,test_run)
108 | responses:
109 | '410':
110 | description: Gone.
111 | schema:
112 | $ref: >-
113 | https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/UTMRestResponse
114 |
--------------------------------------------------------------------------------
/TCL4 Data Management/utm-tcl4-dmp-fet-latency.yaml:
--------------------------------------------------------------------------------
1 | info:
2 | version: "v1.0"
3 | title: UTM DMP TCL4 CNS
4 | description: Data model for CNS submission.
5 | contact:
6 | name: 'NASA Ames Research Center, Aviation Systems Division'
7 | url: 'https://utmregistry.arc.nasa.gov/'
8 | email: jaewoo.jung@nasa.gov
9 | license:
10 | name: NASA Open Source Agreement
11 | url: 'https://ti.arc.nasa.gov/opensource/nosa/'
12 | termsOfService: >-
13 | A. No Warranty: THE SUBJECT SOFTWARE IS PROVIDED \"AS IS\" WITHOUT ANY
14 | WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING,
15 | BUT NOT LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO
16 | SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
17 | PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT THE
18 | SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT DOCUMENTATION, IF
19 | PROVIDED, WILL CONFORM TO THE SUBJECT SOFTWARE. THIS AGREEMENT DOES NOT, IN
20 | ANY MANNER, CONSTITUTE AN ENDORSEMENT BY GOVERNMENT AGENCY OR ANY PRIOR
21 | RECIPIENT OF ANY RESULTS, RESULTING DESIGNS, HARDWARE, SOFTWARE PRODUCTS OR
22 | ANY OTHER APPLICATIONS RESULTING FROM USE OF THE SUBJECT SOFTWARE. FURTHER,
23 | GOVERNMENT AGENCY DISCLAIMS ALL WARRANTIES AND LIABILITIES REGARDING
24 | THIRD-PARTY SOFTWARE, IF PRESENT IN THE ORIGINAL SOFTWARE, AND DISTRIBUTES
25 | IT \"AS IS.\"
26 |
27 |
28 | B. Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS
29 | AGAINST THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS
30 | WELL AS ANY PRIOR RECIPIENT. IF RECIPIENT''S USE OF THE SUBJECT SOFTWARE
31 | RESULTS IN ANY LIABILITIES, DEMANDS, DAMAGES, EXPENSES OR LOSSES ARISING
32 | FROM SUCH USE, INCLUDING ANY DAMAGES FROM PRODUCTS BASED ON, OR RESULTING
33 | FROM, RECIPIENT''S USE OF THE SUBJECT SOFTWARE, RECIPIENT SHALL INDEMNIFY
34 | AND HOLD HARMLESS THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND
35 | SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT, TO THE EXTENT PERMITTED BY
36 | LAW. RECIPIENT''S SOLE REMEDY FOR ANY SUCH MATTER SHALL BE THE IMMEDIATE,
37 | UNILATERAL TERMINATION OF THIS AGREEMENT.
38 |
39 | swagger: '2.0'
40 |
41 | paths:
42 | '/no-paths':
43 | put:
44 | responses:
45 | '410':
46 | description: >-
47 | Gone. Not implemented. Will not be implemented. Path included for
48 | proper use by automated tooling. Tools sometimes do not like
49 | when there are no paths, but domains do not contain paths.
50 |
51 | definitions:
52 | FlightEssentialTelemetryLatency:
53 | description: >-
54 | Flight essential telemetry latency measurements.
55 | Use this model for both UAS and crewed vehicles.
56 | List of required elements below:
57 |
58 | *ALL* enums are required for UA (see SensorList).
59 | Provide "MOTOR_#_CONTROL_THROTTLE_COMMAND_NONDIM" for each motor on UA (where "#" is the motor number ranging from 1 to 16)
60 |
61 | Required enums to submit for Crewed (see SensorList):
62 | - LAT
63 | - LON
64 | - ALT
65 | - HEADING_DEG
66 | - HDOP_NONDIM
67 | - VDOP_NONDIM
68 | - NUM_GPS_SATELLITES_IN_VIEW_NONDIM
69 | - NUM_GPS_SAT_NONDIM
70 | - GROUND_COURSE_DEG
71 | - GROUND_SPEED_FT_PER_SEC
72 |
73 | Refer to DMP for more details.
74 |
75 | required:
76 | - metaData
77 | - sensorLatencyTuple
78 | properties:
79 | metaData:
80 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/metaData'
81 | sensorLatencyTupleArray:
82 | description: >-
83 | An individual sensor latency sample: sensor, time_sent, & time_received
84 | type: array
85 | items:
86 | $ref: '#/definitions/SensorLatencyTuple'
87 | minItems: 1
88 | maxItems: 10000
89 |
90 | SensorLatencyTuple:
91 | description: >-
92 | Sensor latency tuple for a particular sensor measurement. Report the time
93 | that the sensor measurement was sent from the aircraft and the time that
94 | the sensor measurement was received by the GCS. Report only for the data
95 | listed in the dmp fet requirements list.
96 | required:
97 | - sensor
98 | - time_sent
99 | - time_received
100 | properties:
101 | time_sent:
102 | description: >-
103 | Time sensor measurement was sent by aircraft.
104 | type: string
105 | format: date-time
106 | minLength: 24
107 | maxLength: 24
108 | pattern: "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]{3})Z$"
109 | example: '2015-08-20T14:11:56.118Z'
110 | time_received:
111 | description: >-
112 | Time sensor measurement was received by: GCS (if UA) or DAA system (if crewed).
113 | See DMP for more detailed description.
114 | type: string
115 | format: date-time
116 | minLength: 24
117 | maxLength: 24
118 | pattern: "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]{3})Z$"
119 | example: '2015-08-20T14:11:56.118Z'
120 | sensor:
121 | description: >-
122 | Refer to DMP for individual definitions of each of these sensors.
123 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/SensorList'
124 |
125 | MetaDataCallSignRunTsSensorLatency:
126 | description: >-
127 | Data model used to delete a fet-latency instance.
128 | required:
129 | - metaDataCallSignRun
130 | - sensorDoubleLatencyArray
131 | properties:
132 | metaDataCallSignRun:
133 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/MetaDataCallSignRun'
134 | sensorDoubleLatencyArray:
135 | description: >-
136 | An array of SensorDoubleLatency models to delete
137 | type: array
138 | items:
139 | $ref: '#/definitions/SensorDoubleLatency'
140 | minItems: 1
141 | maxItems: 10000
142 |
143 | SensorDoubleLatency:
144 | description: >-
145 | Sensor double latency
146 | required:
147 | - timeSent
148 | - sensor
149 | properties:
150 | timeSent:
151 | description: >-
152 | Time sent for this sample.
153 | type: string
154 | format: date-time
155 | minLength: 24
156 | maxLength: 24
157 | pattern: "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]{3})Z$"
158 | example: '2015-08-20T14:11:56.118Z'
159 | sensor:
160 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/SensorList'
161 |
--------------------------------------------------------------------------------
/TCL4 Data Management/utm-tcl4-dmp-fet.yaml:
--------------------------------------------------------------------------------
1 | info:
2 | version: "v1.0"
3 | title: UTM DMP TCL4 FET
4 | description: Data model for FET submission.
5 | contact:
6 | name: 'NASA Ames Research Center, Aviation Systems Division'
7 | url: 'https://utmregistry.arc.nasa.gov/'
8 | email: abraham.k.ishihara@nasa.gov
9 | license:
10 | name: NASA Open Source Agreement
11 | url: 'https://ti.arc.nasa.gov/opensource/nosa/'
12 | termsOfService: >-
13 | A. No Warranty: THE SUBJECT SOFTWARE IS PROVIDED \"AS IS\" WITHOUT ANY
14 | WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING,
15 | BUT NOT LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO
16 | SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
17 | PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT THE
18 | SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT DOCUMENTATION, IF
19 | PROVIDED, WILL CONFORM TO THE SUBJECT SOFTWARE. THIS AGREEMENT DOES NOT, IN
20 | ANY MANNER, CONSTITUTE AN ENDORSEMENT BY GOVERNMENT AGENCY OR ANY PRIOR
21 | RECIPIENT OF ANY RESULTS, RESULTING DESIGNS, HARDWARE, SOFTWARE PRODUCTS OR
22 | ANY OTHER APPLICATIONS RESULTING FROM USE OF THE SUBJECT SOFTWARE. FURTHER,
23 | GOVERNMENT AGENCY DISCLAIMS ALL WARRANTIES AND LIABILITIES REGARDING
24 | THIRD-PARTY SOFTWARE, IF PRESENT IN THE ORIGINAL SOFTWARE, AND DISTRIBUTES
25 | IT \"AS IS.\"
26 |
27 |
28 | B. Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS
29 | AGAINST THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS
30 | WELL AS ANY PRIOR RECIPIENT. IF RECIPIENT''S USE OF THE SUBJECT SOFTWARE
31 | RESULTS IN ANY LIABILITIES, DEMANDS, DAMAGES, EXPENSES OR LOSSES ARISING
32 | FROM SUCH USE, INCLUDING ANY DAMAGES FROM PRODUCTS BASED ON, OR RESULTING
33 | FROM, RECIPIENT''S USE OF THE SUBJECT SOFTWARE, RECIPIENT SHALL INDEMNIFY
34 | AND HOLD HARMLESS THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND
35 | SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT, TO THE EXTENT PERMITTED BY
36 | LAW. RECIPIENT''S SOLE REMEDY FOR ANY SUCH MATTER SHALL BE THE IMMEDIATE,
37 | UNILATERAL TERMINATION OF THIS AGREEMENT.
38 |
39 | swagger: '2.0'
40 |
41 | paths:
42 | '/no-paths':
43 | put:
44 | responses:
45 | '410':
46 | description: >-
47 | Gone. Not implemented. Will not be implemented. Path included for
48 | proper use by automated tooling. Tools sometimes do not like
49 | when there are no paths, but domains do not contain paths.
50 |
51 | definitions:
52 |
53 | FlightEssentialTelemetryAndUasStates:
54 | description: >-
55 | Flight essential telemetry and UAS state data.
56 | Use this model for both UAS and crewed vehicles.
57 | List of required elements below:
58 |
59 | *ALL* enums are required for UA (see SensorList).
60 | Provide "MOTOR_#_CONTROL_THROTTLE_COMMAND_NONDIM" for each motor on UA (where "#" is the motor number ranging from 1 to 16)
61 |
62 | Required enums to submit for Crewed (see SensorList):
63 | - LAT
64 | - LON
65 | - ALT
66 | - HEADING_DEG
67 | - HDOP_NONDIM
68 | - VDOP_NONDIM
69 | - NUM_GPS_SATELLITES_IN_VIEW_NONDIM
70 | - NUM_GPS_SAT_NONDIM
71 | - GROUND_COURSE_DEG
72 | - GROUND_SPEED_FT_PER_SEC
73 |
74 | Refer to DMP for more details.
75 |
76 | required:
77 | - metaData
78 | - sensorTuple
79 | properties:
80 | metaData:
81 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/metaData'
82 | sensorTuple:
83 | description: >-
84 | An individual sensor sample: timestamp, sensor, & value
85 | type: array
86 | items:
87 | $ref: '#/definitions/SensorTuple'
88 | minItems: 1
89 | maxItems: 10000
90 |
91 | SensorTuple:
92 | description: >-
93 | An individual sample of a sensor. See DMP spreadsheet for definitions of
94 | the various enum values.
95 |
96 | Each sensor will have its own requirements on sample frequency.
97 |
98 | NOTE: If 'sensor' = "AIRCRAFT_AIRBORNE_STATE_NONDIM" then 'value' = 0 or 1
99 | 0 = on ground
100 | 1 = in air
101 | Report at least 1 Hz frequency.
102 | required:
103 | - timestamp
104 | - sensor
105 | - value
106 | properties:
107 | timestamp:
108 | description: >-
109 | Time for this sample.
110 | type: string
111 | format: date-time
112 | minLength: 24
113 | maxLength: 24
114 | pattern: "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]{3})Z$"
115 | example: '2015-08-20T14:11:56.118Z'
116 | value:
117 | type: number
118 | format: double
119 | description: >-
120 | Value of sensor reading.
121 | sensor:
122 | description: >-
123 | Refer to DMP for individual definitions and units of each of these sensors.
124 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/SensorList'
125 |
126 | MetaDataCallSignRunTsSensor:
127 | description: >-
128 | Data model used to delete a fet instance.
129 | required:
130 | - metaDataCallSignRun
131 | - sensor_double
132 | properties:
133 | metaDataCallSignRun:
134 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/MetaDataCallSignRun'
135 | sensor_double:
136 | description: >-
137 | An array of SensorDouble models to delete.
138 | type: array
139 | items:
140 | $ref: '#/definitions/SensorDouble'
141 | minItems: 1
142 | maxItems: 10000
143 |
144 | SensorDouble:
145 | description: >-
146 | An array of models to delete.
147 | required:
148 | - timestamp
149 | - sensor
150 | properties:
151 | timestamp:
152 | description: >-
153 | Time for this sample.
154 | type: string
155 | format: date-time
156 | minLength: 24
157 | maxLength: 24
158 | pattern: "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]{3})Z$"
159 | example: '2015-08-20T14:11:56.118Z'
160 | sensor:
161 | $ref: 'https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/SensorList'
162 |
--------------------------------------------------------------------------------
/TCL4 Data Management/utm-tcl4-dmp-remote-id-api.yaml:
--------------------------------------------------------------------------------
1 | swagger: '2.0'
2 | info:
3 | description: >-
4 | "TCL4 will require the submission of test data. Some of these data are not readily collected via UTM means. This file describes the endpoints used for that data collection. These models are referenced in the Data Management Plan (DMP), so this API and associated models are referred to using the acronym 'DMP'"
5 | version: '0.1'
6 | title: "API endpoints for TCL4 Remote ID"
7 | termsOfService: >
8 |
9 | A. No Warranty: THE SUBJECT SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY
10 | WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING,
11 | BUT NOT LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO
12 | SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
13 | PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT THE
14 | SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT DOCUMENTATION, IF
15 | PROVIDED, WILL CONFORM TO THE SUBJECT SOFTWARE. THIS AGREEMENT DOES NOT, IN
16 | ANY MANNER, CONSTITUTE AN ENDORSEMENT BY GOVERNMENT AGENCY OR ANY PRIOR
17 | RECIPIENT OF ANY RESULTS, RESULTING DESIGNS, HARDWARE, SOFTWARE PRODUCTS OR
18 | ANY OTHER APPLICATIONS RESULTING FROM USE OF THE SUBJECT SOFTWARE. FURTHER,
19 | GOVERNMENT AGENCY DISCLAIMS ALL WARRANTIES AND LIABILITIES REGARDING
20 | THIRD-PARTY SOFTWARE, IF PRESENT IN THE ORIGINAL SOFTWARE, AND DISTRIBUTES
21 | IT "AS IS."
22 |
23 |
24 | B. Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS
25 | AGAINST THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS
26 | WELL AS ANY PRIOR RECIPIENT. IF RECIPIENT''S USE OF THE SUBJECT SOFTWARE
27 | RESULTS IN ANY LIABILITIES, DEMANDS, DAMAGES, EXPENSES OR LOSSES ARISING
28 | FROM SUCH USE, INCLUDING ANY DAMAGES FROM PRODUCTS BASED ON, OR RESULTING
29 | FROM, RECIPIENT''S USE OF THE SUBJECT SOFTWARE, RECIPIENT SHALL INDEMNIFY
30 | AND HOLD HARMLESS THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND
31 | SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT, TO THE EXTENT PERMITTED BY
32 | LAW. RECIPIENT''S SOLE REMEDY FOR ANY SUCH MATTER SHALL BE THE IMMEDIATE,
33 | UNILATERAL TERMINATION OF THIS AGREEMENT.
34 | contact:
35 | name: 'NASA Ames Research Center, Aviation Systems Division'
36 | url: 'https://utm.arc.nasa.gov/'
37 | email: joseph.rios@nasa.gov
38 | license:
39 | name: NASA Open Source Agreement
40 | url: 'https://ti.arc.nasa.gov/opensource/nosa/'
41 |
42 | host: utmregistry.arc.nasa.gov.
43 | basePath: /api/v4
44 | schemes:
45 | - https
46 |
47 | securityDefinitions:
48 | ussapi_security:
49 | type: oauth2
50 | tokenUrl: 'https://utm.defined.host/oauth/token'
51 | flow: application
52 | scopes:
53 | 'utm.nasa.gov_write.message': Subject can read, create, and update message data such as UTM Message and Negotiations and DMP data
54 |
55 | paths:
56 | '/remote-id':
57 | delete:
58 | summary: Delete an array of previously uploaded remote id instances.
59 | security:
60 | - ussapi_security:
61 | - utm.nasa.gov_write.message
62 | parameters:
63 | - in: body
64 | name: remoteIdArray
65 | required: true
66 | schema:
67 | type: array
68 | items:
69 | $ref: >-
70 | https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-common.yaml#/definitions/UUID
71 | description: Delete models of remote ID.
72 | responses:
73 | '410':
74 | description: Gone.
75 | schema:
76 | $ref: >-
77 | https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/UTMRestResponse
78 |
79 | post:
80 | summary: Upload an array of models
81 | security:
82 | - ussapi_security:
83 | - utm.nasa.gov_write.message
84 | consumes:
85 | - application/json
86 | parameters:
87 | - in: body
88 | name: DataModelArray
89 | description: Upload an array of models
90 | required: true
91 | schema:
92 | type: array
93 | items:
94 | $ref: >-
95 | https://raw.githubusercontent.com/nasa/utm-docs/master/TCL4%20Data%20Management/utm-tcl4-dmp-remote-id.yaml#/definitions/RemoteID
96 |
97 | responses:
98 | '200':
99 | description: Data received. No content returned.
100 | schema:
101 | $ref: >-
102 | https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/UTMRestResponse
103 | '400':
104 | description: Bad request. Typically validation error. Fix your request and retry.
105 | schema:
106 | $ref: >-
107 | https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/UTMRestResponse
108 | '401':
109 | description: Invalid or missing access_token provided.
110 | schema:
111 | $ref: >-
112 | https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/UTMRestResponse
113 | '403':
114 | description: Forbidden. Do not retry with same access token. Reason not provided, but do you have the right scopes? Does uss_name match the sub claim?
115 | schema:
116 | $ref: >-
117 | https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/UTMRestResponse
118 |
--------------------------------------------------------------------------------
/TCL4 Data Management/utm-tcl4-dmp-remote-id.yaml:
--------------------------------------------------------------------------------
1 | info:
2 | description: >-
3 | "TCL4 will require the submission of test data. Some of these data are not
4 | readily collected via UTM means. The models presented in this domain are in
5 | support of such data that are not readily collected otherwise. Some of
6 | these data will be collected live, some after testing, but all should be
7 | collected as a soon as feasible. Further details will be provided in other
8 | testing documentation."
9 | version: "VF"
10 | title: "Domain for Remote ID Data"
11 | contact:
12 | name: 'NASA Ames Research Center, Aviation Systems Division'
13 | url: 'https://utm.arc.nasa.gov/'
14 | email: joseph.rios@nasa.gov
15 | swagger: "2.0"
16 | paths:
17 | '/no-paths':
18 | put:
19 | responses:
20 | '410':
21 | description: >-
22 | Gone. Not implemented. Will not be implemented. Path included for
23 | proper use by automated tooling. Tools sometimes do not like
24 | when there are no paths, but domains do not contain paths.
25 | definitions:
26 | RemoteID:
27 | description: >-
28 | An instance of this model should be submitted every time an attempt is made
29 | to lookup or identify an operation via the USSNetwork or non-USSNetwork. Note that this might
30 | mean several instances for a single gufi if several lookups are performed.
31 | The timeline of events for Networked Remote ID detection must be = time_of_identification_initiation, time_of_detection, network_lookup_start_time, network_lookup_end_time, locate_operator_time, contact_operator_time.
32 | The timeline of events for Non-Networked Remote ID detection must be = time_of_identification_initiation, time_of_detection, locate_operator_time, contact_operator_time
33 | required:
34 | - "remote_id"
35 | - "gufi"
36 | - "detection_technology"
37 | - "broadcast_technology"
38 | - "network_lookup"
39 | - "operator_contact_attempted"
40 | - "detection_position"
41 | - "detection_altitude"
42 | - "detection_position_method"
43 | - "vehicle_position"
44 | - "vehicle_altitude"
45 | - "vehicle_position_method"
46 | - "time_of_identification_initiation"
47 | - "time_of_detection"
48 | properties:
49 | remote_id:
50 | description: >-
51 | A UUID assigned by the reporting USS for this instance of RemoteID.
52 | type: string
53 | format: uuid
54 | maxLength: 36
55 | minLength: 36
56 | pattern: "^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-4[0-9a-fA-F]{3}\\-[8-b][0-9a-fA-F]{3}\\-[0-9a-fA-F]{12}$"
57 | example: "00000000-0000-4444-8888-FEEDDEADBEEF"
58 | gufi:
59 | description: >-
60 | GUFI of the operation that is looked up.
61 | If the GUFI does not exist (in a non-cooperative lookup, for example)
62 | use 00000000-0000-4444-8888-000000000000.
63 | type: string
64 | format: uuid
65 | maxLength: 36
66 | minLength: 36
67 | pattern: "^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-4[0-9a-fA-F]{3}\\-[8-b][0-9a-fA-F]{3}\\-[0-9a-fA-F]{12}$"
68 | example: "00000000-0000-4444-8888-FEEDDEADBEEF"
69 | detection_technology:
70 | description: >-
71 | Brief description of technology used to detect the operation. This
72 | is most applicable in "broadcast" approaches where the UA is emitting
73 | information in some manner, thus requiring some device to detect that
74 | emission. In the case that no device or technology is used (maybe
75 | just eyeballs), something like "VISUAL" is an appropriate response.
76 | Consistency is important in this field for analysis purposes, so
77 | use the same string whenever the same technology is used.
78 |
79 | If a ground-based Remote ID device is used, report the following:
80 | "Remote Terrestrial Identification of UAS through [XYZ] Technology"
81 | (where "XYZ" is the technology used).
82 |
83 | type: "string"
84 | maxLength: 1000
85 | broadcast_technology:
86 | description: >-
87 | Brief description of the technology used to broadcast information from
88 | the UA. If no broadcast technology is used, "NONE" is an
89 | appropriate response.
90 | Consistency is important in this field for analysis purposes, so
91 | use the same string whenever the same technology is used.
92 | type: "string"
93 | maxLength: 1000
94 | network_lookup:
95 | description: Was USS Network used to look up this operation?
96 | type: boolean
97 | network_lookup_provided_expected_response:
98 | description: >-
99 | If USS Network used to look up this operation, did it return the expected
100 | result? This means that if a negative result was expected and received
101 | this value would be 'true'.
102 | Required when network_lookup == true.
103 | type: boolean
104 | operator_contact_attempted:
105 | description: >-
106 | Was there a goal or attempt to locate and contact the operator?
107 | type: boolean
108 | operator_located_successful:
109 | description: >-
110 | Was the position of the operator correctly obtained?
111 | Required when operator_contact_attempted == true
112 | type: boolean
113 | operator_contact_successful:
114 | description: >-
115 | Was the position of the operator contacted?
116 | Required when operator_contact_attempted == true
117 | If operator_located_successful == false
118 | then operator_contact_attempted == false
119 | type: boolean
120 | detection_position:
121 | description: Where was the device/person that detected the UAS?
122 | $ref: 'https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-geojson.yaml#/definitions/Point'
123 | detection_altitude:
124 | description: What altitude/elevation was the device/person that detected the UAS?
125 | $ref: 'https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/Altitude'
126 | detection_position_method:
127 | description: >-
128 | Was the position of the device/person measured or estimated?
129 | type: "string"
130 | enum:
131 | - MEASURED
132 | - ESTIMATED
133 | example: "MEASURED"
134 | vehicle_position:
135 | description: Where was the UAS when it was detected?
136 | $ref: 'https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-geojson.yaml#/definitions/Point'
137 | vehicle_altitude:
138 | description: At what altitude was the UAS when it was detected?
139 | $ref: 'https://raw.githubusercontent.com/nasa/utm-apis/v4-draft/utm-domains/utm-domain-commons.yaml#/definitions/Altitude'
140 | vehicle_position_method:
141 | description: Was the position of the UAS measured or estimated?
142 | type: "string"
143 | enum:
144 | - MEASURED
145 | - ESTIMATED
146 | example: "MEASURED"
147 | time_of_identification_initiation:
148 | description: >-
149 | Time the device/person started the process of trying to identify
150 | a UA. This could be time a detection device was powered on or the
151 | time at which the decision is made to try and identify a UA.
152 | type: string
153 | format: date-time
154 | minLength: 24
155 | maxLength: 24
156 | pattern: "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]{3})Z$"
157 | example: '2015-08-20T14:11:56.118Z'
158 | time_of_detection:
159 | description: >-
160 | Time the vehicle was detected by the device. If visual detection only,
161 | it is expected this value is an estimate.
162 | type: string
163 | format: date-time
164 | minLength: 24
165 | maxLength: 24
166 | pattern: "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]{3})Z$"
167 | example: '2015-08-20T14:11:56.118Z'
168 | network_lookup_start_time:
169 | description: >-
170 | If USS Network used to look up this operation, at what
171 | time did the lookup begin?
172 | Required when network_lookup == true.
173 | type: string
174 | format: date-time
175 | minLength: 24
176 | maxLength: 24
177 | pattern: "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]{3})Z$"
178 | example: '2015-08-20T14:11:56.118Z'
179 | network_lookup_end_time:
180 | description: >-
181 | If USS Network used to look up this operation, at what time did the
182 | lookup return?
183 | Required when network_lookup == true.
184 | type: string
185 | format: date-time
186 | minLength: 24
187 | maxLength: 24
188 | pattern: "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]{3})Z$"
189 | example: '2015-08-20T14:11:56.118Z'
190 | locate_operator_time:
191 | description: >-
192 | Time when the operator of the Remote ID device has located the operator of the vehicle of interest.
193 | Required when operator_located_successful == true
194 | type: string
195 | format: date-time
196 | minLength: 24
197 | maxLength: 24
198 | pattern: "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]{3})Z$"
199 | example: '2015-08-20T14:11:56.118Z'
200 | contact_operator_time:
201 | description: >-
202 | Time when the operator of the Remote ID device has contacted the operator of the vehicle of interest.
203 | Required when operator_contact_successful == true
204 | type: string
205 | format: date-time
206 | minLength: 24
207 | maxLength: 24
208 | pattern: "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]{3})Z$"
209 | example: '2015-08-20T14:11:56.118Z'
210 | notes:
211 | type: string
212 | maxLength: 3000
213 | minLength: 1
214 |
--------------------------------------------------------------------------------
/TCL4 Data Management/utm-tcl4-sdsp-models.yaml:
--------------------------------------------------------------------------------
1 | info:
2 | description: >-
3 | "TCL4 will require the submission of test data. Some of these data are not
4 | readily collected via UTM means. The models presented in this domain are in
5 | support of such data that are not readily collected otherwise. Some of
6 | these data will be collected live, some after testing, but all should be
7 | collected as a soon as feasible. Further details will be provided in other
8 | testing documentation."
9 | version: 'v1'
10 | title: "Domain for UAS State data."
11 | contact:
12 | name: 'NASA Ames Research Center, Aviation Systems Division'
13 | url: 'https://utm.arc.nasa.gov/'
14 | email: joseph.rios@nasa.gov
15 |
16 | swagger: '2.0'
17 |
18 | paths:
19 | '/no-paths':
20 | put:
21 | responses:
22 | '410':
23 | description: >-
24 | Gone. Not implemented. Will not be implemented. Path included for
25 | proper use by automated tooling. Tools sometimes do not like
26 | when there are no paths, but domains do not contain paths.
27 |
28 | definitions:
29 | CellSample:
30 | description: >-
31 | Time dependent battery cell data for an Operation.
32 | required:
33 | - "cell_sample_id"
34 | - "gufi"
35 | - "battery_id"
36 | - "cell_id"
37 | - "timestamp"
38 | - "cell_voltage"
39 | - "cell_current"
40 | - "battery_temperature"
41 | properties:
42 | cell_sample_id:
43 | description: >-
44 | Identifier for this cell sample instance. Unique for each submission.
45 | type: string
46 | format: uuid
47 | maxLength: 36
48 | minLength: 36
49 | pattern: "^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-4[0-9a-fA-F]{3}\\-[8-b][0-9a-fA-F]{3}\\-[0-9a-fA-F]{12}$"
50 | example: "00000000-0000-4444-8888-FEEDDEADBEEF"
51 | gufi:
52 | description: GUFI of the operation that is the source of these data.
53 | type: string
54 | format: uuid
55 | maxLength: 36
56 | minLength: 36
57 | pattern: "^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-4[0-9a-fA-F]{3}\\-[8-b][0-9a-fA-F]{3}\\-[0-9a-fA-F]{12}$"
58 | example: "00000000-0000-4444-8888-FEEDDEADBEEF"
59 | battery_id:
60 | description: >-
61 | An integer identifier for this battery. For the referenced gufi,
62 | this identifier MUST map to the same physical battery across all
63 | battery_sample_ids. For example, if the vehicle has 6 batteries on board as
64 | well as 12 batteries in reserve on the ground, and the vehicle is
65 | used in an operation with gufi 00000000-0000-4444-8888-FEEDDEADBEEF, then
66 | every time there is an instance of this model with the pairing of
67 | 00000000-0000-4444-8888-FEEDDEADBEEF and battery 3, we will assume that
68 | battery 3 is always the same battery. Ideally, the operator would use
69 | the same battery number across all of its platforms and missions.
70 | This would be helpful in cases where
71 | there are many batteries that a UAS may employ for a given Operation and
72 | the set of physical batteries may vary Operation to Operation. It also
73 | helps when UAS platforms may share a collection of batteries so the
74 | data would show how a particular battery performed across all operations
75 | and platforms.
76 | type: integer
77 | format: int32
78 | minimum: 1
79 | maximum: 9999
80 | example: 3
81 | cell_id:
82 | description: >-
83 | An integer identifier for this cell within this battery. For the referenced gufi,
84 | this identifier MUST map to the same physical cell across all
85 | cell_sample_ids. For example, if the vehicle has 100 cell across all of its batteries, and is
86 | used in an operation with gufi 00000000-0000-4444-8888-FEEDDEADBEEF, then
87 | every time there is an instance of this model with the pairing of
88 | 00000000-0000-4444-8888-FEEDDEADBEEF and cell 3, we will assume that
89 | cell 3 is always the same cell. This should hold across operations and
90 | vehicles as well for this cell (i.e. always use the same mapping of cell numbers
91 | for a given battery.)
92 | type: integer
93 | format: int32
94 | minimum: 1
95 | maximum: 9999
96 | example: 3
97 | timestamp:
98 | description: >-
99 | Time for the sample battery data. The same time source MUST be used
100 | for each sample for this operation.
101 | type: string
102 | format: date-time
103 | minLength: 24
104 | maxLength: 24
105 | pattern: "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]{3})Z$"
106 | example: '2015-08-20T14:11:56.118Z'
107 | cell_voltage:
108 | description: Voltage for this battery at this timestamp. In Volts.
109 | type: number
110 | format: float
111 | minimum: 0.0
112 | example: 4.53
113 | cell_current:
114 | description: Current for this battery at this timestamp. In Amps.
115 | type: number
116 | format: float
117 | minimum: 0.0
118 | example: 4.53
119 | battery_temperature:
120 | description: Temperature of the battery housing this cell at this timestamp. In Celsius.
121 | type: number
122 | format: float
123 | example: 31.3
124 | RotorSample:
125 | description: >-
126 | Time dependent rotor data for an Operation.
127 | required:
128 | - "rotor_sample_id"
129 | - "gufi"
130 | - "rotor_id"
131 | - "rpm"
132 | - "control_throttle_command"
133 | - "timestamp"
134 | properties:
135 | rotor_sample_id:
136 | description: >-
137 | Identifier for this rotor data instance. Unique for each submission.
138 | type: string
139 | format: uuid
140 | maxLength: 36
141 | minLength: 36
142 | pattern: "^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-4[0-9a-fA-F]{3}\\-[8-b][0-9a-fA-F]{3}\\-[0-9a-fA-F]{12}$"
143 | example: "00000000-0000-4444-8888-FEEDDEADBEEF"
144 | gufi:
145 | description: GUFI of the operation that is the source of these data.
146 | type: string
147 | format: uuid
148 | maxLength: 36
149 | minLength: 36
150 | pattern: "^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-4[0-9a-fA-F]{3}\\-[8-b][0-9a-fA-F]{3}\\-[0-9a-fA-F]{12}$"
151 | example: "00000000-0000-4444-8888-FEEDDEADBEEF"
152 | rotor_id:
153 | description: >-
154 | An integer identifier for the rotor that generated these data. Identifier
155 | must reference the same physical rotor across this and all operations for
156 | the same physical vehicle.
157 | type: integer
158 | format: int32
159 | minimum: 1
160 | maximum: 9999
161 | example: 3
162 | rpm:
163 | description: >-
164 | Rotations per minute for this rotor at this timestamp.
165 | type: integer
166 | format: int32
167 | minimum: 0
168 | example: 12915
169 | control_throttle_command:
170 | description: >-
171 | Current throttle command at this timestamp.
172 | format: string
173 | timestamp:
174 | description: >-
175 | Time for the rotor data. The same time source MUST be used
176 | for each sample for this operation.
177 | type: string
178 | format: date-time
179 | minLength: 24
180 | maxLength: 24
181 | pattern: "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]{3})Z$"
182 | example: '2015-08-20T14:11:56.118Z'
183 |
--------------------------------------------------------------------------------
/etm/ess-interface-spec/README.md:
--------------------------------------------------------------------------------
1 | # ESS-ESS API
2 |
3 | ## Comparing to UTM
4 |
5 | The base version is from the ASTM WG for UTM , currently likely to be the 1.0 baseline.
6 |
7 | ````
8 | https://github.com/astm-utm/Protocol/blob/master/utm.yaml
9 | 47b7b2e8d720c7ea8df9e90bc90b10c7181a448b
10 |
11 | ````
12 |
--------------------------------------------------------------------------------
/etm/operator-interface-spec/README.md:
--------------------------------------------------------------------------------
1 | # ETM Operator API
2 |
3 | ## Comparing to the UTM base
4 |
5 | The base commit ID is taken from UTM's Operator API last commit on Jan 2021
6 |
7 | ````
8 | commit c125d198286b92cb92d3349924c40a21325943ef
9 | Author: Fu-Tai Shih
10 | Date: Thu Jan 7 16:42:45 2021 -0800
11 | ````
12 |
--------------------------------------------------------------------------------