pyBADA 0.1.0__tar.gz → 0.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. pybada-0.1.2/.github/workflows/sphinx.yml +56 -0
  2. pybada-0.1.2/.gitignore +5 -0
  3. pybada-0.1.2/.pre-commit-config.yaml +6 -0
  4. {pybada-0.1.0 → pybada-0.1.2}/PKG-INFO +22 -9
  5. {pybada-0.1.0 → pybada-0.1.2}/README.md +12 -6
  6. pybada-0.1.2/docs/Makefile +20 -0
  7. pybada-0.1.2/docs/source/API_reference/TCL.rst +7 -0
  8. pybada-0.1.2/docs/source/API_reference/aircraft.rst +7 -0
  9. pybada-0.1.2/docs/source/API_reference/atmosphere.rst +7 -0
  10. pybada-0.1.2/docs/source/API_reference/bada3.rst +7 -0
  11. pybada-0.1.2/docs/source/API_reference/bada4.rst +7 -0
  12. pybada-0.1.2/docs/source/API_reference/badaH.rst +7 -0
  13. pybada-0.1.2/docs/source/API_reference/configuration.rst +7 -0
  14. pybada-0.1.2/docs/source/API_reference/constants.rst +7 -0
  15. pybada-0.1.2/docs/source/API_reference/conversions.rst +7 -0
  16. pybada-0.1.2/docs/source/API_reference/flightTrajectory.rst +7 -0
  17. pybada-0.1.2/docs/source/API_reference/geodesic.rst +7 -0
  18. pybada-0.1.2/docs/source/API_reference/magnetic.rst +7 -0
  19. pybada-0.1.2/docs/source/API_reference/trajectoryPrediction.rst +7 -0
  20. pybada-0.1.2/docs/source/_static/default_thumbnail.png +0 -0
  21. pybada-0.1.2/docs/source/_static/pyBADA_architecture.png +0 -0
  22. pybada-0.1.2/docs/source/architecture.rst +11 -0
  23. pybada-0.1.2/docs/source/conf.py +50 -0
  24. pybada-0.1.2/docs/source/history.rst +9 -0
  25. pybada-0.1.2/docs/source/index.rst +43 -0
  26. pybada-0.1.2/docs/source/pyBADA.rst +19 -0
  27. pybada-0.1.2/docs/source/userManual.rst +8 -0
  28. pybada-0.1.2/docs/source/user_manual/examples.rst +8 -0
  29. pybada-0.1.2/docs/source/user_manual/introduction.rst +56 -0
  30. {pybada-0.1.0 → pybada-0.1.2}/examples/BADAData.py +14 -10
  31. pybada-0.1.2/examples/GALLERY_HEADER.rst +8 -0
  32. {pybada-0.1.0 → pybada-0.1.2}/examples/ac_trajectory.py +122 -26
  33. {pybada-0.1.0 → pybada-0.1.2}/examples/ac_trajectory_GPS.py +293 -60
  34. {pybada-0.1.0 → pybada-0.1.2}/examples/file_parser.py +35 -16
  35. {pybada-0.1.0 → pybada-0.1.2}/examples/geodesic.py +50 -11
  36. {pybada-0.1.0 → pybada-0.1.2}/examples/heli_trajectory.py +26 -2
  37. {pybada-0.1.0 → pybada-0.1.2}/examples/optimum_speed_altitude.py +19 -7
  38. {pybada-0.1.0 → pybada-0.1.2}/pyproject.toml +28 -2
  39. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA4/DUMMY/ACM_BADA4.xsd +3 -1
  40. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA4/DUMMY/Dummy-PST/Dummy-PST.ATF +33 -33
  41. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA4/DUMMY/Dummy-PST/Dummy-PST.xml +3 -1
  42. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA4/DUMMY/Dummy-PST/Dummy-PST_ISA+20.PTD +30 -30
  43. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA4/DUMMY/Dummy-PST/Dummy-PST_ISA+20.PTF +14 -14
  44. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA4/DUMMY/Dummy-PST/Dummy-PST_ISA.PTD +30 -30
  45. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA4/DUMMY/Dummy-PST/Dummy-PST_ISA.PTF +14 -14
  46. pybada-0.1.2/src/aircraft/BADA4/DUMMY/Dummy-TBP/Dummy-TBP.ATF +191 -0
  47. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA4/DUMMY/Dummy-TBP/Dummy-TBP.xml +83 -81
  48. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA4/DUMMY/Dummy-TBP/Dummy-TBP_ISA+20.PTD +153 -153
  49. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA4/DUMMY/Dummy-TBP/Dummy-TBP_ISA+20.PTF +21 -21
  50. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA4/DUMMY/Dummy-TBP/Dummy-TBP_ISA.PTD +153 -153
  51. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA4/DUMMY/Dummy-TBP/Dummy-TBP_ISA.PTF +21 -21
  52. pybada-0.1.2/src/aircraft/BADA4/DUMMY/Dummy-TBP/LRC.OPT +36 -0
  53. pybada-0.1.2/src/aircraft/BADA4/DUMMY/Dummy-TBP/MEC.OPT +56 -0
  54. pybada-0.1.2/src/aircraft/BADA4/DUMMY/Dummy-TBP/MRC.OPT +36 -0
  55. pybada-0.1.0/src/aircraft/BADA4/DUMMY/Dummy-TBP/OPTALT.dat → pybada-0.1.2/src/aircraft/BADA4/DUMMY/Dummy-TBP/OPTALT.OPT +5 -5
  56. pybada-0.1.2/src/aircraft/BADA4/DUMMY/Dummy-TWIN/Dummy-TWIN.ATF +204 -0
  57. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA4/DUMMY/Dummy-TWIN/Dummy-TWIN.xml +123 -121
  58. pybada-0.1.0/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/Dummy-TWIN-plus_ISA+20.PTD → pybada-0.1.2/src/aircraft/BADA4/DUMMY/Dummy-TWIN/Dummy-TWIN_ISA+20.PTD +216 -216
  59. pybada-0.1.2/src/aircraft/BADA4/DUMMY/Dummy-TWIN/Dummy-TWIN_ISA+20.PTF +63 -0
  60. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA4/DUMMY/Dummy-TWIN/Dummy-TWIN_ISA.PTD +216 -216
  61. pybada-0.1.2/src/aircraft/BADA4/DUMMY/Dummy-TWIN/Dummy-TWIN_ISA.PTF +63 -0
  62. pybada-0.1.2/src/aircraft/BADA4/DUMMY/Dummy-TWIN/ECON.OPT +37 -0
  63. pybada-0.1.2/src/aircraft/BADA4/DUMMY/Dummy-TWIN/LRC.OPT +36 -0
  64. pybada-0.1.2/src/aircraft/BADA4/DUMMY/Dummy-TWIN/MEC.OPT +56 -0
  65. pybada-0.1.2/src/aircraft/BADA4/DUMMY/Dummy-TWIN/MRC.OPT +36 -0
  66. pybada-0.1.2/src/aircraft/BADA4/DUMMY/Dummy-TWIN/OPTALT.OPT +37 -0
  67. pybada-0.1.2/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/Dummy-TWIN-plus.ATF +238 -0
  68. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/Dummy-TWIN-plus.xml +190 -188
  69. pybada-0.1.0/src/aircraft/BADA4/DUMMY/Dummy-TWIN/Dummy-TWIN_ISA+20.PTD → pybada-0.1.2/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/Dummy-TWIN-plus_ISA+20.PTD +216 -216
  70. pybada-0.1.0/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/Dummy-TWIN-plus_ISA.PTF → pybada-0.1.2/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/Dummy-TWIN-plus_ISA+20.PTF +26 -26
  71. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/Dummy-TWIN-plus_ISA.PTD +204 -204
  72. pybada-0.1.0/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/Dummy-TWIN-plus_ISA+20.PTF → pybada-0.1.2/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/Dummy-TWIN-plus_ISA.PTF +26 -26
  73. pybada-0.1.2/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/ECON.OPT +37 -0
  74. pybada-0.1.2/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/LRC.OPT +36 -0
  75. pybada-0.1.2/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/MEC.OPT +56 -0
  76. pybada-0.1.2/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/MRC.OPT +36 -0
  77. pybada-0.1.2/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/OPTALT.OPT +37 -0
  78. {pybada-0.1.0 → pybada-0.1.2}/src/pyBADA/TCL.py +1623 -797
  79. pybada-0.1.2/src/pyBADA/aircraft.py +399 -0
  80. {pybada-0.1.0 → pybada-0.1.2}/src/pyBADA/atmosphere.py +117 -87
  81. {pybada-0.1.0 → pybada-0.1.2}/src/pyBADA/bada3.py +1412 -843
  82. {pybada-0.1.0 → pybada-0.1.2}/src/pyBADA/bada4.py +1678 -988
  83. {pybada-0.1.0 → pybada-0.1.2}/src/pyBADA/badaH.py +1129 -619
  84. pybada-0.1.2/src/pyBADA/configuration.py +216 -0
  85. {pybada-0.1.0 → pybada-0.1.2}/src/pyBADA/constants.py +0 -9
  86. {pybada-0.1.0 → pybada-0.1.2}/src/pyBADA/conversions.py +0 -10
  87. {pybada-0.1.0 → pybada-0.1.2}/src/pyBADA/flightTrajectory.py +154 -151
  88. {pybada-0.1.0 → pybada-0.1.2}/src/pyBADA/geodesic.py +278 -179
  89. {pybada-0.1.0 → pybada-0.1.2}/src/pyBADA/magnetic.py +54 -16
  90. {pybada-0.1.0 → pybada-0.1.2}/src/pyBADA/trajectoryPrediction.py +27 -26
  91. pybada-0.1.0/.gitignore +0 -3
  92. pybada-0.1.0/requirements-dev.txt +0 -2
  93. pybada-0.1.0/src/aircraft/BADA4/DUMMY/Dummy-TBP/Dummy-TBP.ATF +0 -191
  94. pybada-0.1.0/src/aircraft/BADA4/DUMMY/Dummy-TBP/LRC.dat +0 -38
  95. pybada-0.1.0/src/aircraft/BADA4/DUMMY/Dummy-TBP/MEC.dat +0 -58
  96. pybada-0.1.0/src/aircraft/BADA4/DUMMY/Dummy-TBP/MRC.dat +0 -38
  97. pybada-0.1.0/src/aircraft/BADA4/DUMMY/Dummy-TWIN/Dummy-TWIN.ATF +0 -204
  98. pybada-0.1.0/src/aircraft/BADA4/DUMMY/Dummy-TWIN/Dummy-TWIN_ISA+20.PTF +0 -63
  99. pybada-0.1.0/src/aircraft/BADA4/DUMMY/Dummy-TWIN/Dummy-TWIN_ISA.PTF +0 -63
  100. pybada-0.1.0/src/aircraft/BADA4/DUMMY/Dummy-TWIN/ECON.OPT +0 -37
  101. pybada-0.1.0/src/aircraft/BADA4/DUMMY/Dummy-TWIN/LRC.OPT +0 -38
  102. pybada-0.1.0/src/aircraft/BADA4/DUMMY/Dummy-TWIN/MEC.OPT +0 -58
  103. pybada-0.1.0/src/aircraft/BADA4/DUMMY/Dummy-TWIN/MRC.OPT +0 -38
  104. pybada-0.1.0/src/aircraft/BADA4/DUMMY/Dummy-TWIN/OPTALT.OPT +0 -37
  105. pybada-0.1.0/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/Dummy-TWIN-plus.ATF +0 -238
  106. pybada-0.1.0/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/ECON.OPT +0 -37
  107. pybada-0.1.0/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/LRC.OPT +0 -36
  108. pybada-0.1.0/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/MEC.OPT +0 -56
  109. pybada-0.1.0/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/MRC.OPT +0 -36
  110. pybada-0.1.0/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/OPTALT.OPT +0 -37
  111. pybada-0.1.0/src/aircraft/BADA4/DUMMY/aircraft_model_default.xml +0 -311
  112. pybada-0.1.0/src/pyBADA/aircraft.py +0 -414
  113. pybada-0.1.0/src/pyBADA/badaE.py +0 -3317
  114. pybada-0.1.0/src/pyBADA/configuration.py +0 -98
  115. {pybada-0.1.0 → pybada-0.1.2}/AUTHORS +0 -0
  116. {pybada-0.1.0 → pybada-0.1.2}/LICENCE.txt +0 -0
  117. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/BADA.GPF +0 -0
  118. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/BZJT__.APF +0 -0
  119. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/BZJT__.OPF +0 -0
  120. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/BZJT__.PTD +0 -0
  121. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/BZJT__.PTF +0 -0
  122. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/GA____.APF +0 -0
  123. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/GA____.OPF +0 -0
  124. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/GA____.PTD +0 -0
  125. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/GA____.PTF +0 -0
  126. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/J2H___.APF +0 -0
  127. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/J2H___.OPF +0 -0
  128. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/J2H___.PTD +0 -0
  129. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/J2H___.PTF +0 -0
  130. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/J2M___.APF +0 -0
  131. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/J2M___.OPF +0 -0
  132. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/J2M___.PTD +0 -0
  133. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/J2M___.PTF +0 -0
  134. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/J4H___.APF +0 -0
  135. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/J4H___.OPF +0 -0
  136. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/J4H___.PTD +0 -0
  137. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/J4H___.PTF +0 -0
  138. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/ReleaseSummary +0 -0
  139. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/SYNONYM.NEW +0 -0
  140. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/TP2M__.APF +0 -0
  141. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/TP2M__.OPF +0 -0
  142. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/TP2M__.PTD +0 -0
  143. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA3/DUMMY/TP2M__.PTF +0 -0
  144. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA4/DUMMY/GPF.xml +0 -0
  145. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADA4/DUMMY/GPF_BADA4.xsd +0 -0
  146. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADAH/DUMMY/DUMH/DUMH.ATF +0 -0
  147. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADAH/DUMMY/DUMH/DUMH.xml +0 -0
  148. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADAH/DUMMY/DUMH/DUMH_ISA+20.PTD +0 -0
  149. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADAH/DUMMY/DUMH/DUMH_ISA+20.PTF +0 -0
  150. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADAH/DUMMY/DUMH/DUMH_ISA.PTD +0 -0
  151. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADAH/DUMMY/DUMH/DUMH_ISA.PTF +0 -0
  152. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADAH/DUMMY/DUMH/LRC.OPT +0 -0
  153. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADAH/DUMMY/DUMH/MEC.OPT +0 -0
  154. {pybada-0.1.0 → pybada-0.1.2}/src/aircraft/BADAH/DUMMY/DUMH/MRC.OPT +0 -0
  155. {pybada-0.1.0 → pybada-0.1.2}/src/data/magneticDeclinationGridData.json +0 -0
  156. {pybada-0.1.0 → pybada-0.1.2}/src/pyBADA/__init__.py +0 -0
