Skip to content

Commit

Permalink
add flat feh option to starfit
Browse files Browse the repository at this point in the history
  • Loading branch information
timothydmorton committed Mar 3, 2020
1 parent a6bd3c5 commit c4bb5e3
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 39 deletions.
9 changes: 9 additions & 0 deletions isochrones/starfit.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
from configobj import ConfigObj
from .starmodel import StarModel, BasicStarModel
from .isochrone import get_ichrone
from .priors import FlatPrior

from .logger import initLogging

Expand All @@ -18,6 +19,7 @@ def starfit(
folder,
multiplicities=["single"],
models="mist",
feh_prior="local",
use_emcee=False,
plot_only=False,
overwrite=False,
Expand All @@ -30,6 +32,8 @@ def starfit(
**kwargs
):
""" Runs starfit routine for a given folder.
feh_prior : 'flat' or 'local'
"""
nstars = {"single": 1, "binary": 2, "triple": 3}

Expand Down Expand Up @@ -85,6 +89,11 @@ def starfit(
mod = Mod.from_ini(
ichrone, folder, use_emcee=use_emcee, N=N, ini_file=ini_file, name=name
)

# Set feh prior
if feh_prior == "flat":
mod.set_prior(feh=FlatPrior((ichrone.minfeh, ichrone.maxfeh)))

try:
mod.obs.print_ascii()
except:
Expand Down
85 changes: 46 additions & 39 deletions scripts/starfit
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ be conditioned. Multiple folder names can also be passed.
from __future__ import division, print_function

import matplotlib
matplotlib.use('agg')

matplotlib.use("agg")

import matplotlib.pyplot as plt
import tables
Expand All @@ -30,30 +31,31 @@ try:
except ImportError:
has_tgastars = False

if __name__=='__main__':

parser = argparse.ArgumentParser(description='Fit physical properties of a star conditioned on observed quantities.')

parser.add_argument('folders', nargs='*', default=['.'])
parser.add_argument('--binary', action='store_true')
parser.add_argument('--triple', action='store_true')
parser.add_argument('--all', action='store_true')
parser.add_argument('--models', default='mist')
parser.add_argument('--emcee', action='store_true')
parser.add_argument('--no_local_fehprior', action='store_true')
parser.add_argument('--plot_only', action='store_true')
parser.add_argument('-o','--overwrite', action='store_true')
parser.add_argument('-v','--verbose', action='store_true')
parser.add_argument('--gaia', action='store_true')
parser.add_argument('--write_ini', action='store_true')
parser.add_argument('--rootdir', type=str, default=None)
parser.add_argument('--bands', nargs='*', default=None,
help='Additional band(s) to include in samples.')
if __name__ == "__main__":

parser = argparse.ArgumentParser(
description="Fit physical properties of a star conditioned on observed quantities."
)

parser.add_argument("folders", nargs="*", default=["."])
parser.add_argument("--binary", action="store_true")
parser.add_argument("--triple", action="store_true")
parser.add_argument("--all", action="store_true")
parser.add_argument("--models", default="mist")
parser.add_argument("--emcee", action="store_true")
parser.add_argument("--fehprior", default="local")
parser.add_argument("--plot_only", action="store_true")
parser.add_argument("-o", "--overwrite", action="store_true")
parser.add_argument("-v", "--verbose", action="store_true")
parser.add_argument("--gaia", action="store_true")
parser.add_argument("--write_ini", action="store_true")
parser.add_argument("--rootdir", type=str, default=None)
parser.add_argument("--bands", nargs="*", default=None, help="Additional band(s) to include in samples.")

args = parser.parse_args()

if args.gaia and not has_tgastars:
print('You must install the tgastars package to run in Gaia mode.')
print("You must install the tgastars package to run in Gaia mode.")
sys.exit()

try:
Expand All @@ -62,30 +64,36 @@ if __name__=='__main__':
args.emcee = True

if args.all:
multiplicities = ['single', 'binary', 'triple']
multiplicities = ["single", "binary", "triple"]
elif args.binary:
multiplicities = ['binary']
multiplicities = ["binary"]
elif args.triple:
multiplicities = ['triple']
multiplicities = ["triple"]
else:
multiplicities = ['single']

nstars = {'single':1,
'binary':2,
'triple':3}
multiplicities = ["single"]

nstars = {"single": 1, "binary": 2, "triple": 3}

starfit_fn = tgas_starfit if args.gaia else starfit

logger = None #dummy

for i,folder in enumerate(args.folders):
print('{} of {}: {}'.format(i+1, len(args.folders), folder))
kwargs = dict(multiplicities=multiplicities, models=args.models,
use_emcee=args.emcee, plot_only=args.plot_only, overwrite=args.overwrite,
verbose=args.verbose, logger=logger, bands=args.bands)
logger = None # dummy

for i, folder in enumerate(args.folders):
print("{} of {}: {}".format(i + 1, len(args.folders), folder))
kwargs = dict(
multiplicities=multiplicities,
models=args.models,
use_emcee=args.emcee,
feh_prior=args.fehprior,
plot_only=args.plot_only,
overwrite=args.overwrite,
verbose=args.verbose,
logger=logger,
bands=args.bands,
)
if args.gaia:
kwargs['write_ini_file'] = args.write_ini
kwargs['rootdir'] = args.rootdir
kwargs["write_ini_file"] = args.write_ini
kwargs["rootdir"] = args.rootdir

mod, logger = starfit_fn(folder, **kwargs)

Expand All @@ -95,4 +103,3 @@ if __name__=='__main__':
# Don't know why this is necessary? Haven't been able to track down where file gets left open.
# But this is necessary to avoid building up of open files.
tables.file._open_files.close_all()

0 comments on commit c4bb5e3

Please sign in to comment.