def list_variables(self):
station_codes = self._get_station_codes()<EOL>station_codes = self._apply_features_filter(station_codes)<EOL>variables = self._list_variables(station_codes)<EOL>if hasattr(self, "<STR_LIT>") and self.variables is not None:<EOL><INDENT>variables.intersection_update(set(self.variables))<EOL><DEDENT>return list(variables)<EOL>
List available variables and applies any filters.