pyBADA 0.1.7__tar.gz → 0.1.8__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 (153) hide show
  1. {pybada-0.1.7 → pybada-0.1.8}/PKG-INFO +16 -16
  2. pybada-0.1.8/docs/source/API_reference/badaAircraft.rst +7 -0
  3. pybada-0.1.8/docs/source/API_reference/myTypes.rst +7 -0
  4. pybada-0.1.8/docs/source/API_reference/trajectorySegments.rst +7 -0
  5. pybada-0.1.8/docs/source/_templates/footer.html +10 -0
  6. {pybada-0.1.7 → pybada-0.1.8}/docs/source/conf.py +1 -1
  7. {pybada-0.1.7 → pybada-0.1.8}/docs/source/pyBADA.rst +4 -1
  8. {pybada-0.1.7 → pybada-0.1.8}/examples/trajectoryAC.py +40 -40
  9. {pybada-0.1.7 → pybada-0.1.8}/examples/trajectoryAC_GPS.py +39 -39
  10. {pybada-0.1.7 → pybada-0.1.8}/examples/trajectoryHELI.py +15 -15
  11. {pybada-0.1.7 → pybada-0.1.8}/pyproject.toml +16 -16
  12. pybada-0.1.8/src/pyBADA/TCL.py +3341 -0
  13. {pybada-0.1.7 → pybada-0.1.8}/src/pyBADA/bada4.py +1 -1
  14. pybada-0.1.8/src/pyBADA/badaAircraft.py +35 -0
  15. {pybada-0.1.7 → pybada-0.1.8}/src/pyBADA/configuration.py +50 -0
  16. pybada-0.1.8/src/pyBADA/myTypes.py +204 -0
  17. pybada-0.1.7/src/pyBADA/TCL.py → pybada-0.1.8/src/pyBADA/trajectorySegments.py +7 -12
  18. {pybada-0.1.7 → pybada-0.1.8}/tests/atmosphereTest.py +63 -63
  19. pybada-0.1.7/docs/source/_templates/footer.html +0 -10
  20. {pybada-0.1.7 → pybada-0.1.8}/.github/workflows/lint.yml +0 -0
  21. {pybada-0.1.7 → pybada-0.1.8}/.github/workflows/pytest.yml +0 -0
  22. {pybada-0.1.7 → pybada-0.1.8}/.github/workflows/release.yml +0 -0
  23. {pybada-0.1.7 → pybada-0.1.8}/.github/workflows/sphinx.yml +0 -0
  24. {pybada-0.1.7 → pybada-0.1.8}/.gitignore +0 -0
  25. {pybada-0.1.7 → pybada-0.1.8}/.pre-commit-config.yaml +0 -0
  26. {pybada-0.1.7 → pybada-0.1.8}/AMENDMENT_TO_EUPL_license.md +0 -0
  27. {pybada-0.1.7 → pybada-0.1.8}/AUTHORS +0 -0
  28. {pybada-0.1.7 → pybada-0.1.8}/LICENCE.txt +0 -0
  29. {pybada-0.1.7 → pybada-0.1.8}/README.md +0 -0
  30. {pybada-0.1.7 → pybada-0.1.8}/docs/Makefile +0 -0
  31. {pybada-0.1.7 → pybada-0.1.8}/docs/source/API_reference/TCL.rst +0 -0
  32. {pybada-0.1.7 → pybada-0.1.8}/docs/source/API_reference/aircraft.rst +0 -0
  33. {pybada-0.1.7 → pybada-0.1.8}/docs/source/API_reference/atmosphere.rst +0 -0
  34. {pybada-0.1.7 → pybada-0.1.8}/docs/source/API_reference/bada3.rst +0 -0
  35. {pybada-0.1.7 → pybada-0.1.8}/docs/source/API_reference/bada4.rst +0 -0
  36. {pybada-0.1.7 → pybada-0.1.8}/docs/source/API_reference/badaH.rst +0 -0
  37. {pybada-0.1.7 → pybada-0.1.8}/docs/source/API_reference/configuration.rst +0 -0
  38. {pybada-0.1.7 → pybada-0.1.8}/docs/source/API_reference/constants.rst +0 -0
  39. {pybada-0.1.7 → pybada-0.1.8}/docs/source/API_reference/conversions.rst +0 -0
  40. {pybada-0.1.7 → pybada-0.1.8}/docs/source/API_reference/flightTrajectory.rst +0 -0
  41. {pybada-0.1.7 → pybada-0.1.8}/docs/source/API_reference/geodesic.rst +0 -0
  42. {pybada-0.1.7 → pybada-0.1.8}/docs/source/API_reference/magnetic.rst +0 -0
  43. {pybada-0.1.7 → pybada-0.1.8}/docs/source/API_reference/trajectoryPrediction.rst +0 -0
  44. {pybada-0.1.7 → pybada-0.1.8}/docs/source/_static/css/custom.css +0 -0
  45. {pybada-0.1.7 → pybada-0.1.8}/docs/source/_static/default_thumbnail.png +0 -0
  46. {pybada-0.1.7 → pybada-0.1.8}/docs/source/_static/pyBADA_architecture.png +0 -0
  47. {pybada-0.1.7 → pybada-0.1.8}/docs/source/architecture.rst +0 -0
  48. {pybada-0.1.7 → pybada-0.1.8}/docs/source/getting-started.rst +0 -0
  49. {pybada-0.1.7 → pybada-0.1.8}/docs/source/history.rst +0 -0
  50. {pybada-0.1.7 → pybada-0.1.8}/docs/source/index.rst +0 -0
  51. {pybada-0.1.7 → pybada-0.1.8}/docs/source/userManual.rst +0 -0
  52. {pybada-0.1.7 → pybada-0.1.8}/docs/source/user_manual/examples.rst +0 -0
  53. {pybada-0.1.7 → pybada-0.1.8}/docs/source/user_manual/introduction.rst +0 -0
  54. {pybada-0.1.7 → pybada-0.1.8}/examples/BADAData.py +0 -0
  55. {pybada-0.1.7 → pybada-0.1.8}/examples/GALLERY_HEADER.rst +0 -0
  56. {pybada-0.1.7 → pybada-0.1.8}/examples/combinedSlopeAndDestination.py +0 -0
  57. {pybada-0.1.7 → pybada-0.1.8}/examples/fileParser.py +0 -0
  58. {pybada-0.1.7 → pybada-0.1.8}/examples/fuelFlow.py +0 -0
  59. {pybada-0.1.7 → pybada-0.1.8}/examples/geodesicCalculations.py +0 -0
  60. {pybada-0.1.7 → pybada-0.1.8}/examples/initialMass.py +0 -0
  61. {pybada-0.1.7 → pybada-0.1.8}/examples/optimumSpeedAndAltitude.py +0 -0
  62. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/BADA.GPF +0 -0
  63. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/BZJT__.APF +0 -0
  64. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/BZJT__.OPF +0 -0
  65. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/BZJT__.PTD +0 -0
  66. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/BZJT__.PTF +0 -0
  67. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/GA____.APF +0 -0
  68. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/GA____.OPF +0 -0
  69. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/GA____.PTD +0 -0
  70. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/GA____.PTF +0 -0
  71. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/J2H___.APF +0 -0
  72. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/J2H___.OPF +0 -0
  73. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/J2H___.PTD +0 -0
  74. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/J2H___.PTF +0 -0
  75. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/J2M___.APF +0 -0
  76. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/J2M___.OPF +0 -0
  77. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/J2M___.PTD +0 -0
  78. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/J2M___.PTF +0 -0
  79. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/J4H___.APF +0 -0
  80. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/J4H___.OPF +0 -0
  81. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/J4H___.PTD +0 -0
  82. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/J4H___.PTF +0 -0
  83. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/ReleaseSummary +0 -0
  84. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/SYNONYM.NEW +0 -0
  85. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/TP2M__.APF +0 -0
  86. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/TP2M__.OPF +0 -0
  87. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/TP2M__.PTD +0 -0
  88. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA3/DUMMY/TP2M__.PTF +0 -0
  89. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/ACM_BADA4.xsd +0 -0
  90. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-PST/Dummy-PST.ATF +0 -0
  91. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-PST/Dummy-PST.xml +0 -0
  92. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-PST/Dummy-PST_ISA+20.PTD +0 -0
  93. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-PST/Dummy-PST_ISA+20.PTF +0 -0
  94. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-PST/Dummy-PST_ISA.PTD +0 -0
  95. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-PST/Dummy-PST_ISA.PTF +0 -0
  96. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TBP/Dummy-TBP.ATF +0 -0
  97. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TBP/Dummy-TBP.xml +0 -0
  98. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TBP/Dummy-TBP_ISA+20.PTD +0 -0
  99. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TBP/Dummy-TBP_ISA+20.PTF +0 -0
  100. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TBP/Dummy-TBP_ISA.PTD +0 -0
  101. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TBP/Dummy-TBP_ISA.PTF +0 -0
  102. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TBP/LRC.OPT +0 -0
  103. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TBP/MEC.OPT +0 -0
  104. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TBP/MRC.OPT +0 -0
  105. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TBP/OPTALT.OPT +0 -0
  106. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TWIN/Dummy-TWIN.ATF +0 -0
  107. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TWIN/Dummy-TWIN.xml +0 -0
  108. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TWIN/Dummy-TWIN_ISA+20.PTD +0 -0
  109. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TWIN/Dummy-TWIN_ISA+20.PTF +0 -0
  110. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TWIN/Dummy-TWIN_ISA.PTD +0 -0
  111. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TWIN/Dummy-TWIN_ISA.PTF +0 -0
  112. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TWIN/ECON.OPT +0 -0
  113. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TWIN/LRC.OPT +0 -0
  114. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TWIN/MEC.OPT +0 -0
  115. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TWIN/MRC.OPT +0 -0
  116. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TWIN/OPTALT.OPT +0 -0
  117. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/Dummy-TWIN-plus.ATF +0 -0
  118. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/Dummy-TWIN-plus.xml +0 -0
  119. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/Dummy-TWIN-plus_ISA+20.PTD +0 -0
  120. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/Dummy-TWIN-plus_ISA+20.PTF +0 -0
  121. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/Dummy-TWIN-plus_ISA.PTD +0 -0
  122. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/Dummy-TWIN-plus_ISA.PTF +0 -0
  123. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/ECON.OPT +0 -0
  124. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/LRC.OPT +0 -0
  125. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/MEC.OPT +0 -0
  126. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/MRC.OPT +0 -0
  127. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/Dummy-TWIN-plus/OPTALT.OPT +0 -0
  128. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/GPF.xml +0 -0
  129. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADA4/DUMMY/GPF_BADA4.xsd +0 -0
  130. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADAH/DUMMY/DUMH/DUMH.ATF +0 -0
  131. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADAH/DUMMY/DUMH/DUMH.xml +0 -0
  132. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADAH/DUMMY/DUMH/DUMH_ISA+20.PTD +0 -0
  133. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADAH/DUMMY/DUMH/DUMH_ISA+20.PTF +0 -0
  134. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADAH/DUMMY/DUMH/DUMH_ISA.PTD +0 -0
  135. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADAH/DUMMY/DUMH/DUMH_ISA.PTF +0 -0
  136. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADAH/DUMMY/DUMH/LRC.OPT +0 -0
  137. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADAH/DUMMY/DUMH/MEC.OPT +0 -0
  138. {pybada-0.1.7 → pybada-0.1.8}/src/aircraft/BADAH/DUMMY/DUMH/MRC.OPT +0 -0
  139. {pybada-0.1.7 → pybada-0.1.8}/src/data/magneticDeclinationGridData.json +0 -0
  140. {pybada-0.1.7 → pybada-0.1.8}/src/pyBADA/__init__.py +0 -0
  141. {pybada-0.1.7 → pybada-0.1.8}/src/pyBADA/aircraft.py +0 -0
  142. {pybada-0.1.7 → pybada-0.1.8}/src/pyBADA/atmosphere.py +0 -0
  143. {pybada-0.1.7 → pybada-0.1.8}/src/pyBADA/bada3.py +0 -0
  144. {pybada-0.1.7 → pybada-0.1.8}/src/pyBADA/badaH.py +0 -0
  145. {pybada-0.1.7 → pybada-0.1.8}/src/pyBADA/constants.py +0 -0
  146. {pybada-0.1.7 → pybada-0.1.8}/src/pyBADA/conversions.py +0 -0
  147. {pybada-0.1.7 → pybada-0.1.8}/src/pyBADA/flightTrajectory.py +0 -0
  148. {pybada-0.1.7 → pybada-0.1.8}/src/pyBADA/geodesic.py +0 -0
  149. {pybada-0.1.7 → pybada-0.1.8}/src/pyBADA/magnetic.py +0 -0
  150. {pybada-0.1.7 → pybada-0.1.8}/src/pyBADA/trajectoryPrediction.py +0 -0
  151. {pybada-0.1.7 → pybada-0.1.8}/src/pyBADA/utils.py +0 -0
  152. {pybada-0.1.7 → pybada-0.1.8}/tests/load_test.py +0 -0
  153. {pybada-0.1.7 → pybada-0.1.8}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyBADA
