Commit 25ac5fec authored by Ambra Di Piano's avatar Ambra Di Piano
Browse files

make simulator config not general conf

parent 5d124d8a
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -10,12 +10,12 @@ from yaml import dump
from os import system
from os.path import join, dirname, abspath

def make_configuration(jobname_conf, configuration, node_number):
def make_simulator_conf(jobname_conf, configuration, node_number):
    # simulator
    configuration['simulator']['seed'] = node_number*configuration['simulator']['samples'] + 1
    # logging
    configuration['logging']['logfile'] = join(configuration['simulator']['output'], f'job_{node_number+1}.log')
    configuration['logging']['datfile'] = join(configuration['simulator']['output'], f'job_{node_number+1}.dat')
    configuration['logging']['logfile'] = join(configuration['simulator']['output'], f'job_{node_number+1}_simulator.log')
    configuration['logging']['datfile'] = join(configuration['simulator']['output'], f'job_{node_number+1}_simulator.dat')
    # write new configuration
    with open(jobname_conf, 'w+') as f:
        dump(configuration, f, default_flow_style=False)
@@ -41,7 +41,12 @@ def make_simulator_sbatch(jobname, configuration, node_number):
    jobname_sh = join(output, f"{jobname}.sh")
    jobname_log = join(output, f"{jobname}.slurm")
    jobname_conf = join(output, f"{jobname}.yml")
    make_configuration(jobname_conf, configuration, node_number)
    make_simulator_conf(jobname_conf, configuration, node_number)
    make_simulator_sh(jobname, configuration['slurm'], jobname_conf, jobname_sh, jobname_log)
    system(f"sbatch {jobname_sh}")
    
def make_mapper_sh():
    return

def make_mapper_sbatch():
    return
 No newline at end of file
+3 −3
Original line number Diff line number Diff line
@@ -10,11 +10,11 @@ import pytest
from shutil import rmtree
from os import listdir, makedirs
from os.path import isfile, join
from astrort.configure.slurmjobs import make_configuration, make_simulator_sh, make_simulator_sbatch
from astrort.configure.slurmjobs import make_simulator_conf, make_simulator_sh, make_simulator_sbatch
from astrort.utils.wrap import load_yaml_conf

@pytest.mark.test_conf_file
def test_make_configuration(test_conf_file):
def test_make_simulator_conf(test_conf_file):

    # clean output
    conf = load_yaml_conf(test_conf_file)
@@ -26,7 +26,7 @@ def test_make_configuration(test_conf_file):
        node_number += 1
        jobname = f"{conf['slurm']['name']}_{node_number}"       
        jobname_conf = join(conf['simulator']['output'], f"job_{jobname}.yml")
        make_configuration(jobname_conf, conf, node_number)
        make_simulator_conf(jobname_conf, conf, node_number)
    
    # check output
    expected_configurations = conf['slurm']['nodes']
+2 −2
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ def test_write_simulation_info(test_conf_file):
    conf = load_yaml_conf(test_conf_file)
    conf['simulator']['pointing'] = {'ra': 1, 'dec': 1}
    pointing = get_point_source_info(conf['simulator'])
    datfile = join(conf['simulator']['output'], 'tmp.dat')
    datfile = join(conf['simulator']['output'], 'simulator.dat')
    sim = RTACtoolsSimulation()
    clock = 1
    write_simulation_info(sim, conf['simulator'], pointing, datfile, clock)
@@ -67,7 +67,7 @@ def test_merge_simulation_info(test_conf_file, test_tmp_folder):
    clock = 1
    for i in range(5):
        sim.seed = i
        datfile = join(conf['simulator']['output'], f'job_{i}.dat')
        datfile = join(conf['simulator']['output'], f'job_{i}_simulator.dat')
        write_simulation_info(sim, conf['simulator'], pointing, datfile, clock)
        assert isfile(datfile)
    
+1 −1
Original line number Diff line number Diff line
@@ -92,7 +92,7 @@ def write_simulation_info(simulator, configuration, pointing, datfile, clock):

def merge_simulation_info(configuration, log):
    folder = configuration['output']
    datfiles = [join(folder, f) for f in listdir(folder) if '.dat' in f and 'job' in f]
    datfiles = [join(folder, f) for f in listdir(folder) if '.dat' in f and 'job' in f and 'simulator' in f]
    merger = join(folder, 'merged_sim_data.dat')
    # check merger file
    if isfile(merger):