CliMA / LESbrary.jl

📚Generating Oceananigans large eddy simulation (LES) data for calibrating parameterizations
MIT License
28 stars 10 forks source link

Richardson number diagnostic #81

Closed ali-ramadhan closed 3 years ago

ali-ramadhan commented 3 years ago

Would be useful to add Ri(z) to the long list of statistics that are output.

It can be computed from U(z), V(z), and B(z) but probably we need to compute the local Ri(x, y, z) then horizontally average?

@tomchor also wrote a KernelComputedField in Oceanostics.jl: https://github.com/tomchor/Oceanostics.jl/blob/81d48c323f38f38617ed162e320d14c1691a615f/src/FlowDiagnostics.jl#L7-L15

Do we just add a dependency on Oceanostics.jl to make use of all the new diagnostics?

cc @xkykai

glwagner commented 3 years ago

It would seem Oceanostics.jl is more general, so maybe the right approach is to add a dependency to it?

tomchor commented 3 years ago

I'm definitely fine with adding Oceanostics.jl as a dependency. I've tested it (albeit for 2D vertical domains only) and it seems to be working fine.

~But I don't know why the code needs that statistic, instead of keeping Ri as a possible user-defined diagnostic. I guess I don't know what "long list of statistics" is being referred to here. Is that related to some turbulence closure?~

My bad, I just realized this isn't the Oceananigans repo! haha

ali-ramadhan commented 3 years ago

Ah haha nice. Yeah I think the three_layer_constant_fluxes.jl example is up to 51 statistics (without third-order statistics):

julia> ds["timeseries"] |> keys |> length
51

julia> show(IOContext(stdout, :limit => false), ds["timeseries"] |> keys)
["t", "vb", "uT", "tke_shear_production", "tke_advective_flux", "wc₀", "uv", "c₁c₁", "νₑ_∂z_v", "uu", "uc₁", "c₁", "p", "e", "wc₁", "vv", "vT", "bT", "v", "bc₂", "wT", "c₂", "wc₂", "uc₀", "wb", "νₑ_∂z_u", "κₑ_∂z_T", "tke_buoyancy_flux", "uc₂", "wv", "κₑ_∂z_c₁", "bc₁", "ww", "u", "T", "wu", "vc₁", "bc₀", "b", "c₀c₀", "c₀", "c₂c₂", "vc₂", "κₑ_∂z_c₀", "ub", "νₑ_∂z_w", "tke_dissipation", "κₑ_∂z_c₂", "TT", "tke_pressure_flux", "vc₀"]
tomchor commented 3 years ago

Also for the record, I'm very much open to you guys "dumping" KernelComputedFields and other statistics/diagnostics on Oceanostics to keep LESbrary for other stuff. We'd just need to discuss organizational aspects a bit.

glwagner commented 3 years ago

More packages with more focused purposes = better, probably...