Skip to content

Conversation

@j-atkins
Copy link
Collaborator

@j-atkins j-atkins commented Dec 8, 2025

This PR introduces behaviour to the Argo float vertical movement kernel to avoid grounding on the seafloor in waters shallower than the typical Argo drifting depth (1000m) and max depth (2000m), following on from #262.

Previously, if a drifter was deployed in shallow waters an Argo in VirtualShip would artificially continue descending to beneath the sea floor as it tried to reach its drift depth or max depth for sampling. To illustrate the point, I have mocked up an Argo deployment around the Norwegian sea: see this 3D plot
this 3D plot HTML file with the trajectory + bathymetry map. It is also not advecting properly at the artificial depths.

Logic is now added to the _argo_float_vertical_movement kernel whereby if the particle reaches the seafloor it will stop descending and add 50m onto the particle depth. This is similar to how VirtualFleet opt to mimic real-life Argo behaviour. Now, repeating the same shelf-break deployment as above, the Argo will drift above the seafloor: see the updated 3D plot HTML file.

If the deployment location is < 50m depth then an error is thrown indicating that Argos cannot be deployed in such shallow waters.

Note: I have arranged a meeting with the Argo team next week to further discuss realistic Argo behaviours. So, this may be subject to change in a future PR but the basis for dealing with seafloor grounding is established in the current PR.


  • Tests updated

@j-atkins j-atkins marked this pull request as draft December 8, 2025 14:31
@j-atkins j-atkins marked this pull request as ready for review December 8, 2025 15:56
Copy link
Member

@erikvansebille erikvansebille left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

name=out_path,
outputdt=OUTPUT_DT,
chunks=[len(argo_float_particleset), 100],
chunks=[len(argo_float_particleset), 100], # TODO: is this necessary?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Otherwise, the output is very slow (because each observation is its own chunk). So I recommend keeping this yes

@j-atkins j-atkins merged commit b538407 into main Dec 9, 2025
10 checks passed
@j-atkins j-atkins deleted the shallow-argos branch December 9, 2025 08:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants