exosim 2.2.1__tar.gz → 2.2.3__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.3}/CHANGELOG.rst +41 -0
  2. {exosim-2.2.1 → exosim-2.2.3}/CITATION.cff +2 -2
  3. {exosim-2.2.1 → exosim-2.2.3}/PKG-INFO +11 -1
  4. {exosim-2.2.1 → exosim-2.2.3}/README.md +10 -0
  5. {exosim-2.2.1 → exosim-2.2.3}/codemeta.json +2 -2
  6. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/estimate_apertures.py +2 -1
  7. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/sed/download_sed.py +16 -3
  8. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/utils/aperture.py +4 -3
  9. {exosim-2.2.1 → exosim-2.2.3}/src/exosim.egg-info/PKG-INFO +11 -1
  10. exosim-2.2.3/src/exosim.egg-info/scm_version.json +8 -0
  11. exosim-2.2.1/src/exosim.egg-info/scm_version.json +0 -8
  12. {exosim-2.2.1 → exosim-2.2.3}/.gitignore +0 -0
  13. {exosim-2.2.1 → exosim-2.2.3}/CODE_OF_CONDUCT.md +0 -0
  14. {exosim-2.2.1 → exosim-2.2.3}/LICENSE +0 -0
  15. {exosim-2.2.1 → exosim-2.2.3}/MANIFEST.in +0 -0
  16. {exosim-2.2.1 → exosim-2.2.3}/RELEASING.md +0 -0
  17. {exosim-2.2.1 → exosim-2.2.3}/pyproject.toml +0 -0
  18. {exosim-2.2.1 → exosim-2.2.3}/scripts/changelog_extract.py +0 -0
  19. {exosim-2.2.1 → exosim-2.2.3}/scripts/release.py +0 -0
  20. {exosim-2.2.1 → exosim-2.2.3}/setup.cfg +0 -0
  21. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/__about__.py +0 -0
  22. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/__init__.py +0 -0
  23. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/data/Zodi_map.hdf5 +0 -0
  24. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/exosim.py +0 -0
  25. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/log/__init__.py +0 -0
  26. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/log/logger.py +0 -0
  27. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/log/structlog_config.py +0 -0
  28. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/models/__init__.py +0 -0
  29. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/models/channel.py +0 -0
  30. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/models/signal.py +0 -0
  31. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/models/utils/__init__.py +0 -0
  32. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/models/utils/cached_data.py +0 -0
  33. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/output/__init__.py +0 -0
  34. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/output/hdf5/__init__.py +0 -0
  35. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/output/hdf5/hdf5.py +0 -0
  36. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/output/hdf5/utils.py +0 -0
  37. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/output/output.py +0 -0
  38. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/output/set_output.py +0 -0
  39. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/output/utils.py +0 -0
  40. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/plots/__init__.py +0 -0
  41. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/plots/focal_plane_plotter.py +0 -0
  42. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/plots/ndrs_plotter.py +0 -0
  43. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/plots/plotter.py +0 -0
  44. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/plots/radiometric_plotter.py +0 -0
  45. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/plots/sub_exposures_plotter.py +0 -0
  46. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/plots/utils.py +0 -0
  47. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/py.typed +0 -0
  48. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/recipes/__init__.py +0 -0
  49. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/recipes/create_focal_plane.py +0 -0
  50. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/recipes/create_ndrs.py +0 -0
  51. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/recipes/create_sub_exposures.py +0 -0
  52. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/recipes/radiometric_model.py +0 -0
  53. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/recipes/simulate_observation.py +0 -0
  54. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/__init__.py +0 -0
  55. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/astrosignal/__init__.py +0 -0
  56. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/astrosignal/apply_astronomical_signal.py +0 -0
  57. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/astrosignal/estimate_astronomical_signal.py +0 -0
  58. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/astrosignal/estimate_planetary_signal.py +0 -0
  59. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/astrosignal/find_astronomical_signals.py +0 -0
  60. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/chain_task.py +0 -0
  61. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/detector/__init__.py +0 -0
  62. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/detector/accumulate_sub_exposures.py +0 -0
  63. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/detector/add_constant_dark_current.py +0 -0
  64. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/detector/add_cosmic_rays.py +0 -0
  65. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/detector/add_dark_current_map_numpy.py +0 -0
  66. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/detector/add_gain_drift.py +0 -0
  67. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/detector/add_ktc.py +0 -0
  68. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/detector/add_read_noise.py +0 -0
  69. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/detector/add_read_noise_map_numpy.py +0 -0
  70. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/detector/add_shot_noise.py +0 -0
  71. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/detector/analog_to_digital.py +0 -0
  72. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/detector/apply_dead_pixel_map.py +0 -0
  73. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/detector/apply_dead_pixel_map_numpy.py +0 -0
  74. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/detector/apply_pixels_non_linearity.py +0 -0
  75. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/detector/apply_simple_saturation.py +0 -0
  76. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/detector/load_pixels_non_linearity_map.py +0 -0
  77. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/detector/load_pixels_non_linearity_map_numpy.py +0 -0
  78. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/detector/merge_groups.py +0 -0
  79. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/foregrounds/__init__.py +0 -0
  80. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/foregrounds/estimate_zodi.py +0 -0
  81. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/instrument/__init__.py +0 -0
  82. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/instrument/apply_intra_pixel_response_function.py +0 -0
  83. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/instrument/compute_saturation.py +0 -0
  84. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/instrument/compute_solid_angle.py +0 -0
  85. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/instrument/compute_sources_pointing_offset.py +0 -0
  86. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/instrument/create_focal_plane.py +0 -0
  87. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/instrument/create_focal_plane_array.py +0 -0
  88. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/instrument/create_intrapixel_response_function.py +0 -0
  89. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/instrument/create_oversampled_intrapixel_response_function.py +0 -0
  90. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/instrument/foregrounds_to_focal_plane.py +0 -0
  91. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/instrument/load_psf.py +0 -0
  92. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/instrument/load_psf_paos.py +0 -0
  93. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/instrument/load_psf_paos_time_interp.py +0 -0
  94. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/instrument/load_responsivity.py +0 -0
  95. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/instrument/load_wavelength_solution.py +0 -0
  96. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/instrument/populate_focal_plane.py +0 -0
  97. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/instrument/propagate_foregrounds.py +0 -0
  98. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/instrument/propagate_sources.py +0 -0
  99. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/load/__init__.py +0 -0
  100. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/load/load_optical_element.py +0 -0
  101. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/load/load_optical_element_hdf5.py +0 -0
  102. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/load/load_options.py +0 -0
  103. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/load/load_source_list.py +0 -0
  104. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/parse/__init__.py +0 -0
  105. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/parse/parse_optical_element.py +0 -0
  106. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/parse/parse_path.py +0 -0
  107. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/parse/parse_source.py +0 -0
  108. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/parse/parse_zodi.py +0 -0
  109. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/__init__.py +0 -0
  110. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/aperture_photometry.py +0 -0
  111. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/compute_constant_dark_current_noise.py +0 -0
  112. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/compute_constant_read_noise.py +0 -0
  113. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/compute_custom_noise.py +0 -0
  114. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/compute_integration_time.py +0 -0
  115. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/compute_observation_efficiency.py +0 -0
  116. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/compute_observation_efficiency_from_dead_time.py +0 -0
  117. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/compute_photon_noise.py +0 -0
  118. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/compute_signals_channel.py +0 -0
  119. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/compute_sub_frg_signals_channel.py +0 -0
  120. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/compute_total_noise.py +0 -0
  121. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/estimate_spectral_binning.py +0 -0
  122. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/load_apertures.py +0 -0
  123. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/multiaccum.py +0 -0
  124. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/saturation_channel.py +0 -0
  125. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/utils/__init__.py +0 -0
  126. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/utils/compute_multiaccum.py +0 -0
  127. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/utils/compute_noise_column.py +0 -0
  128. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/utils/compute_photon_noise.py +0 -0
  129. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/utils/compute_saturation.py +0 -0
  130. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/utils/create_table.py +0 -0
  131. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/radiometric/utils/update_total_noise.py +0 -0
  132. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/sed/__init__.py +0 -0
  133. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/sed/create_custom_source.py +0 -0
  134. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/sed/create_planck_star.py +0 -0
  135. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/sed/load_custom.py +0 -0
  136. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/sed/load_phoenix.py +0 -0
  137. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/sed/prepare_sed.py +0 -0
  138. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/subexposures/__init__.py +0 -0
  139. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/subexposures/add_foregrounds.py +0 -0
  140. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/subexposures/apply_qe_map.py +0 -0
  141. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/subexposures/compute_reading_scheme.py +0 -0
  142. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/subexposures/estimate_ch_jitter.py +0 -0
  143. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/subexposures/estimate_pointing_jitter.py +0 -0
  144. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/subexposures/instantaneous_read_out.py +0 -0
  145. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/subexposures/load_ils.py +0 -0
  146. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/subexposures/load_qe_map.py +0 -0
  147. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/subexposures/load_qe_map_numpy.py +0 -0
  148. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/subexposures/prepare_instantaneous_read_out.py +0 -0
  149. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tasks/task.py +0 -0
  150. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tools/__init__.py +0 -0
  151. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tools/adc_gain_estimator.py +0 -0
  152. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tools/dark_current_map.py +0 -0
  153. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tools/dead_pixels_map.py +0 -0
  154. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tools/exosim_tool.py +0 -0
  155. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tools/pixels_non_linearity.py +0 -0
  156. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tools/pixels_non_linearity_from_correction.py +0 -0
  157. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tools/quantum_efficiency_map.py +0 -0
  158. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/tools/readout_scheme_calculator.py +0 -0
  159. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/utils/__init__.py +0 -0
  160. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/utils/ascii_arts.py +0 -0
  161. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/utils/binning.py +0 -0
  162. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/utils/checks.py +0 -0
  163. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/utils/convolution.py +0 -0
  164. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/utils/focal_plane_locations.py +0 -0
  165. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/utils/grids.py +0 -0
  166. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/utils/iterators.py +0 -0
  167. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/utils/klass_factory.py +0 -0
  168. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/utils/operations.py +0 -0
  169. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/utils/output_cleaners.py +0 -0
  170. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/utils/prepare_recipes.py +0 -0
  171. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/utils/psf.py +0 -0
  172. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/utils/run_config.py +0 -0
  173. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/utils/timed_class.py +0 -0
  174. {exosim-2.2.1 → exosim-2.2.3}/src/exosim/utils/types.py +0 -0
  175. {exosim-2.2.1 → exosim-2.2.3}/src/exosim.egg-info/SOURCES.txt +0 -0
  176. {exosim-2.2.1 → exosim-2.2.3}/src/exosim.egg-info/dependency_links.txt +0 -0
  177. {exosim-2.2.1 → exosim-2.2.3}/src/exosim.egg-info/entry_points.txt +0 -0
  178. {exosim-2.2.1 → exosim-2.2.3}/src/exosim.egg-info/requires.txt +0 -0
  179. {exosim-2.2.1 → exosim-2.2.3}/src/exosim.egg-info/scm_file_list.json +0 -0
  180. {exosim-2.2.1 → exosim-2.2.3}/src/exosim.egg-info/top_level.txt +0 -0
@@ -12,6 +12,43 @@ 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.3:
16
+
17
+ [2.2.3_] - Elliptical aperture area
18
+ ===================================
19
+
20
+ Fixed
21
+ -----
22
+
23
+ - elliptical apertures: ``aperture_size`` (the pixel count used by
24
+ ``ComputeConstantDarkCurrentNoise`` and ``ComputeConstantReadNoise``) was
25
+ computed as :math:`\pi (a/2)(b/2)`, four times smaller than the area
26
+ integrated by the photometry, which uses ``a`` and ``b`` as the semi-axes of
27
+ the ``photutils`` ``EllipticalAperture``. It is now :math:`\pi a b`.
28
+ ``find_elliptical_aperture`` likewise returns :math:`\pi a b` as its area
29
+ (it returned ``a * b``) and its docstring now states that the sizes are
30
+ semi-axes. Aperture tables generated with earlier versions have a wrong
31
+ ``aperture_size`` for elliptical rows and should be regenerated
32
+
33
+ .. _changelog-2.2.2:
34
+
35
+ [2.2.2_] - Fix ACES solar-metallicity SED download
36
+ ==================================================
37
+
38
+ Changed
39
+ -------
40
+
41
+ - the documentation home page now points readers who only need signal and
42
+ noise budgets to ExoRad 2, the radiometric model ExoSim 2 builds on
43
+
44
+ Fixed
45
+ -----
46
+
47
+ - ``DownloadSed`` with ``model_name="phoenix-aces"`` built a 404 URL for a
48
+ solar-metallicity star: the Goettingen server names the directory and files
49
+ ``Z-0.0`` / ``lte...-0.0...``, but the URL builder formatted ``0.0`` as
50
+ ``+0.0``. Metallicity formatting is now routed through ``_feh_str``.
51
+
15
52
  .. _changelog-2.2.1:
16
53
 
17
54
  [2.2.1_] - Pipeline hardening
@@ -263,5 +300,9 @@ Cleaned repository
263
300
 
264
301
  .. _2.2.1: https://github.com/arielmission-space/ExoSim2.0/releases/tag/v2.2.1
265
302
 
303
+ .. _2.2.2: https://github.com/arielmission-space/ExoSim2.0/releases/tag/v2.2.2
304
+
305
+ .. _2.2.3: https://github.com/arielmission-space/ExoSim2.0/releases/tag/v2.2.3
306
+
266
307
  .. _keepachangelog: https://keepachangelog.com/en/1.0.0/
267
308
  .. _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.3
22
+ date-released: 2026-11-13
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: exosim
3
- Version: 2.2.1
3
+ Version: 2.2.3
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.3",
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-13"
51
51
  }
@@ -223,7 +223,8 @@ class EstimateApertures(Task):
223
223
  if shape == "rectangular":
224
224
  aperture_size = np.array(dwl) * np.array(dsp)
225
225
  elif shape == "elliptical":
226
- aperture_size = np.pi * (np.array(dwl) / 2) * (np.array(dsp) / 2)
226
+ # dwl and dsp are the semi-axes (a, b) of the photutils EllipticalAperture
227
+ aperture_size = np.pi * np.array(dwl) * np.array(dsp)
227
228
  else:
