Loading astrort/simulator/base_simulator.py +11 −3 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ # ***************************************************************************** import argparse from time import time from os import makedirs from os.path import join from rtasci.lib.RTACtoolsSimulation import RTACtoolsSimulation Loading @@ -15,29 +16,36 @@ from astrort.configure.logging import set_logger, get_log_level from astrort.configure.slurmjobs import make_sbatch def base_simulator(configuration_file): clock = time() configuration = load_yaml_conf(configuration_file) logfile = join(configuration['simulator']['output'], configuration['logging']['logfile']) datfile = logfile.replace('.log', '.dat') log = set_logger(get_log_level(configuration['logging']['level']), logfile) log.info(f"Simulator configured, took {time() - clock} s") # create output dir log.info(f"Creating {configuration['simulator']['output']}") log.info(f"Output folder: {configuration['simulator']['output']}") makedirs(configuration['simulator']['output'], exist_ok=True) # start simulations log.info(f"\n {'-'*17} \n| START SIMULATOR | \n {'-'*17} \n") for i in range(configuration['simulator']['samples']): clock_sim = time() simulator = RTACtoolsSimulation() # check pointing option simulator, point = set_pointing(simulator, configuration['simulator'], log) # complete configuration simulator = configure_simulator_no_visibility(simulator, configuration['simulator']) log.debug(f"IRF [{configuration['simulator']['irf']}] > energy range: {simulator.e} TeV") simulator.run_simulation() log.info(f"Simulation (seed = {configuration['simulator']['seed']}) complete") log.info(f"Simulation (seed = {configuration['simulator']['seed']}) complete, took {time() - clock_sim} s") configuration['simulator']['seed'] += 1 # timing simulation clock_sim = time() - clock_sim # save simulation data write_simulation_info(simulator, configuration['simulator'], point, datfile) write_simulation_info(simulator, configuration['simulator'], point, datfile, clock_sim) del simulator # end simulations log.info(f"\n {'-'*17} \n| STOP SIMULATOR | \n {'-'*17} \n") log.info(f"Process complete, took {time() - clock} s") def slurm_submission(configuration_file, nodes): Loading astrort/utils/wrap.py +6 −4 Original line number Diff line number Diff line Loading @@ -10,9 +10,10 @@ import yaml import numpy as np import astropy.units as u from os.path import dirname, abspath, join, basename, isfile from astrort.utils.utils import seeds_to_string_formatter_files, get_instrument_fov, seeds_to_string_formatter from astrort.utils.utils import seeds_to_string_formatter_files, get_instrument_fov, seeds_to_string_formatter, get_instrument_tev_range from astrort.configure.check_configuration import CheckConfiguration from rtasci.lib.RTAManageXml import ManageXml from rtasci.lib.RTAUtils import check_energy_thresholds from astropy.coordinates import SkyCoord def load_yaml_conf(yamlfile): Loading @@ -30,6 +31,7 @@ def configure_simulator_no_visibility(simulator, configuration): simulator.irf = configuration['irf'] simulator.fov = get_instrument_fov(configuration['array']) simulator.t = [0, configuration['duration']] simulator.e = check_energy_thresholds(get_instrument_tev_range(configuration['array']), configuration['irf']) simulator.seed = configuration['seed'] simulator.set_log = False return simulator Loading Loading @@ -71,7 +73,7 @@ def get_point_source_info(simulator): separation = source.separation(pointing) return {'point_ra': pointing.ra.deg, 'point_dec': pointing.dec.deg, 'offset': separation.value, 'source_ra': source.ra.deg, 'source_dec': source.dec.deg} def write_simulation_info(simulator, configuration, pointing, datfile): def write_simulation_info(simulator, configuration, pointing, datfile, clock): name = seeds_to_string_formatter(configuration['samples'], configuration['name'], configuration['seed']) seed = simulator.seed tstart, tstop = simulator.t Loading @@ -79,7 +81,7 @@ def write_simulation_info(simulator, configuration, pointing, datfile): point_ra, point_dec, offset, source_ra, source_dec = pointing['point_ra'], pointing['point_dec'], pointing['offset'], pointing['source_ra'], pointing['source_dec'] if not isfile(datfile): with open(datfile, 'w+') as f: f.write('name seed start stop duration source_ra source_dec point_ra point_dec offset\n') f.write('name seed start stop duration source_ra source_dec point_ra point_dec offset computation_time\n') with open(datfile, 'a') as f: f.write(f'{name} {seed} {tstart} {tstop} {duration} {source_ra} {source_dec} {point_ra} {point_dec} {offset}\n') f.write(f'{name} {seed} {tstart} {tstop} {duration} {source_ra} {source_dec} {point_ra} {point_dec} {offset} {clock}\n') return No newline at end of file Loading
astrort/simulator/base_simulator.py +11 −3 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ # ***************************************************************************** import argparse from time import time from os import makedirs from os.path import join from rtasci.lib.RTACtoolsSimulation import RTACtoolsSimulation Loading @@ -15,29 +16,36 @@ from astrort.configure.logging import set_logger, get_log_level from astrort.configure.slurmjobs import make_sbatch def base_simulator(configuration_file): clock = time() configuration = load_yaml_conf(configuration_file) logfile = join(configuration['simulator']['output'], configuration['logging']['logfile']) datfile = logfile.replace('.log', '.dat') log = set_logger(get_log_level(configuration['logging']['level']), logfile) log.info(f"Simulator configured, took {time() - clock} s") # create output dir log.info(f"Creating {configuration['simulator']['output']}") log.info(f"Output folder: {configuration['simulator']['output']}") makedirs(configuration['simulator']['output'], exist_ok=True) # start simulations log.info(f"\n {'-'*17} \n| START SIMULATOR | \n {'-'*17} \n") for i in range(configuration['simulator']['samples']): clock_sim = time() simulator = RTACtoolsSimulation() # check pointing option simulator, point = set_pointing(simulator, configuration['simulator'], log) # complete configuration simulator = configure_simulator_no_visibility(simulator, configuration['simulator']) log.debug(f"IRF [{configuration['simulator']['irf']}] > energy range: {simulator.e} TeV") simulator.run_simulation() log.info(f"Simulation (seed = {configuration['simulator']['seed']}) complete") log.info(f"Simulation (seed = {configuration['simulator']['seed']}) complete, took {time() - clock_sim} s") configuration['simulator']['seed'] += 1 # timing simulation clock_sim = time() - clock_sim # save simulation data write_simulation_info(simulator, configuration['simulator'], point, datfile) write_simulation_info(simulator, configuration['simulator'], point, datfile, clock_sim) del simulator # end simulations log.info(f"\n {'-'*17} \n| STOP SIMULATOR | \n {'-'*17} \n") log.info(f"Process complete, took {time() - clock} s") def slurm_submission(configuration_file, nodes): Loading
astrort/utils/wrap.py +6 −4 Original line number Diff line number Diff line Loading @@ -10,9 +10,10 @@ import yaml import numpy as np import astropy.units as u from os.path import dirname, abspath, join, basename, isfile from astrort.utils.utils import seeds_to_string_formatter_files, get_instrument_fov, seeds_to_string_formatter from astrort.utils.utils import seeds_to_string_formatter_files, get_instrument_fov, seeds_to_string_formatter, get_instrument_tev_range from astrort.configure.check_configuration import CheckConfiguration from rtasci.lib.RTAManageXml import ManageXml from rtasci.lib.RTAUtils import check_energy_thresholds from astropy.coordinates import SkyCoord def load_yaml_conf(yamlfile): Loading @@ -30,6 +31,7 @@ def configure_simulator_no_visibility(simulator, configuration): simulator.irf = configuration['irf'] simulator.fov = get_instrument_fov(configuration['array']) simulator.t = [0, configuration['duration']] simulator.e = check_energy_thresholds(get_instrument_tev_range(configuration['array']), configuration['irf']) simulator.seed = configuration['seed'] simulator.set_log = False return simulator Loading Loading @@ -71,7 +73,7 @@ def get_point_source_info(simulator): separation = source.separation(pointing) return {'point_ra': pointing.ra.deg, 'point_dec': pointing.dec.deg, 'offset': separation.value, 'source_ra': source.ra.deg, 'source_dec': source.dec.deg} def write_simulation_info(simulator, configuration, pointing, datfile): def write_simulation_info(simulator, configuration, pointing, datfile, clock): name = seeds_to_string_formatter(configuration['samples'], configuration['name'], configuration['seed']) seed = simulator.seed tstart, tstop = simulator.t Loading @@ -79,7 +81,7 @@ def write_simulation_info(simulator, configuration, pointing, datfile): point_ra, point_dec, offset, source_ra, source_dec = pointing['point_ra'], pointing['point_dec'], pointing['offset'], pointing['source_ra'], pointing['source_dec'] if not isfile(datfile): with open(datfile, 'w+') as f: f.write('name seed start stop duration source_ra source_dec point_ra point_dec offset\n') f.write('name seed start stop duration source_ra source_dec point_ra point_dec offset computation_time\n') with open(datfile, 'a') as f: f.write(f'{name} {seed} {tstart} {tstop} {duration} {source_ra} {source_dec} {point_ra} {point_dec} {offset}\n') f.write(f'{name} {seed} {tstart} {tstop} {duration} {source_ra} {source_dec} {point_ra} {point_dec} {offset} {clock}\n') return No newline at end of file