@@ -0,0 +1,56 @@
1
+ name: Publish updated version of the docs
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
9
+ permissions:
10
+ contents: read
11
+ pages: write
12
+ id-token: write
13
+
14
+ jobs:
15
+ build-docs:
16
+ name: Build HTML docs
17
+ runs-on: ubuntu-latest
18
+
19
+ steps:
20
+ - name: Checkout repository
21
+ uses: actions/checkout@v3
22
+
23
+ - name: Set up Python
24
+ uses: actions/setup-python@v4
25
+ with:
26
+ python-version: "3.12"
27
+
28
+ - name: Install dependencies
29
+ run: |
30
+ python -m pip install --upgrade pip
31
+ pip install .
32
+ pip install .[dev]
33
+
34
+ - name: Run Sphinx build
35
+ run: |
36
+ cd docs
37
+ make html
38
+
39
+ - name: Upload Sphinx HTML documentation as artifact
40
+ uses: actions/upload-pages-artifact@v3
41
+ with:
42
+ path: docs/build/html
43
+
44
+ deploy:
45
+ name: Deploy to GitHub pages
46
+ # Do not run this unless pushing to main.
47
+ if: github.event_name == 'push' && github.ref == 'refs/heads/main'
48
+ environment:
49
+ name: github-pages
50
+ url: ${{ steps.deployment.outputs.page_url }}
51
+ runs-on: ubuntu-latest
52
+ needs: build-docs
53
+ steps:
54
+ - name: Deploy to GitHub Pages
55
+ id: deployment
56
+ uses: actions/deploy-pages@v4
@@ -0,0 +1,5 @@
1
+ .idea
2
+ __pycache__
3
+ dist/
4
+ docs/build
5
+ env/
@@ -0,0 +1,6 @@
1
+ repos:
2
+ - repo: https://github.com/psf/black
3
+ rev: 24.8.0
4
+ hooks:
5
+ - id: black
6
+ language_version: python3.12
@@ -1,12 +1,10 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pyBADA
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
4
  Summary: pyBADA
