GCM-Filters: A Python Package for Diffusion-based Spatial Filtering of Gridded Data
GCM-Filters is a python package that allows scientists to perform spatial filtering analysis
in an easy, flexible and efficient way. The package implements the filtering method based on
the discrete Laplacian operator that was introduced by Grooms et al. (2021). The filtering
algorithm is analogous to smoothing via diffusion; hence the name diffusion-based filters.
GCM-Filters can be used with either gridded observational data or gridded data that is
produced by General Circulation Models (GCMs) of ocean, weather, and climate. Spatial
filtering of observational or GCM data is a common analysis method in the Earth Sciences,
for example to study oceanic and atmospheric motions at different spatial scales or to develop
subgrid-scale parameterizations for ocean models.
GCM-Filters provides filters that are highly configurable, with the goal to be useful for a wide
range of scientific applications. The user has different options for selecting the filter scale and
filter shape. The filter scale can be defined in several ways: a fixed length scale (e.g., 100
km), a scale tied to a model grid scale (e.g., 1◦), or a scale tied to a varying dynamical scale
(e.g., the Rossby radius of deformation). As an example, Figure 1 shows unfiltered and filtered
relative vorticity, where the filter scale is set to a model grid scale of 4◦. GCM-Filters also
allows for anisotropic, i.e., direction-dependent, filtering. Finally, the filter shape – currently:
either Gaussian or Taper – determines how sharply the filter separates scales above and below
the target filter scale.