From f8bc0e9299b9c7b0c9f6930f9da882825cbb2d00 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Wed, 18 Mar 2026 10:59:22 -0700 Subject: [PATCH 1/5] updates parameter names --- .../engines/fsps_photometry_creator.py | 19 +++++++++--------- src/rail/creation/engines/fsps_sed_modeler.py | 20 +++++++++++-------- tests/creation/test_fsps_interface.py | 3 +-- 3 files changed, 22 insertions(+), 20 deletions(-) diff --git a/src/rail/creation/engines/fsps_photometry_creator.py b/src/rail/creation/engines/fsps_photometry_creator.py index 20cd3a5..fd479d5 100644 --- a/src/rail/creation/engines/fsps_photometry_creator.py +++ b/src/rail/creation/engines/fsps_photometry_creator.py @@ -4,6 +4,7 @@ import numpy as np from astropy.cosmology import Planck15, w0waCDM from ceci.config import StageParameter as Param +from rail.core.common_params import SHARED_PARAMS from rail.core.data import Hdf5Handle from rail.core.stage import RailStage from rail.creation.engine import Creator @@ -29,12 +30,7 @@ class FSPSPhotometryCreator(Creator): ) config_options = RailStage.config_options.copy() config_options.update( - redshift_key=Param( - str, - "redshifts", - msg="Redshift keyword name of the hdf5 dataset " - "containing rest-frame SEDs", - ), + redshift_key=SHARED_PARAMS, restframe_sed_key=Param( str, "restframe_seds", @@ -60,7 +56,7 @@ class FSPSPhotometryCreator(Creator): instrument_name=Param( str, "lsst", msg="Instrument name as prefix to filter transmission" " files" ), - wavebands=Param(str, "u,g,r,i,z,y", msg="Comma-separated list of wavebands"), + wavebands=Param(list, ['u','g','r','i','z','y'], msg="Comma-separated list of wavebands"), filter_wave_key=Param(str, "wave", msg=""), filter_transm_key=Param(str, "transmission", msg=""), Om0=Param(float, 0.3, msg="Omega matter at current time"), @@ -79,8 +75,11 @@ class FSPSPhotometryCreator(Creator): False, msg="True to overwrite the cosmological parameters to their Planck2015 values", ), - physical_units=Param(bool, False), - msg="False (True) for rest-frame spectra in units of" "Lsun/Hz (erg/s/Hz)", + physical_units=Param( + bool, + False, + msg="False (True) for rest-frame spectra in units of" "Lsun/Hz (erg/s/Hz)", + ), ) inputs = [("model", Hdf5Handle)] @@ -100,7 +99,7 @@ def __init__(self, args, **kwargs): if not os.path.isdir(self.config.filter_folder): raise OSError("File {self.config.filter_folder} not found") - self.wavebands = self.config.wavebands.split(",") + self.wavebands = self.config.wavebands.copy() filter_wavelengths, filter_transmissions = [], [] for waveband in self.wavebands: with h5py.File( diff --git a/src/rail/creation/engines/fsps_sed_modeler.py b/src/rail/creation/engines/fsps_sed_modeler.py index 99cbdcc..2d1c3e1 100644 --- a/src/rail/creation/engines/fsps_sed_modeler.py +++ b/src/rail/creation/engines/fsps_sed_modeler.py @@ -1,4 +1,5 @@ from ceci.config import StageParameter as Param +from rail.core.common_params import SHARED_PARAMS from rail.core.data import Hdf5Handle from rail.core.stage import RailStage from rail.creation.engine import Modeler @@ -44,8 +45,8 @@ class FSPSSedModeler(Modeler): config_options = RailStage.config_options.copy() config_options.update( - chunk_size=10000, - hdf5_groupname=str, + chunk_size=SHARED_PARAMS, + hdf5_groupname=SHARED_PARAMS, compute_vega_mags=Param( bool, False, msg="True uses Vega magnitudes versus AB magnitudes" ), @@ -126,7 +127,7 @@ class FSPSSedModeler(Modeler): redshifts_key=Param( str, "redshifts", msg="galaxy redshift, dataset keyword name" ), - zmet_key=Param( + Z_met_key=Param( str, "zmet", msg=" The metallicity is specified as an integer ranging " @@ -188,8 +189,8 @@ class FSPSSedModeler(Modeler): "stellar_velocity_dispersion", msg="stellar velocity dispersions (km/s), " "dataset keyword name", ), - min_wavelength=Param(float, 3000, msg="minimum rest-frame wavelength"), - max_wavelength=Param(float, 10000, msg="maximum rest-frame wavelength"), + min_wavelength=SHARED_PARAMS, + max_wavelength=SHARED_PARAMS, gas_ionizations_key=Param( str, "gas_ionization", msg="gas ionization values dataset keyword name" ), @@ -383,8 +384,11 @@ class FSPSSedModeler(Modeler): tabulated_lsf_key=Param( str, "tabulated_lsf", msg="tabulated LSF dataset keyword name" ), - physical_units=Param(bool, False), - msg="False (True) for rest-frame spectra in units of" "Lsun/Hz (erg/s/Hz)", + physical_units=Param( + bool, + False, + msg="False (True) for rest-frame spectra in units of" "Lsun/Hz (erg/s/Hz)", + ), restframe_wave_key=Param( str, "restframe_wavelengths", @@ -773,7 +777,7 @@ def _process_chunk(self, start, end, data, first): velocity_dispersions = data[self.config.velocity_dispersions_key][()] gas_ionizations = data[self.config.gas_ionizations_key][()] gas_metallicities = data[self.config.gas_metallicities_key][()] - zmet = data[self.config.zmet_key][()] + zmet = data[self.config.Z_met_key][()] pmetals = data[self.config.pmetals_key][()] tau = data[self.config.tau_key][()] const = data[self.config.const_key][()] diff --git a/tests/creation/test_fsps_interface.py b/tests/creation/test_fsps_interface.py index d42a754..0bf6bef 100644 --- a/tests/creation/test_fsps_interface.py +++ b/tests/creation/test_fsps_interface.py @@ -43,8 +43,7 @@ def test_FSPSSedModeler_bad_min_wavelength(settings, error): @pytest.mark.parametrize( "settings,error", [ - ({"min_wavelength": 3000}, ValueError), - ({"max_wavelength": 1000}, ValueError), + ({"min_wavelength": 3000, "max_wavelength": 1000}, ValueError), ], ) def test_FSPSSedModeler_bad_max_wavelength(settings, error): From e8a4f682ade5f9b7a9128869ebac10de4a7774d9 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Wed, 18 Mar 2026 11:01:51 -0700 Subject: [PATCH 2/5] fix test --- tests/creation/test_fsps_interface.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/creation/test_fsps_interface.py b/tests/creation/test_fsps_interface.py index 0bf6bef..e306802 100644 --- a/tests/creation/test_fsps_interface.py +++ b/tests/creation/test_fsps_interface.py @@ -184,7 +184,7 @@ def test_FSPSPhotometryCreator(): apparent_mags_key="apparent_mags", filter_folder=os.path.join(default_rail_fsps_files_folder, "filters"), instrument_name="lsst", - wavebands="u,g,r,i,z,y", + wavebands=['u','g','r','i','z','y'], filter_wave_key="wave", filter_transm_key="transmission", Om0=0.3, @@ -214,7 +214,7 @@ def test_FSPSPhotometryCreator_noPlanck(): apparent_mags_key="apparent_mags", filter_folder=os.path.join(default_rail_fsps_files_folder, "filters"), instrument_name="lsst", - wavebands="u,g,r,i,z,y", + wavebands=['u','g','r','i','z','y'], filter_wave_key="wave", filter_transm_key="transmission", Om0=0.3, From 6cd29e6818c1b92c5246b1895cb4f16871282773 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Wed, 18 Mar 2026 11:06:22 -0700 Subject: [PATCH 3/5] udpated actions --- .github/workflows/build_documentation.yml | 4 ++-- .github/workflows/smoke-test.yml | 2 +- .github/workflows/testing-and-coverage.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_documentation.yml b/.github/workflows/build_documentation.yml index e149c2e..fed4f19 100644 --- a/.github/workflows/build_documentation.yml +++ b/.github/workflows/build_documentation.yml @@ -15,10 +15,10 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up Python 3.10 + - name: Set up Python 3.11 uses: actions/setup-python@v4 with: - python-version: '3.10' + python-version: '3.11' - name: Install dependencies run: | sudo apt-get update diff --git a/.github/workflows/smoke-test.yml b/.github/workflows/smoke-test.yml index 85b75a6..76240d7 100644 --- a/.github/workflows/smoke-test.yml +++ b/.github/workflows/smoke-test.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.9', '3.10', '3.11'] + python-version: ['3.11', '3.12'] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/testing-and-coverage.yml b/.github/workflows/testing-and-coverage.yml index 21eef7f..a99b4e5 100644 --- a/.github/workflows/testing-and-coverage.yml +++ b/.github/workflows/testing-and-coverage.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.9', '3.10', '3.11'] + python-version: ['3.11', '3.12'] steps: - uses: actions/checkout@v3 From 3c55d02d3e1be4da404689088adabdf037140e82 Mon Sep 17 00:00:00 2001 From: Eric Charles Date: Wed, 18 Mar 2026 11:50:14 -0700 Subject: [PATCH 4/5] trapz -> trapezoid --- src/rail/creation/engines/fsps_photometry_creator.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rail/creation/engines/fsps_photometry_creator.py b/src/rail/creation/engines/fsps_photometry_creator.py index fd479d5..0b8e69d 100644 --- a/src/rail/creation/engines/fsps_photometry_creator.py +++ b/src/rail/creation/engines/fsps_photometry_creator.py @@ -200,13 +200,13 @@ def _compute_apparent_magnitudes( fill_value=0, ) filt_interp = interp_function(observedframe_wavelength_in_Hz) - numerator = np.trapz( + numerator = np.trapezoid( observedframe_sed_erg_s_cm2_Hz * filt_interp / observedframe_wavelength, x=observedframe_wavelength, ) - denominator = np.trapz( + denominator = np.trapezoid( filt_interp / observedframe_wavelength, x=observedframe_wavelength ) mag_ab = -2.5 * np.log10(numerator / denominator) - 48.6 From 458178c76effb250d221e57e80ebd85db596befd Mon Sep 17 00:00:00 2001 From: sschmidt23 Date: Wed, 18 Mar 2026 13:19:18 -0700 Subject: [PATCH 5/5] zmet_key -> Z_met_key in tests --- tests/creation/test_fsps_interface.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/creation/test_fsps_interface.py b/tests/creation/test_fsps_interface.py index e306802..2b000da 100644 --- a/tests/creation/test_fsps_interface.py +++ b/tests/creation/test_fsps_interface.py @@ -267,7 +267,7 @@ def test_FSPSSedModeler(): fbhb=0.0, pagb=1.0, redshifts_key="redshifts", - zmet_key="zmet", + Z_met_key="zmet", stellar_metallicities_key="stellar_metallicity", pmetals_key="pmetals", imf_type=1, @@ -363,7 +363,7 @@ def test_FSPSSedModeler_smooth_lsf(): fbhb=0.0, pagb=1.0, redshifts_key="redshifts", - zmet_key="zmet", + Z_met_key="zmet", stellar_metallicities_key="stellar_metallicity", pmetals_key="pmetals", imf_type=1,