5
5
  Project-URL: Homepage, https://github.com/eurocontrol/pybada
6
6
  Author-email: Henrich Glaser-Opitz <henrich.glaser-opitz@eurocontrol.int>
7
7
  License: EUPL-1.2
8
- License-File: AUTHORS
9
- License-File: LICENCE.txt
10
8
  Classifier: License :: OSI Approved :: European Union Public Licence 1.2 (EUPL 1.2)
11
9
  Classifier: Programming Language :: Python :: 3
12
10
  Requires-Python: >=3.11
@@ -15,11 +13,21 @@ Requires-Dist: pandas==2.2.3
15
13
  Requires-Dist: scipy==1.11.3
16
14
  Requires-Dist: simplekml==1.3.6
17
15
  Requires-Dist: xlsxwriter==3.2.0
16
+ Provides-Extra: dev
17
+ Requires-Dist: black==23.9.1; extra == 'dev'
18
+ Requires-Dist: flake8==6.1.0; extra == 'dev'
19
+ Requires-Dist: folium==0.17.0; extra == 'dev'
20
+ Requires-Dist: matplotlib==3.9.2; extra == 'dev'
21
+ Requires-Dist: pre-commit==3.8.0; extra == 'dev'
22
+ Requires-Dist: sphinx-gallery==0.17.1; extra == 'dev'
23
+ Requires-Dist: sphinx-rtd-theme==2.0.0; extra == 'dev'
24
+ Requires-Dist: sphinx==7.4.7; extra == 'dev'
18
25
  Description-Content-Type: text/markdown
