pycontrails 0.58.0__cp314-cp314-macosx_10_13_x86_64.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.

Potentially problematic release.


This version of pycontrails might be problematic. Click here for more details.

Files changed (122) hide show
  1. pycontrails/__init__.py +70 -0
  2. pycontrails/_version.py +34 -0
  3. pycontrails/core/__init__.py +30 -0
  4. pycontrails/core/aircraft_performance.py +679 -0
  5. pycontrails/core/airports.py +228 -0
  6. pycontrails/core/cache.py +889 -0
  7. pycontrails/core/coordinates.py +174 -0
  8. pycontrails/core/fleet.py +483 -0
  9. pycontrails/core/flight.py +2185 -0
  10. pycontrails/core/flightplan.py +228 -0
  11. pycontrails/core/fuel.py +140 -0
  12. pycontrails/core/interpolation.py +702 -0
  13. pycontrails/core/met.py +2931 -0
  14. pycontrails/core/met_var.py +387 -0
  15. pycontrails/core/models.py +1321 -0
  16. pycontrails/core/polygon.py +549 -0
  17. pycontrails/core/rgi_cython.cpython-314-darwin.so +0 -0
  18. pycontrails/core/vector.py +2249 -0
  19. pycontrails/datalib/__init__.py +12 -0
  20. pycontrails/datalib/_met_utils/metsource.py +746 -0
  21. pycontrails/datalib/ecmwf/__init__.py +73 -0
  22. pycontrails/datalib/ecmwf/arco_era5.py +345 -0
  23. pycontrails/datalib/ecmwf/common.py +114 -0
  24. pycontrails/datalib/ecmwf/era5.py +554 -0
  25. pycontrails/datalib/ecmwf/era5_model_level.py +490 -0
  26. pycontrails/datalib/ecmwf/hres.py +804 -0
  27. pycontrails/datalib/ecmwf/hres_model_level.py +466 -0
  28. pycontrails/datalib/ecmwf/ifs.py +287 -0
  29. pycontrails/datalib/ecmwf/model_levels.py +435 -0
  30. pycontrails/datalib/ecmwf/static/model_level_dataframe_v20240418.csv +139 -0
  31. pycontrails/datalib/ecmwf/variables.py +268 -0
  32. pycontrails/datalib/geo_utils.py +261 -0
  33. pycontrails/datalib/gfs/__init__.py +28 -0
  34. pycontrails/datalib/gfs/gfs.py +656 -0
  35. pycontrails/datalib/gfs/variables.py +104 -0
  36. pycontrails/datalib/goes.py +757 -0
  37. pycontrails/datalib/himawari/__init__.py +27 -0
  38. pycontrails/datalib/himawari/header_struct.py +266 -0
  39. pycontrails/datalib/himawari/himawari.py +667 -0
  40. pycontrails/datalib/landsat.py +589 -0
  41. pycontrails/datalib/leo_utils/__init__.py +5 -0
  42. pycontrails/datalib/leo_utils/correction.py +266 -0
  43. pycontrails/datalib/leo_utils/landsat_metadata.py +300 -0
  44. pycontrails/datalib/leo_utils/search.py +250 -0
  45. pycontrails/datalib/leo_utils/sentinel_metadata.py +748 -0
  46. pycontrails/datalib/leo_utils/static/bq_roi_query.sql +6 -0
  47. pycontrails/datalib/leo_utils/vis.py +59 -0
  48. pycontrails/datalib/sentinel.py +650 -0
  49. pycontrails/datalib/spire/__init__.py +5 -0
  50. pycontrails/datalib/spire/exceptions.py +62 -0
  51. pycontrails/datalib/spire/spire.py +604 -0
  52. pycontrails/ext/bada.py +42 -0
  53. pycontrails/ext/cirium.py +14 -0
  54. pycontrails/ext/empirical_grid.py +140 -0
  55. pycontrails/ext/synthetic_flight.py +431 -0
  56. pycontrails/models/__init__.py +1 -0
  57. pycontrails/models/accf.py +425 -0
  58. pycontrails/models/apcemm/__init__.py +8 -0
  59. pycontrails/models/apcemm/apcemm.py +983 -0
  60. pycontrails/models/apcemm/inputs.py +226 -0
  61. pycontrails/models/apcemm/static/apcemm_yaml_template.yaml +183 -0
  62. pycontrails/models/apcemm/utils.py +437 -0
  63. pycontrails/models/cocip/__init__.py +29 -0
  64. pycontrails/models/cocip/cocip.py +2742 -0
  65. pycontrails/models/cocip/cocip_params.py +305 -0
  66. pycontrails/models/cocip/cocip_uncertainty.py +291 -0
  67. pycontrails/models/cocip/contrail_properties.py +1530 -0
  68. pycontrails/models/cocip/output_formats.py +2270 -0
  69. pycontrails/models/cocip/radiative_forcing.py +1260 -0
  70. pycontrails/models/cocip/radiative_heating.py +520 -0
  71. pycontrails/models/cocip/unterstrasser_wake_vortex.py +508 -0
  72. pycontrails/models/cocip/wake_vortex.py +396 -0
  73. pycontrails/models/cocip/wind_shear.py +120 -0
  74. pycontrails/models/cocipgrid/__init__.py +9 -0
  75. pycontrails/models/cocipgrid/cocip_grid.py +2552 -0
  76. pycontrails/models/cocipgrid/cocip_grid_params.py +138 -0
  77. pycontrails/models/dry_advection.py +602 -0
  78. pycontrails/models/emissions/__init__.py +21 -0
  79. pycontrails/models/emissions/black_carbon.py +599 -0
  80. pycontrails/models/emissions/emissions.py +1353 -0
  81. pycontrails/models/emissions/ffm2.py +336 -0
  82. pycontrails/models/emissions/static/default-engine-uids.csv +239 -0
  83. pycontrails/models/emissions/static/edb-gaseous-v29b-engines.csv +596 -0
  84. pycontrails/models/emissions/static/edb-nvpm-v29b-engines.csv +215 -0
  85. pycontrails/models/extended_k15.py +1327 -0
  86. pycontrails/models/humidity_scaling/__init__.py +37 -0
  87. pycontrails/models/humidity_scaling/humidity_scaling.py +1075 -0
  88. pycontrails/models/humidity_scaling/quantiles/era5-model-level-quantiles.pq +0 -0
  89. pycontrails/models/humidity_scaling/quantiles/era5-pressure-level-quantiles.pq +0 -0
  90. pycontrails/models/issr.py +210 -0
  91. pycontrails/models/pcc.py +326 -0
  92. pycontrails/models/pcr.py +154 -0
  93. pycontrails/models/ps_model/__init__.py +18 -0
  94. pycontrails/models/ps_model/ps_aircraft_params.py +381 -0
  95. pycontrails/models/ps_model/ps_grid.py +701 -0
  96. pycontrails/models/ps_model/ps_model.py +1000 -0
  97. pycontrails/models/ps_model/ps_operational_limits.py +525 -0
  98. pycontrails/models/ps_model/static/ps-aircraft-params-20250328.csv +69 -0
  99. pycontrails/models/ps_model/static/ps-synonym-list-20250328.csv +104 -0
  100. pycontrails/models/sac.py +442 -0
  101. pycontrails/models/tau_cirrus.py +183 -0
  102. pycontrails/physics/__init__.py +1 -0
  103. pycontrails/physics/constants.py +117 -0
  104. pycontrails/physics/geo.py +1138 -0
  105. pycontrails/physics/jet.py +968 -0
  106. pycontrails/physics/static/iata-cargo-load-factors-20250221.csv +74 -0
  107. pycontrails/physics/static/iata-passenger-load-factors-20250221.csv +74 -0
  108. pycontrails/physics/thermo.py +551 -0
  109. pycontrails/physics/units.py +472 -0
  110. pycontrails/py.typed +0 -0
  111. pycontrails/utils/__init__.py +1 -0
  112. pycontrails/utils/dependencies.py +66 -0
  113. pycontrails/utils/iteration.py +13 -0
  114. pycontrails/utils/json.py +187 -0
  115. pycontrails/utils/temp.py +50 -0
  116. pycontrails/utils/types.py +163 -0
  117. pycontrails-0.58.0.dist-info/METADATA +180 -0
  118. pycontrails-0.58.0.dist-info/RECORD +122 -0
  119. pycontrails-0.58.0.dist-info/WHEEL +6 -0
  120. pycontrails-0.58.0.dist-info/licenses/LICENSE +178 -0
  121. pycontrails-0.58.0.dist-info/licenses/NOTICE +43 -0
  122. pycontrails-0.58.0.dist-info/top_level.txt +3 -0
