Example #1
0
 def __str__(self):
     head = "Pyaerocom {}".format(type(self).__name__)
     s = "\n{}\n{}".format(head, len(head) * "-")
     s += ('\naltitude: {}'
           '\ndata: {}'
           '\ndata_err: {}'.format(list_to_shortstr(self.altitude),
                                   list_to_shortstr(self.data),
                                   list_to_shortstr(self.data_err)))
     arrays = ''
     for k, v in self.__dict__.items():
         if k.startswith('_'):
             continue
         if isinstance(v, dict) and len(v) > 0:
             s += "\n{} (dict)".format(k)
             s = dict_to_str(v, s)
         elif isinstance(v, list):
             s += "\n{} (list, {} items)".format(k, len(v))
             s += list_to_shortstr(v)
         elif isinstance(v, np.ndarray) and v.ndim == 1:
             arrays += "\n{} (array, {} items)".format(k, len(v))
             arrays += list_to_shortstr(v)
         else:
             s += "\n%s: %s" % (k, v)
     s += arrays
     return s
Example #2
0
 def __str__(self):
     head = "Pyaerocom {}".format(type(self).__name__)
     s = "\n{}\n{}".format(head, len(head) * "-")
     arrays = ''
     series = ''
     for k, v in self.items():
         if k[0] == '_':
             continue
         if isinstance(v, dict):
             s += "\n{} ({})".format(k, type(v))
             s = dict_to_str(v, s)
         elif isinstance(v, list):
             s += "\n{} (list, {} items)".format(k, len(v))
             s += list_to_shortstr(v)
         elif isinstance(v, np.ndarray) and v.ndim == 1:
             arrays += "\n{} (array, {} items)".format(k, len(v))
             arrays += list_to_shortstr(v)
         elif isinstance(v, np.ndarray):
             arrays += "\n{} (array, shape {})".format(k, v.shape)
             arrays += "\n{}".format(v)
         elif isinstance(v, pd.Series):
             series += "\n{} (Series, {} items)".format(k, len(v))
         else:
             s += "\n%s: %s" % (k, v)
     if arrays:
         s += '\n\nData arrays\n.................'
         s += arrays
     if series:
         s += '\nPandas Series\n.................'
         s += series
     return s
Example #3
0
    def __str__(self):
        head = "Pyaerocom {}".format(type(self).__name__)
        s = "\n{}\n{}".format(head, len(head) * "-")

        plot_s = '\nPlotting settings\n......................'

        for k, v in self.__dict__.items():
            if k in self.plot_info_keys:
                if v is None:
                    continue
                if isinstance(v, dict):
                    plot_s += "\n{} (dict)".format(k)
                    plot_s = dict_to_str(v, plot_s, indent=3, ignore_null=True)
                elif isinstance(v, list):
                    plot_s += "\n{} (list, {} items)".format(k, len(v))
                    plot_s += list_to_shortstr(v)
                else:
                    plot_s += "\n%s: %s" % (k, v)
            else:
                if isinstance(v, dict):
                    s += "\n{} (dict)".format(k)
                    s = dict_to_str(v, s, indent=3, ignore_null=True)
                elif isinstance(v, list):
                    s += "\n{} (list, {} items)".format(k, len(v))
                    s += list_to_shortstr(v)
                else:
                    s += "\n%s: %s" % (k, v)

        s += plot_s
        return s
Example #4
0
 def __str__(self):
     head = "Pyaerocom {}".format(type(self).__name__)
     s = "\n{}\n{}\n".format(head, len(head)*"-")
     for k, v in self.__dict__.items():
         if k.startswith('_'):
             pass
         if k=='VAR_PARAM':
             s += '\n{}\n{}'.format(k, list_to_shortstr(v.all_vars))
         elif isinstance(v, dict):
             s += "\n%s (dict)" %k
         elif isinstance(v, list):
             s += "\n%s (list)" %k
             s += list_to_shortstr(v)
         else:
             s += "\n%s: %s" %(k, v)
     return s
Example #5
0
 def __str__(self):
     head = "Pyaerocom {}".format(type(self).__name__)
     s = "\n{}\n{}".format(head, len(head) * "-")
     arrays = ''
     for k, v in self.items():
         if isinstance(v, dict):
             s += "\n{} (dict)".format(k)
             s = dict_to_str(v, s)
         elif isinstance(v, list):
             s += "\n{} (list, {} items)".format(k, len(v))
             s += list_to_shortstr(v)
         elif isinstance(v, np.ndarray) and v.ndim == 1:
             arrays += "\n{} (array, {} items)".format(k, len(v))
             arrays += list_to_shortstr(v)
         else:
             s += "\n%s: %s" % (k, v)
     s += arrays
     return s
Example #6
0
 def __str__(self):
     s = super(StationData, self).__str__()
     s_data = ''
     for k, v in self._data_coords.items():
         if v is not None:
             if isinstance(v, list):
                 s_data += "\n{} (list, {} items)".format(k, len(v))
                 s_data += list_to_shortstr(v)
             elif isinstance(v, np.ndarray) and v.ndim == 1:
                 s_data += "\n{} (array, {} items)".format(k, len(v))
                 s_data += list_to_shortstr(v)
             elif isinstance(v, pd.Series):
                 s_data += "\n{} (Series, {} items)".format(k, len(v))
             else:
                 s_data += "\n%s: %s" % (k, v)
     if s_data:
         s += '\n\nData coordinates\n.................'
         s += s_data
     return s
    def get_file_list(self, pattern=None):
        """Search all files to be read

        Uses :attr:`_FILEMASK` (+ optional input search pattern, e.g.
        station_name) to find valid files for query.

        Parameters
        ----------
        pattern : str, optional
            file name pattern applied to search

        Returns
        -------
        list
            list containing retrieved file locations

        Raises
        ------
        IOError
            if no files can be found
        """
        if isinstance(pattern, str):
            pattern = (pattern + self._FILEMASK).replace('**', '*')
        else:
            pattern = self._FILEMASK
        if pattern is None:
            const.print_log.warning(
                '_FILEMASK attr. must not be None...'
                'using default pattern *.* for file search')
            pattern = '*.*'
        self.logger.info('Fetching data files. This might take a while...')
        files = sorted(glob.glob(os.path.join(self.DATASET_PATH, pattern)))
        if not len(files) > 0:
            all_str = list_to_shortstr(os.listdir(self.DATASET_PATH))
            raise DataSourceError(
                'No files could be detected matching file '
                'mask {} in dataset {}, files in folder {}:\n'
                'Files in folder:{}'.format(pattern, self.dataset_to_read,
                                            self.DATASET_PATH, all_str))
        self.files = files
        return files