3
- Version: 0.1.7
3
+ Version: 0.1.8
4
4
  Summary: Aircraft performance modelling, trajectory prediction and optimisation, and visualisation with EUROCONTROL's BADA.
5
5
  Project-URL: Homepage, https://github.com/eurocontrol-bada/pybada
6
6
  Author-email: Henrich Glaser-Opitz <henrich.glaser-opitz@eurocontrol.int>, Antonio Vivace <antonio.vivace@eurocontrol.int>
@@ -9,25 +9,25 @@ License-File: AUTHORS
9
9
  License-File: LICENCE.txt
10
10
  Classifier: License :: OSI Approved :: European Union Public Licence 1.2 (EUPL 1.2)
11
11
  Classifier: Programming Language :: Python :: 3
12
- Requires-Python: >=3.12
13
- Requires-Dist: numpy>=2.3.2
14
- Requires-Dist: pandas>=2.3.2
15
- Requires-Dist: scipy>=1.16.1
12
+ Requires-Python: >=3.12.3
13
+ Requires-Dist: numpy>=2.4.2
14
+ Requires-Dist: pandas>=3.0.0
15
+ Requires-Dist: scipy>=1.17.0
16
16
  Requires-Dist: simplekml>=1.3.6
17
- Requires-Dist: xarray>=2025.9.0
18
- Requires-Dist: xlsxwriter>=3.2.5
17
+ Requires-Dist: xarray>=2026.1.0
18
+ Requires-Dist: xlsxwriter>=3.2.9
19
19
  Provides-Extra: dev
