exosim 2.2.1__tar.gz → 2.2.2__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 (180) hide show
  1. {exosim-2.2.1 → exosim-2.2.2}/CHANGELOG.rst +21 -0
  2. {exosim-2.2.1 → exosim-2.2.2}/CITATION.cff +2 -2
  3. {exosim-2.2.1 → exosim-2.2.2}/PKG-INFO +11 -1
  4. {exosim-2.2.1 → exosim-2.2.2}/README.md +10 -0
  5. {exosim-2.2.1 → exosim-2.2.2}/codemeta.json +2 -2
  6. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/sed/download_sed.py +16 -3
  7. {exosim-2.2.1 → exosim-2.2.2}/src/exosim.egg-info/PKG-INFO +11 -1
  8. exosim-2.2.2/src/exosim.egg-info/scm_version.json +8 -0
  9. exosim-2.2.1/src/exosim.egg-info/scm_version.json +0 -8
  10. {exosim-2.2.1 → exosim-2.2.2}/.gitignore +0 -0
  11. {exosim-2.2.1 → exosim-2.2.2}/CODE_OF_CONDUCT.md +0 -0
  12. {exosim-2.2.1 → exosim-2.2.2}/LICENSE +0 -0
  13. {exosim-2.2.1 → exosim-2.2.2}/MANIFEST.in +0 -0
  14. {exosim-2.2.1 → exosim-2.2.2}/RELEASING.md +0 -0
  15. {exosim-2.2.1 → exosim-2.2.2}/pyproject.toml +0 -0
  16. {exosim-2.2.1 → exosim-2.2.2}/scripts/changelog_extract.py +0 -0
  17. {exosim-2.2.1 → exosim-2.2.2}/scripts/release.py +0 -0
  18. {exosim-2.2.1 → exosim-2.2.2}/setup.cfg +0 -0
  19. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/__about__.py +0 -0
  20. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/__init__.py +0 -0
  21. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/data/Zodi_map.hdf5 +0 -0
  22. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/exosim.py +0 -0
  23. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/log/__init__.py +0 -0
  24. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/log/logger.py +0 -0
  25. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/log/structlog_config.py +0 -0
  26. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/models/__init__.py +0 -0
  27. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/models/channel.py +0 -0
  28. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/models/signal.py +0 -0
  29. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/models/utils/__init__.py +0 -0
  30. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/models/utils/cached_data.py +0 -0
  31. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/output/__init__.py +0 -0
  32. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/output/hdf5/__init__.py +0 -0
  33. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/output/hdf5/hdf5.py +0 -0
  34. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/output/hdf5/utils.py +0 -0
  35. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/output/output.py +0 -0
  36. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/output/set_output.py +0 -0
  37. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/output/utils.py +0 -0
  38. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/plots/__init__.py +0 -0
  39. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/plots/focal_plane_plotter.py +0 -0
  40. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/plots/ndrs_plotter.py +0 -0
  41. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/plots/plotter.py +0 -0
  42. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/plots/radiometric_plotter.py +0 -0
  43. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/plots/sub_exposures_plotter.py +0 -0
  44. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/plots/utils.py +0 -0
  45. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/py.typed +0 -0
  46. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/recipes/__init__.py +0 -0
  47. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/recipes/create_focal_plane.py +0 -0
  48. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/recipes/create_ndrs.py +0 -0
  49. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/recipes/create_sub_exposures.py +0 -0
  50. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/recipes/radiometric_model.py +0 -0
  51. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/recipes/simulate_observation.py +0 -0
  52. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/__init__.py +0 -0
  53. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/astrosignal/__init__.py +0 -0
  54. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/astrosignal/apply_astronomical_signal.py +0 -0
  55. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/astrosignal/estimate_astronomical_signal.py +0 -0
  56. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/astrosignal/estimate_planetary_signal.py +0 -0
  57. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/astrosignal/find_astronomical_signals.py +0 -0
  58. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/chain_task.py +0 -0
  59. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/detector/__init__.py +0 -0
  60. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/detector/accumulate_sub_exposures.py +0 -0
  61. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/detector/add_constant_dark_current.py +0 -0
  62. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/detector/add_cosmic_rays.py +0 -0
  63. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/detector/add_dark_current_map_numpy.py +0 -0
  64. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/detector/add_gain_drift.py +0 -0
  65. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/detector/add_ktc.py +0 -0
  66. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/detector/add_read_noise.py +0 -0
  67. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/detector/add_read_noise_map_numpy.py +0 -0
  68. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/detector/add_shot_noise.py +0 -0
  69. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/detector/analog_to_digital.py +0 -0
  70. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/detector/apply_dead_pixel_map.py +0 -0
  71. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/detector/apply_dead_pixel_map_numpy.py +0 -0
  72. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/detector/apply_pixels_non_linearity.py +0 -0
  73. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/detector/apply_simple_saturation.py +0 -0
  74. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/detector/load_pixels_non_linearity_map.py +0 -0
  75. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/detector/load_pixels_non_linearity_map_numpy.py +0 -0
  76. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/detector/merge_groups.py +0 -0
  77. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/foregrounds/__init__.py +0 -0
  78. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/foregrounds/estimate_zodi.py +0 -0
  79. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/instrument/__init__.py +0 -0
  80. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/instrument/apply_intra_pixel_response_function.py +0 -0
  81. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/instrument/compute_saturation.py +0 -0
  82. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/instrument/compute_solid_angle.py +0 -0
  83. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/instrument/compute_sources_pointing_offset.py +0 -0
  84. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/instrument/create_focal_plane.py +0 -0
  85. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/instrument/create_focal_plane_array.py +0 -0
  86. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/instrument/create_intrapixel_response_function.py +0 -0
  87. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/instrument/create_oversampled_intrapixel_response_function.py +0 -0
  88. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/instrument/foregrounds_to_focal_plane.py +0 -0
  89. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/instrument/load_psf.py +0 -0
  90. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/instrument/load_psf_paos.py +0 -0
  91. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/instrument/load_psf_paos_time_interp.py +0 -0
  92. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/instrument/load_responsivity.py +0 -0
  93. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/instrument/load_wavelength_solution.py +0 -0
  94. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/instrument/populate_focal_plane.py +0 -0
  95. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/instrument/propagate_foregrounds.py +0 -0
  96. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/instrument/propagate_sources.py +0 -0
  97. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/load/__init__.py +0 -0
  98. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/load/load_optical_element.py +0 -0
  99. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/load/load_optical_element_hdf5.py +0 -0
  100. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/load/load_options.py +0 -0
  101. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/load/load_source_list.py +0 -0
  102. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/parse/__init__.py +0 -0
  103. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/parse/parse_optical_element.py +0 -0
  104. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/parse/parse_path.py +0 -0
  105. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/parse/parse_source.py +0 -0
  106. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/parse/parse_zodi.py +0 -0
  107. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/__init__.py +0 -0
  108. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/aperture_photometry.py +0 -0
  109. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/compute_constant_dark_current_noise.py +0 -0
  110. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/compute_constant_read_noise.py +0 -0
  111. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/compute_custom_noise.py +0 -0
  112. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/compute_integration_time.py +0 -0
  113. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/compute_observation_efficiency.py +0 -0
  114. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/compute_observation_efficiency_from_dead_time.py +0 -0
  115. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/compute_photon_noise.py +0 -0
  116. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/compute_signals_channel.py +0 -0
  117. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/compute_sub_frg_signals_channel.py +0 -0
  118. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/compute_total_noise.py +0 -0
  119. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/estimate_apertures.py +0 -0
  120. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/estimate_spectral_binning.py +0 -0
  121. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/load_apertures.py +0 -0
  122. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/multiaccum.py +0 -0
  123. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/saturation_channel.py +0 -0
  124. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/utils/__init__.py +0 -0
  125. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/utils/compute_multiaccum.py +0 -0
  126. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/utils/compute_noise_column.py +0 -0
  127. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/utils/compute_photon_noise.py +0 -0
  128. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/utils/compute_saturation.py +0 -0
  129. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/utils/create_table.py +0 -0
  130. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/radiometric/utils/update_total_noise.py +0 -0
  131. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/sed/__init__.py +0 -0
  132. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/sed/create_custom_source.py +0 -0
  133. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/sed/create_planck_star.py +0 -0
  134. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/sed/load_custom.py +0 -0
  135. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/sed/load_phoenix.py +0 -0
  136. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/sed/prepare_sed.py +0 -0
  137. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/subexposures/__init__.py +0 -0
  138. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/subexposures/add_foregrounds.py +0 -0
  139. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/subexposures/apply_qe_map.py +0 -0
  140. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/subexposures/compute_reading_scheme.py +0 -0
  141. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/subexposures/estimate_ch_jitter.py +0 -0
  142. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/subexposures/estimate_pointing_jitter.py +0 -0
  143. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/subexposures/instantaneous_read_out.py +0 -0
  144. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/subexposures/load_ils.py +0 -0
  145. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/subexposures/load_qe_map.py +0 -0
  146. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/subexposures/load_qe_map_numpy.py +0 -0
  147. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/subexposures/prepare_instantaneous_read_out.py +0 -0
  148. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tasks/task.py +0 -0
  149. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tools/__init__.py +0 -0
  150. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tools/adc_gain_estimator.py +0 -0
  151. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tools/dark_current_map.py +0 -0
  152. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tools/dead_pixels_map.py +0 -0
  153. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tools/exosim_tool.py +0 -0
  154. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tools/pixels_non_linearity.py +0 -0
  155. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tools/pixels_non_linearity_from_correction.py +0 -0
  156. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tools/quantum_efficiency_map.py +0 -0
  157. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/tools/readout_scheme_calculator.py +0 -0
  158. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/utils/__init__.py +0 -0
  159. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/utils/aperture.py +0 -0
  160. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/utils/ascii_arts.py +0 -0
  161. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/utils/binning.py +0 -0
  162. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/utils/checks.py +0 -0
  163. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/utils/convolution.py +0 -0
  164. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/utils/focal_plane_locations.py +0 -0
  165. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/utils/grids.py +0 -0
  166. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/utils/iterators.py +0 -0
  167. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/utils/klass_factory.py +0 -0
  168. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/utils/operations.py +0 -0
  169. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/utils/output_cleaners.py +0 -0
  170. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/utils/prepare_recipes.py +0 -0
  171. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/utils/psf.py +0 -0
  172. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/utils/run_config.py +0 -0
  173. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/utils/timed_class.py +0 -0
  174. {exosim-2.2.1 → exosim-2.2.2}/src/exosim/utils/types.py +0 -0
  175. {exosim-2.2.1 → exosim-2.2.2}/src/exosim.egg-info/SOURCES.txt +0 -0
  176. {exosim-2.2.1 → exosim-2.2.2}/src/exosim.egg-info/dependency_links.txt +0 -0
  177. {exosim-2.2.1 → exosim-2.2.2}/src/exosim.egg-info/entry_points.txt +0 -0
  178. {exosim-2.2.1 → exosim-2.2.2}/src/exosim.egg-info/requires.txt +0 -0
  179. {exosim-2.2.1 → exosim-2.2.2}/src/exosim.egg-info/scm_file_list.json +0 -0
  180. {exosim-2.2.1 → exosim-2.2.2}/src/exosim.egg-info/top_level.txt +0 -0
@@ -12,6 +12,25 @@ Unreleased changes live as fragments in ``changelog.d/`` and are merged here by
12
12
 
13
13
  .. scriv-insert-here
14
14
 
15
+ .. _changelog-2.2.2:
16
+
17
+ [2.2.2_] - Fix ACES solar-metallicity SED download
18
+ ==================================================
19
+
20
+ Changed
21
+ -------
22
+
23
+ - the documentation home page now points readers who only need signal and
24
+ noise budgets to ExoRad 2, the radiometric model ExoSim 2 builds on
25
+
26
+ Fixed
27
+ -----
28
+
29
+ - ``DownloadSed`` with ``model_name="phoenix-aces"`` built a 404 URL for a
30
+ solar-metallicity star: the Goettingen server names the directory and files
31
+ ``Z-0.0`` / ``lte...-0.0...``, but the URL builder formatted ``0.0`` as
32
+ ``+0.0``. Metallicity formatting is now routed through ``_feh_str``.
33
+
15
34
  .. _changelog-2.2.1:
16
35
 
17
36
  [2.2.1_] - Pipeline hardening
@@ -263,5 +282,7 @@ Cleaned repository
263
282
 
264
283
  .. _2.2.1: https://github.com/arielmission-space/ExoSim2.0/releases/tag/v2.2.1
