TMIP-code / OceanTransportMatrixBuilder.jl

A Julia package to build ocean transport matrices from CMIP model output.
MIT License
1 stars 0 forks source link

Include back-and-forth flushing in advection #10

Open briochemc opened 2 weeks ago

briochemc commented 2 weeks ago

Maybe the transport matrix misses on mixing due to back and forth water movements

Currently the transport matrix T is built from a umo variable (or uo) that has been averaged over a given time window, i.e.,

T(⟨u⟩) where ⟨u⟩ = ∑iui / n.

If instead one constructed transport matrices before averaging umo, and only averaged the matrices at the end of the pipeline, one would get a different matrix:

T(u)⟩ = ∑iT(ui) / nT(∑iui / n).

This is because different signs of umo end up into different branches in the upwind advection scheme. The result I think is that it would return similar advection but additional mixing.

(This should not affect any non-upwind scheme.)

Solution(s)

One solution is obviously to build monthly matrices first and then average them up, and I think I like this because it's so "cheap" to build them.

Another solution would be to separate umo, vmo, and wmo into positive and negative parts, then average these positive and negative parts separately, build the corresponding 6 advection matrices, and then sum them up. This would require moving a part of the pipeline to monthly data (for building the monthly positive/negative wmo) so is probably not much better than the solution above anyway.

Otherwise we could consider some non-upwind scheme (that's what OCIM does) but then it would preclude us from matching the parent model's advection shceme if that scheme is upwind.