pymolfit 0.1.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.
Files changed (44) hide show
  1. pymolfit/__init__.py +241 -0
  2. pymolfit/_version.py +1 -0
  3. pymolfit/aer_data.py +928 -0
  4. pymolfit/atmosphere.py +1987 -0
  5. pymolfit/cli.py +750 -0
  6. pymolfit/components.py +1915 -0
  7. pymolfit/continuum.py +1664 -0
  8. pymolfit/data/lblrtm_v12_11_co2_continuum.npz +0 -0
  9. pymolfit/data/lblrtm_v12_11_h2o_continuum.npz +0 -0
  10. pymolfit/data/lblrtm_v12_11_n2_fundamental.npz +0 -0
  11. pymolfit/data/lblrtm_v12_11_o2_continuum.npz +0 -0
  12. pymolfit/data/lblrtm_v12_11_tips.npz +0 -0
  13. pymolfit/data/profiles/gdas/GDAS_t0_s1.fits +0 -0
  14. pymolfit/data/profiles/gdas/GDAS_t0_s2.fits +0 -0
  15. pymolfit/data/profiles/gdas/GDAS_t0_s3.fits +0 -0
  16. pymolfit/data/profiles/gdas/GDAS_t0_s4.fits +0 -0
  17. pymolfit/data/profiles/gdas/GDAS_t0_s5.fits +0 -0
  18. pymolfit/data/profiles/gdas/GDAS_t0_s6.fits +0 -0
  19. pymolfit/data/profiles/mipas/equ.fits +57 -0
  20. pymolfit/data/profiles/mipas/std.fits +2 -1
  21. pymolfit/data/profiles/mipas/tro.fits +8 -0
  22. pymolfit/diagnostics.py +66 -0
  23. pymolfit/fit.py +2396 -0
  24. pymolfit/gdas.py +297 -0
  25. pymolfit/hitran.py +629 -0
  26. pymolfit/io.py +294 -0
  27. pymolfit/line_data.py +561 -0
  28. pymolfit/linelist.py +575 -0
  29. pymolfit/model.py +1141 -0
  30. pymolfit/partition.py +457 -0
  31. pymolfit/physics.py +1499 -0
  32. pymolfit/plotting.py +44 -0
  33. pymolfit/provenance.py +163 -0
  34. pymolfit/radiative_transfer.py +250 -0
  35. pymolfit/spectrum.py +249 -0
  36. pymolfit/systematics.py +413 -0
  37. pymolfit/validation.py +490 -0
  38. pymolfit/workflow.py +1391 -0
  39. pymolfit-0.1.0.dist-info/METADATA +753 -0
  40. pymolfit-0.1.0.dist-info/RECORD +44 -0
  41. pymolfit-0.1.0.dist-info/WHEEL +5 -0
  42. pymolfit-0.1.0.dist-info/entry_points.txt +2 -0
  43. pymolfit-0.1.0.dist-info/licenses/THIRD_PARTY_NOTICES.md +40 -0
  44. pymolfit-0.1.0.dist-info/top_level.txt +1 -0
