The subfilter module.¶
This module implements overall filtering.
The main functions are:
Before use, two files have to be created, using:
New at 0.3
The
subfilter.subfilter.filter_variable_pair_list()
function outputs filtered pairsinder the name “s(
)_on_grid” where “grid” will be “u”, “v”, “w” or “p”.
Detailed Module Contents¶
The entire module is documented below.
subfilter.py - This is the “subfilter module” - Defines many useful routines for the subfilter calculations. - examples of their use are present in subfilter_file.py
Created on Tue Oct 23 11:07:05 2018
@author: Peter Clark
- subfilter.subfilter.subfilter_options(config_file: Optional[str] = None)¶
Set default options for filtering.
- Parameters
config_file (str) – Path to configuration .yaml file. The default is None.
- Returns
options (dict) – Options including optional updates
update_config (dict) – Updates from config_file
- subfilter.subfilter.filter_variable_list(source_dataset, ref_dataset, derived_dataset, filtered_dataset, options, filter_def, var_list=None, grid='p')¶
Create filtered versions of input variables on required grid.
Stored in derived_dataset.
- Parameters
source_dataset (NetCDF dataset for input) –
ref_dataset (NetCDF dataset for input containing reference) – profiles. Can be None
derived_dataset (NetCDF dataset for derived data) –
filtered_dataset (NetCDF dataset for derived data) –
options (General options e.g. FFT method used.) –
filter_def (1 or 2D filter) –
var_list=None (List of variable names.) –
get_default_variable_list() (default provided by) –
grid='p' (Grid - 'u','v','w' or 'p') –
- Returns
list
- Return type
list of strings representing variable names.
- subfilter.subfilter.filter_variable_pair_list(source_dataset, ref_dataset, derived_dataset, filtered_dataset, options, filter_def, var_list=None, grid='p')¶
Create filtered versions of pairs input variables on A grid.
Stored in derived_dataset.
- Parameters
source_dataset – NetCDF dataset for input
ref_dataset – NetCDF dataset for input containing reference profiles. Can be None
derived_dataset – NetCDF dataset for derived data
filtered_dataset – NetCDF dataset for derived data
options – General options e.g. FFT method used.
filter_def – 1 or 2D filter
var_list=None – List of variable names.
get_default_variable_pair_list() (default provided by) –
- Returns
var_list
- Return type
list of lists of pairs strings representing variable names.
- subfilter.subfilter.convolve(field, options, filter_def, dims)¶
Convolve field filter using fftconvolve using padding.
- Parameters
field – field array
options – General options e.g. FFT method used.
filter_def – 1 or 2D filter array
- Returns
ndarray
- Return type
field convolved with filter_def
- subfilter.subfilter.pad_to_len(field, newlen, mode='constant')¶
Pad array to required size on each dimension.
- Parameters
field (numpy array) – Input field.
newlen (int) – Length of each dimension.
mode (str or function, optional) – Detrmines values to pad with. See numpy.pad. The default is ‘constant’.
- Returns
padfield – Input field padded as required..
- Return type
numpy array
- subfilter.subfilter.filtered_field_calc(var, options, filter_def)¶
Split field into resolved f(field)_r and subfilter f(field)_s.
Note: this routine has a deliberate side effect, to store the fft or rfft of the filter in filter_def for subsequent re-use.
- Parameters
var – dict cantaining variable info
options – General options e.g. FFT method used.
filter_def – 1 or 2D filter
- Returns
dicts cantaining variable info
- Return type
[var_r, var_s]
- subfilter.subfilter.setup_derived_data_file(source_file, destdir, fname, options, override=False)¶
Create NetCDF dataset for derived data in destdir.
File name is original file name concatenated with filter_def.id.
- Parameters
source_file – NetCDF file name.
destdir – Directory for derived data.
override=False – if True force creation of file
- Returns
- Return type
derived_dataset_name, derived_dataset
- subfilter.subfilter.setup_filtered_data_file(source_file, destdir, fname, options, filter_def, override=False)¶
Create NetCDF dataset for filtered data in destdir.
File name is original file name concatenated with filter_def.id.
- Parameters
source_file – NetCDF file name.
destdir – Directory for derived data.
options – General options e.g. FFT method used.
filter_def – Filter
options – General options e.g. FFT method used.
override=False – if True force creation of file
- Returns
- Return type
filtered_dataset_name, filtered_dataset
@author: Peter Clark
- subfilter.subfilter.filter_field(var, filtered_dataset, options, filter_def, grid='p')¶
Create filtered versions of input variable on required grid, stored in filtered_dataset.
- Parameters
var – dict cantaining variable info
filtered_dataset – NetCDF dataset for derived data.
options – General options e.g. FFT method used.
filter_def – 1 or 2D filter.
get_default_variable_list() (default provided by) –
grid='p' – Grid - ‘u’,’v’,’w’ or ‘p’
- Returns
ncvar_r, ncvar_s – filtered_dataset.
- Return type
Resolved and subfilter fields as netcf variables in
- subfilter.subfilter.filtered_deformation(source_dataset, ref_dataset, derived_dataset, filtered_dataset, options, filter_def, grid='p')¶
Create filtered versions of deformation field.
- Parameters
source_dataset – NetCDF input dataset
ref_dataset – NetCDF dataset for input containing reference profiles. Can be None
derived_dataset – NetCDF dataset for derived data.
filtered_dataset – NetCDF dataset for derived data
options – General options e.g. FFT method used.
filter_def – 1 or 2D filter.
grid='p' – Grid - ‘u’,’v’,’w’ or ‘p’
- Returns
ncvar_r, ncvar_s (Resolved and subfilter fields as netcf variables)
in filtered_dataset.
- subfilter.subfilter.quadratic_subfilter(source_dataset, ref_dataset, derived_dataset, filtered_dataset, options, filter_def, v1_name, v2_name, grid='p')¶
Create filtered versions of pair of input variables on required grid.
Stored in derived_dataset. Computes
- Parameters
source_dataset – NetCDF dataset for input
ref_dataset – NetCDF dataset for input containing reference profiles. Can be None
derived_dataset – NetCDF dataset for derived data
filtered_dataset – NetCDF dataset for derived data
options – General options e.g. FFT method used.
filter_def – 1 or 2D filter
v1_name – Variable names.
v2_name – Variable names.
- Returns
s(var1,var2) data array.
vdims dimensions of var1