Esempio n. 1
0
 def test_check_queue(self, mock_check_output, mock_which):
     combinations = ([['   0\n'], 2, 'express'],
                     [['   2\n'], 0, 'express'],
                     [[' 100\n'], 900, 'short'],
                     [['1100\n'], -100, 'short'],
                     [['2000\n', '1000\n'], 1000, 'generic'],
                     [['3600\n', '1000\n'], 400, 'generic'],
                     [[' 200\n', ' 100\n'], 400, 'long'],
                     [[' 620\n', ' 100\n'], 380, 'long'])
     for taken, available, queue in combinations:
         mock_check_output.side_effect = cycle(taken)
         self.assertEqual(qsub.check_queue(queue), available)
Esempio n. 2
0
 def test_check_queue(self, mock_check_output, mock_which):
     combinations = ([['   0\n'], 2, 'express'], [['   2\n'], 0, 'express'],
                     [[' 100\n'], 900,
                      'short'], [['1100\n'], -100,
                                 'short'], [['2000\n', '1000\n'], 1000,
                                            'generic'],
                     [['3600\n', '1000\n'], 400,
                      'generic'], [[' 200\n', ' 100\n'], 400,
                                   'long'], [[' 620\n', ' 100\n'], 380,
                                             'long'])
     for taken, available, queue in combinations:
         mock_check_output.side_effect = cycle(taken)
         self.assertEqual(qsub.check_queue(queue), available)
Esempio n. 3
0
 def test_queues(self, mock_check_output, mock_which):
     for queue in ['express', 'short', 'generic', 'long']:
         qsub.check_queue(queue)
         last_two_calls = mock_check_output.call_args_list[-2:]
         for call in last_two_calls:
             self.assertTrue(queue in call[0][0])
Esempio n. 4
0
 def test_queues(self, mock_check_output, mock_which):
     for queue in ['express', 'short', 'generic', 'long']:
         qsub.check_queue(queue)
         last_two_calls = mock_check_output.call_args_list[-2:]
         for call in last_two_calls:
             self.assertTrue(queue in call[0][0])
Esempio n. 5
0
import os

from sapphire import CorsikaQuery, qsub

OVERVIEW = '/data/hisparc/corsika/corsika_overview.h5'
SCRIPT = """\
#!/usr/bin/env bash
python /data/hisparc/adelaat/corsika_accuracy/simulation_station_time.py {seeds}
"""

if __name__ == "__main__":
    cq = CorsikaQuery(OVERVIEW)
    for e in [15, 15.5, 16, 16.5, 17]:
        sims = cq.simulations(zenith=0, energy=e, particle='proton')
        seeds_set = set(cq.seeds(sims))
        print e
        for n in range(min(20, len(seeds_set), qsub.check_queue('generic'))):
            seeds = seeds_set.pop()
            if os.path.exists('%s.h5' % seeds):
                continue
            print seeds,
            qsub.submit_job(SCRIPT.format(seeds=seeds), 'cors_accu_%s' % seeds,
                            'generic')
    cq.finish()