pyBADA 0.1.0__tar.gz → 0.1.1__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 (155) hide show
  1. pybada-0.1.1/.github/workflows/sphinx.yml +56 -0
  2. pybada-0.1.1/.gitignore +5 -0
  3. pybada-0.1.1/.pre-commit-config.yaml +6 -0
  4. {pybada-0.1.0 → pybada-0.1.1}/PKG-INFO +22 -7
  5. {pybada-0.1.0 → pybada-0.1.1}/README.md +12 -6
  6. pybada-0.1.1/docs/Makefile +20 -0
  7. pybada-0.1.1/docs/source/API_reference/TCL.rst +7 -0
  8. pybada-0.1.1/docs/source/API_reference/aircraft.rst +7 -0
  9. pybada-0.1.1/docs/source/API_reference/atmosphere.rst +7 -0
  10. pybada-0.1.1/docs/source/API_reference/bada3.rst +7 -0
  11. pybada-0.1.1/docs/source/API_reference/bada4.rst +7 -0
  12. pybada-0.1.1/docs/source/API_reference/badaH.rst +7 -0
  13. pybada-0.1.1/docs/source/API_reference/configuration.rst +7 -0
  14. pybada-0.1.1/docs/source/API_reference/constants.rst +7 -0
  15. pybada-0.1.1/docs/source/API_reference/conversions.rst +7 -0
  16. pybada-0.1.1/docs/source/API_reference/flightTrajectory.rst +7 -0
  17. pybada-0.1.1/docs/source/API_reference/geodesic.rst +7 -0
  18. pybada-0.1.1/docs/source/API_reference/magnetic.rst +7 -0
  19. pybada-0.1.1/docs/source/API_reference/trajectoryPrediction.rst +7 -0
  20. pybada-0.1.1/docs/source/_static/default_thumbnail.png +0 -0
  21. pybada-0.1.1/docs/source/_static/pyBADA_architecture.png +0 -0
  22. pybada-0.1.1/docs/source/architecture.rst +11 -0
  23. pybada-0.1.1/docs/source/conf.py +48 -0
  24. pybada-0.1.1/docs/source/history.rst +9 -0
  25. pybada-0.1.1/docs/source/index.rst +43 -0
  26. pybada-0.1.1/docs/source/pyBADA.rst +19 -0
  27. pybada-0.1.1/docs/source/userManual.rst +8 -0
  28. pybada-0.1.1/docs/source/user_manual/examples.rst +8 -0
  29. pybada-0.1.1/docs/source/user_manual/introduction.rst +56 -0
  30. {pybada-0.1.0 → pybada-0.1.1}/examples/BADAData.py +10 -3
  31. pybada-0.1.1/examples/GALLERY_HEADER.rst +8 -0
  32. {pybada-0.1.0 → pybada-0.1.1}/examples/ac_trajectory.py +122 -26
  33. {pybada-0.1.0 → pybada-0.1.1}/examples/ac_trajectory_GPS.py +293 -60
  34. {pybada-0.1.0 → pybada-0.1.1}/examples/file_parser.py +3 -0
  35. {pybada-0.1.0 → pybada-0.1.1}/examples/geodesic.py +50 -11
  36. {pybada-0.1.0 → pybada-0.1.1}/examples/heli_trajectory.py +26 -2
  37. {pybada-0.1.0 → pybada-0.1.1}/examples/optimum_speed_altitude.py +12 -3
  38. {pybada-0.1.0 → pybada-0.1.1}/pyproject.toml +27 -1
  39. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA4/DUMMY/ACM_BADA4.xsd +3 -1
  40. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA4/DUMMY/Dummy-PST/Dummy-PST.ATF +33 -33
  41. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA4/DUMMY/Dummy-PST/Dummy-PST.xml +3 -1
  42. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA4/DUMMY/Dummy-PST/Dummy-PST_ISA+20.PTD +30 -30
  43. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA4/DUMMY/Dummy-PST/Dummy-PST_ISA+20.PTF +14 -14
  44. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA4/DUMMY/Dummy-PST/Dummy-PST_ISA.PTD +30 -30
  45. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA4/DUMMY/Dummy-PST/Dummy-PST_ISA.PTF +14 -14
  46. pybada-0.1.1/src/aircraft/BADA4/DUMMY/Dummy-TBP/Dummy-TBP.ATF +191 -0
  47. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA4/DUMMY/Dummy-TBP/Dummy-TBP.xml +83 -81
  48. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA4/DUMMY/Dummy-TBP/Dummy-TBP_ISA+20.PTD +153 -153
  49. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA4/DUMMY/Dummy-TBP/Dummy-TBP_ISA+20.PTF +21 -21
  50. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA4/DUMMY/Dummy-TBP/Dummy-TBP_ISA.PTD +153 -153
  51. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA4/DUMMY/Dummy-TBP/Dummy-TBP_ISA.PTF +21 -21
  52. pybada-0.1.1/src/aircraft/BADA4/DUMMY/Dummy-TBP/LRC.OPT +36 -0
  53. pybada-0.1.1/src/aircraft/BADA4/DUMMY/Dummy-TBP/MEC.OPT +56 -0
  54. pybada-0.1.1/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.1/src/aircraft/BADA4/DUMMY/Dummy-TBP/OPTALT.OPT +5 -5
  56. pybada-0.1.1/src/aircraft/BADA4/DUMMY/Dummy-TWIN/Dummy-TWIN.ATF +204 -0
  57. {pybada-0.1.0 → pybada-0.1.1}/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.1/src/aircraft/BADA4/DUMMY/Dummy-TWIN/Dummy-TWIN_ISA+20.PTD +216 -216
  59. pybada-0.1.1/src/aircraft/BADA4/DUMMY/Dummy-TWIN/Dummy-TWIN_ISA+20.PTF +63 -0
  60. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA4/DUMMY/Dummy-TWIN/Dummy-TWIN_ISA.PTD +216 -216
  61. pybada-0.1.1/src/aircraft/BADA4/DUMMY/Dummy-TWIN/Dummy-TWIN_ISA.PTF +63 -0
  62. pybada-0.1.1/src/aircraft/BADA4/DUMMY/Dummy-TWIN/ECON.OPT +37 -0
  63. pybada-0.1.1/src/aircraft/BADA4/DUMMY/Dummy-TWIN/LRC.OPT +36 -0
  64. pybada-0.1.1/src/aircraft/BADA4/DUMMY/Dummy-TWIN/MEC.OPT +56 -0
  65. pybada-0.1.1/src/aircraft/BADA4/DUMMY/Dummy-TWIN/MRC.OPT +36 -0
  66. pybada-0.1.1/src/aircraft/BADA4/DUMMY/Dummy-TWIN/OPTALT.OPT +37 -0
  67. pybada-0.1.1/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/Dummy-TWIN-plus.ATF +238 -0
  68. {pybada-0.1.0 → pybada-0.1.1}/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.1/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.1/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/Dummy-TWIN-plus_ISA+20.PTF +26 -26
  71. {pybada-0.1.0 → pybada-0.1.1}/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.1/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/Dummy-TWIN-plus_ISA.PTF +26 -26
  73. pybada-0.1.1/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/ECON.OPT +37 -0
  74. pybada-0.1.1/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/LRC.OPT +36 -0
  75. pybada-0.1.1/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/MEC.OPT +56 -0
  76. pybada-0.1.1/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/MRC.OPT +36 -0
  77. pybada-0.1.1/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/OPTALT.OPT +37 -0
  78. {pybada-0.1.0 → pybada-0.1.1}/src/pyBADA/TCL.py +1573 -797
  79. {pybada-0.1.0 → pybada-0.1.1}/src/pyBADA/aircraft.py +180 -145
  80. {pybada-0.1.0 → pybada-0.1.1}/src/pyBADA/atmosphere.py +117 -87
  81. {pybada-0.1.0 → pybada-0.1.1}/src/pyBADA/bada3.py +1233 -621
  82. {pybada-0.1.0 → pybada-0.1.1}/src/pyBADA/bada4.py +1537 -799
  83. {pybada-0.1.0 → pybada-0.1.1}/src/pyBADA/badaH.py +1103 -508
  84. pybada-0.1.1/src/pyBADA/configuration.py +156 -0
  85. {pybada-0.1.0 → pybada-0.1.1}/src/pyBADA/constants.py +0 -9
  86. {pybada-0.1.0 → pybada-0.1.1}/src/pyBADA/conversions.py +0 -10
  87. {pybada-0.1.0 → pybada-0.1.1}/src/pyBADA/flightTrajectory.py +154 -151
  88. {pybada-0.1.0 → pybada-0.1.1}/src/pyBADA/geodesic.py +278 -179
  89. {pybada-0.1.0 → pybada-0.1.1}/src/pyBADA/magnetic.py +54 -16
  90. {pybada-0.1.0 → pybada-0.1.1}/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/badaE.py +0 -3317
  113. pybada-0.1.0/src/pyBADA/configuration.py +0 -98
  114. {pybada-0.1.0 → pybada-0.1.1}/AUTHORS +0 -0
  115. {pybada-0.1.0 → pybada-0.1.1}/LICENCE.txt +0 -0
  116. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/BADA.GPF +0 -0
  117. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/BZJT__.APF +0 -0
  118. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/BZJT__.OPF +0 -0
  119. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/BZJT__.PTD +0 -0
  120. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/BZJT__.PTF +0 -0
  121. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/GA____.APF +0 -0
  122. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/GA____.OPF +0 -0
  123. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/GA____.PTD +0 -0
  124. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/GA____.PTF +0 -0
  125. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/J2H___.APF +0 -0
  126. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/J2H___.OPF +0 -0
  127. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/J2H___.PTD +0 -0
  128. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/J2H___.PTF +0 -0
  129. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/J2M___.APF +0 -0
  130. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/J2M___.OPF +0 -0
  131. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/J2M___.PTD +0 -0
  132. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/J2M___.PTF +0 -0
  133. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/J4H___.APF +0 -0
  134. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/J4H___.OPF +0 -0
  135. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/J4H___.PTD +0 -0
  136. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/J4H___.PTF +0 -0
  137. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/ReleaseSummary +0 -0
  138. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/SYNONYM.NEW +0 -0
  139. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/TP2M__.APF +0 -0
  140. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/TP2M__.OPF +0 -0
  141. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/TP2M__.PTD +0 -0
  142. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA3/DUMMY/TP2M__.PTF +0 -0
  143. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA4/DUMMY/GPF.xml +0 -0
  144. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADA4/DUMMY/GPF_BADA4.xsd +0 -0
  145. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADAH/DUMMY/DUMH/DUMH.ATF +0 -0
  146. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADAH/DUMMY/DUMH/DUMH.xml +0 -0
  147. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADAH/DUMMY/DUMH/DUMH_ISA+20.PTD +0 -0
  148. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADAH/DUMMY/DUMH/DUMH_ISA+20.PTF +0 -0
  149. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADAH/DUMMY/DUMH/DUMH_ISA.PTD +0 -0
  150. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADAH/DUMMY/DUMH/DUMH_ISA.PTF +0 -0
  151. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADAH/DUMMY/DUMH/LRC.OPT +0 -0
  152. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADAH/DUMMY/DUMH/MEC.OPT +0 -0
  153. {pybada-0.1.0 → pybada-0.1.1}/src/aircraft/BADAH/DUMMY/DUMH/MRC.OPT +0 -0
  154. {pybada-0.1.0 → pybada-0.1.1}/src/data/magneticDeclinationGridData.json +0 -0
  155. {pybada-0.1.0 → pybada-0.1.1}/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,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pyBADA
