I have that (the linear trends per cell) implemented in Mirone for 10 years or more. The module I use is trend1d. At a certain point I started to try filter the seasonal cycle too but for some forgotten reason I didn’t finish it. filter1d has also Fourier polynomials that should help in this.
If time allowed I would like to port that to GMT.jl (shouldn’t be difficult) but too many things to do.