Simple fixed factor filtering requires the following three steps by the user:
Before filtering, multiply the field by the local cell area.
Apply gcm-filters filter with dx_min=1and filter_scale= desired fixed factor, pretending the grid was uniform.
After filtering, divide filtered field by local cell area.
Only the second step is handled by gcm-filters (see this tutorial or the new tutorial in #68).
To avoid confusion among users, we could let gcm-filters also handle steps 1 and 3. Implementing steps 1 and 3 internally would have to happen in the filter.py module (rather than the kernels.py module) because
multiplication by area happens before applying the Laplacian for the first time; and
division by area happens after applying the Laplacian for the last time.
We would want to do this only for a subset of Laplacians: REGULAR, REGULAR_WITH_LAND, TRIPOLAR_REGULAR_WITH_LAND, and all of these would need the additional required grid variable area.
Simple fixed factor filtering requires the following three steps by the user:
area
.gcm-filters
filter withdx_min=1
andfilter_scale= desired fixed factor
, pretending the grid was uniform.area
.Only the second step is handled by
gcm-filters
(see this tutorial or the new tutorial in #68).To avoid confusion among users, we could let
gcm-filters
also handle steps 1 and 3. Implementing steps 1 and 3 internally would have to happen in thefilter.py
module (rather than thekernels.py
module) becausearea
happens before applying the Laplacian for the first time; andarea
happens after applying the Laplacian for the last time.We would want to do this only for a subset of Laplacians:
REGULAR
,REGULAR_WITH_LAND
,TRIPOLAR_REGULAR_WITH_LAND
, and all of these would need the additional required grid variablearea
.