Closed CaroMedel closed 1 year ago
Hi, Vertical movement consists of:
vertical advection: for this you need to have vertical "current" (standard name upward_sea_water_velocity
) from your ocean model
buoyancy: typically larger elements rise faster, but can also be negative for e.g. sediments heavier than water. The buoyancy is mainly a property of the elements, and is updated by the model-specific method update_terminal_velocity
, which naturally is quite different for larvae, oil droplets, microplastics, sediments etc
vertical mixing: random motion up and down due to ocean turbulence. This requires variable with standard_name ocean_vertical_diffusivity
. This is often available from ocean models, but can be parameterized from wind speed, see e.g. https://opendrift.github.io/gallery/example_diffusivities.html
These 3 components are independent, but since the two latter (buoyancy and mixing) are happening on a timescale finer than typical for horizontal advection (~15 minutes), they are combined in a sub-loop with finer timestep, typically 1 minute. This method is common in OceanDrift for all subclasses (including e.g. LarvalFish), but can in principle also be overloaded by each sub model, like any OpenDrift method.
Thank you very much, your answer was very clear
Continuing with this same issue, I'm using vertical mixing, but I only want the particles to oscillate within a specific range. How can I define that range?
Best, Caro
Hi, there is no specific functionality for exactly this. But it should happen if you have positive vertical diffusivity in your depth range of interest, and zero diffusivity above/below, although you would probably get some artefacts at boundaries. You would then also need to disable or adjust vertical advection, buoyancy and possibly swimming.
Hi,
When using the Opendrift or Larval Fish modules, the particles go to the surface quickly and most stay there. To change this add the line o.set_config('drift:vertical_mixing', True) as this example shows: [https://opendrift.github.io/gallery/example_vertical_mixing.html]. That improves the vertical mixing and the particles oscillate on the surface. But, when I add vertical advection I don't have any change in the results. So I wonder how advection and mixing work in more detail and what parameters or variables they call when they are activated, in the case of mixing I understand that diffusivity is called, but in advection I don't know what it calls or needs. I would also like to know the relevance of the update_terminal_velocity variable, I removed that function from the module that I create and I only use vertical migration for the species that I am modeling. In the Larvalfish module, I see that the update_terminal_velocity variable has an important role, when i change the values of W, the particles show different vertical distribution.
I'm trying to understand how vertical dispersion works in Opendrift, given the possible configurations it offers.
Best, Caro