def setUp(self) -> None: attrs = test_tc_attributes() df_nobs = pd.DataFrame(index=range(10), data={'n_obs': range(10)}) self.n_obs = QA4SMMetricVariable('n_obs', attrs, values=df_nobs) self.r = QA4SMMetricVariable('R_between_3-ERA5_LAND_and_1-C3S', attrs) self.beta = QA4SMMetricVariable( 'beta_1-C3S_between_3-ERA5_LAND_and_1-C3S_and_2-ASCAT', attrs)
def setUp(self) -> None: attrs = test_tc_attributes() self.r1 = QA4SMMetricVariable('R_between_3-ERA5_LAND_and_2-ASCAT', attrs) self.r2 = QA4SMMetricVariable('R_between_3-ERA5_LAND_and_1-C3S', attrs) self.R = QA4SMMetric('R', variables_list=[self.r1, self.r2])
def setUp(self) -> None: attrs = test_attributes() df_nobs = pd.DataFrame(index=range(10), data={'n_obs': range(10)}) self.n_obs = QA4SMMetricVariable('n_obs', attrs, values=df_nobs) self.r = QA4SMMetricVariable('R_between_6-ISMN_and_4-SMAP', attrs) self.pr = QA4SMMetricVariable('p_rho_between_6-ISMN_and_5-ASCAT', attrs)
def _load_var(self, varname: str, empty=False) -> (QA4SMMetricVariable or None): """ Create a common variable and fill it with values """ if empty: values = None else: values = self.df[[varname]] try: Var = QA4SMMetricVariable(varname, self.ds.attrs, values=values) return Var except IOError: return None
def _load_vars(self, empty=False, only_metrics=False) -> list: """ Create a list of common variables and fill each with values Parameters ---------- empty : bool, default is False if True, Var.values is an empty dataframe only_metrics : bool, default is False if True, only variables for metric scores are kept (i.e. not gpi, idx ...) Returns ------- vars : list list of QA4SMMetricVariable objects for the validation variables """ vars = [] for varname in self.varnames: if empty: values = None else: # lat, lon are in varnames but not in datasframe (as they are the index) try: values = self.df[[varname]] except KeyError: values = None try: Var = QA4SMMetricVariable(varname, self.ds.attrs, values=values) if self.ignore_empty and Var.isempty: # check whether there are values continue except IOError: Var = None continue if not Var is None: if only_metrics and Var.ismetric: vars.append(Var) elif not only_metrics: vars.append(Var) return vars
def setUp(self) -> None: attrs = test_CI_attributes() self.CI_Var = QA4SMMetricVariable( "RMSD_ci_upper_between_0-ERA5_and_2-ESA_CCI_SM_combined", attrs)