synthpop

make Synthpop available for import

Submodules

Attributes

SYNTHPOP_DIR

Classes

SynthPop

Model class for generating catalogs of stars.

Functions

main([configfile])

Run Synthpop in the standard mode

Package Contents

synthpop.SYNTHPOP_DIR = b'.'
class synthpop.SynthPop(*args, **kwargs)

Model class for generating catalogs of stars.

Attributes

model_namestr

name of the model directory

population_fileslist<str>

list of population.json files detected in the model directory

populationlist<Population>

list of the initialized population objects

solid_anglefloat [sr]

size of the cone

min_mass, max_massfloat [Msun]

minimum and maximum mass of the Star generation

filename_basestr

file name to store the results including the path and without an extension

Methods

__init__()None

initialize the SynthPop class

init_populations()None

collects the population configuration and initializes the populations

update_location(l_deg: float, b_deg: float, solid_angle_sr: float)None

wrapper to update the location in all the populations

estimate_field_population()None

wrapper to estimate the field output for each population

do_kinematics(field_df: pandas.DataFrame)pandas.DataFrame

wrapper to call the kinematics generation in each population

generate_fields()None

wrapper to generate all the populations

write_astrotable(filename: str, df: pandas.DataFrame, extension: str)None

option to save the table as fits or VoTable.

write_to_file(df: pandas.DataFrame)str

save the generated model, returns the filename

get_filename(l_deg: float, b_deg: float, solid_angle_sr: float)None

generate the base of the filename (i.e. without extension) for a given location

process_location(l_deg: float, b_deg: float,

solid_angle_sr: float, save_data: bool) : Pandas.DataFrame Dict

process a given location.

process_all()None

process all locations as specified in the configuration

parms
population_files = None
populations = []
filename_base = None
populations_are_initialized = False
save_data = True
l_deg = None
b_deg = None
solid_angle = None
solid_angle_unit = None
get_iter_loc() Iterator[Tuple[float, float]]

returns an iterator for the defined locations

init_populations(forced: bool = False) None

Wrapper function that initializes all the populations for the model. Can initialize with coordinates, but it is not necessary.

Parameters

forcedbool

forced the initialisation, even if the populations are initialized before

Returns

update_location(l_deg: float, b_deg: float, solid_angle: float, solid_angle_unit: str = 'deg^2', **positional_kwargs) None

Simple wrapper to update filename, logfile, and all populations in the model to the new location (l,b) and solid angle.

Parameters

l_degfloat [‘deg’]

galactic longitude for the center of the cone

b_degfloat [‘deg’]

galactic longitude for the center of the cone

solid_anglefloat [deg^2]

steradians for the cone size

solid_angle_unitstr

unit for steradians

positional_kwargs :

any keyword to be passed to Position

estimate_field_population() None

A simple wrapper to estimate the total mass and number of stars to be drawn in a field

do_kinematics(field_df: pandas.DataFrame) pandas.DataFrame

A simple wrapper to call the kinematic generation of each population

Note that the change is performed in place. I.e. It will overwrite what the kinematics in field_df is

Parameters

field_dfDataFrame

Generated stars

Returns

field_df

dataframe of the generated stars

generate_fields() Tuple[pandas.DataFrame, Dict]

calls the generate_field for all the populations and collects the data in a common pandas dataframe.

Returns

field_df: DataFrame

DataFrame including the generated Stars from all populations

distributions: dict

collection of intrinsic distributions for each population

write_astrotable(filename: str, df: pandas.DataFrame, extension: str) None

save the result as fits file or votable by converting it to an astropy.table.Table object.

Parameters

filenamestr

save location

dfDataFrame

Data frame of the generated model

extensionstr

file extension. either “fits” or “vot”/”votable”

Returns

write_to_file(df: pandas.DataFrame) str

write the results to disc

Parameters

dfDataFrame

Model output

Returns

filenamestr

path of the created file save location.

get_filename(l_deg: float, b_deg: float, solid_angle: float) str

create a file name for a given position

Parameters

l_deg, b_degfloat [deg]

galactic coordinates

solid_angle: float [rad]

solid angle of the cone

Returns

filenamestr

filename including location

process_location(l_deg: float, b_deg: float, solid_angle: float, solid_angle_unit: str = 'deg^2', save_data: bool = True) Tuple[pandas.DataFrame, Dict]

Performs the field generation for a given position.

Parameters

l_deg, b_degfloat [deg]

galactic coordinates

solid_anglefloat [deg^2]

Area of the cone

solid_angle_unitstr

Unit of the provided solid_angle

save_databool

If True the DataFrame is saved to disk If False the DataFrame are only returned,

Returns

field_dfDataFrame

Generated stars as Pandas Dataframe

distributions: dict

collection of intrinsic distributions for each population

process_all(forced=False) None

Calls the Initialization of all populations and calls the process for all given locations.

synthpop.main(configfile: str = None, **kwargs)

Run Synthpop in the standard mode