Skip to content

Commit

Permalink
Fixed issue with float type returned by likelihood function, fixed is…
Browse files Browse the repository at this point in the history
…sue with np.inf in the likelihood that can not be handled by UltraNest, updated URLs in model_data.json
  • Loading branch information
tomasstolker committed Jan 31, 2024
1 parent 001aef6 commit bc6a4d3
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 20 deletions.
4 changes: 3 additions & 1 deletion species/data/database.py
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,9 @@ def available_models(self, verbose: bool = False) -> Dict:
print(f" - Reference: {model_dict['reference']}")

if "url" in model_dict:
print(f" - URL: {model_dict['url']}\n")
print(f" - URL: {model_dict['url']}")

print()

else:
print(f"{model_dict['name']} -> label: {model_name}")
Expand Down
32 changes: 16 additions & 16 deletions species/data/model_data/model_data.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
"resolution": 10000,
"teff range": [200, 3000],
"reference": "Phillips et al. (2020)",
"url": "https://ui.adsabs.harvard.edu/abs/2020A%26A...637A..38P/abstract"
"url": "https://ui.adsabs.harvard.edu/abs/2020A%26A...637A..38P"
},
"atmo-ceq": {
"parameters": ["teff", "logg"],
Expand All @@ -33,7 +33,7 @@
"resolution": 10000,
"teff range": [200, 3000],
"reference": "Phillips et al. (2020)",
"url": "https://ui.adsabs.harvard.edu/abs/2020A%26A...637A..38P/abstract"
"url": "https://ui.adsabs.harvard.edu/abs/2020A%26A...637A..38P"
},
"atmo-neq-weak": {
"parameters": ["teff", "logg"],
Expand All @@ -43,7 +43,7 @@
"resolution": 10000,
"teff range": [200, 1800],
"reference": "Phillips et al. (2020)",
"url": "https://ui.adsabs.harvard.edu/abs/2020A%26A...637A..38P/abstract"
"url": "https://ui.adsabs.harvard.edu/abs/2020A%26A...637A..38P"
},
"atmo-neq-strong": {
"parameters": ["teff", "logg"],
Expand All @@ -53,7 +53,7 @@
"resolution": 10000,
"teff range": [200, 1800],
"reference": "Phillips et al. (2020)",
"url": "https://ui.adsabs.harvard.edu/abs/2020A%26A...637A..38P/abstract"
"url": "https://ui.adsabs.harvard.edu/abs/2020A%26A...637A..38P"
},
"atmo-petrus2023": {
"parameters": ["teff", "logg", "feh", "c_o_ratio", "ad_index"],
Expand All @@ -63,7 +63,7 @@
"resolution": 3000,
"teff range": [800, 3000],
"reference": "Petrus et al. (2023)",
"url": "https://ui.adsabs.harvard.edu/abs/2023A%26A...670L...9P/abstract"
"url": "https://ui.adsabs.harvard.edu/abs/2023A%26A...670L...9P"
},
"blackbody": {
"parameters": ["teff"],
Expand Down Expand Up @@ -138,7 +138,7 @@
"resolution": 4000,
"teff range": [1000, 3000],
"reference": "Helling et al. (2008)",
"url": "https://ui.adsabs.harvard.edu/abs/2008ApJ...675L.105H/abstract"
"url": "https://ui.adsabs.harvard.edu/abs/2008ApJ...675L.105H"
},
"exo-rem": {
"parameters": ["teff", "logg", "feh", "c_o_ratio"],
Expand All @@ -148,7 +148,7 @@
"resolution": 500,
"teff range": [400, 2000],
"reference": "Charnay et al. (2018)",
"url": "https://ui.adsabs.harvard.edu/abs/2018ApJ...854..172C/abstract"
"url": "https://ui.adsabs.harvard.edu/abs/2018ApJ...854..172C"
},
"exo-rem-highres": {
"parameters": ["teff", "logg", "feh", "c_o_ratio"],
Expand All @@ -158,7 +158,7 @@
"resolution": 20000,
"teff range": [400, 2000],
"reference": "Charnay et al. (2018)",
"url": "https://ui.adsabs.harvard.edu/abs/2018ApJ...854..172C/abstract"
"url": "https://ui.adsabs.harvard.edu/abs/2018ApJ...854..172C"
},
"koester-wd": {
"parameters": ["teff", "logg"],
Expand All @@ -168,7 +168,7 @@
"resolution": 2000,
"teff range": [5000, 80000],
"reference": "Koester (2010)",
"url": "https://ui.adsabs.harvard.edu/abs/2010MmSAI..81..921K/abstract"
"url": "https://ui.adsabs.harvard.edu/abs/2010MmSAI..81..921K"
},
"morley-2012": {
"parameters": ["teff", "logg", "fsed"],
Expand All @@ -178,7 +178,7 @@
"resolution": 10000,
"teff range": [400, 1300],
"reference": "Morley et al. (2012)",
"url": "https://ui.adsabs.harvard.edu/abs/2012ApJ...756..172M/abstract"
"url": "https://ui.adsabs.harvard.edu/abs/2012ApJ...756..172M"
},
"petitcode-cool-clear": {
"parameters": ["teff", "logg", "feh"],
Expand All @@ -188,7 +188,7 @@
"resolution": 1000,
"teff range": [500, 1000],
"reference": "Mollière et al. (2015)",
"url": "https://ui.adsabs.harvard.edu/abs/2015ApJ...813...47M/abstract"
"url": "https://ui.adsabs.harvard.edu/abs/2015ApJ...813...47M"
},
"petitcode-cool-cloudy": {
"parameters": ["teff", "logg", "feh", "fsed"],
Expand All @@ -199,7 +199,7 @@
"teff range": [500, 850],
"information": "log(Kzz) = 7.5",
"reference": "Mollière et al. (2015)",
"url": "https://ui.adsabs.harvard.edu/abs/2015ApJ...813...47M/abstract"
"url": "https://ui.adsabs.harvard.edu/abs/2015ApJ...813...47M"
},
"petitcode-hot-clear": {
"parameters": ["teff", "logg", "feh", "c_o_ratio"],
Expand All @@ -209,7 +209,7 @@
"resolution": 1000,
"teff range": [1000, 2000],
"reference": "Mollière et al. (2015)",
"url": "https://ui.adsabs.harvard.edu/abs/2015ApJ...813...47M/abstract"
"url": "https://ui.adsabs.harvard.edu/abs/2015ApJ...813...47M"
},
"petitcode-hot-cloudy": {
"parameters": ["teff", "logg", "feh", "c_o_ratio", "fsed"],
Expand All @@ -219,7 +219,7 @@
"resolution": 1000,
"teff range": [1000, 2000],
"reference": "Mollière et al. (2015)",
"url": "https://ui.adsabs.harvard.edu/abs/2015ApJ...813...47M/abstract"
"url": "https://ui.adsabs.harvard.edu/abs/2015ApJ...813...47M"
},
"petitcode-linder2019-clear": {
"parameters": ["teff", "logg", "feh"],
Expand All @@ -229,7 +229,7 @@
"resolution": 1000,
"teff range": [150, 1000],
"reference": "Linder et al. (2019)",
"url": "https://ui.adsabs.harvard.edu/abs/2019A%26A...623A..85L/abstract"
"url": "https://ui.adsabs.harvard.edu/abs/2019A%26A...623A..85L"
},
"petitcode-linder2019-cloudy": {
"parameters": ["teff", "logg", "feh", "fsed"],
Expand All @@ -239,7 +239,7 @@
"resolution": 1000,
"teff range": [150, 1000],
"reference": "Linder et al. (2019)",
"url": "https://ui.adsabs.harvard.edu/abs/2019A%26A...623A..85L/abstract"
"url": "https://ui.adsabs.harvard.edu/abs/2019A%26A...623A..85L"
},
"saumon2008-clear": {
"parameters": ["teff", "logg"],
Expand Down
12 changes: 9 additions & 3 deletions species/fit/fit_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -1884,7 +1884,7 @@ def lnprior_multinest(cube, n_dim: int, n_param: int) -> None:
)

@typechecked
def lnlike_multinest(params, n_dim: int, n_param: int) -> np.float64:
def lnlike_multinest(params, n_dim: int, n_param: int) -> Union[float, np.float64]:
"""
Function for return the log-likelihood for the sampled parameter cube.
Expand Down Expand Up @@ -2119,7 +2119,7 @@ def lnprior_ultranest(cube: np.ndarray) -> np.ndarray:
return params

@typechecked
def lnlike_ultranest(params: np.ndarray) -> np.float64:
def lnlike_ultranest(params: np.ndarray) -> Union[float, np.float64]:
"""
Function for returning the log-likelihood for the sampled parameter cube.
Expand All @@ -2134,7 +2134,13 @@ def lnlike_ultranest(params: np.ndarray) -> np.float64:
Log-likelihood.
"""

return self.lnlike_func(params, prior=prior)
ln_like = self.lnlike_func(params, prior=prior)

if not np.isfinite(ln_like):
# UltraNest can not handle np.inf in the likelihood
ln_like = -1e100

return ln_like

sampler = ultranest.ReactiveNestedSampler(
self.modelpar,
Expand Down

0 comments on commit bc6a4d3

Please sign in to comment.