def test_emptyfile(): empty_filename = 'temp_data/empty.par' # Overwrite file to be empty? with open(empty_filename, 'w') as fp: pass empty_dict = readparam.readParam(empty_filename) assert len(empty_dict) == 0
def test_comments(): comments_filename = 'temp_data/comments.par' dummydict = { 'foo': 10, 'bar': 20, } # Overwrite file to be comments? with open(comments_filename, 'w') as fp: fp.write('# This is a comment\n') for k, v in dummydict.items(): fp.write('{}={}\n'.format(k, v)) retrieved_dict = readparam.readParam(comments_filename) for key in dummydict: assert dummydict[key] == retrieved_dict[key] comments_dict = readparam.readParam(comments_filename)
def test_dummypars(): dummypar_filename = 'temp_data/dummypar.par' dummydict = { 'foo': 10, 'bar': 20, } with open(dummypar_filename, 'w') as fp: for k, v in dummydict.items(): fp.write('{}={}\n'.format(k, v)) retrieved_dict = readparam.readParam(dummypar_filename) for key in dummydict: assert dummydict[key] == retrieved_dict[key]
def test_default_pars(): default_pars_filename = 'temp_data/default_pars.par' default_pars = { 'A': 1, 'B': 2, 'C': 3, 'D': 4, 'par_log_file': 'temp_data/default_pars.log' } custom_pars = { 'B': 'two', 'E': 'five', } with open(default_pars_filename, 'w') as fp: fp.write('# This is a comment\n') for k, v in custom_pars.items(): fp.write('{}={}\n'.format(k, v)) data_pars = readparam.readParam(default_pars_filename, default_pars=default_pars) readparam.log_used_pars(data_pars, default_pars)
"""Little formatting helper""" res = '{}{:^40}{}'.format(5 * symbol, msg, 5 * symbol) if surround: res = '\n{}\n{}\n{}'.format(50 * symbol, res, 50 * symbol) logging.info(res) #~ pool=MPIPool() #~ if not pool.is_master(): #~ pool.wait() #~ sys.exit(0) ################################## ### SET PARAMETERS ############### ################################## default_fit_pars = readparam.readParam('default_fit.pars') # Read global parameters from the file global_pars = readparam.readParam(sys.argv[1], default_pars=default_fit_pars) # Read local parameters from the file local_pars = readparam.readParam(sys.argv[2]) print('ocmp', sys.argv[2], sys.argv[1]) ncomps = local_pars['ncomps'] icomp = local_pars['icomp'] # TODO ############### pool = None #pool#None
import sys import itertools from mpi4py import MPI import sys sys.path.insert(0, '..') from chronostar import readparam comm = MPI.COMM_WORLD size=comm.Get_size() rank=comm.Get_rank() if rank==0: # Read fit parameters from the file filename_fit_pars = sys.argv[1] fit_pars = readparam.readParam(filename_fit_pars) filenames_pars = np.load(sys.argv[2]) # Scatter data filename_params = np.array_split(filenames_pars, size) else: filename_params = None filename_fit_pars = None # BROADCAST CONSTANTS filename_fit_pars = comm.bcast(filename_fit_pars, root=0) # SCATTER DATA filename_params = comm.scatter(filename_params, root=0)