doc-calculator 0.2__py3-none-any.whl → 0.4.0__py3-none-any.whl
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.
- doc_calculator-0.4.0.dist-info/METADATA +228 -0
- {doc_calculator-0.2.dist-info → doc_calculator-0.4.0.dist-info}/RECORD +5 -5
- doc_calculator-0.2.dist-info/METADATA +0 -6
- {doc_calculator-0.2.dist-info → doc_calculator-0.4.0.dist-info}/LICENSE +0 -0
- {doc_calculator-0.2.dist-info → doc_calculator-0.4.0.dist-info}/WHEEL +0 -0
- {doc_calculator-0.2.dist-info → doc_calculator-0.4.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,228 @@
|
|
1
|
+
Metadata-Version: 2.2
|
2
|
+
Name: doc_calculator
|
3
|
+
Version: 0.4.0
|
4
|
+
Description-Content-Type: text/markdown
|
5
|
+
License-File: LICENSE
|
6
|
+
Requires-Dist: gemseo
|
7
|
+
Dynamic: description
|
8
|
+
Dynamic: description-content-type
|
9
|
+
Dynamic: requires-dist
|
10
|
+
|
11
|
+
# Aircraft Direct Operating Cost Calculator
|
12
|
+
|
13
|
+
`doc_calculator` is a Python package designed to calculate **Direct Operating Costs (DOC)** and **Indirect Operating Costs (IOC)** for **short-haul** and **medium-haul** aircraft. It supports both **regional** and **large transport** categories, and includes modules for **hybrid-electric aircraft** configurations.
|
14
|
+
|
15
|
+
## Features
|
16
|
+
|
17
|
+
- Compute **Direct Operating Costs (DOC)** and **Indirect Operating Costs (IOC)**
|
18
|
+
- Supports both **conventional** and **hybrid-electric** propulsion systems
|
19
|
+
- Cost modules for:
|
20
|
+
- **Fuel**, **Electricity** and **Hydrogen** consumption
|
21
|
+
- Financial costs anlsysis including **Depreciation**, **Interests** and **Insurance**
|
22
|
+
- Charges and Fees:
|
23
|
+
- Landing
|
24
|
+
- Payload Handling
|
25
|
+
- Navigation
|
26
|
+
- Noise Emissions
|
27
|
+
- CO Emissions
|
28
|
+
- NOx Emissions
|
29
|
+
- CO2 Emissions (EU ETS)
|
30
|
+
- Maintenance costs for:
|
31
|
+
- Airframe
|
32
|
+
- Turboprop Engines
|
33
|
+
- Propulsive Batteries
|
34
|
+
- Fuel Cells
|
35
|
+
- Electric Machines
|
36
|
+
- Power Electronics
|
37
|
+
- Crew Handling costs:
|
38
|
+
- Pilots costs
|
39
|
+
- Cabin Crew costs
|
40
|
+
|
41
|
+
- The package includes a ready-to-use **GEMSEO discipline** to allow integration with multidisciplinary design analysis (MDA) and optimization (MDO) workflows based on the GEMSEO framework.
|
42
|
+
|
43
|
+
## Installation
|
44
|
+
|
45
|
+
Install the package using `pip`:
|
46
|
+
|
47
|
+
```bash
|
48
|
+
pip install doc-calculator
|
49
|
+
```
|
50
|
+
## Usage
|
51
|
+
|
52
|
+
Import the `DirectOperatingCost` class
|
53
|
+
|
54
|
+
```python
|
55
|
+
from doc_calculator import DirectOperatingCost
|
56
|
+
```
|
57
|
+
|
58
|
+
Prepare Aircraft Input Dictionary
|
59
|
+
|
60
|
+
```python
|
61
|
+
aircraft_data = {
|
62
|
+
"adp": 85, # Aircraft Delivery Price (USD M)
|
63
|
+
"mtow": 70, # Max Take-off Weight (Tonnes)
|
64
|
+
"pld": 18, # Payload (Tonnes)
|
65
|
+
"mew": 40, # Manufacturer Empty Weight (Tonnes)
|
66
|
+
"bengw": 1.2, # Bare engine weight (Tonnes)
|
67
|
+
"enpri": 6.5, # Engine Price (USD M)
|
68
|
+
"en": 2, # Number of engines
|
69
|
+
"crewtech": 2,
|
70
|
+
"crewc": 4,
|
71
|
+
"bt": 1.5, # Sector Block Time (Hours)
|
72
|
+
"bf": 2500, # Sector Block Fuel (KG)
|
73
|
+
"sector": 600, # Sector length (NM)
|
74
|
+
"ieng": 1,
|
75
|
+
"shp": 25000, # Shaft Horse Power (for ieng = 1)
|
76
|
+
"eoc": 0.0, # (Only used if ieng = 2)
|
77
|
+
"afspare": 0.1,
|
78
|
+
"enspare": 0.3,
|
79
|
+
"dyrs": 15,
|
80
|
+
"rval": 0.15,
|
81
|
+
"rinsh": 0.005,
|
82
|
+
"crtechr": 200,
|
83
|
+
"crcabhr": 50,
|
84
|
+
"labor_rate": 90,
|
85
|
+
"fuelpri": 1.8,
|
86
|
+
"ioc_fact": 0.65,
|
87
|
+
"util": 2800,
|
88
|
+
"lifespan": 20,
|
89
|
+
"l_app": 95.0,
|
90
|
+
"l_lat": 94.0,
|
91
|
+
"l_flyov": 96.0,
|
92
|
+
"cnox": 5,
|
93
|
+
"nox_value": 200,
|
94
|
+
"cco": 4,
|
95
|
+
"co_value": 150,
|
96
|
+
"co2_value": 10000,
|
97
|
+
"prico2": 0.02,
|
98
|
+
}
|
99
|
+
```
|
100
|
+
> **Note:** Many parameters are optional depending on configuration. Refer to the full list of accepted keys in the docstring of the `__init__` method for more customization.
|
101
|
+
|
102
|
+
Create DirectOperatingCost Object and Run Calculations
|
103
|
+
|
104
|
+
```python
|
105
|
+
doc_calculator = DirectOperatingCost(aircraft=aircraft_data)
|
106
|
+
|
107
|
+
# Calculate DOC
|
108
|
+
doc_result = doc_calculator.calculate_doc()
|
109
|
+
for key, value in doc_result.items():
|
110
|
+
print(f"{key}:\t{value}")
|
111
|
+
|
112
|
+
# Calculate IOC
|
113
|
+
ioc_result = doc_calculator.calculate_ioc()
|
114
|
+
for key, value in ioc_result.items():
|
115
|
+
print(f"{key}:\t{value}")
|
116
|
+
```
|
117
|
+
---
|
118
|
+
|
119
|
+
To use the GEMSEO discipline, import the `GemseoDirectOperatingCost` class
|
120
|
+
|
121
|
+
```python
|
122
|
+
from doc_calculator import GemseoDirectOperatingCost
|
123
|
+
import numpy as np
|
124
|
+
```
|
125
|
+
|
126
|
+
Prepare Aircraft Input Dictionary. Make sure to use Numpy arrays.
|
127
|
+
|
128
|
+
```python
|
129
|
+
aircraft_data = {
|
130
|
+
"adp": np.array([85]), # Aircraft Delivery Price (USD M)
|
131
|
+
"mtow": np.array([70]), # Max Take-off Weight (Tonnes)
|
132
|
+
"pld": np.array([18]), # Payload (Tonnes)
|
133
|
+
"mew": np.array([40]), # Manufacturer Empty Weight (Tonnes)
|
134
|
+
"bengw": np.array([1.2]), # Bare engine weight (Tonnes)
|
135
|
+
"enpri": np.array([6.5]), # Engine Price (USD M)
|
136
|
+
"en": np.array([2]), # Number of engines
|
137
|
+
"crewtech": np.array([2]),
|
138
|
+
"crewc": np.array([4]),
|
139
|
+
"bt": np.array([1.5]), # Sector Block Time (Hours)
|
140
|
+
"bf": np.array([2500]), # Sector Block Fuel (KG)
|
141
|
+
"sector": np.array([600]), # Sector length (NM)
|
142
|
+
|
143
|
+
# add all other required keys
|
144
|
+
}
|
145
|
+
```
|
146
|
+
|
147
|
+
Create the disciplne and Run Calculations
|
148
|
+
|
149
|
+
```python
|
150
|
+
doc_displine = GemseoDirectOperatingCost()
|
151
|
+
|
152
|
+
out = doc_displine.execute(input_data=aircraft_data)
|
153
|
+
```
|
154
|
+
|
155
|
+
---
|
156
|
+
|
157
|
+
To fully customize the analysis of aircraft operating costs the `Params` dataclass helps you modify typical unit rates, depending on the economic scenario
|
158
|
+
|
159
|
+
Import the class
|
160
|
+
|
161
|
+
```python
|
162
|
+
from doc_calculator.core.utils.params import Params
|
163
|
+
```
|
164
|
+
|
165
|
+
Modify economic assumptions and pass the object through the `params` keyword
|
166
|
+
|
167
|
+
```python
|
168
|
+
parameters = Params()
|
169
|
+
parameters.ENR = 85.0 # Unit Rate for the En-route Navigation Charge
|
170
|
+
|
171
|
+
# DirectOperatingCost
|
172
|
+
doc_calculator = DirectOperatingCost(aircraft=aircraft_data, params=parameters)
|
173
|
+
|
174
|
+
# GemseoDirectOperatingCost
|
175
|
+
doc_displine = GemseoDirectOperatingCost(params=parameters)
|
176
|
+
```
|
177
|
+
|
178
|
+
> **Note:** See the `Params` class source code for all available unit rates and economic scenario constants
|
179
|
+
|
180
|
+
## References / Citation
|
181
|
+
|
182
|
+
If you use `doc_calculator` for academic or research purposes, please cite:
|
183
|
+
|
184
|
+
```latex
|
185
|
+
@article{MARCIELLO2024118517,
|
186
|
+
title = {Evaluating the economic landscape of hybrid-electric regional aircraft: A cost analysis across three time horizons},
|
187
|
+
journal = {Energy Conversion and Management},
|
188
|
+
volume = {312},
|
189
|
+
pages = {118517},
|
190
|
+
year = {2024},
|
191
|
+
issn = {0196-8904},
|
192
|
+
doi = {https://doi.org/10.1016/j.enconman.2024.118517},
|
193
|
+
url = {https://www.sciencedirect.com/science/article/pii/S0196890424004588},
|
194
|
+
author = {Valerio Marciello and Vincenzo Cusati and Fabrizio Nicolosi and Karen Saavedra-Rubio and Eleonore Pierrat and Nils Thonemann and Alexis Laurent},
|
195
|
+
keywords = {Direct operating costs, Hybrid electric propulsion, Regional aviation, Technology roadmap, Sustainable aviation},
|
196
|
+
}
|
197
|
+
|
198
|
+
@manual{EUETS,
|
199
|
+
title = {EU emissions trading system (EU ETS)},
|
200
|
+
key = {European commission},
|
201
|
+
url = {https://climate.ec.europa.eu/eu-action/eu-emissions-trading-system-eu-ets_en},
|
202
|
+
year = {2023}
|
203
|
+
}
|
204
|
+
|
205
|
+
@book{ATA,
|
206
|
+
author = {Air Transport Association of America},
|
207
|
+
year = {1967},
|
208
|
+
title = {Air Transport Association of America. Standard Method of Estimating Comparative Direct Operating Costs of Turbine Powered Transport Airplanes.},
|
209
|
+
publisher = {The Association},
|
210
|
+
address = {},
|
211
|
+
edition = {}
|
212
|
+
}
|
213
|
+
|
214
|
+
@book{association1989short,
|
215
|
+
title = {Short medium range aircraft: AEA requirements},
|
216
|
+
author = {Association of European Airlines},
|
217
|
+
url = {https://books.google.it/books?id=6dz0jgEACAAJ},
|
218
|
+
year = {1989}
|
219
|
+
}
|
220
|
+
```
|
221
|
+
|
222
|
+
## Contact
|
223
|
+
|
224
|
+
For questions, support, or suggestions, feel free to reach out:
|
225
|
+
|
226
|
+
**Email:** michele.tuccillo98@gmail.com
|
227
|
+
|
228
|
+
**Report issues:** GitHub Issues
|
@@ -8,8 +8,8 @@ doc_calculator/gemseo_discipline/DOC_Calculator.py,sha256=hgnZ7eOqNNh34NeehY6c5V
|
|
8
8
|
doc_calculator/gemseo_discipline/__init__.py,sha256=lwTMrOr2oUeNTElP14atth9NdxyG6Qr1tUV2231YqBM,53
|
9
9
|
doc_calculator/gemseo_discipline/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
10
10
|
doc_calculator/gemseo_discipline/utils/utils_functions.py,sha256=kSaSP2FFllAjw7FI87KEb_IUfJ1uKVVVeREPVJufUKQ,295
|
11
|
-
doc_calculator-0.
|
12
|
-
doc_calculator-0.
|
13
|
-
doc_calculator-0.
|
14
|
-
doc_calculator-0.
|
15
|
-
doc_calculator-0.
|
11
|
+
doc_calculator-0.4.0.dist-info/LICENSE,sha256=0hLLMdm78mvfi_SZni23FLSVq0vYbvmRuLPUwy6Gc7I,1094
|
12
|
+
doc_calculator-0.4.0.dist-info/METADATA,sha256=UuohNImqiV-T0wWx5Kg7icW2AewEykT2JRV0lJIu4oo,7314
|
13
|
+
doc_calculator-0.4.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
14
|
+
doc_calculator-0.4.0.dist-info/top_level.txt,sha256=dTASglOF0CjM5b8VIFNUVVa3wXtrMNXgEwQ4l8wtrss,15
|
15
|
+
doc_calculator-0.4.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|