20
- Requires-Dist: build; extra == 'dev'
20
+ Requires-Dist: build==1.4.0; extra == 'dev'
21
21
  Requires-Dist: folium==0.20.0; extra == 'dev'
22
- Requires-Dist: matplotlib==3.10.6; extra == 'dev'
23
- Requires-Dist: pre-commit==4.2.0; extra == 'dev'
24
- Requires-Dist: pytest==8.4.2; extra == 'dev'
22
+ Requires-Dist: matplotlib==3.10.8; extra == 'dev'
23
+ Requires-Dist: pre-commit==4.5.1; extra == 'dev'
24
+ Requires-Dist: pytest==9.0.2; extra == 'dev'
25
25
  Requires-Dist: readthedocs-sphinx-search>=0.3.2; extra == 'dev'
26
- Requires-Dist: ruff==0.12.12; extra == 'dev'
27
- Requires-Dist: sphinx-gallery==0.19.0; extra == 'dev'
28
- Requires-Dist: sphinx-rtd-theme==3.0.2; extra == 'dev'
29
- Requires-Dist: sphinx==8.2.3; extra == 'dev'
30
- Requires-Dist: twine; extra == 'dev'
26
+ Requires-Dist: ruff==0.15.0; extra == 'dev'
27
+ Requires-Dist: sphinx-gallery==0.20.0; extra == 'dev'
28
+ Requires-Dist: sphinx-rtd-theme==3.1.0; extra == 'dev'
29
+ Requires-Dist: sphinx==9.1.0; extra == 'dev'
30
+ Requires-Dist: twine==6.2.0; extra == 'dev'
31
31
  Description-Content-Type: text/markdown
