OceanParcels
![]() | This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
|
OceanParcels, “Probably A Really Computationally Efficient Lagrangian Simulator”, is a set of Python classes and methods that is used to track particles like water, plankton and plastics. It uses the output of ocean general circulation model (OGCMs). OceanParcels main goal is to process the increasingly large amounts of data that is governed by OGCM's. The flow dynamics are simulated using Lagrangian modelling (observer moves with particle) and the geophysical fluid dynamics are simulated with Eulerian modelling (observer remains stationary) or provided through experimental data. OceanParcels is dependent on two principles, namely the ability to read external data sets from different formats and customizable kernels to define particle dynamics.[1][2][3]
Concept
[edit]OceanParcels takes a flow field given through Eulerian methods or experimental data (e.g. provided through land-based measurements, satellite imagery or Doppler currents) as input. This data can be given on various grid structures. To obtain data at an arbitrary point, interpolation is used. Lagrangian modelling uses the data given by the flow field and interpolation to simulate the dynamics of an object.[1]
Grid structure
[edit]![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/78/Grid_stucture.pdf/page1-220px-Grid_stucture.pdf.jpg)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/be/ABC_grid.png/220px-ABC_grid.png)
In the horizontal plane, i.e. in the x-y-plane, OceanParcels allows for rectilinear and curvilinear data grids (see Fig. 1 a and b respectively). In the vertical plane, i.e. the x-z-plane, z-levels and s-levels are supported (see Fig. 1 c and d respectively). All four combinations of these grids are supported in three-dimensional space.[2]
OceanParcels also supports so-called staggered A, B and C grids, which are common in ocean modelling. These take into account that the different variables can be measured at different grid points. The relevant variables in Ocean analysis are the meriodial velocity (v), the zonal velocity (u) and the Tracers (q). In an A grid all of these are evaluated at the same grid points. In a B grid, u and v are evaluated at the grid point in the center between the grid point where T is being evaluated, that is there are two overlying grids. In a C grid all variables are evaluated on their own grid, that is there are three overlying grids. See Figure 2 for a visualization.[2]
Interpolation methods
[edit]To obtain field data at a point that is not on a grid node, interpolation methods are used. OceanParcels supports several different such methods:
- linear interpolation
- nearest-neighbor interpolation
- interpolation on A, B, C grids.[2][1]
Lagrangian modelling
[edit]The Lagrangian trajectory of a particle can be calculated by numerically integrating over its position as a function of time, given by . Here is the starting time and is the time at which the position of the particle is evaluated. is the velocity of the particle at time . captures the movement of the particle caused by its specific characteristics (e.g. an ice-berg moves differently in the ocean than a non-frozen water mass). Unless otherwise specified, OceanParcels uses a fourth-order Runge-Kutta scheme for the integration of this function. As alternatives, OceanParcels supports Euler-forward integration or adaptive Runge-Kutta-Fehlberg integration.[1]
OceanParcels provides the option to model individual behavior of a particle. Individual behavior is behavior that is defined by characteristics of a particle, for example icebergs melt and fish swims, leading to different dynamics. OceanParcels implements this using short pieces of code that are executed whenever a ParticleSet (class defining the particles used) is executed. Those pieces of code are called kernels. Some commonly used kernels are predefined in OceanParcels, such as kernels modeling Brownian motion. However, the user may also define problem specific kernels. This allows for modeling various objects, examples of which are given in the section "Applications". For implementing these customized kernels the user can choose between using Python with a possibility to automatically translate to C or using a C-library.[1][2][3]
Applications
[edit]Lagrangian analysis can be used to simulate the pathways of virtual particles, which can represent water masses, temperature tracers, salinity tracers, nutrient tracers, kelp, coral larvae, plastics, fish, icebergs, plankton, etc. The pathways of the different particles can be modelled using specific kernels, for example that fish can swim and that icebergs can melt.[1]
Water masses
[edit]The movement of water masses can be calculated numerically using velocity fields, which are simulated by a primitive equation model (fine resolution Antarctic model). Using this model, it can be estimated how many times the water mass has traveled around Antarctica and how much time it has spend in the Southern Ocean. It turned out that on average a water mass travels around Antarctica six times before it is reaches the surface for the first time.[4]
Temperature tracers
[edit]Surface temperatures can be analyzed using proxies, which can reconstruct environmental changes over the last 600 years. These reconstructions are based on alkenones, Membrane lipids and stable isotope ratios of globigerinoides ruber.[5] It is argued that ocean currents are transporting these proxies far away from there origin, creating a bias towards temperature approximations.[6]
Salinity tracers
[edit]The proxies used for salinity are the ratios between elements and calcium and stable oxygen isotopes ratios of foraminifera. These isotope ratios can be calculated by the following formula: , where y is the common isotope and x the more rare isotope. Both ratios have a positive correlation in the Mediterranean Sea, which has a strong west to east salinity gradient. Salinity tracers are important for reconstructing the ocean circulation, because together with temperature, the density can be determined, which can reconstruct large-scale circulation patterns, including meridional overturning circulation. [7]
Nutrient tracers
[edit]The influence of the Equatorial Undercurrent (EUC), New Guinea Coastal Undercurrent (NGCU) and the New Ireland Coastal Undercurrent were examined using models to elucidate the high iron concentrations in the Pacific Ocean. During El Niño, the latter two currents strengthen, which enhances the iron concentrations in the Pacific.[8]
Plastic
[edit]Lagrangian particle models have shown that about three quarters of buoyant marine plastics released from land are ending up in coastal waters, with the highest concentration in Southeast Asia. However, these simulations are overestimated with respect to field measurements.[9]
Fish
[edit]The transport of fish larvae by ocean currents is an important dispersal mechanism, because the timing has a lot of influence on the location where the larvae are settled. Pomatomus saltatrix is a fish species that is present globally, and its dispersal is examined by using particle tracking simulations. Especially the East Australian Current is important for maximum dispersal of the larvae.[10]
Plankton
[edit]Plankton are important archives to reconstruct past conditions of the ocean surfaces. While the plankton sinks to the sediments, it can be advected by turbulent ocean currents. Ocean simulations can be used to define ocean bottom provinces based on the particle surface origin locations.[11]
Icebergs
[edit]The influence of icebergs on sea ice can be modeled and compared to observations. When icebergs melt, a large fresh water flux takes place. Around Antarctica, a negative fresh water flux takes place due to sea ice freezing.[12]
Development
[edit]The latest version of OceanParcels can be accessed via GitHub.[3] It is constantly being improved, updated and expanded. The code design ensures that this can be done without effecting the user interface.[1] Below you see a list of some possible improvements:
- Implementing support for using Arakawa D and E grids in the interpolation[2]
- Implementing more advanced interpolation methods[1]
- Implementing support for using unstructured grids in the interpolation process[2]
- Implementing new more efficient programming methods[1]
- Implementing further numerical integration methods for the Lagrangian modelling[2]
Alternatives to OceanParcels
[edit]The following list contains some code packages with (partially) similar functions as OceanParcels.
- OpenDrift: Project from the Norwegian Meteorological Institute aiming at developing open-source python packages for calculating drift in the ocean and atmosphere.[13]
- TRACMASS: Fortran 90 code calculating particle trajectory using Lagrangian Ocean Analysis.[14]
- Octopus: Fortran code calculating Lagrangian particle directories in the ocean on a C grid.[15]
- Connectivity-Modeling-System (CMS): Open-source fortran code calculating particle trajectories in the ocean, developed by the University of Miami's Rosenstiel School of Marine, Atmospheric, and Earth Science.[16]
References
[edit]- ^ a b c d e f g h i Parcels v0.9: prototyping a Lagrangian Ocean Analysis framework for the petascale age Lange, M and E van Sebille (2017), Geoscientific Model Development, 10, 4175-4186
- ^ a b c d e f g h i Delandmeter, Philippe; van Sebille, Erik (2019) [19.08.2019]. "The Parcels v2.0 Lagrangian framework: new field interpolation schemes". Geoscientific Model Development. 12 (8): 3571–3584. Bibcode:2019GMD....12.3571D. doi:10.5194/gmd-12-3571-2019. S2CID 68154428.
- ^ a b c "OceanParcels". Retrieved 6 April 2022.
- ^ Döös, K.: Interocean Exchange of Water Masses, J. Geophys. Res.- Oceans, 100, 13499–13514, 1995.
- ^ Grauel, Anna-Lena; Leider, Arne; Goudeau, Marie-Louise S.; Müller, Inigo A.; Bernasconi, Stefano M.; Hinrichs, Kai-Uwe; de Lange, Gert J.; Zonneveld, Karin A. F.; Versteegh, Gerard J. M. (2013-08-01). "What do SST proxies really tell us? A high-resolution multiproxy (UK′37, TEXH86 and foraminifera δ18O) study in the Gulf of Taranto, central Mediterranean Sea". Quaternary Science Reviews. 73: 115–131. doi:10.1016/j.quascirev.2013.05.007. ISSN 0277-3791.
- ^ Limited lateral transport bias during export of sea surface temperature proxy carriers in the Mediterranean Sea, Rice, A, PB Nooteboom, E van Sebille, F Peterse, M Ziegler, A Sluijs (2022), Geophysical Research Letters, 49, e2021GL096859.
- ^ Dämmer, Linda K.; de Nooijer, Lennart; van Sebille, Erik; Haak, Jan G.; Reichart, Gert-Jan (2020-11-30). "Evaluation of oxygen isotopes and trace elements in planktonic foraminifera from the Mediterranean Sea as recorders of seawater oxygen isotopes and salinity". Climate of the Past. 16 (6): 2401–2414. Bibcode:2020CliPa..16.2401D. doi:10.5194/cp-16-2401-2020. ISSN 1814-9324. S2CID 231591886.
- ^ Qin, X., Menviel, L., Sen Gupta, A., and van Sebille, E.: Iron sources and pathways into the Pacific Equatorial Undercurrent, Geophys. Res. Lett., 43, 9843–9851, https://doi.org/10.1002/2016GL070501, 2016.
- ^ Global simulations of marine plastic transport show plastic trapping in coastal zones Onink, V, C Jongedijk, MJ Hoffman, E van Sebille, C Laufkötter (2021), Environmental Research Letters, 16, 064053
- ^ Multiple spawning events promote increased larval dispersal of a predatory fish in a western boundary current, Schilling, HT, JD Everett, JA Smith, J Stewart, JM Hughes, M Roughan, C Kerry, and IM Suthers (2020), Fisheries Oceanography, 29, 309-323
- ^ Nooteboom, Peter D.; Bijl, Peter K.; Kehl, Christian; van Sebille, Erik; Ziegler, Martin; von der Heydt, Anna S.; Dijkstra, Henk A. (2022-02-15). "Sedimentary microplankton distributions are shaped by oceanographically connected areas". Earth System Dynamics. 13 (1): 357–371. Bibcode:2022ESD....13..357N. doi:10.5194/esd-13-357-2022. ISSN 2190-4979.
- ^ Marsh, R., Ivchenko, V. O., Skliris, N., Alderson, S., Bigg, G. R., Madec, G., Blaker, A. T., Aksenov, Y., Sinha, B., Coward, A. C., Le Sommer, J., Merino, N., and Zalesny, V. B.: NEMO-ICB (v1.0): interactive icebergs in the NEMO ocean model globally configured at eddy-permitting resolution, Geosci. Model Dev., 8, 1547–1562, https://doi.org/10.5194/gmd-8-1547-2015, 2015.
- ^ Dagestad, Knut-Frode; Röhrs, Johannes; Breivik, Oyvind; Adlandsvik, Bjorn (13 April 2018). "OpenDrift v1.0: a generic framework for trajectory modelling" (PDF). Geoscientific Model Development. 11 (4): 1405–1420. Bibcode:2018GMD....11.1405D. doi:10.5194/gmd-11-1405-2018.
- ^ "TRACMASS". Retrieved 6 April 2022.
- ^ Wang, Jinbo. "Octopus Readme". GitHub. Retrieved 6 April 2022.
- ^ "connectivity-modeling-system (CMS) Readme". GitHub. Retrieved 6 April 2022.