{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Tutorial on how to implement periodic boundaries" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This tutorial will show how to implement Periodic boundary conditions (where particles that leave the domain on one side enter again on the other side) can be implemented in Parcels" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The idea in Parcels is to do two things:\n", "1) Extend the fieldset with a small 'halo'\n", "2) Add a periodic boundary kernel to the `.execute`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We'll start by importing the relevant modules" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "from parcels import FieldSet, ParticleSet, JITParticle, plotTrajectoriesFile\n", "from parcels import AdvectionRK4\n", "from datetime import timedelta as delta\n", "import math" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We import the Peninsula fieldset; note that we need to set `allow_time_extrapolation` because the Peninsula fieldset has only one time snapshot." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "fieldset = FieldSet.from_parcels('Peninsula_data/peninsula', allow_time_extrapolation=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Extending the fieldset with a halo is very simply done using the `add_periodic_halo()` method. Halos can be added either in the zonal direction, the meridional direction, or both, by setting `zonal` and/or `meridional` to `True`.\n", "\n", "But before we apply the halo, we first define two new fieldset constants `halo_east` and `halo_west`. They store the original zonal extend of the grid (so *before* adding the halo) and will be used later in the `periodicBC` kernel.\n", "\n", "***Note that some hydrodynamic data, such as the global ORCA grid used in NEMO, already has a halo.*** In these cases, **do not** extent the fieldset with the halo but only add the periodic boundary kernel, where you use the explicit values for halo_east and halo_west" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "fieldset.add_constant('halo_west', fieldset.U.grid.lon[0])\n", "fieldset.add_constant('halo_east', fieldset.U.grid.lon[-1])\n", "\n", "fieldset.add_periodic_halo(zonal=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The other item we need is a custom Kernel that can move the particle from one side of the domain to the other." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "def periodicBC(particle, fieldset, time):\n", " if particle.lon < fieldset.halo_west:\n", " particle.lon += fieldset.halo_east - fieldset.halo_west\n", " elif particle.lon > fieldset.halo_east:\n", " particle.lon -= fieldset.halo_east - fieldset.halo_west\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now define a particle set and execute it as usual" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO: Compiled JITParticleAdvectionRK4periodicBC ==> /var/folders/r2/8593q8z93kd7t4j9kbb_f7p00000gr/T/parcels-504/f08d71f796522036c48eee996cc88a1d.so\n", "100% (86400.0 of 86400.0) |##############| Elapsed Time: 0:00:00 Time: 0:00:00\n" ] } ], "source": [ "pset = ParticleSet.from_line(fieldset, pclass=JITParticle, \n", " size=10, start=(20e3, 3e3), finish=(20e3, 45e3))\n", "output_file = pset.ParticleFile(name=\"PeriodicParticle\", outputdt=delta(hours=1))\n", "pset.execute(AdvectionRK4 + pset.Kernel(periodicBC),\n", " runtime=delta(hours=24), dt=delta(minutes=5),\n", " output_file=output_file)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And finally plot the particle trajectories" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "output_file.export() # export the trajectory data to a netcdf file\n", "plotTrajectoriesFile('PeriodicParticle.nc');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can see that the particles start at 0.7E, move eastward, and once they hit the boundary at 0.895428E, they jump to the other side of the domain (the horizontal lines). So we have periodic boundary conditions!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*As a note, one may ask why we need the halo. Why can't we use simply the `PeriodicBC` kernel? This is because, if the particle is close to the edge of the fieldset (but still in it), `AdvectionRK4` will need to interpolate velocities that may lay outside the fieldset domain. With the halo, we make sure `AdvectionRK4` can access these values.*" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.6.8" } }, "nbformat": 4, "nbformat_minor": 1 }