32
32
 
33
33
  # pyBADA
@@ -0,0 +1,7 @@
1
+ BadaAircraft
2
+ ============
3
+
4
+ .. automodule:: pyBADA.badaAircraft
5
+ :members:
6
+ :undoc-members:
7
+ :show-inheritance:
@@ -0,0 +1,7 @@
1
+ myTypes
2
+ =======
3
+
4
+ .. automodule:: pyBADA.myTypes
5
+ :members:
6
+ :undoc-members:
7
+ :show-inheritance:
@@ -0,0 +1,7 @@
1
+ TrajectorySegments
2
+ ==================
3
+
4
+ .. automodule:: pyBADA.TrajectorySegments
5
+ :members:
6
+ :undoc-members:
7
+ :show-inheritance:
@@ -0,0 +1,10 @@
1
+ {% extends "!footer.html" %}
2
+ {%- block contentinfo %}
3
+ {{ super }}
4
+
5
+
6
+
7
+ &copy; Copyright 2024 - 2026 <img src="https://ansperformance.eu/nvctr/reference/figures/euctrl-logo-wide.svg" width="112" alt="EUROCONTROL"></a> <br>
8
+
9
+
10
+ {% endblock %}
@@ -52,4 +52,4 @@ modindex_common_prefix = ["pyBADA."]
52
52
  html_theme = "sphinx_rtd_theme"
53
53
  html_static_path = ["_static"]
54
54
 
55
- copyright = "2024, EUROCONTROL"
55
+ copyright = "2024 - 2026, EUROCONTROL"
@@ -9,11 +9,14 @@ API reference
9
9
  API_reference/bada3
10
10
  API_reference/bada4
11
11
  API_reference/badaH
12
+ API_reference/badaAircraft
12
13
  API_reference/configuration
13
14
  API_reference/constants
14
15
  API_reference/conversions