3
- Version: 0.1.0
3
+ Version: 0.1.1
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>
@@ -15,11 +15,21 @@ Requires-Dist: pandas==2.2.3
15
15
  Requires-Dist: scipy==1.11.3
16
16
  Requires-Dist: simplekml==1.3.6
17
17
  Requires-Dist: xlsxwriter==3.2.0
18
+ Provides-Extra: dev
19
+ Requires-Dist: black==23.9.1; extra == 'dev'
20
+ Requires-Dist: flake8==6.1.0; extra == 'dev'
21
+ Requires-Dist: folium==0.17.0; extra == 'dev'
22
+ Requires-Dist: matplotlib==3.9.2; extra == 'dev'
23
+ Requires-Dist: pre-commit==3.8.0; extra == 'dev'
24
+ Requires-Dist: sphinx-gallery==0.17.1; extra == 'dev'
25
+ Requires-Dist: sphinx-rtd-theme==2.0.0; extra == 'dev'
26
+ Requires-Dist: sphinx==7.4.7; extra == 'dev'
18
27
  Description-Content-Type: text/markdown
19
28
 
20
29
  # pyBADA
21
30
 
22
31
  <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>
32
+ <a href="https://pypi.org/project/pyBADA"><img alt="Released on PyPi" src="https://img.shields.io/pypi/v/pyBADA.svg"></a>
23
33
  ![Python 3.12](https://img.shields.io/badge/Python-3.12-3776AB.svg?logo=python&logoColor=white)
24
34
  <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
35
 
@@ -33,10 +43,12 @@ pip install pyBADA
33
43
 
34
44
  ## Examples
35
45
 
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
46
+ - `file_parser`: BADA file parser and retrieval of some basic BADA parameters for all BADA3/4/H
47
+ - `BADAData`: loading complete BADA3 dataset and retrievel of a specific parameters for a specific aircraft
48
+ - `optimum_speed_altitude`: calculation of optimum speeds and altitude for BADA4 and BADAH aircraft
49
+ - `ac_trajectory`: simple, but complete aircraft trajectory for BADA3 and BADA4 aircraft
50
+ - `ac_trajectory_GPS`: simple, but complete aircraft trajectory for BADA3 and BADA4 aircraft including geodesic calculations
51
+ - `heli_trajectory`: simple, but complete helicopter trajectory for BADAH aircraft
40
52
 
41
53
  ## Development
42
54
 
@@ -46,8 +58,11 @@ python3 -m venv env
46
58
  source env/bin/activate
47
59
  # Install package in editable mode
48
60
  pip install -e .
49
- # Install a couple of packages for formatting and linting
50
- pip install -r requirements-dev.txt
61
+ # Install a couple of packages for formatting, linting and building the docs
62
+ pip install -e .[dev]
63
+ # To build the docs
64
+ cd docs
65
+ make html
51
66
  ```
52
67
 
53
68
  ## 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 retrievel 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,48 @@
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"]
@@ -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,11 +1,13 @@
1
1
  """
2
+ BADA Data Retrieval
3
+ ===================
4
+
2
5
  Example of BADA parametes retrieval for specific aircraft
3
6
  """
4
7
 
5
8
  from pyBADA.bada3 import Bada3Aircraft
6
9
  from pyBADA.bada3 import Parser as Bada3Parser
7
10
 
8
-
9
11
  badaVersion = "DUMMY"
10
12
 
11
13
  # loading all the BADA data into a dataframe
@@ -21,7 +23,9 @@ print(params)
21
23
  print("\n")
22
24
 
23
25
  params = Bada3Parser.getBADAParameters(
24
- df=allData, acName=["B737"], parameters=["VMO", "MMO", "MTOW", "engineType"]
26
+ df=allData,
27
+ acName=["B737"],
28
+ parameters=["VMO", "MMO", "MTOW", "engineType"],
25
29
  )
26
30
  print(params)
27
31
  print("\n")
@@ -32,5 +36,8 @@ params = Bada3Parser.getBADAParameters(
32
36
  print(params)
33
37
  print("\n")
34
38
 
35
- params = Bada3Parser.getBADAParameters(df=allData, acName="DA42", parameters="VMO")
39
+ params = Bada3Parser.getBADAParameters(
40
+ df=allData, acName="DA42", parameters="VMO"
41
+ )
36
42
  print(params)
43
+ 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.