@@ -0,0 +1,226 @@
1
+ """Thin python wrapper over native APCEMM interface."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import dataclasses
6
+ import os
7
+ import pathlib
8
+
9
+ import numpy as np
10
+
11
+ #: Assumed default APCEMM root directory
12
+ APCEMM_DEFAULT_ROOT = os.path.expanduser("~/APCEMM")
13
+
14
+
15
+ @dataclasses.dataclass
16
+ class APCEMMInput:
17
+ """Parameters for APCEMM input YAML file.
18
+
19
+ Physical parameters in this class are defined using MKS units, and units are converted
20
+ as required at the time of YAML file generation.
21
+
22
+ Parameters without default values must be provided each time a YAML file is generated.
23
+ :class:`APCEMM` provides a convenient interface for determining parameter values
24
+ based in flight and meterology data.
25
+
26
+ Parameters with default values are set to sensible defaults, based in part on
27
+ values provided in example input YAML files in the
28
+ `APCEMM GitHub repository <https://github.com/MIT-LAE/APCEMM>`__, but users may
29
+ with to override default parameters when configuring APCEMM simulations.
30
+
31
+ This class exposes many but not all of the parameters in APCEMM YAML files. To request
32
+ that additional parameters be exposed,
33
+ `open an issue on GitHub <https://github.com/contrailcirrus/pycontrails/issues>`__
34
+ and provide:
35
+ - a short description of each parameter (suitable for a docstring), and
36
+ - a sensible default value for each parameter.
37
+ """
38
+
39
+ # =================================
40
+ # Parameters without default values
41
+ # =================================
42
+
43
+ #: Initial longitude [WGS84]
44
+ longitude: float
45
+
46
+ #: Initial latitude [WGS84]
47
+ latitude: float
48
+
49
+ #: Day of year at model initialization
50
+ day_of_year: int
51
+
52
+ #: Fractional hour of day at model initialization
53
+ hour_of_day: float
54
+
55
+ #: Initial pressure [:math:`Pa`]
56
+ air_pressure: float
57
+
58
+ #: Initial air temperature [:math:`K`]
59
+ air_temperature: float
60
+
61
+ #: Initial RH over liquid water [dimensionless]
62
+ rhw: float
63
+
64
+ #: Initial contrail-normal wind shear [:math:`1/s`]
65
+ normal_shear: float
66
+
67
+ #: Initial Brunt-Vaisala frequency [:math:`1/s`]
68
+ brunt_vaisala_frequency: float
69
+
70
+ #: Engine NOx emissions index [:math:`kg(NO2)/kg`]
71
+ nox_ei: float
72
+
73
+ #: Engine CO emissions index [:math:`kg/kg`]
74
+ co_ei: float
75
+
76
+ #: Engine unburned hydrocarbons emissions index [:math:`kg/kg`]
77
+ hc_ei: float
78
+
79
+ #: Engine SO2 emissions index [:math:`kg/kg`]
80
+ so2_ei: float
81
+
82
+ #: Engine soot emissions index [:math:`kg/kg`]
83
+ nvpm_ei_m: float
84
+
85
+ #: Emitted soot aerosol radius [:math:`m`]
86
+ soot_radius: float
87
+
88
+ #: Fuel flow [:math:`kg/s`]
89
+ fuel_flow: float
90
+
91
+ #: Aircraft mass [:math:`kg`]
92
+ aircraft_mass: float
93
+
94
+ #: Aircraft true airspeed [:math:`m/s`]
95
+ true_airspeed: float
96
+
97
+ #: Number of engines
98
+ n_engine: int
99
+
100
+ #: Wingspan [:math:`m`]
101
+ wingspan: float
102
+
103
+ #: Engine core exit temperature [:math:`K`]
104
+ core_exit_temp: float
105
+
106
+ #: Engine core exit area [:math:`m^2`]
107
+ core_exit_area: float
108
+
109
+ # ==============================
110
+ # Parameters with default values
111
+ # ==============================
112
+
113
+ #: Number of APCEMM threads
114
+ n_threads: int = 1
115
+
116
+ #: Maximum APCEMM simulation time
117
+ max_age: np.timedelta64 = np.timedelta64(20, "h")
118
+
119
+ #: Output directory name (relative to APCEMM simulation directory)
120
+ output_directory: pathlib.Path | str = "out"
121
+
122
+ #: Overwrite existing output directories
123
+ overwrite_output: bool = True
124
+
125
+ #: Enable APCEMM netCDF outputs
126
+ do_apcemm_nc_output: bool = True
127
+
128
+ #: Indices of aerosol species to include in APCEMM netCDF output
129
+ apcemm_nc_output_species: tuple[int] = (1,)
130
+
131
+ #: APCEMM netCDF output frequency
132
+ dt_apcemm_nc_output: np.timedelta64 = np.timedelta64(1, "m")
133
+
134
+ #: Path to background conditions input file (distributed with APCEMM)
135
+ input_background_conditions: pathlib.Path | str = os.path.join(
136
+ APCEMM_DEFAULT_ROOT, "input_data", "init.txt"
137
+ )
138
+
139
+ #: Path to engine emissions input file (distributed with APCEMM)
140
+ input_engine_emissions: pathlib.Path | str = os.path.join(
141
+ APCEMM_DEFAULT_ROOT, "input_data", "ENG_EI.txt"
142
+ )
143
+
144
+ #: Background NOx volume mixing ratio [nondim]
145
+ nox_vmr: float = 5100e-12
146
+
147
+ #: Background HNO3 volume mixing ratio [nondim]
148
+ hno3_vmr: float = 81.5e-12
149
+
150
+ #: Background O3 volume mixing ratio [nondim]
151
+ o3_vmr: float = 100e-9
152
+
153
+ #: Background CO volume mixing ratio [nondim]
154
+ co_vmr: float = 40e-9
155
+
156
+ #: Background CH4 volume mixing ratio [nondim]
157
+ ch4_vmr: float = 1.76e-6
158
+
159
+ #: Background SO2 volume mixing ratio [nondim]
160
+ so2_vmr: float = 7.25e-12
161
+
162
+ #: Horizontal diffusion coefficient [:math:`m^2/s`]
163
+ horiz_diff: float = 15.0
164
+
165
+ #: Vertical diffusion coefficient [:math:`m^2/s`]
166
+ vert_diff: float = 0.15
167
+
168
+ #: Engine SO2 to SO4 conversion factor [dimensionless]
169
+ so2_to_so4_conversion: float = 0.02
170
+
171
+ #: APCEMM transport timestep
172
+ dt_apcemm_transport: np.timedelta64 = np.timedelta64(1, "m")
173
+
174
+ #: Enable gravitational settling
175
+ do_gravitational_setting: bool = True
176
+
177
+ #: Enable solid coagulation
178
+ do_solid_coagulation: bool = True
179
+
180
+ #: Enable liquid coagulation
181
+ do_liquid_coagulation: bool = False
182
+
183
+ #: Enable ice growth
184
+ do_ice_growth: bool = True
185
+
186
+ #: APCEMM coagulation timestep
187
+ dt_apcemm_coagulation: np.timedelta64 = np.timedelta64(1, "m")
188
+
189
+ #: APCEMM ice growth timestep
190
+ dt_apcemm_ice_growth: np.timedelta64 = np.timedelta64(1, "m")
191
+
192
+ #: Path to meteorology input
193
+ input_met_file: pathlib.Path | str = "input.nc"
194
+
195
+ #: Time step of input met data
196
+ dt_input_met: np.timedelta64 = np.timedelta64(1, "h")
197
+
198
+ #: Number of horizontal gridpoints
199
+ nx: int = 200
200
+
201
+ #: Number of vertical gridpoints
202
+ ny: int = 180
203
+
204
+ #: Initial distance to right edge of domain [:math:`m`]
205
+ xlim_right: float = 1000.0
206
+
207
+ #: Initial distance to left edge of domain [:math:`m`]
208
+ xlim_left: float = 1000.0
209
+
210
+ #: Initial distance to top of domain [:math:`m`]
211
+ ylim_up: float = 300.0
212
+
213
+ #: Initial distance to bottom of domain [:math:`m`]
214
+ ylim_down: float = 1500.0
215
+
216
+ #: Offset applied to initial contrail depth [:math:`m`]
217
+ initial_contrail_depth_offset: float = 0.0
218
+
219
+ #: Scale factor applied to initial contrail depth [dimensionless]
220
+ initial_contrail_depth_scale_factor: float = 1.0
221
+
222
+ #: Offset applied to initial contrail width [:math:`m`]
223
+ initial_contrail_width_offset: float = 0.0
224
+
225
+ #: Scale factor applied to initial contrail width [dimensionless]
226
+ initial_contrail_width_scale_factor: float = 1.0
@@ -0,0 +1,183 @@
1
+ SIMULATION MENU:
2
+
3
+ OpenMP Num Threads (positive int): {n_threads_int}
4
+
5
+ PARAM SWEEP SUBMENU:
6
+ Parameter sweep (T/F): T
7
+ Run Monte Carlo (T/F): F
8
+ Num Monte Carlo runs (int): -1
9
+
10
+ OUTPUT SUBMENU:
11
+ Output folder (string): {output_folder_str}
12
+ Overwrite if folder exists (T/F): {overwrite_output_bool}
13
+
14
+ Use threaded FFT (T/F): F
15
+
16
+ FFTW WISDOM SUBMENU:
17
+ Use FFTW WISDOM (T/F): F
18
+ Dir w/ write permission (string): n/a
19
+
20
+ Input background condition (string): {input_background_conditions_str}
21
+ Input engine emissions (string): {input_engine_emissions_str}
22
+
23
+ SAVE FORWARD RESULTS SUBMENU:
24
+ Save forward results (T/F): F
25
+ netCDF filename format (string): n/a
26
+
27
+ ADJOINT OPTIMIZATION SUBMENU:
28
+ Turn on adjoint optim. (T/F): F
29
+ netCDF filename format (string): n/a
30
+
31
+ BOX MODEL SUBMENU:
32
+ Run box model (T/F): F
33
+ netCDF filename format (string): n/a
34
+
35
+ PARAMETER MENU:
36
+
37
+ Plume Process [hr] (double): {max_age_hr}
38
+
39
+ METEOROLOGICAL PARAMETERS SUBMENU:
40
+ Temperature [K] (double): {temperature_k}
41
+ R.Hum. wrt water [%] (double): {rhw_percent}
42
+ Pressure [hPa] (double): {pressure_hpa}
43
+ Horiz. diff. coeff. [m^2/s] (double): {horiz_diff_coeff_m2_per_s}
44
+ Verti. diff. [m^2/s] (double): {vert_diff_coeff_m2_per_s}
45
+ Wind shear [1/s] (double): {wind_shear_per_s}
46
+ Brunt-Vaisala Frequency [s^-1] (double): {brunt_vaisala_frequency_per_s}
47
+
48
+ LOCATION AND TIME SUBMENU:
49
+ LON [deg] (double): {longitude_deg}
50
+ LAT [deg] (double): {latitude_deg}
51
+ Emission day [1-365] (int): {emission_day_dayofyear}
52
+ Emission time [hr] (double): {emission_time_hourofday}
53
+
54
+ BACKGROUND MIXING RATIOS SUBMENU:
55
+ NOx [ppt] (double): {nox_ppt}
56
+ HNO3 [ppt] (double): {hno3_ppt}
57
+ O3 [ppb] (double): {o3_ppb}
58
+ CO [ppb] (double): {co_ppb}
59
+ CH4 [ppm] (double): {ch4_ppm}
60
+ SO2 [ppt] (double): {so2_ppt}
61
+
62
+ EMISSION INDICES SUBMENU:
63
+ NOx [g(NO2)/kg_fuel] (double): {nox_g_per_kg}
64
+ CO [g/kg_fuel] (double): {co_g_per_kg}
65
+ UHC [g/kg_fuel] (double): {uhc_g_per_kg}
66
+ SO2 [g/kg_fuel] (double): {so2_g_per_kg}
67
+ SO2 to SO4 conv [%] (double): {so2_to_so4_conv_percent}
68
+ Soot [g/kg_fuel] (double): {soot_g_per_kg}
69
+
70
+ Soot Radius [m] (double): {soot_radius_m}
71
+ Total fuel flow [kg/s] (double): {total_fuel_flow_kg_per_s}
72
+ Aircraft mass [kg] (double): {aircraft_mass_kg}
73
+ Flight speed [m/s] (double): {flight_speed_m_per_s}
74
+ Num. of engines [2/4] (int): {num_of_engines_int}
75
+ Wingspan [m] (double): {wingspan_m}
76
+ Core exit temp. [K] (double): {core_exit_temp_k}
77
+ Exit bypass area [m^2] (double): {exit_bypass_area_m2}
78
+
79
+ TRANSPORT MENU:
80
+
81
+ Turn on Transport (T/F): T
82
+ Fill Negative Values (T/F): T
83
+ Transport Timestep [min] (double): {transport_timestep_min}
84
+
85
+ PLUME UPDRAFT SUBMENU:
86
+ Turn on plume updraft (T/F): F
87
+ Updraft timescale [s] (double): -1
88
+ Updraft veloc. [cm/s] (double): -1
89
+
90
+ CHEMISTRY MENU:
91
+
92
+ Turn on Chemistry (T/F): F
93
+ Perform hetero. chem. (T/F): F
94
+ Chemistry Timestep [min] (double): -1
95
+ Photolysis rates folder (string): n/a
96
+
97
+ AEROSOL MENU:
98
+
99
+ Turn on grav. settling (T/F): {gravitational_settling_bool}
100
+ Turn on solid coagulation (T/F): {solid_coagulation_bool}
101
+ Turn on liquid coagulation (T/F): {liquid_coagulation_bool}
102
+ Coag. timestep [min] (double): {coag_timestep_min}
103
+ Turn on ice growth (T/F): {ice_growth_bool}
104
+ Ice growth timestep [min] (double): {ice_growth_timestep_min}
105
+
106
+ METEOROLOGY MENU:
107
+
108
+ METEOROLOGICAL INPUT SUBMENU:
109
+ Use met. input (T/F): T
110
+ Met input file path (string): {met_input_file_path_str}
111
+ Time series data timestep [hr] (double): {time_series_data_timestep_hr}
112
+ Init temp. from met. (T/F): T
113
+ Temp. time series input (T/F): T
114
+ Interpolate temp. met. data (T/F): T
115
+ Init RH from met. (T/F): T
116
+ RH time series input (T/F): T
117
+ Interpolate RH met. data (T/F): T
118
+ Init wind shear from met. (T/F): T
119
+ Wind shear time series input (T/F): T
120
+ Interpolate shear met. data (T/F): T
121
+ Init vert. veloc. from met. data (T/F): F
122
+ Vert. veloc. time series input (T/F): F
123
+ Interpolate vert. veloc. met. data (T/F): F
124
+
125
+ HUMIDITY SCALING OPTIONS:
126
+ Humidity modification scheme (none / constant / scaling): none
127
+ Constant RHi [%] (double): -1
128
+ Humidity scaling constant a (double): -1
129
+ Humidity scaling constant b (double): -1
130
+
131
+
132
+ IMPOSE MOIST LAYER DEPTH SUBMENU:
133
+ Impose moist layer depth (T/F): F
134
+ Moist layer depth [m] (double): -1
135
+ Subsaturated air RHi [%] (double): -1
136
+
137
+ IMPOSE LAPSE RATE SUBMENU:
138
+ Impose lapse rate (T/F): F
139
+ Lapse rate [K/m] (T/F): -1
140
+
141
+ Add diurnal variations (T/F): F
142
+
143
+ TEMPERATURE PERTURBATION SUBMENU:
144
+ Enable Temp. Pert. (T/F): F
145
+ Temp. Perturb. Amplitude (double): -1
146
+ Temp. Perturb. Timescale (min): -1
147
+
148
+ DIAGNOSTIC MENU:
149
+
150
+ netCDF filename format (string): trac_avg.apcemm.hhmm
151
+
152
+ SPECIES TIMESERIES SUBMENU:
153
+ Save species timeseries (T/F): F
154
+ Inst timeseries file (string): n/a
155
+ Species indices to include (list of ints): -1
156
+ Save frequency [min] (double): -1
157
+
158
+ AEROSOL TIMESERIES SUBMENU:
159
+ Save aerosol timeseries (T/F): {save_aerosol_timeseries_bool}
160
+ Inst timeseries file (string): ts_aerosol_hhmm.nc
161
+ Aerosol indices to include (list of ints): {aerosol_indices_list_int}
162
+ Save frequency [min] (double): {save_frequency_min}
163
+
164
+ PRODUCTION & LOSS SUBMENU:
165
+ Turn on P/L diag (T/F): F
166
+ Save O3 P/L (T/F): F
167
+
168
+ ADVANCED OPTIONS MENU:
169
+
170
+ GRID SUBMENU:
171
+ NX (positive int): {nx_pos_int}
172
+ NY (positive int): {ny_pos_int}
173
+ XLIM_RIGHT (positive double): {xlim_right_pos_m}
174
+ XLIM_LEFT (positive double): {xlim_left_pos_m}
175
+ YLIM_UP (positive double): {ylim_up_pos_m}
176
+ YLIM_DOWN (positive double): {ylim_down_pos_m}
177
+ INITIAL CONTRAIL SIZE SUBMENU:
178
+ Base Contrail Depth [m] (double): {base_contrail_depth_m}
179
+ Contrail Depth Scaling Factor [-] (double): {contrail_depth_scaling_factor_nondim}
180
+ Base Contrail Width [m] (double): {base_contrail_width_m}
181
+ Contrail Width Scaling Factor [-] (double): {contrail_width_scaling_factor_nondim}
182
+ Ambient Lapse Rate [K/km] (double): -1
183
+ Tropopause Pressure [Pa] (double): -1