19
26
 
20
27
  # pyBADA
21
28
 
22
29
  <a href="https://github.com/eurocontrol/pybada/blob/main/LICENCE.txt"><img alt="License: EUPL" src="https://img.shields.io/badge/license-EUPL-3785D1.svg"></a>
30
+ <a href="https://pypi.org/project/pyBADA"><img alt="Released on PyPi" src="https://img.shields.io/pypi/v/pyBADA.svg"></a>
23
31
  ![Python 3.12](https://img.shields.io/badge/Python-3.12-3776AB.svg?logo=python&logoColor=white)
24
32
  <a href="https://github.com/eurocontrol/pybada"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
25
33
 
@@ -33,10 +41,12 @@ pip install pyBADA
33
41
 
34
42
  ## Examples
35
43
 
36
- - `file_parser`: example of BADA file parser and retrieval of some basic BADA parameters for all BADA3/4/H
37
- - `optimum_speed_altitude`: example of calculation of optimum speeds and altitude for BADA4 and BADAH aircraft
38
- - `ac_trajectory`: a simple, but complete aircraft trajectory for BADA3 and BADA4 aircraft
39
- - `ac_trajectory_GPS`: an example of a simple, but complete aircraft trajectory for BADA3 and BADA4 aircraft including geodesic calculations
44
+ - `file_parser`: BADA file parser and retrieval of some basic BADA parameters for all BADA3/4/H
45
+ - `BADAData`: loading complete BADA3 dataset and retrieval of a specific parameters for a specific aircraft
46
+ - `optimum_speed_altitude`: calculation of optimum speeds and altitude for BADA4 and BADAH aircraft
47
+ - `ac_trajectory`: simple, but complete, aircraft trajectory for BADA3 and BADA4 aircraft
48
+ - `ac_trajectory_GPS`: simple, but complete, aircraft trajectory for BADA3 and BADA4 aircraft including geodesic calculations
49
+ - `heli_trajectory`: simple, but complete, helicopter trajectory for BADAH aircraft
40
50
 
41
51
  ## Development
42
52
 
@@ -46,8 +56,11 @@ python3 -m venv env
46
56
  source env/bin/activate
47
57
  # Install package in editable mode
48
58
  pip install -e .
49
- # Install a couple of packages for formatting and linting
50
- pip install -r requirements-dev.txt
59
+ # Install a couple of packages for formatting, linting and building the docs
60
+ pip install -e .[dev]
61
+ # To build the docs
62
+ cd docs
63
+ make html
51
64
  ```
52
65
 
53
66
  ## License
@@ -1,6 +1,7 @@
1
1
  # pyBADA
2
2
 
3
3
  <a href="https://github.com/eurocontrol/pybada/blob/main/LICENCE.txt"><img alt="License: EUPL" src="https://img.shields.io/badge/license-EUPL-3785D1.svg"></a>
4
+ <a href="https://pypi.org/project/pyBADA"><img alt="Released on PyPi" src="https://img.shields.io/pypi/v/pyBADA.svg"></a>
4
5
  ![Python 3.12](https://img.shields.io/badge/Python-3.12-3776AB.svg?logo=python&logoColor=white)
5
6
  <a href="https://github.com/eurocontrol/pybada"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
6
7
 
@@ -14,10 +15,12 @@ pip install pyBADA
14
15
 
15
16
  ## Examples
16
17
 
17
- - `file_parser`: example of BADA file parser and retrieval of some basic BADA parameters for all BADA3/4/H
18
- - `optimum_speed_altitude`: example of calculation of optimum speeds and altitude for BADA4 and BADAH aircraft
19
- - `ac_trajectory`: a simple, but complete aircraft trajectory for BADA3 and BADA4 aircraft
20
- - `ac_trajectory_GPS`: an example of a simple, but complete aircraft trajectory for BADA3 and BADA4 aircraft including geodesic calculations
18
+ - `file_parser`: BADA file parser and retrieval of some basic BADA parameters for all BADA3/4/H
19
+ - `BADAData`: loading complete BADA3 dataset and retrieval of a specific parameters for a specific aircraft
20
+ - `optimum_speed_altitude`: calculation of optimum speeds and altitude for BADA4 and BADAH aircraft
21
+ - `ac_trajectory`: simple, but complete, aircraft trajectory for BADA3 and BADA4 aircraft
22
+ - `ac_trajectory_GPS`: simple, but complete, aircraft trajectory for BADA3 and BADA4 aircraft including geodesic calculations
23
+ - `heli_trajectory`: simple, but complete, helicopter trajectory for BADAH aircraft
21
24
 
22
25
  ## Development
23
26
 
@@ -27,8 +30,11 @@ python3 -m venv env
27
30
  source env/bin/activate
28
31
  # Install package in editable mode
29
32
  pip install -e .
30
- # Install a couple of packages for formatting and linting
31
- pip install -r requirements-dev.txt
33
+ # Install a couple of packages for formatting, linting and building the docs
34
+ pip install -e .[dev]
35
+ # To build the docs
36
+ cd docs
37
+ make html
32
38
  ```
33
39
 
34
40
  ## License
@@ -0,0 +1,20 @@
1
+ # Minimal makefile for Sphinx documentation
2
+ #
3
+
4
+ # You can set these variables from the command line, and also
5
+ # from the environment for the first two.
6
+ SPHINXOPTS =
7
+ SPHINXBUILD = sphinx-build
8
+ SOURCEDIR = source
9
+ BUILDDIR = build
10
+
11
+ # Put it first so that "make" without argument is like "make help".
12
+ help:
13
+ @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14
+
15
+ .PHONY: help Makefile
16
+
17
+ # Catch-all target: route all unknown targets to Sphinx using the new
18
+ # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19
+ %: Makefile
20
+ @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
@@ -0,0 +1,7 @@
1
+ TCL
2
+ ===
3
+
4
+ .. automodule:: pyBADA.TCL
5
+ :members:
6
+ :undoc-members:
7
+ :show-inheritance:
@@ -0,0 +1,7 @@
1
+ Aircraft
2
+ ========
3
+
4
+ .. automodule:: pyBADA.aircraft
5
+ :members:
6
+ :undoc-members:
7
+ :show-inheritance:
@@ -0,0 +1,7 @@
1
+ Atmosphere
2
+ ==========
3
+
4
+ .. automodule:: pyBADA.atmosphere
5
+ :members:
6
+ :undoc-members:
7
+ :show-inheritance:
@@ -0,0 +1,7 @@
1
+ Bada3
2
+ =====
3
+
4
+ .. automodule:: pyBADA.bada3
5
+ :members:
6
+ :undoc-members:
7
+ :show-inheritance:
@@ -0,0 +1,7 @@
1
+ Bada4
2
+ =====
3
+
4
+ .. automodule:: pyBADA.bada4
5
+ :members:
6
+ :undoc-members:
7
+ :show-inheritance:
@@ -0,0 +1,7 @@
1
+ BadaH
2
+ =====
3
+
4
+ .. automodule:: pyBADA.badaH
5
+ :members:
6
+ :undoc-members:
7
+ :show-inheritance:
@@ -0,0 +1,7 @@
1
+ Configuration
2
+ =============
3
+
4
+ .. automodule:: pyBADA.configuration
5
+ :members:
6
+ :undoc-members:
7
+ :show-inheritance:
@@ -0,0 +1,7 @@
1
+ Constants
2
+ =========
3
+
4
+ .. automodule:: pyBADA.constants
5
+ :members:
6
+ :undoc-members:
7
+ :show-inheritance:
@@ -0,0 +1,7 @@
1
+ Conversions
2
+ ===========
3
+
4
+ .. automodule:: pyBADA.conversions
5
+ :members:
6
+ :undoc-members:
7
+ :show-inheritance:
@@ -0,0 +1,7 @@
1
+ FlightTrajectory
2
+ ================
3
+
4
+ .. automodule:: pyBADA.flightTrajectory
5
+ :members:
6
+ :undoc-members:
7
+ :show-inheritance:
@@ -0,0 +1,7 @@
1
+ Geodesic
2
+ ========
3
+
4
+ .. automodule:: pyBADA.geodesic
5
+ :members:
6
+ :undoc-members:
7
+ :show-inheritance:
@@ -0,0 +1,7 @@
1
+ Magnetic
2
+ ========
3
+
4
+ .. automodule:: pyBADA.magnetic
5
+ :members:
6
+ :undoc-members:
7
+ :show-inheritance:
@@ -0,0 +1,7 @@
1
+ TrajectoryPrediction
2
+ ====================
3
+
4
+ .. automodule:: pyBADA.trajectoryPrediction
5
+ :members:
6
+ :undoc-members:
7
+ :show-inheritance:
@@ -0,0 +1,11 @@
1
+ Architecture
2
+ ============
3
+
4
+ .. _architecture_figure:
5
+
6
+ .. figure:: _static/pyBADA_architecture.png
7
+ :alt: Image description
8
+ :width: 80%
9
+ :align: center
10
+
11
+ Figure 1: pyBADA simplified Architecture.
@@ -0,0 +1,50 @@
1
+ # Configuration file for the Sphinx documentation builder.
2
+
3
+ import os
4
+ import sys
5
+
6
+ sys.path.append(os.path.abspath("../../src"))
7
+
8
+ # -- Project information -----------------------------------------------------
9
+
10
+ project = "pyBADA"
11
+ author = "Henrich Glaser - Opitz"
12
+
13
+ # -- General configuration ---------------------------------------------------
14
+
15
+ extensions = [
16
+ "sphinx.ext.autodoc",
17
+ "sphinx.ext.napoleon",
18
+ "sphinx.ext.viewcode",
19
+ "sphinx.ext.autosummary",
20
+ "sphinx_gallery.gen_gallery",
21
+ ]
22
+
23
+ sphinx_gallery_conf = {
24
+ "examples_dirs": "../../examples", # Path to your example scripts
25
+ "gallery_dirs": "auto_examples", # Path where to save generated output
26
+ "filename_pattern": "^((?!skip_).)*$", # Only include scripts not starting with 'skip_'
27
+ "reset_modules_order": "after", # Reset modules after each example
28
+ "run_stale_examples": True, # Force re-execution of examples
29
+ "remove_config_comments": True, # Clean up the code blocks
30
+ "capture_repr": ("_repr_html_",),
31
+ "default_thumb_file": os.path.abspath(
32
+ os.path.join(
33
+ os.path.dirname(__file__), "_static", "default_thumbnail.png"
34
+ )
35
+ ),
36
+ }
37
+
38
+ autosummary_generate = True
39
+ templates_path = ["_templates"]
40
+ exclude_patterns = []
41
+
42
+ # add_module_names = False
43
+ modindex_common_prefix = ["pyBADA."]
44
+
45
+ # -- Options for HTML output -------------------------------------------------
46
+
47
+ html_theme = "sphinx_rtd_theme"
48
+ html_static_path = ["_static"]
49
+
50
+ copyright = "2024, EUROCONTROL"
@@ -0,0 +1,9 @@
1
+ History
2
+ ==================================
3
+
4
+ pyBADA was initially conceived by Ramon Dalmau, Marc Melgosa, and Xavier Prats in 2018 [1]_ [2]_, for use in SESAR projects:
5
+ `Apache <https://www.sesarju.eu/projects/apache>`_ and
6
+ `R-WAKE <https://www.sesarju.eu/projects/r-wake>`_.
7
+
8
+ .. [1] https://upcommons.upc.edu/bitstream/handle/2117/127485/SESAR+Innovation+Days+2018.pdf?sequence=1
9
+ .. [2] https://upcommons.upc.edu/bitstream/handle/2117/127485/pyBADA-SIDs.pdf?sequence=2&isAllowed=y
@@ -0,0 +1,43 @@
1
+ pyBADA documentation
2
+ ==================================
3
+
4
+ pyBADA provides aircraft performance modelling, trajectory prediction and optimisation, and visualisation with BADA in Python.
5
+
6
+ To get started:
7
+
8
+ .. code-block:: bash
9
+
10
+ pip install pybada
11
+
12
+
13
+ About BADA
14
+ ==========
15
+
16
+ Efficient air traffic operations rely on the capability of air traffic management (ATM) systems to accurately predict aircraft trajectories. Likewise, ATM research and development activities require modelling and simulation tools capable of replicating real-life operations and aircraft performances as perfectly as possible.
17
+
18
+ To enable modelling and simulation of aircraft trajectories, every aircraft in operation shall have a corresponding Aircraft Performance Model (APM).
19
+
20
+ This is why EUROCONTROL, in cooperation with aircraft manufacturers and operating airlines, has created and maintains an APM called BADA (Base of Aircraft Data).
21
+
22
+ Owning to this cooperation, BADA prevails as a unique product provided by EUROCONTROL to the aviation community worldwide
23
+
24
+ BADA APM is based on a kinetic approach to aircraft performance modelling. It is made of two components: the Model specifications, which provide the theoretical fundaments used to calculate aircraft performance parameters, and the Datasets containing the aircraft-specific coefficients necessary to perform calculations.
25
+
26
+
27
+
28
+ .. toctree::
29
+ :maxdepth: 2
30
+ :caption: Contents:
31
+
32
+ pyBADA
33
+ architecture
34
+ userManual
35
+ history
36
+
37
+
38
+ Indices and tables
39
+ ==================
40
+
41
+ * :ref:`genindex`
42
+ * :ref:`modindex`
43
+ * :ref:`search`
@@ -0,0 +1,19 @@
1
+ API reference
2
+ =============
3
+
4
+ .. toctree::
5
+ :maxdepth: 1
6
+
7
+ API_reference/aircraft
8
+ API_reference/atmosphere
9
+ API_reference/bada3
10
+ API_reference/bada4
11
+ API_reference/badaH
12
+ API_reference/configuration
13
+ API_reference/constants
14
+ API_reference/conversions
15
+ API_reference/flightTrajectory
16
+ API_reference/geodesic
17
+ API_reference/magnetic
18
+ API_reference/TCL
19
+ API_reference/trajectoryPrediction
@@ -0,0 +1,8 @@
1
+ User Manual
2
+ ===========
3
+
4
+ .. toctree::
5
+ :maxdepth: 1
6
+
7
+ user_manual/introduction
8
+ user_manual/examples
@@ -0,0 +1,8 @@
1
+ Examples
2
+ ========
3
+
4
+ .. toctree::
5
+ :maxdepth: 2
6
+ :caption: Examples:
7
+
8
+ ../auto_examples/index
@@ -0,0 +1,56 @@
1
+ Introduction
2
+ ============
3
+
4
+ Identification
5
+ --------------
6
+ PyBADA is a Python-based implementation of BADA APM for aircraft performance modelling, trajectory prediction and optimisation with BADA, including methods to calculate any of the aircraft’s performance characteristics (lift, drag, thrust, and fuel flow), operational flight envelope, BADA airline procedure model and calculation of PTF and PTD files, as defined by the BADA User Manual. It includes modules to calculate atmospheric properties, unit conversions (including the speed conversion) and basic geodesic calculations.
7
+
8
+ PyBADA offers a full implementation of BADA3, BADA4 and BADAH.
9
+
10
+ The complete implementation then builds on top of BADA performance calculation by providing several trajectory segment calculations for all phases of flight (cruise, climb and descend) including acceleration and deceleration computation.
11
+
12
+ EUROCONTROL is the owner of pyBADA
13
+
14
+ Purpose
15
+ -------
16
+ PyBADA library has been created with several use cases in mind:
17
+
18
+ - Help users starting with BADA and aircraft performance modelling to better understand how such a model can be implemented
19
+ - Lower the workload of users planning to implement BADA in their tools, by reusing an already exiting fully functional library;
20
+ - Minimizing the errors and unnecessary mistakes while implementing BADA performance calculations;
21
+ - Help users who are building their own tools to validate the results against the library implemented and validated by the BADA team at EUROCONTROL;
22
+ - Provide a starting platform for research organisations and universities, to build new and interesting tools utilizing BADA performance modelling, without requiring too much time to be spent on BADA implementation, and rather focusing on the research part.
23
+
24
+ Glossary of Acronyms
25
+ --------------------
26
+
27
+ .. list-table:: Glossary of Acronyms
28
+ :widths: 15 85
29
+ :header-rows: 1
30
+
31
+ * - Acronym
32
+ - Explanation
33
+ * - ARPM
34
+ - Airline Procedure Model
35
+ * - BADA
36
+ - Base of Aircraft Data
37
+ * - BADA3
38
+ - Base of Aircraft Data Family 3
39
+ * - BADA4
40
+ - Base of Aircraft Data Family 4
41
+ * - BADAH
42
+ - Base of Aircraft Data Family H
43
+ * - PTD
44
+ - Performance Table Data
45
+ * - PTF
46
+ - Performance Table File
47
+ * - pyBADA
48
+ - Python Implementation of BADA
49
+ * - SW
50
+ - Software
51
+ * - TAS
52
+ - True Air Speed
53
+ * - TBP
54
+ - Turboprop
55
+ * - TCL
56
+ - Trajectory Computation Light
@@ -1,36 +1,40 @@
1
1
  """
2
+ BADA Data Retrieval
3
+ ===================
4
+
2
5
  Example of BADA parametes retrieval for specific aircraft
3
6
  """
4
7
 
5
- from pyBADA.bada3 import Bada3Aircraft
6
8
  from pyBADA.bada3 import Parser as Bada3Parser
9
+ from pyBADA.aircraft import Bada
7
10
 
8
11
 
9
- badaVersion = "DUMMY"
10
-
11
12
  # loading all the BADA data into a dataframe
12
- allData = Bada3Parser.parseAll(badaVersion=badaVersion)
13
+ allData = Bada3Parser.parseAll(badaVersion="DUMMY")
13
14
 
14
15
  # retrieve specific data from the whole database, including synonyms
15
- params = Bada3Parser.getBADAParameters(
16
+ params = Bada.getBADAParameters(
16
17
  df=allData,
17
- acName=["B737", "A1", "P38", "AT45", "DA42"],
18
+ acName=["A1", "P38", "AT45", "DA42", "B789", "J2H"],
18
19
  parameters=["VMO", "MMO", "MTOW", "engineType"],
19
20
  )
20
21
  print(params)
21
22
  print("\n")
22
23
 
23
- params = Bada3Parser.getBADAParameters(
24
- df=allData, acName=["B737"], parameters=["VMO", "MMO", "MTOW", "engineType"]
24
+ params = Bada.getBADAParameters(
25
+ df=allData,
26
+ acName=["B737"],
27
+ parameters=["VMO", "MMO", "MTOW", "engineType"],
25
28
  )
26
29
  print(params)
27
30
  print("\n")
28
31
 
29
- params = Bada3Parser.getBADAParameters(
32
+ params = Bada.getBADAParameters(
30
33
  df=allData, acName="DA42", parameters=["VMO", "MMO", "MTOW", "engineType"]
31
34
  )
32
35
  print(params)
33
36
  print("\n")
34
37
 
35
- params = Bada3Parser.getBADAParameters(df=allData, acName="DA42", parameters="VMO")
38
+ params = Bada.getBADAParameters(df=allData, acName="DA42", parameters="VMO")
36
39
  print(params)
40
+ print("\n")
@@ -0,0 +1,8 @@
1
+ Examples Gallery
2
+ ================
3
+
4
+ Welcome to the pyBADA Examples Gallery!
5
+
6
+ This gallery showcases example scripts demonstrating the usage of the pyBADA package. The examples cover various functionalities and use cases to help you understand how to implement pyBADA in your projects.
7
+
8
+ Below you will find a collection of scripts with accompanying explanations and outputs.