{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Tutorial on how to use Parcels on NEMO curvilinear grids" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Parcels also supports [curvilinear grids](https://www.nemo-ocean.eu/doc/node108.html) such as those used in the [NEMO models](https://www.nemo-ocean.eu/).\n", "\n", "We will be using the example data in the `NemoCurvilinear_data/` directory. These fiels are a purely zonal flow on an aqua-planet (so zonal-velocity is 1 m/s and meridional-velocity is 0 m/s everywhere, and no land). However, because of the curvilinear grid, the `U` and `V` fields vary north of 26N." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from parcels import FieldSet, ParticleSet, JITParticle, ParticleFile, plotTrajectoriesFile\n", "from parcels import AdvectionRK4\n", "import numpy as np\n", "from datetime import timedelta as delta" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can create a `FieldSet` just like we do for normal grids. Note that we need to provide an extra filename for the `mesh_mask` file that holds information on the Curvilinear grid." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO: Generating rotation angles fields in file: NemoCurvilinear_data_rotation_angles.nc\n", "WARNING: Casting lon data to np.float32\n", "WARNING: Casting lat data to np.float32\n", "WARNING: Casting time data to np.float64\n", "WARNING: Casting depth data to np.float32\n" ] } ], "source": [ "filenames = {'U': 'NemoCurvilinear_data/U_purely_zonal-ORCA025_grid_U.nc4',\n", " 'V': 'NemoCurvilinear_data/V_purely_zonal-ORCA025_grid_V.nc4',\n", " 'mesh_mask': 'NemoCurvilinear_data/mesh_mask.nc4'}\n", "variables = {'U': 'U',\n", " 'V': 'V'}\n", "dimensions = {'U': {'lon': 'nav_lon_u', 'lat': 'nav_lat_u'},\n", " 'V': {'lon': 'nav_lon_v', 'lat': 'nav_lat_v'}}\n", "field_set = FieldSet.from_nemo(filenames, variables, dimensions, mesh='spherical', allow_time_extrapolation=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the `FieldSet.from_nemo()` function assumes some default values for the `mesh_mask` file. If your `mesh_mask` file has different variables and dimensions, you can set these with a dictionary such as the default one below, and add that as `dimensions=dimensions` to the call of `FieldSet.from_nemo()`." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "variables['mesh_mask'] = {'cosU': 'cosU',\n", " 'sinU': 'sinU',\n", " 'cosV': 'cosV',\n", " 'sinV': 'sinV'}\n", "dimensions['mesh_mask'] = {'U': {'lon': 'glamu', 'lat': 'gphiu'},\n", " 'V': {'lon': 'glamv', 'lat': 'gphiv'},\n", " 'F': {'lon': 'glamf', 'lat': 'gphif'}}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And we can plot the `U` field. Note that we need to rescale the `grid.lon` so that it is monotonic (needed for plotting purposes only; Parcels itself can handle non-monotonic grids)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Remap the longitudes because field.show() requires monotonic longitudes\n", "field_set.U.grid.lon[field_set.U.grid.lon<73] += 360\n", "field_set.U.show()\n", "\n", "# Now reverse the remapping above\n", "field_set.U.grid.lon[field_set.U.grid.lon > (72+360)] -=360" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you see above, the `U` field indeed is 1 m/s south of 50N, but varies with longitude and latitude north of that\n", "\n", "Now we can run particles as normal. Parcels will take care to rotate the `U` and `V` fields" ] }, { "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/ae256881993532bad8b3758037987412.so\n" ] } ], "source": [ "# Start 20 particles on a meridional line at 180W\n", "npart = 20\n", "lonp = -180 * np.ones(npart)\n", "latp = [i for i in np.linspace(-70, 88, npart)]\n", "\n", "# Create a periodic boundary condition kernel\n", "def periodicBC(particle, pieldSet, time, dt):\n", " if particle.lon > 180:\n", " particle.lon -= 360\n", "\n", "pset = ParticleSet.from_list(field_set, JITParticle, lon=lonp, lat=latp)\n", "pfile = ParticleFile(\"nemo_particles\", pset, outputdt=delta(days=1))\n", "kernels = pset.Kernel(AdvectionRK4) + periodicBC\n", "pset.execute(kernels, runtime=delta(days=50), dt=delta(hours=6),\n", " output_file=pfile)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And then we can plot these trajectories. As expected, all trajectories go exactly zonal and due to the curvature of the earth, ones at higher latitude move more degrees eastward (even though the distance in km is equal for all particles)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plotTrajectoriesFile(\"nemo_particles.nc\")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.14" } }, "nbformat": 4, "nbformat_minor": 1 }