File: dorisparameters.py

package info (click to toggle)
doris 5.0.3~beta%2Bdfsg-19
  • links: PTS, VCS
  • area: contrib
  • in suites: forky, sid
  • size: 6,944 kB
  • sloc: cpp: 43,560; python: 8,213; csh: 3,636; sh: 2,527; ansic: 649; makefile: 337; xml: 208
file content (120 lines) | stat: -rw-r--r-- 5,406 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
from datetime import datetime
import os
from doris.doris_stack.main_code.grs_config import GrsConfig
import xml.etree.ElementTree as ET


class DorisParameters():

    """This class contains all parameters that are used in the execution of test_dat_EDS_5.py.
       path parameters are checked for existance,
       all parameters are printed to stdout
    """

    def __init__(self, stack_path):

        grs_config = GrsConfig()

        self.doris_path = grs_config.doris_path
        self.cpxfiddle_path = grs_config.cpxfiddle_path
        self.job_handler_script = grs_config.job_handler_script
        self.function_path = grs_config.function_path
        self.source_path = grs_config.source_path

        self.verbose = True

        tree = ET.parse(os.path.join(stack_path, 'doris_input.xml'))
        self.settings = tree.getroot()

        archive_path = self._settings_get('.sar_data_folder')
        self.archive_path = archive_path
        project_path = self._settings_get('.datastack_folder')
        self.project_path = project_path
        data_path = self._settings_get('.sar_data_folder')
        self.data_path = data_path
        polarisation = self._settings_get('.polarisation')
        self.polarisation = polarisation
        track = self._settings_get('.track')
        self.track = track
        direction = self._settings_get('.direction')
        self.direction = direction
        #
        # used in single_master.py
        #
        #
        # used in test_dat_ESD
        #
        # TODO DLE FIX shape path
        self.shape_dat = self._settings_get('.shape_file_path')
        self.track_dir = data_path
        self.stack_path = os.path.join(project_path, 'stack')
        self.precise_orbits = self._settings_get('.orbits_folder')
        # Start data of datastack. If end date not given it searches till current.
        self.input_files = os.path.join(project_path, 'input_files')

        self.parallel = self._settings_compare('.parallel', 'yes')
        self.nr_of_jobs = int(self._settings_get('.cores'))

        self.profile_log = project_path + '/profile_log'
        self.doris_parallel_flag_dir = project_path + '/.Doris_parallel'
        self.between_sleep_time = 1
        self.end_sleep_time = 1

        self.do_coarse_orbits = self._settings_compare('.do_coarse_orbits', 'yes')
        self.do_deramp = self._settings_compare('.do_deramp', 'yes')
        self.do_fake_fine_coreg_bursts = self._settings_compare('.do_fake_fine_coreg_bursts', 'yes')
        self.do_dac_bursts = self._settings_compare('.do_dac_bursts', 'yes')
        self.do_fake_coreg_bursts = self._settings_compare('.do_fake_coreg_bursts', 'yes')
        self.do_resample = self._settings_compare('.do_resample', 'yes')
        self.do_reramp = self._settings_compare('.do_reramp', 'yes')
        self.do_interferogram = self._settings_compare('.do_interferogram', 'yes')
        self.do_compref_phase = self._settings_compare('.do_compref_phase', 'yes')
        self.do_compref_dem = self._settings_compare('.do_compref_dem', 'yes')
        self.do_coherence = self._settings_compare('.do_coherence', 'yes')
        self.do_esd = self._settings_compare('.do_esd', 'yes')
        self.do_network_esd = self._settings_compare('.do_network_esd', 'yes')
        self.do_ESD_correct = self._settings_compare('.do_ESD_correct', 'yes')
        self.do_ref_phase = self._settings_compare('.do_ref_phase', 'yes')
        self.do_ref_dem = self._settings_compare('.do_ref_dem', 'yes')
        self.do_phasefilt = self._settings_compare('.do_phasefilt', 'yes')
        self.do_calc_coordinates = self._settings_compare('.do_calc_coordinates', 'yes')
        self.do_multilooking = self._settings_compare('.do_multilooking', 'yes')
        self.do_unwrap = self._settings_compare('.do_unwrap', 'yes')
        #
        # used in Jobs
        #
        # self.job_handler_script = source_path + "/sentinel1/main_code/jobHandlerScript"
        #
        # Print parameters, check if paths exist
        #

        print('self.shape_dat: ' + self.shape_dat)
        # self._check_path_exists(self.shape_dat)
        print('self.track_dir:	' + self.track_dir)
        self._check_path_exists(self.track_dir)
        print('self.stack_path:	' + self.stack_path)
        # self._check_path_exists(self.stack_path)
        print('self.precise_orbits:	' + self.precise_orbits)
        self._check_path_exists(self.precise_orbits)
        print('self.input_files:	' + self.input_files)
        # self._check_path_exists(self.input_files)
#        print('self.main_code_folder:	' + self.main_code_folder)
#        self._check_path_exists(self.main_code_folder)
#        print('self.script_folder:	' + self.script_folder)
#        self._check_path_exists(self.script_folder)
        print('self.nr_of_jobs:	' + str(self.nr_of_jobs))
        print('self.jobHandlerScript:	' + self.job_handler_script)
        self._check_path_exists(self.job_handler_script)

    def _check_path_exists(self, path):
        if not(os.path.exists(path)):
            print('Error Doris_Parameters: path ' + path + ' does not exist')
            
    def _settings_get(self, string):
        return self.settings.find('*/' + string).text


    def _settings_compare(self, string, comp_string):
        if (self.settings.find('*/' + string).text.lower()==comp_string.lower()):
            return True
        return False