def get_interpolator(stellar_evolution_interpolator_dir, track_path):
    """Return the stellar evolution interpolator to use."""

    manager = StellarEvolutionManager(stellar_evolution_interpolator_dir)
    if not list(manager.get_suite_tracks()):
        manager.register_track_collection(
            track_fnames=glob(os.path.join(track_path, '*.csv')))

    interpolator_args = dict(num_threads=1)
    interpolator_args['new_interp_name'] = 'custom'
    interpolator_args['nodes'] = {q: 0 for q in MESAInterpolator.quantity_list}
    interpolator_args['smoothing'] = {
        q: float('nan')
        for q in MESAInterpolator.quantity_list
    }
    return manager.get_interpolator(**interpolator_args)
示例#2
0
        '--num-threads',
        '--threads',
        type=int,
        default=4,
        help='The number of simultaneous threads to use when generating '
        'the interepolator. Default: %(default)d')
    return parser.parse_args()


if __name__ == '__main__':
    cmdline_args = parse_command_line()
    assert (os.path.isdir(cmdline_args.track_path))

    manager = StellarEvolutionManager(cmdline_args.repository_path)

    if not list(manager.get_suite_tracks()):
        manager.register_track_collection(
            track_fnames=glob(os.path.join(cmdline_args.track_path, '*.csv')))

    creation_args = dict(num_threads=cmdline_args.num_threads)
    if cmdline_args.trivial:
        nan = float('nan')
        creation_args['new_interp_name'] = 'trivial'
        creation_args['nodes'] = {q: 0 for q in MESAInterpolator.quantity_list}
        creation_args['smoothing'] = {
            q: float('nan')
            for q in MESAInterpolator.quantity_list
        }
    else:
        creation_args['new_interp_name'] = 'default'