265
284
 
285
+ .. _2.2.2: https://github.com/arielmission-space/ExoSim2.0/releases/tag/v2.2.2
286
+
266
287
  .. _keepachangelog: https://keepachangelog.com/en/1.0.0/
267
288
  .. _semver: https://semver.org/spec/v2.0.0.html
@@ -18,5 +18,5 @@ authors:
18
18
 
19
19
  title: "ExoSim 2: the new exoplanet observation simulator applied to the Ariel space mission"
20
20
  doi: 10.1007/s10686-024-09976-2
21
- version: 2.2.1
22
- date-released: 2026-08-31
21
+ version: 2.2.2
22
+ date-released: 2026-11-12
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: exosim
3
- Version: 2.2.1
3
+ Version: 2.2.2
4
4
  Summary: ExoSim 2 is the next generation of the Exoplanet Observation Simulator (ExoSim) tailored for spectro-photometric observations of transiting exoplanets from space, ground, and sub-orbital platforms. This software is a complete rewrite implemented in Python 3, embracing object-oriented design principles.
5
5
  Author: E. Pascale, A. Bocchieri, A. Lorenzani, A. Papageorgiou
6
6
  Author-email: "L. V. Mugnai" <mugnail@cardiff.ac.uk>
@@ -82,6 +82,8 @@ Dynamic: license-file
82
82
  [![DOI](https://img.shields.io/badge/doi-10.1007%2Fs10686--024--09976--2-blue?link=https%3A%2F%2Fdoi.org%2F10.1007%2Fs10686-024-09976-2)](https://doi.org/10.1007/s10686-024-09976-2)
83
83
  [![arXiv](https://img.shields.io/badge/arXiv-2501.12809-red?link=https%3A%2F%2Farxiv.org%2Fabs%2F2501.12809)](https://arxiv.org/abs/2501.12809)
84
84
  [![EMACS](https://img.shields.io/badge/EMAC-2504--003-blue)](https://emacs.gsfc.nasa.gov?cid=2504-003)
85
+ [![Ask DeepWiki](https://img.shields.io/badge/DeepWiki-Ask-0a7bbb)](https://deepwiki.com/arielmission-space/ExoSim2-public)
86
+ [![GitDiagram](https://img.shields.io/badge/GitDiagram-architecture-4c1)](https://gitdiagram.com/arielmission-space/ExoSim2-public)
85
87
 
86
88
 
87
89
  ## Introduction <a name="introduction"></a>
@@ -137,6 +139,14 @@ If you have installed ExoSim from source code, to test your ExoSim 2 installatio
137
139
 
138
140
  ExoSim2 comes with an extensive documentation, which can be built using Sphinx.
139
141
  The documentation includes a tutorial, a user guide and a reference guide.
142
+ The published documentation is at <https://exosim2-public.readthedocs.io/>.
143
+
144
+ An AI-generated overview of the codebase is also available on
145
+ [DeepWiki](https://deepwiki.com/arielmission-space/ExoSim2-public), and an
146
+ interactive architecture diagram on
147
+ [GitDiagram](https://gitdiagram.com/arielmission-space/ExoSim2-public). Both are
148
+ generated automatically from the code and may be out of date or inaccurate: the
149
+ documentation is the reference.
140
150
 
141
151
  To build the documentation, install the needed packages first via `uv`:
142
152
 
@@ -10,6 +10,8 @@
10
10
  [![DOI](https://img.shields.io/badge/doi-10.1007%2Fs10686--024--09976--2-blue?link=https%3A%2F%2Fdoi.org%2F10.1007%2Fs10686-024-09976-2)](https://doi.org/10.1007/s10686-024-09976-2)
11
11
  [![arXiv](https://img.shields.io/badge/arXiv-2501.12809-red?link=https%3A%2F%2Farxiv.org%2Fabs%2F2501.12809)](https://arxiv.org/abs/2501.12809)
12
12
  [![EMACS](https://img.shields.io/badge/EMAC-2504--003-blue)](https://emacs.gsfc.nasa.gov?cid=2504-003)
13
+ [![Ask DeepWiki](https://img.shields.io/badge/DeepWiki-Ask-0a7bbb)](https://deepwiki.com/arielmission-space/ExoSim2-public)
14
+ [![GitDiagram](https://img.shields.io/badge/GitDiagram-architecture-4c1)](https://gitdiagram.com/arielmission-space/ExoSim2-public)
13
15
 
14
16
 
15
17
  ## Introduction <a name="introduction"></a>
@@ -65,6 +67,14 @@ If you have installed ExoSim from source code, to test your ExoSim 2 installatio
65
67
 
66
68
  ExoSim2 comes with an extensive documentation, which can be built using Sphinx.
67
69
  The documentation includes a tutorial, a user guide and a reference guide.
70
+ The published documentation is at <https://exosim2-public.readthedocs.io/>.
71
+
72
+ An AI-generated overview of the codebase is also available on
73
+ [DeepWiki](https://deepwiki.com/arielmission-space/ExoSim2-public), and an
74
+ interactive architecture diagram on
75
+ [GitDiagram](https://gitdiagram.com/arielmission-space/ExoSim2-public). Both are
76
+ generated automatically from the code and may be out of date or inaccurate: the
77
+ documentation is the reference.
68
78
 
69
79
  To build the documentation, install the needed packages first via `uv`:
70
80
 
@@ -40,12 +40,12 @@
40
40
  "license": "https://spdx.org/licenses/BSD-3-Clause",
41
41
  "name": "ExoSim2",
42
42
  "programmingLanguage": "Python 3",
43
- "version": "2.2.1",
43
+ "version": "2.2.2",
44
44
  "codemeta:contIntegration": {
45
45
  "id": "https://app.codecov.io/gh/arielmission-space/ExoSim2-public"
46
46
  },
47
47
  "continuousIntegration": "https://app.codecov.io/gh/arielmission-space/ExoSim2-public",
48
48
  "issueTracker": "https://github.com/arielmission-space/ExoSim2-public/issues",
49
49
  "referencePublication": "https://link.springer.com/article/10.1007/s10686-024-09976-2",
50
- "dateModified": "2026-08-31"
50
+ "dateModified": "2026-11-12"
51
51
  }
@@ -56,15 +56,28 @@ def _snap(value, grid):
56
56
  return grid[int(np.argmin(np.abs(grid - value)))]
57
57
 
58
58
 
59
+ def _feh_str(z: float) -> str:
60
+ """Format a metallicity the way the Goettingen server names its files.
61
+
62
+ A solar metallicity is written ``-0.0`` (directory ``Z-0.0``, file
63
+ ``lte...-0.0...``), not ``+0.0``; other values keep their sign. Formatting
64
+ ``0.0`` as ``+0.0`` builds a URL that 404s.
65
+ """
66
+ if z == 0.0:
67
+ return "-0.0"
68
+ return f"{z:+.1f}"
69
+
70
+
59
71
  def _aces_url(teff, logg, feh):
60
72
  """Build the Goettingen HiResFITS URL and return (url, snapped params)."""
61
73
  t = int(_snap(teff, _ACES_TEFF))
62
74
  g = float(_snap(logg, _ACES_LOGG))
63
75
  z = float(_snap(feh, _ACES_FEH))
64
- # Filename convention: lte{TTTTT}-{logg:.2f}{feh:+.1f}.MODEL-HiRes.fits
76
+ z_str = _feh_str(z)
77
+ # Filename convention: lte{TTTTT}-{logg:.2f}{feh}.MODEL-HiRes.fits
65
78
  # The '-' before logg is a literal separator, not a sign.
66
- filename = f"lte{t:05d}-{g:.2f}{z:+.1f}.{_ACES_MODEL}-HiRes.fits"
67
- url = f"{_GOETTINGEN_BASE}{_ACES_MODEL}/Z{z:+.1f}/{filename}"
79
+ filename = f"lte{t:05d}-{g:.2f}{z_str}.{_ACES_MODEL}-HiRes.fits"
80
+ url = f"{_GOETTINGEN_BASE}{_ACES_MODEL}/Z{z_str}/{filename}"
68
81
  return url, t, g, z
69
82
 
70
83
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: exosim
3
- Version: 2.2.1
3
+ Version: 2.2.2
4
4
  Summary: ExoSim 2 is the next generation of the Exoplanet Observation Simulator (ExoSim) tailored for spectro-photometric observations of transiting exoplanets from space, ground, and sub-orbital platforms. This software is a complete rewrite implemented in Python 3, embracing object-oriented design principles.
5
5
  Author: E. Pascale, A. Bocchieri, A. Lorenzani, A. Papageorgiou
6
6
  Author-email: "L. V. Mugnai" <mugnail@cardiff.ac.uk>
@@ -82,6 +82,8 @@ Dynamic: license-file
82
82
  [![DOI](https://img.shields.io/badge/doi-10.1007%2Fs10686--024--09976--2-blue?link=https%3A%2F%2Fdoi.org%2F10.1007%2Fs10686-024-09976-2)](https://doi.org/10.1007/s10686-024-09976-2)
83
83
  [![arXiv](https://img.shields.io/badge/arXiv-2501.12809-red?link=https%3A%2F%2Farxiv.org%2Fabs%2F2501.12809)](https://arxiv.org/abs/2501.12809)
84
84
  [![EMACS](https://img.shields.io/badge/EMAC-2504--003-blue)](https://emacs.gsfc.nasa.gov?cid=2504-003)
85
+ [![Ask DeepWiki](https://img.shields.io/badge/DeepWiki-Ask-0a7bbb)](https://deepwiki.com/arielmission-space/ExoSim2-public)
86
+ [![GitDiagram](https://img.shields.io/badge/GitDiagram-architecture-4c1)](https://gitdiagram.com/arielmission-space/ExoSim2-public)
85
87
 
86
88
 
87
89
  ## Introduction <a name="introduction"></a>
@@ -137,6 +139,14 @@ If you have installed ExoSim from source code, to test your ExoSim 2 installatio
137
139
 
138
140
  ExoSim2 comes with an extensive documentation, which can be built using Sphinx.
139
141
  The documentation includes a tutorial, a user guide and a reference guide.
142
+ The published documentation is at <https://exosim2-public.readthedocs.io/>.
143
+
144
+ An AI-generated overview of the codebase is also available on
145
+ [DeepWiki](https://deepwiki.com/arielmission-space/ExoSim2-public), and an
146
+ interactive architecture diagram on
147
+ [GitDiagram](https://gitdiagram.com/arielmission-space/ExoSim2-public). Both are
148
+ generated automatically from the code and may be out of date or inaccurate: the
149
+ documentation is the reference.
140
150
 
141
151
  To build the documentation, install the needed packages first via `uv`:
142
152
 
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "2.2.2",
3
+ "distance": 0,
4
+ "node": "g6cbdedbd",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-11-12"
8
+ }
@@ -1,8 +0,0 @@
1
- {
2
- "tag": "2.2.1",
3
- "distance": 0,
4
- "node": "g4f070a6b",
5
- "dirty": false,
6
- "branch": "HEAD",
7
- "node_date": "2026-08-31"
8
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes