-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implement support for preventing beaching (#160)
* Implement support for no_beaching in FVCOM * Add entry on beaching to docs cookbook
- Loading branch information
Showing
6 changed files
with
309 additions
and
147 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
{ | ||
"cells": [ | ||
{ | ||
"cell_type": "markdown", | ||
"id": "a4abeb9c-4943-4b50-8b16-3a6a824b0d2f", | ||
"metadata": {}, | ||
"source": [ | ||
"# Beaching\n", | ||
"\n", | ||
"In the ocean, objects that are transported by ocean currents may become beached or stranded on land. If an object becomes beached in an intertidal zone, the beaching event may be short-lived, with the object being resuspended on the next flood tide. In contrast, if the object is deposited on the strand line during a spring tide, it may be several days or weeks before it has an opportunity to be resuspended. In addition, beaching will also be influenced by waves, the wind and storm surges. Objects may even become permanently or semi-permanently beached if deposited far inland during a storm surge. Beaching and resuspension dynamics are also dependent on the type of object under consideration.\n", | ||
"\n", | ||
"Particle tracking models handle beaching in different ways. The approach taken is strongly influenced by the type of driving data that is being used. Driving data from a global or broad scale ocean circulation model will not, in general, include wetting and drying with changes in the tide - the spatial resolution is too poor - meaning grid cells remain wet at all times. However, beaching may still be parameterised; for example, by imposing a probability that a particle becomes beached if it resides within a given distance of the model's land boundary, or if it crosses a land boundary during the simulation. Resuspension may be handled in a similar way. Alternatively, beaching may be ignored completely. In this scenario, if a simulated particle does cross a land boundary - which can happen for various reasons - it may be restored to its previous position or reflected back into the model domain. When using the output of fine scale models of coastal or estuarine systems which include wetting and drying, one is also forced to consider what happens to particles that become trapped in intertidal zones.\n", | ||
"\n", | ||
"## Beaching in PyLag\n", | ||
"\n", | ||
"Presently, PyLag does not include a paramaterisation of beaching in the absence of wetting and drying; if a land boundary is crossed, particles are either restored to their previous position or reflected back into the model domain depending on the type of boundary condition calculator used. However, it does include a parameterisation for wetting and drying. There are two options which are controlled through the binary flag `allow_beaching`, which should be set in the `[SIMULATION]` section of the PyLag run configuration file.\n", | ||
"\n", | ||
"If `allow_beaching=True`, then particles can become beached in intertidal zones. If this occurs, they are flagged as having beached using the particle attribute `is_beached`. Particles that are beached are passed over until the host cell they are in is flooded with water once more. If `allow_beaching=False`, particles are prevented from beaching by moving them to the centroid of the nearest wet element.\n", | ||
"\n", | ||
"Although in reality intertidal zones are free of water, this is not the case in models. Typically, models will impose a threshold water depth at which a cell is deemed \"dry\". If a particle is in an element when this threshold is met, it will become beached. The situation is complicated slightly when doing offline particle tracking simulations using discrete model outputs which are (necessarily!) saved infrequently relative to the model time step. In this event, the tidal cycle may be poorly resolved - or even aliased and the period for which the particle remains beached may become artificially long.\n", | ||
"\n", | ||
"When beaching is excluded, and the run is fully deterministic (i.e., diffusion is neglected), care should also be taken when particles beach in the same location at the same time. If this occurs, the selected particles will be moved to the same point in space - the centroid of the nearest wet element - and continue to move as one." | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": null, | ||
"id": "ecbed4b4-e69b-4f38-ba7e-06a3aa138fef", | ||
"metadata": {}, | ||
"outputs": [], | ||
"source": [] | ||
} | ||
], | ||
"metadata": { | ||
"kernelspec": { | ||
"display_name": "Python 3 (ipykernel)", | ||
"language": "python", | ||
"name": "python3" | ||
}, | ||
"language_info": { | ||
"codemirror_mode": { | ||
"name": "ipython", | ||
"version": 3 | ||
}, | ||
"file_extension": ".py", | ||
"mimetype": "text/x-python", | ||
"name": "python", | ||
"nbconvert_exporter": "python", | ||
"pygments_lexer": "ipython3", | ||
"version": "3.11.9" | ||
} | ||
}, | ||
"nbformat": 4, | ||
"nbformat_minor": 5 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.