def check_vertical_extents(self, ds): """ Check that the values of geospatial_vertical_min/geospatial_vertical_max approximately match the data. :param netCDF4.Dataset ds: An open netCDF dataset """ if not ( hasattr(ds, "geospatial_vertical_min") and hasattr(ds, "geospatial_vertical_max") ): return z_variable = cfutil.get_z_variable(ds) if not z_variable: return Result( BaseCheck.MEDIUM, False, "geospatial_vertical_extents_match", [ "Could not find vertical variable to test extent of geospatial_vertical_min/geospatial_vertical_max, see CF-1.6 spec chapter 4.3" ], ) if ds.variables[z_variable].dimensions == tuple(): return self._check_scalar_vertical_extents(ds, z_variable) return self._check_total_z_extents(ds, z_variable)
def get_applicable_variables(self, ds): ''' Returns a list of variable names that are applicable to ACDD Metadata Checks for variables. This includes geophysical and coordinate variables only. :param netCDF4.Dataset ds: An open netCDF dataset ''' if self._applicable_variables is None: self.applicable_variables = cfutil.get_geophysical_variables(ds) varname = cfutil.get_time_variable(ds) # avoid duplicates by checking if already present if varname and (varname not in self.applicable_variables): self.applicable_variables.append(varname) varname = cfutil.get_lon_variable(ds) if varname and (varname not in self.applicable_variables): self.applicable_variables.append(varname) varname = cfutil.get_lat_variable(ds) if varname and (varname not in self.applicable_variables): self.applicable_variables.append(varname) varname = cfutil.get_z_variable(ds) if varname and (varname not in self.applicable_variables): self.applicable_variables.append(varname) return self.applicable_variables
def get_applicable_variables(self, ds): """ Returns a list of variable names that are applicable to ACDD Metadata Checks for variables. This includes geophysical and coordinate variables only. :param netCDF4.Dataset ds: An open netCDF dataset """ if self._applicable_variables is None: self.applicable_variables = cfutil.get_geophysical_variables(ds) varname = cfutil.get_time_variable(ds) # avoid duplicates by checking if already present if varname and (varname not in self.applicable_variables): self.applicable_variables.append(varname) varname = cfutil.get_lon_variable(ds) if varname and (varname not in self.applicable_variables): self.applicable_variables.append(varname) varname = cfutil.get_lat_variable(ds) if varname and (varname not in self.applicable_variables): self.applicable_variables.append(varname) varname = cfutil.get_z_variable(ds) if varname and (varname not in self.applicable_variables): self.applicable_variables.append(varname) return self.applicable_variables
def check_vertical_extents(self, ds): """ Check that the values of geospatial_vertical_min/geospatial_vertical_max approximately match the data. :param netCDF4.Dataset ds: An open netCDF dataset """ if not (hasattr(ds, 'geospatial_vertical_min') and hasattr(ds, 'geospatial_vertical_max')): return z_variable = cfutil.get_z_variable(ds) if not z_variable: return Result(BaseCheck.MEDIUM, False, 'geospatial_vertical_extents_match', ['Could not find vertical variable to test extent of geospatial_vertical_min/geospatial_vertical_max, see CF-1.6 spec chapter 4.3']) if ds.variables[z_variable].dimensions == tuple(): return self._check_scalar_vertical_extents(ds, z_variable) return self._check_total_z_extents(ds, z_variable)
def get_applicable_variables(self, ds): ''' Returns a list of variable names that are applicable to ACDD Metadata Checks for variables. This includes geophysical and coordinate variables only. :param netCDF4.Dataset ds: An open netCDF dataset ''' if self._applicable_variables is None: self.applicable_variables = cfutil.get_geophysical_variables(ds) varname = cfutil.get_time_variable(ds) if varname: self.applicable_variables.append(varname) varname = cfutil.get_lon_variable(ds) if varname: self.applicable_variables.append(varname) varname = cfutil.get_lat_variable(ds) if varname: self.applicable_variables.append(varname) varname = cfutil.get_z_variable(ds) if varname: self.applicable_variables.append(varname) return self.applicable_variables