Пример #1
0
          blq_file=blq_file,
          mode='GPS+GLONASS',
          ElDepWeight=ElDepWeight,
          ElMin=ElMin,
          pos_s=pos_s,
          wetz_s=wetz_s,
          PPPtype=PPPtype,
          years_list=years_list,
          cache_path=cache_path,
          VMF1_dir=VMF1_dir,
          project_name=project_name_construct,
          static_clk=static_clk,
          ambres=ambres)  #the GNSS_class single project name

staDb_path = gen_staDb(tmp_dir=tmp_dir,
                       project_name=project_name,
                       stations_list=stations_list,
                       IGS_logs_dir=IGS_logs_dir)
stations_list_arrays = _np.array_split(stations_list, num_nodes)
for i in range(len(stations_list_arrays)):
    code = gen_code(
        stations_list=list(stations_list_arrays[i]),
        cache_path=cache_path,
        tropNom_input=tropNom_input,
        ambres=ambres,
        ElMin=ElMin,
        ElDepWeight=ElDepWeight,
        staDb_path=staDb_path,
        years_list=years_list,
        num_cores=num_cores,
        tmp_dir=tmp_dir,
        project_name=project_name,
Пример #2
0
    def __init__(
            self,
            project_name,
            stations_list,  #add check for duplicates in stations_list as staDb-based functions may crash
            years_list,
            tree_options,
            mode,
            hatanaka,
            cddis=False,
            cache_path='/run/user/1017',
            rnx_dir='/mnt/Data/bogdanm/GNSS_data/BIGF_data/daily30s',
            tmp_dir='/mnt/Data/bogdanm/tmp_GipsyX/bigf_tmpX',
            blq_file='/mnt/Data/bogdanm/tmp_GipsyX/otl/ocnld_coeff/bigf_glo.blq',
            VMF1_dir='/mnt/Data/bogdanm/Products/VMF1_Products',
            tropNom_type='30h_tropNominalOut_VMF1.tdp',
            IGS_logs_dir='/mnt/Data/bogdanm/GNSS_data/BIGF_data/station_log_files',
            IONEX_products='/mnt/Data/bogdanm/Products/IONEX_Products',
            rate=300,
            gnss_products_dir='/mnt/Data/bogdanm/Products/JPL_GPS_Products_IGb08/Final',
            ionex_type='igs',  #No ionex dir required as ionex merged products will be put into tmp directory by ionex class
            eterna_path='/home/bogdanm/Desktop/otl/eterna',
            hardisp_path='/home/bogdanm/Desktop/otl/hardisp/hardisp',
            num_cores=8,  # integer of string
            ElMin=7,  # degrees
            ElDepWeight='SqrtSin',  #ElDepWeighting function
            pos_s=0.57,  # mm/sqrt(s)
            wetz_s=0.1,  # mm/sqrt(s)
            PPPtype='kinematic',
            static_clk=False,
            tqdm=True,
            ambres=True,
            staDb_path=None,
            trees_df=None):
        self.tqdm = tqdm
        self.hatanaka = hatanaka,
        self.cache_path = _os.path.abspath(cache_path)
        self.PPPtype = self._check_PPPtype(PPPtype)
        self.mode = self._check_mode(mode)
        self.project_name_core = project_name  # original project name (core or family name)
        self.project_name = project_name + gx_aux.mode2label(
            mode=self.mode)  #UPDATING PROJECT NAME DEPENDING ON THE MODE
        self.IGS_logs_dir = _os.path.abspath(IGS_logs_dir)
        self.rnx_dir = _os.path.abspath(rnx_dir)
        self.tmp_dir = _os.path.abspath(tmp_dir)
        self.cddis = cddis
        self.stations_list = stations_list
        self.years_list = years_list
        self.num_cores = num_cores
        self.blq_file = blq_file
        self.VMF1_dir = VMF1_dir
        self.tropNom_type = tropNom_type
        self.tree_options = tree_options
        # self.selected_rnx = gx_convert.select_rnx(tmp_dir=self.tmp_dir,rnx_dir=self.rnx_dir,stations_list=self.stations_list,years_list=self.years_list,cddis=self.cddis)
        self.staDb_path = gx_aux.gen_staDb(
            self.tmp_dir, self.project_name, self.stations_list,
            self.IGS_logs_dir) if staDb_path is None else staDb_path
        self.gnss_products_dir = _os.path.abspath(gnss_products_dir)
        self.ionex_type = ionex_type
        self.IONEX_products = _os.path.abspath(IONEX_products)
        self.ionex = gx_ionex.ionex(
            ionex_prods_dir=self.IONEX_products,  #IONEX dir
            ionex_type=self.ionex_type,  #type of files
            num_cores=self.num_cores,
            cache_path=self.cache_path,
            tqdm=self.tqdm)
        self.rate = rate
        self.refence_xyz_df = gx_aux.get_ref_xyz_sites(
            staDb_path=self.staDb_path)
        self.eterna_path = eterna_path
        self.hardisp_path = hardisp_path
        self.ElMin = ElMin
        self.ElDepWeight = ElDepWeight
        self.static_clk = static_clk
        self.ambres = ambres

        self.pos_s = pos_s if self.PPPtype == 'kinematic' else 'N/A'  # no pos_s for static
        self.wetz_s = wetz_s if self.PPPtype == 'kinematic' else 0.05  # penna's value for static
        self.trees_df = trees_df