15
16
  API_reference/flightTrajectory
16
17
  API_reference/geodesic
17
18
  API_reference/magnetic
19
+ API_reference/myTypes
18
20
  API_reference/TCL
19
- API_reference/trajectoryPrediction
21
+ API_reference/trajectoryPrediction
22
+ API_reference/trajectorySegments
@@ -9,9 +9,9 @@ from dataclasses import dataclass
9
9
 
10
10
  import matplotlib.pyplot as plt
11
11
 
12
- from pyBADA import TCL as TCL
13
12
  from pyBADA import atmosphere as atm
14
13
  from pyBADA import conversions as conv
14
+ from pyBADA import trajectorySegments
15
15
  from pyBADA.bada3 import Bada3Aircraft
16
16
  from pyBADA.bada4 import Bada4Aircraft
17
17
  from pyBADA.bada4 import Parser as Bada4Parser
@@ -49,7 +49,7 @@ AC = Bada4Aircraft(
49
49
  # filePath="/home/<USER>/ec/pybada-models/models/BADA4/4.3",
50
50
  # )
51
51
 
52
- # create a Flight Trajectory object to store the output from TCL segment calculations
52
+ # create a Flight Trajectory object to store the output from trajectorySegments segment calculations
53
53
  ft = FT()
54
54
 
55
55
  # default parameters
@@ -93,7 +93,7 @@ Hp_CR = 33000 # [ft] CRUISing level
93
93
 
94
94
  # CLIMB to threshold altitude 1500ft at take-off speed
95
95
  # ------------------------------------------------
96
- flightTrajectory = TCL.constantSpeedRating(
96
+ flightTrajectory = trajectorySegments.constantSpeedRating(
97
97
  AC=AC,
98
98
  speedType="CAS",
99
99
  v=conv.ms2kt(cas_cl1),
@@ -122,7 +122,7 @@ Hp, m_final, CAS_final = ft.getFinalValue(AC, ["Hp", "mass", "CAS"])
122
122
  deltaTemp=deltaTemp,
123
123
  )
124
124
 
125
- flightTrajectory = TCL.accDec(
125
+ flightTrajectory = trajectorySegments.accDec(
126
126
  AC=AC,
127
127
  speedType="CAS",
128
128
  v_init=CAS_final,
@@ -142,7 +142,7 @@ ft.append(AC, flightTrajectory)
142
142
  # current values
143
143
  Hp, m_final, CAS_final = ft.getFinalValue(AC, ["Hp", "mass", "CAS"])
144
144
 
145
- flightTrajectory = TCL.constantSpeedRating(
145
+ flightTrajectory = trajectorySegments.constantSpeedRating(
146
146
  AC=AC,
147
147
  speedType="CAS",
148
148
  v=CAS_final,
@@ -172,7 +172,7 @@ Hp, m_final, CAS_final = ft.getFinalValue(AC, ["Hp", "mass", "CAS"])
172
172
  deltaTemp=deltaTemp,
173
173
  )
174
174
 
175
- flightTrajectory = TCL.accDec(
175
+ flightTrajectory = trajectorySegments.accDec(
176
176
  AC=AC,
177
177
  speedType="CAS",
178
178
  v_init=CAS_final,
@@ -192,7 +192,7 @@ ft.append(AC, flightTrajectory)
192
192
  # current values
193
193
  Hp, m_final, CAS_final = ft.getFinalValue(AC, ["Hp", "mass", "CAS"])
194
194
 
195
- flightTrajectory = TCL.constantSpeedRating(
195
+ flightTrajectory = trajectorySegments.constantSpeedRating(
196
196
  AC=AC,
197
197
  speedType="CAS",
198
198
  v=CAS_final,
@@ -222,7 +222,7 @@ Hp, m_final, CAS_final = ft.getFinalValue(AC, ["Hp", "mass", "CAS"])
222
222
  deltaTemp=deltaTemp,
223
223
  )
224
224
 
225
- flightTrajectory = TCL.accDec(
225
+ flightTrajectory = trajectorySegments.accDec(
226
226
  AC=AC,
227
227
  speedType="CAS",
228
228
  v_init=CAS_final,
@@ -242,7 +242,7 @@ ft.append(AC, flightTrajectory)
242
242
  # current values
243
243
  Hp, m_final, CAS_final = ft.getFinalValue(AC, ["Hp", "mass", "CAS"])
244
244
 
245
- flightTrajectory = TCL.constantSpeedRating(
245
+ flightTrajectory = trajectorySegments.constantSpeedRating(
246
246
  AC=AC,
247
247
  speedType="CAS",
248
248
  v=CAS_final,
@@ -272,7 +272,7 @@ Hp, m_final, CAS_final = ft.getFinalValue(AC, ["Hp", "mass", "CAS"])
272
272
  deltaTemp=deltaTemp,
273
273
  )
274
274
 
275
- flightTrajectory = TCL.accDec(
275
+ flightTrajectory = trajectorySegments.accDec(
276
276
  AC=AC,
277
277
  speedType="CAS",
278
278
  v_init=CAS_final,
@@ -292,7 +292,7 @@ ft.append(AC, flightTrajectory)
292
292
  # current values
293
293
  Hp, m_final, CAS_final = ft.getFinalValue(AC, ["Hp", "mass", "CAS"])
294
294
 
295
- flightTrajectory = TCL.constantSpeedRating(
295
+ flightTrajectory = trajectorySegments.constantSpeedRating(
296
296
  AC=AC,
297
297
  speedType="CAS",
298
298
  v=CAS_final,
@@ -322,7 +322,7 @@ Hp, m_final, CAS_final = ft.getFinalValue(AC, ["Hp", "mass", "CAS"])
322
322
  deltaTemp=deltaTemp,
323
323
  )
324
324
 
325
- flightTrajectory = TCL.accDec(
325
+ flightTrajectory = trajectorySegments.accDec(
326
326
  AC=AC,
327
327
  speedType="CAS",
328
328
  v_init=CAS_final,
@@ -342,7 +342,7 @@ ft.append(AC, flightTrajectory)
342
342
  # current values
343
343
  Hp, m_final, CAS_final = ft.getFinalValue(AC, ["Hp", "mass", "CAS"])
344
344
 
345
- flightTrajectory = TCL.constantSpeedRating(
345
+ flightTrajectory = trajectorySegments.constantSpeedRating(
346
346
  AC=AC,
347
347
  speedType="CAS",
348
348
  v=CAS_final,
@@ -361,7 +361,7 @@ ft.append(AC, flightTrajectory)
361
361
  # current values
362
362
  Hp, m_final, CAS_final = ft.getFinalValue(AC, ["Hp", "mass", "CAS"])
363
363
 
364
- flightTrajectory = TCL.accDec(
364
+ flightTrajectory = trajectorySegments.accDec(
365
365
  AC=AC,
366
366
  speedType="CAS",
367
367
  v_init=CAS_final,
@@ -385,7 +385,7 @@ Hp, m_final, CAS_final = ft.getFinalValue(AC, ["Hp", "mass", "CAS"])
385
385
  # calculate the crosover altitude for climb phase
386
386
  crossoverAltitude = conv.m2ft(atm.crossOver(Vcl2, Mcl))
387
387
 
388
- flightTrajectory = TCL.constantSpeedRating(
388
+ flightTrajectory = trajectorySegments.constantSpeedRating(
389
389
  AC=AC,
390
390
  speedType="CAS",
391
391
  v=CAS_final,
@@ -403,7 +403,7 @@ ft.append(AC, flightTrajectory)
403
403
  # current values
404
404
  Hp, m_final = ft.getFinalValue(AC, ["Hp", "mass"])
405
405
 
406
- flightTrajectory = TCL.constantSpeedRating(
406
+ flightTrajectory = trajectorySegments.constantSpeedRating(
407
407
  AC=AC,
408
408
  speedType="M",
409
409
  v=Mcl,
@@ -423,7 +423,7 @@ Hp, m_final, M_final = ft.getFinalValue(AC, ["Hp", "mass", "M"])
423
423
 
424
424
  if M_final < Mcr:
425
425
  control = target(acctarget=0.5)
426
- flightTrajectory = TCL.accDec(
426
+ flightTrajectory = trajectorySegments.accDec(
427
427
  AC=AC,
428
428
  speedType="M",
429
429
  v_init=M_final,
@@ -443,9 +443,9 @@ if M_final < Mcr:
443
443
  # current values
444
444
  Hp, m_final = ft.getFinalValue(AC, ["Hp", "mass"])
445
445
 
446
- flightTrajectory = TCL.constantSpeedLevel(
446
+ flightTrajectory = trajectorySegments.constantSpeedLevel(
447
447
  AC=AC,
448
- lengthType="distance",
448
+ lengthType="DISTANCE",
449
449
  length=200,
450
450
  speedType="M",
451
451
  v=Mcr,
@@ -462,9 +462,9 @@ ft.append(AC, flightTrajectory)
462
462
  # current values
463
463
  Hp, m_final = ft.getFinalValue(AC, ["Hp", "mass"])
464
464
 
465
- flightTrajectory = TCL.constantSpeedLevel(
465
+ flightTrajectory = trajectorySegments.constantSpeedLevel(
466
466
  AC=AC,
467
- lengthType="distance",
467
+ lengthType="DISTANCE",
468
468
  length=200,
469
469
  step_length=50,
470
470
  maxRFL=36000,
@@ -484,7 +484,7 @@ ft.append(AC, flightTrajectory)
484
484
  # current values
485
485
  Hp, m_final, M_final = ft.getFinalValue(AC, ["Hp", "mass", "M"])
486
486
 
487
- flightTrajectory = TCL.accDec(
487
+ flightTrajectory = trajectorySegments.accDec(
488
488
  AC=AC,
489
489
  speedType="M",
490
490
  v_init=M_final,
@@ -506,7 +506,7 @@ Hp, m_final = ft.getFinalValue(AC, ["Hp", "mass"])
506
506
  # calculate the crosover altitude for descend phase
507
507
  crossoverAltitude = conv.m2ft(atm.crossOver(Vdes2, Mdes))
508
508
 
509
- flightTrajectory = TCL.constantSpeedRating(
509
+ flightTrajectory = trajectorySegments.constantSpeedRating(
510
510
  AC=AC,
511
511
  speedType="M",
512
512
  v=Mdes,
@@ -524,7 +524,7 @@ ft.append(AC, flightTrajectory)
524
524
  # current values
525
525
  Hp, m_final = ft.getFinalValue(AC, ["Hp", "mass"])
526
526
 
527
- flightTrajectory = TCL.constantSpeedRating(
527
+ flightTrajectory = trajectorySegments.constantSpeedRating(
528
528
  AC=AC,
529
529
  speedType="CAS",
530
530
  v=conv.ms2kt(Vdes2),
@@ -554,7 +554,7 @@ Hp, m_final, CAS_final = ft.getFinalValue(AC, ["Hp", "mass", "CAS"])
554
554
  deltaTemp=deltaTemp,
555
555
  )
556
556
 
557
- flightTrajectory = TCL.accDec(
557
+ flightTrajectory = trajectorySegments.accDec(
558
558
  AC=AC,
559
559
  speedType="CAS",
560
560
  v_init=CAS_final,
@@ -573,7 +573,7 @@ ft.append(AC, flightTrajectory)
573
573
  # current values
574
574
  Hp, m_final = ft.getFinalValue(AC, ["Hp", "mass"])
575
575
 
576
- flightTrajectory = TCL.constantSpeedRating(
576
+ flightTrajectory = trajectorySegments.constantSpeedRating(
577
577
  AC=AC,
578
578
  speedType="CAS",
579
579
  v=conv.ms2kt(cas),
@@ -603,7 +603,7 @@ Hp, m_final, CAS_final = ft.getFinalValue(AC, ["Hp", "mass", "CAS"])
603
603
  deltaTemp=deltaTemp,
604
604
  )
605
605
 
606
- flightTrajectory = TCL.accDec(
606
+ flightTrajectory = trajectorySegments.accDec(
607
607
  AC=AC,
608
608
  speedType="CAS",
609
609
  v_init=CAS_final,
@@ -622,7 +622,7 @@ ft.append(AC, flightTrajectory)
622
622
  # current values
623
623
  Hp, m_final = ft.getFinalValue(AC, ["Hp", "mass"])
624
624
 
625
- flightTrajectory = TCL.constantSpeedRating(
625
+ flightTrajectory = trajectorySegments.constantSpeedRating(
626
626
  AC=AC,
627
627
  speedType="CAS",
628
628
  v=conv.ms2kt(cas),
@@ -642,7 +642,7 @@ ft.append(AC, flightTrajectory)
642
642
  Hp, m_final, CAS_final = ft.getFinalValue(AC, ["Hp", "mass", "CAS"])
643
643
 
644
644
  if AC.BADAFamily.BADA3:
645
- flightTrajectory = TCL.constantSpeedSlope(
645
+ flightTrajectory = trajectorySegments.constantSpeedSlope(
646
646
  AC=AC,
647
647
  speedType="CAS",
648
648
  v=CAS_final,
@@ -656,7 +656,7 @@ if AC.BADAFamily.BADA3:
656
656
  deltaTemp=deltaTemp,
657
657
  )
658
658
  elif AC.BADAFamily.BADA4:
659
- flightTrajectory = TCL.constantSpeedSlope(
659
+ flightTrajectory = trajectorySegments.constantSpeedSlope(
660
660
  AC=AC,
661
661
  speedType="CAS",
662
662
  v=CAS_final,
@@ -691,7 +691,7 @@ Hp, m_final, CAS_final = ft.getFinalValue(AC, ["Hp", "mass", "CAS"])
691
691
  )
692
692
 
693
693
  control = target(slopetarget=-3.0)
694
- flightTrajectory = TCL.accDec(
694
+ flightTrajectory = trajectorySegments.accDec(
695
695
  AC=AC,
696
696
  speedType="CAS",
697
697
  v_init=CAS_final,
@@ -715,7 +715,7 @@ ft.append(AC, flightTrajectory)
715
715
  Hp, m_final, CAS_final = ft.getFinalValue(AC, ["Hp", "mass", "CAS"])
716
716
 
717
717
  if Hp > 2000:
718
- flightTrajectory = TCL.constantSpeedSlope(
718
+ flightTrajectory = trajectorySegments.constantSpeedSlope(
719
719
  AC=AC,
720
720
  speedType="CAS",
721
721
  v=CAS_final,
@@ -749,7 +749,7 @@ Hp, m_final, CAS_final = ft.getFinalValue(AC, ["Hp", "mass", "CAS"])
749
749
  )
750
750
 
751
751
  control = target(slopetarget=-3.0)
752
- flightTrajectory = TCL.accDec(
752
+ flightTrajectory = trajectorySegments.accDec(
753
753
  AC=AC,
754
754
  speedType="CAS",
755
755
  v_init=CAS_final,
@@ -773,7 +773,7 @@ ft.append(AC, flightTrajectory)
773
773
  Hp, m_final, CAS_final = ft.getFinalValue(AC, ["Hp", "mass", "CAS"])
774
774
 
775
775
  if Hp > 1500:
776
- flightTrajectory = TCL.constantSpeedSlope(
776
+ flightTrajectory = trajectorySegments.constantSpeedSlope(
777
777
  AC=AC,
778
778
  speedType="CAS",
779
779
  v=CAS_final,
@@ -808,7 +808,7 @@ Hp, m_final, CAS_final = ft.getFinalValue(AC, ["Hp", "mass", "CAS"])
808
808
 
809
809
  control = target(slopetarget=-3.0)
810
810
  if AC.BADAFamily.BADA3:
811
- flightTrajectory = TCL.accDec(
811
+ flightTrajectory = trajectorySegments.accDec(
812
812
  AC=AC,
813
813
  speedType="CAS",
814
814
  v_init=CAS_final,
@@ -824,7 +824,7 @@ if AC.BADAFamily.BADA3:
824
824
  deltaTemp=deltaTemp,
825
825
  )
826
826
  elif AC.BADAFamily.BADA4:
827
- flightTrajectory = TCL.accDec(
827
+ flightTrajectory = trajectorySegments.accDec(
828
828
  AC=AC,
829
829
  speedType="CAS",
830
830
  v_init=CAS_final,
@@ -847,7 +847,7 @@ ft.append(AC, flightTrajectory)
847
847
  Hp, m_final, CAS_final = ft.getFinalValue(AC, ["Hp", "mass", "CAS"])
848
848
 
849
849
  if Hp > 1000:
850
- flightTrajectory = TCL.constantSpeedSlope(
850
+ flightTrajectory = trajectorySegments.constantSpeedSlope(
851
851
  AC=AC,
852
852
  speedType="CAS",
853
853
  v=CAS_final,
@@ -881,7 +881,7 @@ Hp, m_final, CAS_final = ft.getFinalValue(AC, ["Hp", "mass", "CAS"])
881
881
 
882
882
  control = target(slopetarget=-3.0)
883
883
  if AC.BADAFamily.BADA3:
884
- flightTrajectory = TCL.accDec(
884
+ flightTrajectory = trajectorySegments.accDec(
885
885
  AC=AC,
886
886
  speedType="CAS",
887
887
  v_init=CAS_final,
@@ -897,7 +897,7 @@ if AC.BADAFamily.BADA3:
897
897
  deltaTemp=deltaTemp,
898
898
  )
899
899
  elif AC.BADAFamily.BADA4:
900
- flightTrajectory = TCL.accDec(
900
+ flightTrajectory = trajectorySegments.accDec(
901
901
  AC=AC,
902
902
  speedType="CAS",
903
903
  v_init=CAS_final,
@@ -919,7 +919,7 @@ ft.append(AC, flightTrajectory)
919
919
  # current values
920
920
  Hp, m_final, CAS_final = ft.getFinalValue(AC, ["Hp", "mass", "CAS"])
921
921
 
922
- flightTrajectory = TCL.constantSpeedSlope(
922
+ flightTrajectory = trajectorySegments.constantSpeedSlope(
923
923
  AC=AC,
924
924
  speedType="CAS",
925
925
  v=CAS_final,