228
229
  aperture_size = np.array(dsp) # fallback generico
229
230
 
@@ -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
 
@@ -115,9 +115,10 @@ def find_elliptical_aperture(ima, desired_ene, center=None):
115
115
  Returns
116
116
  -------
117
117
  (float, float)
118
- sizes of the elliptical aperture (h,w)
118
+ semi-axes (a, b) of the elliptical aperture, in pixels, as used by
119
+ :class:`photutils.aperture.EllipticalAperture`
119
120
  float
120
- number of pixels in the aperture
121
+ area of the aperture in pixels, :math:`\\pi a b`
121
122
  float
122
123
  encircled energy collected by the aperture
123
124
 
@@ -172,7 +173,7 @@ def find_elliptical_aperture(ima, desired_ene, center=None):
172
173
 
173
174
  a = res.x[0]
174
175
  b = res.x[1]
175
- return (a, b), a * b, ene_func(center, a, b, ima)
176
+ return (a, b), np.pi * a * b, ene_func(center, a, b, ima)
176
177
 
177
178
 
178
179
  def find_bin_aperture(ima, desired_ene, spatial_with, center=None):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: exosim
3
- Version: 2.2.1
3
+ Version: 2.2.3
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.3",
3
+ "distance": 0,
4
+ "node": "g2c8bbdef",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-11-13"
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