From 8a97e926fd7bf4917c4e20cc0a2a38818b75322f Mon Sep 17 00:00:00 2001 From: Tomas Stolker Date: Mon, 25 Sep 2023 12:39:10 +0200 Subject: [PATCH] Added support for the SPHINX model spectra --- docs/overview.rst | 3 ++- species/data/database.py | 2 +- species/data/model_data.json | 10 ++++++++++ species/data/model_spectra.py | 17 +++++++++-------- species/read/read_model.py | 4 ++-- species/util/plot_util.py | 3 +++ 6 files changed, 27 insertions(+), 12 deletions(-) diff --git a/docs/overview.rst b/docs/overview.rst index 24c3a97f..104e0e0c 100644 --- a/docs/overview.rst +++ b/docs/overview.rst @@ -30,9 +30,10 @@ The following data and models are currently supported: - `Morley et al. (2012) T/Y dwarf spectra `_ - `petitCODE `_ - `petitRADTRANS `_ +- `Saumon & Marley (2008) `_ - `Sonora Bobcat `_ - `Sonora Cholla `_ -- `Saumon & Marley (2008) `_ +- `SPHINX `_ .. tip:: It is also possible to add your own custom grid of model spectra with :func:`~species.data.database.Database.add_custom_model()`. Have a look at the documentation for details on the required file format. diff --git a/species/data/database.py b/species/data/database.py index 447e6741..3196d1ca 100644 --- a/species/data/database.py +++ b/species/data/database.py @@ -708,7 +708,7 @@ def add_model( 'blackbody', bt-cond', 'bt-cond-feh, 'morley-2012', 'sonora-cholla', 'sonora-bobcat', 'sonora-bobcat-co', 'koester-wd', 'saumon2008-clear', 'saumon2008-cloudy', - 'petrus2023'). + 'petrus2023', 'sphinx'). wavel_range : tuple(float, float), None Wavelength range (um) for adding a subset of the spectra. The full wavelength range is used if the argument is set diff --git a/species/data/model_data.json b/species/data/model_data.json index db16544f..555280fc 100644 --- a/species/data/model_data.json +++ b/species/data/model_data.json @@ -259,5 +259,15 @@ "information": "[Fe/H] = 0.0, log(g) = 5.0", "reference": "Marley et al. (2021)", "url": "https://zenodo.org/record/5063476" + }, + "sphinx": { + "parameters": ["teff", "logg", "feh", "c_o_ratio"], + "name": "SPHINX", + "file size": "143 Mb", + "wavelength range": [0.1, 20], + "resolution": 250, + "teff range": [2000, 4000], + "reference": "Aishwarya et al. (2022)", + "url": "https://zenodo.org/record/7416042" } } diff --git a/species/data/model_spectra.py b/species/data/model_spectra.py index 251b4288..5991d043 100644 --- a/species/data/model_spectra.py +++ b/species/data/model_spectra.py @@ -72,14 +72,15 @@ def add_model_grid( else: raise ValueError( f"The {model_name} atmospheric model is not available. " - f"Please choose one of the following models: " - f"'ames-cond', 'ames-dusty', 'atmo', 'bt-settl', " - f"'bt-nextgen', 'drift-phoexnix', 'petitcode-cool-clear', " - f"'petitcode-cool-cloudy', 'petitcode-hot-clear', " - f"'petitcode-hot-cloudy', 'exo-rem', 'bt-settl-cifist', " - f"'bt-cond', 'bt-cond-feh', 'blackbody', 'sonora-cholla', " - f"'sonora-bobcat', 'sonora-bobcat-co', 'koester-wd', " - f"'saumon2008-clear', 'saumon2008-cloudy', 'petrus2023' " + "Please choose one of the following models: " + "'ames-cond', 'ames-dusty', 'atmo', 'bt-settl', " + "'bt-nextgen', 'drift-phoexnix', 'petitcode-cool-clear', " + "'petitcode-cool-cloudy', 'petitcode-hot-clear', " + "'petitcode-hot-cloudy', 'exo-rem', 'bt-settl-cifist', " + "'bt-cond', 'bt-cond-feh', 'blackbody', 'sonora-cholla', " + "'sonora-bobcat', 'sonora-bobcat-co', 'koester-wd', " + "'saumon2008-clear', 'saumon2008-cloudy', 'petrus2023', " + "'sphinx'" ) if model_name == "bt-settl": diff --git a/species/read/read_model.py b/species/read/read_model.py index ba80a2fa..73d917e2 100644 --- a/species/read/read_model.py +++ b/species/read/read_model.py @@ -1121,8 +1121,8 @@ def get_model( if np.isnan(np.sum(model_box.flux)): warnings.warn( f"The resampled spectrum contains {np.sum(np.isnan(model_box.flux))} " - f"NaNs, probably because the original wavelength range does not fully " - f"encompass the new wavelength range. The happened with the " + "NaNs, probably because the original wavelength range does not fully " + "encompass the new wavelength range. The happened with the " f"following parameters: {model_param}." ) diff --git a/species/util/plot_util.py b/species/util/plot_util.py index 207c9609..7c51c8e2 100644 --- a/species/util/plot_util.py +++ b/species/util/plot_util.py @@ -929,6 +929,9 @@ def convert_model_name(in_name: str) -> str: elif in_name == "sonora-bobcat-co": out_name = "Sonora Bobcat C/O" + elif in_name == "sphinx": + out_name = "SPHINX" + elif in_name == "petitradtrans": out_name = "petitRADTRANS"