pymolfit/__init__.py ADDED
@@ -0,0 +1,241 @@
1
+ """Pure-Python telluric fitting experiments inspired by ESO Molecfit."""
2
+
3
+ from ._version import __version__
4
+ from .aer_data import (
5
+ AER_CATALOG_VERSION,
6
+ AERCatalogArtifact,
7
+ AERDataError,
8
+ AERLineArtifact,
9
+ aer_catalog_status,
10
+ default_aer_cache_dir,
11
+ find_local_aer_catalog,
12
+ install_aer_catalog,
13
+ load_aer_line_window,
14
+ )
15
+ from .atmosphere import AtmosphereLayer, AtmosphereProfile
16
+ from .components import (
17
+ AbsorptionComponent,
18
+ CO2ContinuumAbsorption,
19
+ H2OContinuumAbsorption,
20
+ HitranLineAbsorption,
21
+ N2CIAAbsorption,
22
+ N2ContinuumAbsorption,
23
+ N2RototranslationalContinuumAbsorption,
24
+ O2CIAAbsorption,
25
+ O2ContinuumAbsorption,
26
+ PairCIAAbsorption,
27
+ RayleighScatteringAbsorption,
28
+ TabulatedContinuumAbsorption,
29
+ combine_optical_depth_components,
30
+ line_wing_effective_cutoff_cm,
31
+ )
32
+ from .continuum import (
33
+ CIABlock,
34
+ HitranCIATable,
35
+ LBLRTMCO2Continuum,
36
+ LBLRTMH2OContinuum,
37
+ LBLRTMN2FundamentalContinuum,
38
+ LBLRTMN2OvertoneContinuum,
39
+ LBLRTMO2Continuum,
40
+ MTCKDH2OContinuum,
41
+ TabulatedContinuum,
42
+ cubic_interpolate_regular,
43
+ lblrtm_n2_rototranslational_coefficients,
44
+ lblrtm_n2_rototranslational_optical_depth,
45
+ lblrtm_rayleigh_optical_depth,
46
+ radiation_term_cm,
47
+ radiation_term_interval_cm,
48
+ )
49
+ from .diagnostics import correction_summary, residual_by_window
50
+ from .fit import (
51
+ FitConfig,
52
+ MultiTelluricFitResult,
53
+ TelluricFitResult,
54
+ fit_telluric_segments,
55
+ fit_tellurics,
56
+ )
57
+ from .hitran import (
58
+ LBLRTM_ISOTOPOLOGUE_MASSES_AMU,
59
+ lblrtm_isotopologue_mass_amu,
60
+ read_aer_line_file,
61
+ read_hitran_par,
62
+ )
63
+ from .io import load_spectrum, save_spectrum
64
+ from .linelist import LineList
65
+ from .line_data import (
66
+ HitranAcquisitionError,
67
+ HitranLineArtifact,
68
+ cache_hitran_par,
69
+ default_hitran_cache_dir,
70
+ fetch_hitran_lines,
71
+ )
72
+ from .model import (
73
+ ModelConfig,
74
+ PiecewiseConstantRebinPlan,
75
+ SampleAverageRebinPlan,
76
+ average_high_resolution_values,
77
+ high_resolution_wavelength_grid,
78
+ lsf_kernel_half_width_pixels,
79
+ optical_depth_basis,
80
+ prepare_piecewise_constant_rebin,
81
+ prepare_sample_average_rebin,
82
+ radiative_transfer_wavelength_grid,
83
+ rebin_piecewise_constant_values,
84
+ rebin_high_resolution_values,
85
+ sample_high_resolution_values,
86
+ transmission_from_high_resolution_basis,
87
+ transmission_model,
88
+ )
89
+ from .partition import IsotopologueMetadata, PartitionTable
90
+ from .plotting import plot_fit
91
+ from .physics import (
92
+ lblrtm_dynamic_line_cutoff_cm,
93
+ lblrtm_dynamic_max_line_cutoff_cm,
94
+ lblrtm_f4_coefficients,
95
+ lblrtm_layer_wavenumber_spacing_cm,
96
+ lblrtm_layer_wavenumber_spacings_cm,
97
+ lblrtm_merge_layer_wavenumber_spacings_cm,
98
+ lblrtm_panel_interpolate_r1_r2_r3,
99
+ lblrtm_panel_voigt_profile_wavenumber,
100
+ lblrtm_tabulated_voigt_profile_offset,
101
+ lblrtm_temperature_scaling_lower_energy,
102
+ lblrtm_voigt_hwhm,
103
+ pressure_shift_wavenumber,
104
+ )
105
+ from .radiative_transfer import (
106
+ PhysicalModelConfig,
107
+ hitran_optical_depth_basis,
108
+ physical_components_from_options,
109
+ physical_optical_depth_basis,
110
+ physical_transmission_model,
111
+ )
112
+ from .spectrum import Spectrum, air_to_vacuum_wavelength, correct_spectrum, vacuum_to_air_wavelength
113
+ from .systematics import (
114
+ ModelSystematicsResult,
115
+ MultiModelSystematicsResult,
116
+ fit_telluric_segments_with_systematics,
117
+ fit_tellurics_with_systematics,
118
+ )
119
+ from .validation import (
120
+ ScienceReadinessReport,
121
+ SpectrumComparison,
122
+ TelluricCrossValidationResult,
123
+ ValidationCheck,
124
+ compare_spectra,
125
+ cross_validate_telluric_segments,
126
+ )
127
+ from .workflow import correct_arrays, correct_file
128
+
129
+ __all__ = [
130
+ "__version__",
131
+ "AER_CATALOG_VERSION",
132
+ "AERCatalogArtifact",
133
+ "AERDataError",
134
+ "AERLineArtifact",
135
+ "aer_catalog_status",
136
+ "default_aer_cache_dir",
137
+ "find_local_aer_catalog",
138
+ "install_aer_catalog",
139
+ "load_aer_line_window",
140
+ "AbsorptionComponent",
141
+ "AtmosphereLayer",
142
+ "AtmosphereProfile",
143
+ "CIABlock",
144
+ "CO2ContinuumAbsorption",
145
+ "FitConfig",
146
+ "H2OContinuumAbsorption",
147
+ "HitranCIATable",
148
+ "HitranLineAbsorption",
149
+ "HitranAcquisitionError",
150
+ "HitranLineArtifact",
151
+ "IsotopologueMetadata",
152
+ "LineList",
153
+ "LBLRTM_ISOTOPOLOGUE_MASSES_AMU",
154
+ "LBLRTMCO2Continuum",
155
+ "LBLRTMH2OContinuum",
156
+ "LBLRTMN2FundamentalContinuum",
157
+ "LBLRTMN2OvertoneContinuum",
158
+ "LBLRTMO2Continuum",
159
+ "ModelConfig",
160
+ "ModelSystematicsResult",
161
+ "MultiModelSystematicsResult",
162
+ "MTCKDH2OContinuum",
163
+ "MultiTelluricFitResult",
164
+ "N2CIAAbsorption",
165
+ "N2ContinuumAbsorption",
166
+ "N2RototranslationalContinuumAbsorption",
167
+ "O2CIAAbsorption",
168
+ "O2ContinuumAbsorption",
169
+ "PairCIAAbsorption",
170
+ "PhysicalModelConfig",
171
+ "PartitionTable",
172
+ "PiecewiseConstantRebinPlan",
173
+ "SampleAverageRebinPlan",
174
+ "RayleighScatteringAbsorption",
175
+ "Spectrum",
176
+ "SpectrumComparison",
177
+ "TelluricCrossValidationResult",
178
+ "ScienceReadinessReport",
179
+ "TabulatedContinuum",
180
+ "TabulatedContinuumAbsorption",
181
+ "TelluricFitResult",
182
+ "ValidationCheck",
183
+ "air_to_vacuum_wavelength",
184
+ "correct_spectrum",
185
+ "correct_arrays",
186
+ "correct_file",
187
+ "cache_hitran_par",
188
+ "combine_optical_depth_components",
189
+ "compare_spectra",
190
+ "cross_validate_telluric_segments",
191
+ "correction_summary",
192
+ "cubic_interpolate_regular",
193
+ "fit_tellurics",
194
+ "fit_tellurics_with_systematics",
195
+ "fetch_hitran_lines",
196
+ "fit_telluric_segments",
197
+ "fit_telluric_segments_with_systematics",
198
+ "high_resolution_wavelength_grid",
199
+ "lsf_kernel_half_width_pixels",
200
+ "hitran_optical_depth_basis",
201
+ "lblrtm_dynamic_line_cutoff_cm",
202
+ "lblrtm_dynamic_max_line_cutoff_cm",
203
+ "lblrtm_f4_coefficients",
204
+ "lblrtm_isotopologue_mass_amu",
205
+ "lblrtm_layer_wavenumber_spacing_cm",
206
+ "lblrtm_layer_wavenumber_spacings_cm",
207
+ "lblrtm_merge_layer_wavenumber_spacings_cm",
208
+ "lblrtm_n2_rototranslational_coefficients",
209
+ "lblrtm_n2_rototranslational_optical_depth",
210
+ "lblrtm_panel_interpolate_r1_r2_r3",
211
+ "lblrtm_panel_voigt_profile_wavenumber",
212
+ "lblrtm_rayleigh_optical_depth",
213
+ "lblrtm_tabulated_voigt_profile_offset",
214
+ "lblrtm_temperature_scaling_lower_energy",
215
+ "lblrtm_voigt_hwhm",
216
+ "line_wing_effective_cutoff_cm",
217
+ "default_hitran_cache_dir",
218
+ "load_spectrum",
219
+ "optical_depth_basis",
220
+ "physical_components_from_options",
221
+ "physical_optical_depth_basis",
222
+ "physical_transmission_model",
223
+ "plot_fit",
224
+ "pressure_shift_wavenumber",
225
+ "prepare_piecewise_constant_rebin",
226
+ "prepare_sample_average_rebin",
227
+ "radiative_transfer_wavelength_grid",
228
+ "radiation_term_cm",
229
+ "radiation_term_interval_cm",
230
+ "rebin_piecewise_constant_values",
231
+ "read_aer_line_file",
232
+ "read_hitran_par",
233
+ "average_high_resolution_values",
234
+ "rebin_high_resolution_values",
235
+ "residual_by_window",
236
+ "save_spectrum",
237
+ "sample_high_resolution_values",
238
+ "transmission_from_high_resolution_basis",
239
+ "transmission_model",
240
+ "vacuum_to_air_wavelength",
241
+ ]
pymolfit/_version.py ADDED
@@ -0,0 +1 @@
1
+ __version__ = "0.1.0"