Skip to content

Commit

Permalink
Support for Sonora Elf Owl T-type model spectra
Browse files Browse the repository at this point in the history
  • Loading branch information
tomasstolker committed Mar 27, 2024
1 parent 6348997 commit cee08f6
Show file tree
Hide file tree
Showing 6 changed files with 45 additions and 12 deletions.
10 changes: 10 additions & 0 deletions species/data/model_data/model_data.json
Original file line number Diff line number Diff line change
Expand Up @@ -289,6 +289,16 @@
"reference": "Marley et al. (2021)",
"url": "https://zenodo.org/record/5063476"
},
"sonora-elfowl-t": {
"parameters": ["teff", "logg", "feh", "c_o_ratio", "log_kzz"],
"name": "Sonora Elf Owl",
"file size": "36 GB",
"wavelength range": [0.6, 15],
"lambda/d_lambda": 60000,
"teff range": [575, 1200],
"reference": "Mukherjee et al. (2023)",
"url": "https://zenodo.org/records/10385821"
},
"sphinx": {
"parameters": ["teff", "logg", "feh", "c_o_ratio"],
"name": "SPHINX",
Expand Down
21 changes: 14 additions & 7 deletions species/data/model_data/model_spectra.py
Original file line number Diff line number Diff line change
Expand Up @@ -299,9 +299,9 @@ def add_model_grid(
print_message = ""

for _, _, file_list in os.walk(data_folder):
for filename in sorted(file_list):
if filename[: len(model_tag)] == model_tag:
file_split = filename.split("_")
for file_name in sorted(file_list):
if file_name[: len(model_tag)] == model_tag:
file_split = file_name.split("_")

param_index = file_split.index("teff") + 1
teff_val = float(file_split[param_index])
Expand Down Expand Up @@ -340,13 +340,20 @@ def add_model_grid(
print(f"\r{empty_message}", end="")

print_message = (
f"Adding {model_info['name']} model spectra... {filename}"
f"Adding {model_info['name']} model spectra... {file_name}"
)
print(f"\r{print_message}", end="", flush=True)

data_wavel, data_flux = np.loadtxt(
os.path.join(data_folder, filename), unpack=True
)
spec_file = os.path.join(data_folder, file_name)

if file_name[-4:] == ".dat":
data_wavel, data_flux = np.loadtxt(spec_file, unpack=True)

else:
data = np.load(spec_file)

data_wavel = data[:, 0]
data_flux = data[:, 1]

if wavel_range is None:
if wavelength is None:
Expand Down
1 change: 1 addition & 0 deletions species/plot/plot_spectrum.py
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,7 @@ def plot_spectrum(
"feh",
"metallicity",
"fsed",
"log_kzz",
"distance",
"parallax",
"mass",
Expand Down
11 changes: 6 additions & 5 deletions species/util/data_util.py
Original file line number Diff line number Diff line change
Expand Up @@ -862,17 +862,18 @@ def convert_units(
flux_in : np.ndarray
Array with the input wavelengths and fluxes. The shape of the
array should be (n_wavelengths, 3) or (n_wavelengths, 2) with
the columns being the wavelengths, flux densities, and optional
the uncertainties. For photometric fluxes, the array should also
be 2D but with a single row/wavelength.
the columns being the wavelengths, flux densities, and
optionally the uncertainties. For photometric fluxes, the
array should also be 2D but with a single row/wavelength.
units_in : tuple(str, str)
Tuple with the units of the wavelength ("um", "angstrom",
"nm", "mm", "cm", "m", "Hz", "GHz") and the units of the
flux density ("W m-2 um-1", "W m-2 m-1", "W m-2 Hz-1",
"erg s-1 cm-2 angstrom-1" "erg s-1 cm-2 Hz-1", "mJy",
"Jy", "MJy").
"Jy", "MJy"). One can use "um" or "µm" interchangeably,
and similarly "AA", "Å", "A", or "angstrom".
convert_from : bool
Covert from ``units_in`` to :math:`\\mu\\text{m}^{-1}` and
Convert from ``units_in`` to :math:`\\mu\\text{m}^{-1}` and
:math:`\\text{W} \\text{m}^{-2} \\mu\\text{m}^{-1}` when set to
``True``. Or, convert to ``units_in`` when set to ``False``.
Expand Down
9 changes: 9 additions & 0 deletions species/util/model_util.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,15 @@ def convert_model_name(in_name: str) -> str:
elif in_name == "sonora-bobcat-co":
out_name = "Sonora Bobcat C/O"

elif in_name == "sonora-elfowl-l":
out_name = "Sonora Elf Owl"

elif in_name == "sonora-elfowl-t":
out_name = "Sonora Elf Owl"

elif in_name == "sonora-elfowl-y":
out_name = "Sonora Elf Owl"

elif in_name == "sphinx":
out_name = "SPHINX"

Expand Down
5 changes: 5 additions & 0 deletions species/util/plot_util.py
Original file line number Diff line number Diff line change
Expand Up @@ -939,6 +939,11 @@ def quantity_unit(
unit.append(None)
label.append("C/O")

if item == "log_kzz":
quantity.append("log_kzz")
unit.append(None)
label.append(r"$\log\,K_\mathrm{zz}$")

if item == "ad_index":
quantity.append("ad_index")
unit.append(None)
Expand Down

0 comments on commit cee08f6

Please sign in to comment.