Skip to content

Commit

Permalink
Some minor improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
tomasstolker committed Feb 20, 2024
1 parent 2416d7c commit d7c813c
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 10 deletions.
14 changes: 9 additions & 5 deletions species/data/database.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,13 +91,17 @@ def _descend(
"""

if isinstance(h5_object, (h5py._hl.files.File, h5py._hl.group.Group)):
for key in h5_object.keys():
print(seperator + "- " + key + ": " + str(h5_object[key]))
_descend(h5_object[key], seperator=seperator + "\t")
for group_key in h5_object.keys():
print(seperator + "- " + group_key + ": " + str(h5_object[group_key]))

_descend(h5_object[group_key], seperator=seperator + "\t")

for attr_key in h5_object[group_key].attrs.keys():
print(seperator + "\t" + "- " + attr_key + " = " + str(h5_object[group_key].attrs[attr_key]))

elif isinstance(h5_object, h5py._hl.dataset.Dataset):
for key in h5_object.attrs.keys():
print(seperator + "- " + key + ": " + str(h5_object.attrs[key]))
for attr_key in h5_object.attrs.keys():
print(seperator + "- " + attr_key + ": " + str(h5_object.attrs[attr_key]))

with h5py.File(self.database, "r") as hdf_file:
_descend(hdf_file)
Expand Down
7 changes: 6 additions & 1 deletion species/data/model_data/custom_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,11 @@ def add_custom_model_grid(
np.asarray(flux),
)

write_data(model_name, parameters, database, data_sorted)
if wavel_sampling is None:
wavel_sampling = np.mean(
0.5 * (wavelength[1:] + wavelength[:-1]) / np.diff(wavelength)
)

write_data(model_name, parameters, wavel_sampling, database, data_sorted)

add_missing(model_name, parameters, database)
9 changes: 6 additions & 3 deletions species/data/model_data/model_spectra.py
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,6 @@ def add_model_grid(
if wavel_range is not None and wavel_sampling is not None:
wavelength = create_wavelengths(wavel_range, wavel_sampling)
print(f"Wavelength range (um) = {wavel_range[0]} - {wavel_range[1]}")
print(f"Sampling (lambda/d_lambda) = {wavel_sampling}")

else:
wavelength = None
Expand All @@ -260,7 +259,9 @@ def add_model_grid(
f"{model_info['wavelength range'][0]} - "
f"{model_info['wavelength range'][1]}"
)
print(f"Sampling (lambda/d_lambda) = {model_info['lambda/d_lambda']}")
wavel_sampling = model_info["lambda/d_lambda"]

print(f"Sampling (lambda/d_lambda) = {wavel_sampling}")

if teff_range is None:
print(
Expand Down Expand Up @@ -386,6 +387,8 @@ def add_model_grid(
np.asarray(flux),
)

write_data(model_tag, model_info["parameters"], database, data_sorted)
write_data(
model_tag, model_info["parameters"], wavel_sampling, database, data_sorted
)

add_missing(model_tag, model_info["parameters"], database)
6 changes: 5 additions & 1 deletion species/util/data_util.py
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,7 @@ def sort_data(
def write_data(
model: str,
parameters: List[str],
wavel_sampling: float,
database: h5py._hl.files.File,
data_sorted: List[np.ndarray],
) -> None:
Expand All @@ -321,8 +322,10 @@ def write_data(
Atmosphere model.
parameters : list(str)
Model parameters.
wavel_sampling : float
Wavelength sampling :math:`\\lambda/\\Delta\\lambda`.
database: h5py._hl.files.File
Database.
HDF5 database.
data_sorted : list(np.ndarray)
Sorted model data with the parameter values, wavelength
points (um), and flux densities (W m-2 um-1).
Expand All @@ -341,6 +344,7 @@ def write_data(
dset = database.create_group(f"models/{model}")

dset.attrs["n_param"] = n_param
dset.attrs["lambda/d_lambda"] = wavel_sampling

for i, item in enumerate(parameters):
dset.attrs[f"parameter{i}"] = item
Expand Down

0 comments on commit d7c813c

Please sign in to comment.