diff --git a/docs/examples/documentation_advanced_zarr.ipynb b/docs/examples/documentation_advanced_zarr.ipynb index 2a4089c7f6..622297f4fe 100644 --- a/docs/examples/documentation_advanced_zarr.ipynb +++ b/docs/examples/documentation_advanced_zarr.ipynb @@ -247,7 +247,7 @@ "\n", "# run experiment\n", "pset.execute(\n", - " parcels.AdvectionRK4,\n", + " parcels.kernels.AdvectionRK4,\n", " runtime=timedelta(days=17),\n", " dt=timedelta(hours=3),\n", " output_file=outputfile,\n", diff --git a/docs/examples/documentation_geospatial.ipynb b/docs/examples/documentation_geospatial.ipynb index 254de8f541..9840e99bf3 100644 --- a/docs/examples/documentation_geospatial.ipynb +++ b/docs/examples/documentation_geospatial.ipynb @@ -172,7 +172,7 @@ "\n", "\n", "pset.execute(\n", - " [parcels.AdvectionRK4, DeleteParticle],\n", + " [parcels.kernels.AdvectionRK4, DeleteParticle],\n", " runtime=timedelta(days=120),\n", " dt=dt,\n", " output_file=output_file,\n", diff --git a/docs/examples/documentation_stuck_particles.ipynb b/docs/examples/documentation_stuck_particles.ipynb index 97444937d8..880835f96b 100644 --- a/docs/examples/documentation_stuck_particles.ipynb +++ b/docs/examples/documentation_stuck_particles.ipynb @@ -454,7 +454,7 @@ " fieldset=fieldset, pclass=parcels.Particle, lon=lons, lat=lats, time=time\n", ")\n", "\n", - "kernels = pset.Kernel(parcels.AdvectionRK4)\n", + "kernels = pset.Kernel(parcels.kernels.AdvectionRK4)\n", "\n", "output_file = pset.ParticleFile(name=\"SMOC.zarr\", outputdt=timedelta(hours=1))\n", "\n", @@ -872,7 +872,7 @@ "output_file = pset.ParticleFile(name=\"Cgrid-stuck.zarr\", outputdt=timedelta(hours=1))\n", "\n", "pset.execute(\n", - " parcels.AdvectionRK4,\n", + " parcels.kernels.AdvectionRK4,\n", " runtime=timedelta(days=10),\n", " dt=timedelta(minutes=5),\n", " output_file=output_file,\n", @@ -1182,8 +1182,8 @@ " name=\"Cgrid-diffusion.zarr\", outputdt=timedelta(hours=1)\n", ")\n", "pset.execute(\n", - " pset.Kernel(parcels.AdvectionRK4)\n", - " + pset.Kernel(parcels.DiffusionUniformKh)\n", + " pset.Kernel(parcels.kernels.AdvectionRK4)\n", + " + pset.Kernel(parcels.kernels.DiffusionUniformKh)\n", " + pset.Kernel(Sample_land),\n", " runtime=timedelta(days=10),\n", " dt=timedelta(minutes=5),\n", diff --git a/docs/examples/documentation_unstuck_Agrid.ipynb b/docs/examples/documentation_unstuck_Agrid.ipynb index bbdfe7650b..5fa518bf5d 100644 --- a/docs/examples/documentation_unstuck_Agrid.ipynb +++ b/docs/examples/documentation_unstuck_Agrid.ipynb @@ -852,7 +852,7 @@ " fieldset=fieldset, pclass=parcels.Particle, lon=lons, lat=lats, time=time\n", ")\n", "\n", - "kernels = parcels.AdvectionRK4\n", + "kernels = parcels.kernels.AdvectionRK4\n", "\n", "output_file = pset.ParticleFile(name=\"SMOC.zarr\", outputdt=timedelta(hours=1))\n", "\n", @@ -939,7 +939,7 @@ " fieldset=fieldset, pclass=DisplacementParticle, lon=lons, lat=lats, time=time\n", ")\n", "\n", - "kernels = [displace, parcels.AdvectionRK4, set_displacement]\n", + "kernels = [displace, parcels.kernels.AdvectionRK4, set_displacement]\n", "\n", "output_file = pset.ParticleFile(name=\"SMOC-disp.zarr\", outputdt=timedelta(hours=1))\n", "\n", @@ -1415,7 +1415,7 @@ " fieldset=fieldset, pclass=parcels.Particle, lon=lons, lat=lats, time=time\n", ")\n", "\n", - "kernels = pset.Kernel(parcels.AdvectionRK4)\n", + "kernels = pset.Kernel(parcels.kernels.AdvectionRK4)\n", "\n", "output_file = pset.ParticleFile(\n", " name=\"SMOC_partialslip.zarr\", outputdt=timedelta(hours=1)\n", @@ -1452,7 +1452,7 @@ " fieldset=fieldset, pclass=parcels.Particle, lon=lons, lat=lats, time=time\n", ")\n", "\n", - "kernels = pset.Kernel(parcels.AdvectionRK4)\n", + "kernels = pset.Kernel(parcels.kernels.AdvectionRK4)\n", "\n", "output_file = pset.ParticleFile(name=\"SMOC_freeslip.zarr\", outputdt=timedelta(hours=1))\n", "\n", diff --git a/docs/examples/example_brownian.py b/docs/examples/example_brownian.py index 85c3cfb93b..7d53b6fd89 100644 --- a/docs/examples/example_brownian.py +++ b/docs/examples/example_brownian.py @@ -40,7 +40,9 @@ def test_brownian_example(mesh, npart=3000): lat=np.zeros(npart), ) pset.execute( - pset.Kernel(parcels.DiffusionUniformKh), runtime=runtime, dt=timedelta(hours=1) + pset.Kernel(parcels.kernels.DiffusionUniformKh), + runtime=runtime, + dt=timedelta(hours=1), ) expected_std_x = np.sqrt(2 * kh_zonal * runtime.total_seconds()) diff --git a/docs/examples/example_decaying_moving_eddy.py b/docs/examples/example_decaying_moving_eddy.py index 75de6ee78c..01e6c401d4 100644 --- a/docs/examples/example_decaying_moving_eddy.py +++ b/docs/examples/example_decaying_moving_eddy.py @@ -67,7 +67,7 @@ def true_values( return np.array([x, y]) -def decaying_moving_example(fieldset, outfile, method=parcels.AdvectionRK4): +def decaying_moving_example(fieldset, outfile, method=parcels.kernels.AdvectionRK4): pset = parcels.ParticleSet( fieldset, pclass=parcels.Particle, lon=start_lon, lat=start_lat ) diff --git a/docs/examples/example_globcurrent.py b/docs/examples/example_globcurrent.py index 5439735680..c2b966e58b 100755 --- a/docs/examples/example_globcurrent.py +++ b/docs/examples/example_globcurrent.py @@ -57,8 +57,8 @@ def test_globcurrent_fieldset_advancetime(dt, lonstart, latstart): psetsub[0].time_nextloop = fieldsetsub.U.grid.time[-1] psetall[0].time_nextloop = fieldsetall.U.grid.time[-1] - psetsub.execute(parcels.AdvectionRK4, runtime=timedelta(days=7), dt=dt) - psetall.execute(parcels.AdvectionRK4, runtime=timedelta(days=7), dt=dt) + psetsub.execute(parcels.kernels.AdvectionRK4, runtime=timedelta(days=7), dt=dt) + psetall.execute(parcels.kernels.AdvectionRK4, runtime=timedelta(days=7), dt=dt) assert abs(psetsub[0].lon - psetall[0].lon) < 1e-4 @@ -74,7 +74,7 @@ def test_globcurrent_particles(): ) pset.execute( - parcels.AdvectionRK4, runtime=timedelta(days=1), dt=timedelta(minutes=5) + parcels.kernels.AdvectionRK4, runtime=timedelta(days=1), dt=timedelta(minutes=5) ) assert abs(pset[0].lon - 23.8) < 1 @@ -132,7 +132,9 @@ def test_globcurrent_time_extrapolation_error(): ) with pytest.raises(parcels.TimeExtrapolationError): pset.execute( - parcels.AdvectionRK4, runtime=timedelta(days=1), dt=timedelta(minutes=5) + parcels.kernels.AdvectionRK4, + runtime=timedelta(days=1), + dt=timedelta(minutes=5), ) @@ -179,13 +181,13 @@ def SampleP(particle, fieldset, time): # pragma: no cover if with_starttime: with pytest.raises(parcels.TimeExtrapolationError): pset.execute( - pset.Kernel(parcels.AdvectionRK4) + SampleP, + pset.Kernel(parcels.kernels.AdvectionRK4) + SampleP, runtime=timedelta(days=1), dt=dt, ) else: pset.execute( - pset.Kernel(parcels.AdvectionRK4) + SampleP, + pset.Kernel(parcels.kernels.AdvectionRK4) + SampleP, runtime=timedelta(days=1), dt=dt, ) @@ -204,7 +206,7 @@ def DeleteP0(particle, fieldset, time): # pragma: no cover ) pset0.execute( - pset0.Kernel(DeleteP0) + parcels.AdvectionRK4, + pset0.Kernel(DeleteP0) + parcels.kernels.AdvectionRK4, runtime=timedelta(days=rundays), dt=timedelta(minutes=5), ) @@ -214,7 +216,9 @@ def DeleteP0(particle, fieldset, time): # pragma: no cover ) pset1.execute( - parcels.AdvectionRK4, runtime=timedelta(days=rundays), dt=timedelta(minutes=5) + parcels.kernels.AdvectionRK4, + runtime=timedelta(days=rundays), + dt=timedelta(minutes=5), ) assert np.allclose([pset0[-1].lon, pset0[-1].lat], [pset1[-1].lon, pset1[-1].lat]) @@ -230,7 +234,10 @@ def test_globcurrent_pset_fromfile(dt, pid_offset, tmpdir): pset = parcels.ParticleSet(fieldset, pclass=parcels.Particle, lon=25, lat=-35) pfile = pset.ParticleFile(filename, outputdt=timedelta(hours=6)) pset.execute( - parcels.AdvectionRK4, runtime=timedelta(days=1), dt=dt, output_file=pfile + parcels.kernels.AdvectionRK4, + runtime=timedelta(days=1), + dt=dt, + output_file=pfile, ) pfile.write_latest_locations(pset, max(pset.time_nextloop)) @@ -241,8 +248,8 @@ def test_globcurrent_pset_fromfile(dt, pid_offset, tmpdir): filename=filename, restarttime=restarttime, ) - pset.execute(parcels.AdvectionRK4, runtime=timedelta(days=1), dt=dt) - pset_new.execute(parcels.AdvectionRK4, runtime=timedelta(days=1), dt=dt) + pset.execute(parcels.kernels.AdvectionRK4, runtime=timedelta(days=1), dt=dt) + pset_new.execute(parcels.kernels.AdvectionRK4, runtime=timedelta(days=1), dt=dt) for var in ["lon", "lat", "depth", "time", "trajectory"]: assert np.allclose( diff --git a/docs/examples/example_mitgcm.py b/docs/examples/example_mitgcm.py index c4a361545f..56d8e2bebd 100644 --- a/docs/examples/example_mitgcm.py +++ b/docs/examples/example_mitgcm.py @@ -45,7 +45,7 @@ def periodicBC(particle, fieldset, time): # pragma: no cover outputdt=timedelta(days=1), chunks=(len(pset), 1), ) - kernels = parcels.AdvectionRK4 + pset.Kernel(periodicBC) + kernels = parcels.kernels.AdvectionRK4 + pset.Kernel(periodicBC) pset.execute( kernels, runtime=timedelta(days=5), dt=timedelta(minutes=30), output_file=pfile ) diff --git a/docs/examples/example_moving_eddies.py b/docs/examples/example_moving_eddies.py index 5afa636319..108d6b0797 100644 --- a/docs/examples/example_moving_eddies.py +++ b/docs/examples/example_moving_eddies.py @@ -8,9 +8,9 @@ import parcels method = { - "RK4": parcels.AdvectionRK4, - "EE": parcels.AdvectionEE, - "RK45": parcels.AdvectionRK45, + "RK4": parcels.kernels.AdvectionRK4, + "EE": parcels.kernels.AdvectionEE, + "RK45": parcels.kernels.AdvectionRK45, } @@ -112,7 +112,7 @@ def cosd(x): def moving_eddies_example( - fieldset, outfile, npart=2, verbose=False, method=parcels.AdvectionRK4 + fieldset, outfile, npart=2, verbose=False, method=parcels.kernels.AdvectionRK4 ): """Configuration of a particle set that follows two moving eddies. @@ -161,7 +161,7 @@ def moving_eddies_example( @pytest.mark.parametrize("mesh", ["flat", "spherical"]) def test_moving_eddies_fwdbwd(mesh, tmpdir, npart=2): - method = parcels.AdvectionRK4 + method = parcels.kernels.AdvectionRK4 fieldset = moving_eddies_fieldset(mesh=mesh) lons = [3.3, 3.3] if fieldset.U.grid.mesh == "spherical" else [3.3e5, 3.3e5] @@ -284,7 +284,9 @@ def slowlySouthWestward(particle, fieldset, time): # pragma: no cover particle.dlon -= 5 * particle.dt / 1e5 particle.dlat -= 3 * particle.dt / 1e5 - kernels = pset.Kernel(parcels.AdvectionRK4) + slowlySouthWestward + periodicBC + kernels = ( + pset.Kernel(parcels.kernels.AdvectionRK4) + slowlySouthWestward + periodicBC + ) pset.execute(kernels, runtime=timedelta(days=6), dt=timedelta(hours=1)) diff --git a/docs/examples/example_nemo_curvilinear.py b/docs/examples/example_nemo_curvilinear.py index c93302e557..d39d798a78 100644 --- a/docs/examples/example_nemo_curvilinear.py +++ b/docs/examples/example_nemo_curvilinear.py @@ -8,7 +8,10 @@ import parcels -advection = {"RK4": parcels.AdvectionRK4, "AA": parcels.AdvectionAnalytical} +advection = { + "RK4": parcels.kernels.AdvectionRK4, + "AA": parcels.kernels.AdvectionAnalytical, +} def run_nemo_curvilinear(outfile, advtype="RK4"): diff --git a/docs/examples/example_ofam.py b/docs/examples/example_ofam.py index ec089b4a31..4b68011d35 100644 --- a/docs/examples/example_ofam.py +++ b/docs/examples/example_ofam.py @@ -51,12 +51,12 @@ def test_ofam_xarray_vs_netcdf(dt): psetN = parcels.ParticleSet( fieldsetNetcdf, pclass=parcels.Particle, lon=lonstart, lat=latstart ) - psetN.execute(parcels.AdvectionRK4, runtime=runtime, dt=dt) + psetN.execute(parcels.kernels.AdvectionRK4, runtime=runtime, dt=dt) psetX = parcels.ParticleSet( fieldsetxarray, pclass=parcels.Particle, lon=lonstart, lat=latstart ) - psetX.execute(parcels.AdvectionRK4, runtime=runtime, dt=dt) + psetX.execute(parcels.kernels.AdvectionRK4, runtime=runtime, dt=dt) assert np.allclose(psetN[0].lon, psetX[0].lon) assert np.allclose(psetN[0].lat, psetX[0].lat) @@ -80,7 +80,9 @@ def test_ofam_particles(use_xarray): ) pset.execute( - parcels.AdvectionRK4, runtime=timedelta(days=10), dt=timedelta(minutes=5) + parcels.kernels.AdvectionRK4, + runtime=timedelta(days=10), + dt=timedelta(minutes=5), ) assert abs(pset[0].lon - 173) < 1 diff --git a/docs/examples/example_peninsula.py b/docs/examples/example_peninsula.py index 2f1aca1e3d..718a53598a 100644 --- a/docs/examples/example_peninsula.py +++ b/docs/examples/example_peninsula.py @@ -8,9 +8,9 @@ import parcels method = { - "RK4": parcels.AdvectionRK4, - "EE": parcels.AdvectionEE, - "RK45": parcels.AdvectionRK45, + "RK4": parcels.kernels.AdvectionRK4, + "EE": parcels.kernels.AdvectionEE, + "RK45": parcels.kernels.AdvectionRK45, } @@ -102,7 +102,7 @@ def peninsula_example( degree=1, verbose=False, output=True, - method=parcels.AdvectionRK4, + method=parcels.kernels.AdvectionRK4, ): """Example configuration of particle flow around an idealised Peninsula @@ -199,7 +199,7 @@ def test_peninsula_fieldset_AnalyticalAdvection(mesh, tmpdir): fieldset = peninsula_fieldset(101, 51, "flat", grid_type="C") outfile = tmpdir.join("PeninsulaAA") pset = peninsula_example( - fieldset, outfile, npart=10, method=parcels.AdvectionAnalytical + fieldset, outfile, npart=10, method=parcels.kernels.AdvectionAnalytical ) # Test advection accuracy by comparing streamline values err_adv = np.array([abs(p.p_start - p.p) for p in pset]) diff --git a/docs/examples/example_radial_rotation.py b/docs/examples/example_radial_rotation.py index 3d65694f1d..b433c270e4 100644 --- a/docs/examples/example_radial_rotation.py +++ b/docs/examples/example_radial_rotation.py @@ -47,7 +47,7 @@ def true_values(age): # Calculate the expected values for particle 2 at the end return [x, y] -def rotation_example(fieldset, outfile, method=parcels.AdvectionRK4): +def rotation_example(fieldset, outfile, method=parcels.kernels.AdvectionRK4): npart = 2 # Test two particles on the rotating fieldset. pset = parcels.ParticleSet.from_line( fieldset, diff --git a/docs/examples/example_stommel.py b/docs/examples/example_stommel.py index 26379e6043..66e416d946 100755 --- a/docs/examples/example_stommel.py +++ b/docs/examples/example_stommel.py @@ -8,9 +8,9 @@ import parcels method = { - "RK4": parcels.AdvectionRK4, - "EE": parcels.AdvectionEE, - "RK45": parcels.AdvectionRK45, + "RK4": parcels.kernels.AdvectionRK4, + "EE": parcels.kernels.AdvectionEE, + "RK45": parcels.kernels.AdvectionRK45, } @@ -96,7 +96,7 @@ def simple_partition_function(coords, mpi_size=1): def stommel_example( npart=1, verbose=False, - method=parcels.AdvectionRK4, + method=parcels.kernels.AdvectionRK4, grid_type="A", outfile="StommelParticle.zarr", repeatdt=None, diff --git a/docs/examples/parcels_tutorial.ipynb b/docs/examples/parcels_tutorial.ipynb index e50483cdc2..8d7256fe16 100644 --- a/docs/examples/parcels_tutorial.ipynb +++ b/docs/examples/parcels_tutorial.ipynb @@ -217,7 +217,7 @@ "outputs": [], "source": [ "pset.execute(\n", - " parcels.AdvectionRK4, # the kernel (which defines how particles move)\n", + " parcels.kernels.AdvectionRK4, # the kernel (which defines how particles move)\n", " runtime=timedelta(days=6), # the total length of the run\n", " dt=timedelta(minutes=5), # the timestep of the kernel\n", " output_file=output_file,\n", @@ -361,7 +361,7 @@ " outputdt=timedelta(hours=1), # the time step of the outputs\n", ")\n", "pset.execute(\n", - " parcels.AdvectionRK4,\n", + " parcels.kernels.AdvectionRK4,\n", " dt=-timedelta(minutes=5), # negative timestep for backward run\n", " runtime=timedelta(days=6), # the run time\n", " output_file=output_file,\n", @@ -461,7 +461,7 @@ " name=\"EddyParticles_WestVel.zarr\", outputdt=timedelta(hours=1)\n", ")\n", "pset.execute(\n", - " [parcels.AdvectionRK4, WestVel], # simply combine the Kernels in a list\n", + " [parcels.kernels.AdvectionRK4, WestVel], # simply combine the Kernels in a list\n", " runtime=timedelta(days=2),\n", " dt=timedelta(minutes=5),\n", " output_file=output_file,\n", @@ -615,7 +615,7 @@ " name=\"GlobCurrentParticles.zarr\", outputdt=timedelta(hours=6)\n", ")\n", "pset.execute(\n", - " parcels.AdvectionRK4,\n", + " parcels.kernels.AdvectionRK4,\n", " runtime=timedelta(days=10),\n", " dt=timedelta(minutes=5),\n", " output_file=output_file,\n", @@ -770,7 +770,7 @@ " name=\"PeninsulaPressure.zarr\", outputdt=timedelta(hours=1)\n", ")\n", "pset.execute(\n", - " [parcels.AdvectionRK4, SampleP], # list of kernels to be executed\n", + " [parcels.kernels.AdvectionRK4, SampleP], # list of kernels to be executed\n", " runtime=timedelta(hours=20),\n", " dt=timedelta(minutes=5),\n", " output_file=output_file,\n", @@ -936,7 +936,7 @@ "outputs": [], "source": [ "pset.execute(\n", - " [parcels.AdvectionRK4, TotalDistance], # list of kernels to be executed\n", + " [parcels.kernels.AdvectionRK4, TotalDistance], # list of kernels to be executed\n", " runtime=timedelta(days=6),\n", " dt=timedelta(minutes=5),\n", " output_file=pset.ParticleFile(\n", diff --git a/docs/examples/tutorial_Argofloats.ipynb b/docs/examples/tutorial_Argofloats.ipynb index 3391156b16..b42dc8dba3 100644 --- a/docs/examples/tutorial_Argofloats.ipynb +++ b/docs/examples/tutorial_Argofloats.ipynb @@ -174,7 +174,7 @@ " ArgoPhase4,\n", " ArgoPhase5,\n", " ArgoPhase6,\n", - " parcels.AdvectionRK4,\n", + " parcels.kernels.AdvectionRK4,\n", "]\n", "\n", "# Create a ParticleFile object to store the output\n", diff --git a/docs/examples/tutorial_analyticaladvection.ipynb b/docs/examples/tutorial_analyticaladvection.ipynb index e1a7ff9957..cbf14aa229 100644 --- a/docs/examples/tutorial_analyticaladvection.ipynb +++ b/docs/examples/tutorial_analyticaladvection.ipynb @@ -150,7 +150,7 @@ "output = pset.ParticleFile(name=\"radialAnalytical.zarr\", outputdt=timedelta(hours=1))\n", "\n", "pset.execute(\n", - " pset.Kernel(UpdateR) + parcels.AdvectionAnalytical,\n", + " pset.Kernel(UpdateR) + parcels.kernels.AdvectionAnalytical,\n", " runtime=timedelta(hours=25),\n", " dt=timedelta(hours=1), # needs to be the same as outputdt for Analytical Advection\n", " output_file=output,\n", @@ -268,7 +268,7 @@ "output = psetAA.ParticleFile(name=\"doublegyreAA.zarr\", outputdt=0.1)\n", "\n", "psetAA.execute(\n", - " parcels.AdvectionAnalytical,\n", + " parcels.kernels.AdvectionAnalytical,\n", " dt=0.1, # needs to be the same as outputdt for Analytical Advection\n", " runtime=3,\n", " output_file=output,\n", @@ -347,7 +347,7 @@ "outputs": [], "source": [ "psetRK4 = parcels.ParticleSet(fieldsetDG, pclass=parcels.Particle, lon=X, lat=Y)\n", - "psetRK4.execute(parcels.AdvectionRK4, dt=0.01, runtime=3)" + "psetRK4.execute(parcels.kernels.AdvectionRK4, dt=0.01, runtime=3)" ] }, { @@ -503,7 +503,7 @@ "output = psetAA.ParticleFile(name=\"bickleyjetAA.zarr\", outputdt=timedelta(hours=1))\n", "\n", "psetAA.execute(\n", - " parcels.AdvectionAnalytical + psetAA.Kernel(ZonalBC),\n", + " parcels.kernels.AdvectionAnalytical + psetAA.Kernel(ZonalBC),\n", " dt=timedelta(hours=1), # needs to be the same as outputdt for Analytical Advection\n", " runtime=timedelta(days=1),\n", " output_file=output,\n", @@ -584,7 +584,9 @@ "psetRK4 = parcels.ParticleSet(fieldsetBJ, pclass=parcels.Particle, lon=X, lat=Y)\n", "\n", "psetRK4.execute(\n", - " [parcels.AdvectionRK4, ZonalBC], dt=timedelta(minutes=5), runtime=timedelta(days=1)\n", + " [parcels.kernels.AdvectionRK4, ZonalBC],\n", + " dt=timedelta(minutes=5),\n", + " runtime=timedelta(days=1),\n", ")" ] }, diff --git a/docs/examples/tutorial_croco_3D.ipynb b/docs/examples/tutorial_croco_3D.ipynb index 0bd0a9e59a..d46b2b706a 100644 --- a/docs/examples/tutorial_croco_3D.ipynb +++ b/docs/examples/tutorial_croco_3D.ipynb @@ -135,7 +135,7 @@ "outputfile = pset.ParticleFile(name=\"croco_particles3D.zarr\", outputdt=5000)\n", "\n", "pset.execute(\n", - " [parcels.AdvectionRK4_3D, DeleteParticle],\n", + " [parcels.kernels.AdvectionRK4_3D, DeleteParticle],\n", " runtime=5e4,\n", " dt=100,\n", " output_file=outputfile,\n", @@ -207,7 +207,7 @@ "outputfile = pset.ParticleFile(name=\"croco_particles_noW.zarr\", outputdt=5000)\n", "\n", "pset_noW.execute(\n", - " [parcels.AdvectionRK4_3D, DeleteParticle],\n", + " [parcels.kernels.AdvectionRK4_3D, DeleteParticle],\n", " runtime=5e4,\n", " dt=100,\n", " output_file=outputfile,\n", diff --git a/docs/examples/tutorial_delaystart.ipynb b/docs/examples/tutorial_delaystart.ipynb index ca460bb1a9..6584dfc157 100644 --- a/docs/examples/tutorial_delaystart.ipynb +++ b/docs/examples/tutorial_delaystart.ipynb @@ -122,7 +122,7 @@ ")\n", "\n", "pset.execute(\n", - " parcels.AdvectionRK4,\n", + " parcels.kernels.AdvectionRK4,\n", " runtime=timedelta(hours=24),\n", " dt=timedelta(minutes=5),\n", " output_file=output_file,\n", @@ -237,7 +237,7 @@ ")\n", "\n", "pset.execute(\n", - " parcels.AdvectionRK4,\n", + " parcels.kernels.AdvectionRK4,\n", " runtime=timedelta(hours=24),\n", " dt=timedelta(minutes=5),\n", " output_file=output_file,\n", @@ -324,7 +324,7 @@ "\n", "# first run for 3 * 3 hrs\n", "pset.execute(\n", - " parcels.AdvectionRK4,\n", + " parcels.kernels.AdvectionRK4,\n", " runtime=timedelta(hours=9),\n", " dt=timedelta(minutes=5),\n", " output_file=output_file,\n", @@ -335,7 +335,7 @@ "\n", "# now continue running for the remaining 15 hours\n", "pset.execute(\n", - " parcels.AdvectionRK4,\n", + " parcels.kernels.AdvectionRK4,\n", " runtime=timedelta(hours=15),\n", " dt=timedelta(minutes=5),\n", " output_file=output_file,\n", @@ -434,7 +434,7 @@ "\n", "output_file = pset.ParticleFile(name=outfilepath, outputdt=2)\n", "pset.execute(\n", - " parcels.AdvectionRK4,\n", + " parcels.kernels.AdvectionRK4,\n", " endtime=4,\n", " dt=1,\n", " output_file=output_file,\n", @@ -491,7 +491,7 @@ " )\n", " output_file = pset.ParticleFile(name=outfilepath, outputdt=2)\n", " pset.execute(\n", - " parcels.AdvectionRK4,\n", + " parcels.kernels.AdvectionRK4,\n", " endtime=4,\n", " dt=1,\n", " output_file=output_file,\n", diff --git a/docs/examples/tutorial_diffusion.ipynb b/docs/examples/tutorial_diffusion.ipynb index 273b141d92..aef9bb06f8 100644 --- a/docs/examples/tutorial_diffusion.ipynb +++ b/docs/examples/tutorial_diffusion.ipynb @@ -251,7 +251,7 @@ ")\n", "\n", "testParticles.execute(\n", - " parcels.AdvectionDiffusionM1,\n", + " parcels.kernels.AdvectionDiffusionM1,\n", " runtime=timedelta(seconds=0.3),\n", " dt=timedelta(seconds=dt),\n", " output_file=output_file,\n", @@ -325,7 +325,7 @@ ")\n", "random.seed(1636) # Random seed for reproducibility\n", "testParticles.execute(\n", - " parcels.AdvectionDiffusionEM,\n", + " parcels.kernels.AdvectionDiffusionEM,\n", " runtime=timedelta(seconds=0.3),\n", " dt=timedelta(seconds=dt),\n", " output_file=output_file,\n", @@ -561,7 +561,7 @@ "random.seed(1636) # Random seed for reproducibility\n", "\n", "pset.execute(\n", - " [parcels.AdvectionRK4, smagdiff, DeleteParticle],\n", + " [parcels.kernels.AdvectionRK4, smagdiff, DeleteParticle],\n", " runtime=timedelta(days=7),\n", " dt=timedelta(minutes=5),\n", " output_file=output_file,\n", diff --git a/docs/examples/tutorial_interaction.ipynb b/docs/examples/tutorial_interaction.ipynb index d5934c2681..0fd6e89a33 100644 --- a/docs/examples/tutorial_interaction.ipynb +++ b/docs/examples/tutorial_interaction.ipynb @@ -155,7 +155,7 @@ "output_file = pset.ParticleFile(name=\"InteractingParticles.zarr\", outputdt=1)\n", "\n", "pset.execute(\n", - " pyfunc=parcels.DiffusionUniformKh,\n", + " pyfunc=parcels.kernels.DiffusionUniformKh,\n", " pyfunc_inter=Pull, # note the pyfunc_inter here\n", " runtime=60,\n", " dt=1,\n", @@ -321,7 +321,7 @@ "output_file = pset.ParticleFile(name=\"MergingParticles.zarr\", outputdt=1)\n", "\n", "pset.execute(\n", - " pyfunc=parcels.DiffusionUniformKh,\n", + " pyfunc=parcels.kernels.DiffusionUniformKh,\n", " pyfunc_inter=pset.InteractionKernel(parcels.NearestNeighborWithinRange)\n", " + parcels.MergeWithNearestNeighbor, # note the pyfunc_inter here\n", " runtime=60,\n", diff --git a/docs/examples/tutorial_kernelloop.ipynb b/docs/examples/tutorial_kernelloop.ipynb index ffdc47855a..829687e6d8 100644 --- a/docs/examples/tutorial_kernelloop.ipynb +++ b/docs/examples/tutorial_kernelloop.ipynb @@ -183,7 +183,7 @@ " name=\"advection_then_wind.zarr\", outputdt=timedelta(hours=6)\n", ")\n", "pset.execute(\n", - " [parcels.AdvectionRK4, wind_kernel],\n", + " [parcels.kernels.AdvectionRK4, wind_kernel],\n", " runtime=timedelta(days=5),\n", " dt=timedelta(hours=1),\n", " output_file=output_file,\n", @@ -210,7 +210,7 @@ " name=\"wind_then_advection.zarr\", outputdt=timedelta(hours=6)\n", ")\n", "pset_reverse.execute(\n", - " [wind_kernel, parcels.AdvectionRK4],\n", + " [wind_kernel, parcels.kernels.AdvectionRK4],\n", " runtime=timedelta(days=5),\n", " dt=timedelta(hours=1),\n", " output_file=output_file_reverse,\n", diff --git a/docs/examples/tutorial_nemo_3D.ipynb b/docs/examples/tutorial_nemo_3D.ipynb index a31cab2696..21af7ad976 100644 --- a/docs/examples/tutorial_nemo_3D.ipynb +++ b/docs/examples/tutorial_nemo_3D.ipynb @@ -107,7 +107,7 @@ " depth=1,\n", ")\n", "\n", - "kernels = pset.Kernel(parcels.AdvectionRK4_3D)\n", + "kernels = pset.Kernel(parcels.kernels.AdvectionRK4_3D)\n", "pset.execute(kernels, runtime=timedelta(days=4), dt=timedelta(hours=6))" ] }, diff --git a/docs/examples/tutorial_nemo_curvilinear.ipynb b/docs/examples/tutorial_nemo_curvilinear.ipynb index 6d99e3930d..7450b1cc25 100644 --- a/docs/examples/tutorial_nemo_curvilinear.ipynb +++ b/docs/examples/tutorial_nemo_curvilinear.ipynb @@ -145,7 +145,7 @@ "pfile = parcels.ParticleFile(\"nemo_particles\", pset, outputdt=timedelta(days=1))\n", "\n", "pset.execute(\n", - " parcels.AdvectionRK4,\n", + " parcels.kernels.AdvectionRK4,\n", " runtime=timedelta(days=30),\n", " dt=timedelta(hours=6),\n", " output_file=pfile,\n", diff --git a/docs/examples/tutorial_output.ipynb b/docs/examples/tutorial_output.ipynb index febef5d321..f562f4e900 100644 --- a/docs/examples/tutorial_output.ipynb +++ b/docs/examples/tutorial_output.ipynb @@ -92,7 +92,7 @@ "outputs": [], "source": [ "pset.execute(\n", - " parcels.AdvectionRK4,\n", + " parcels.kernels.AdvectionRK4,\n", " runtime=timedelta(hours=24),\n", " dt=timedelta(minutes=5),\n", " output_file=output_file,\n", diff --git a/docs/examples/tutorial_parcels_structure.ipynb b/docs/examples/tutorial_parcels_structure.ipynb index af1b7bd238..7c43fed486 100644 --- a/docs/examples/tutorial_parcels_structure.ipynb +++ b/docs/examples/tutorial_parcels_structure.ipynb @@ -263,7 +263,7 @@ "\n", "\n", "# define all kernels to be executed on particles using an (ordered) list\n", - "kernels = [Age, NorthVel, parcels.AdvectionRK4]" + "kernels = [Age, NorthVel, parcels.kernels.AdvectionRK4]" ] }, { diff --git a/docs/examples/tutorial_particle_field_interaction.ipynb b/docs/examples/tutorial_particle_field_interaction.ipynb index 793c92ca60..333ad40b8e 100644 --- a/docs/examples/tutorial_particle_field_interaction.ipynb +++ b/docs/examples/tutorial_particle_field_interaction.ipynb @@ -235,7 +235,7 @@ "pset.execute(\n", " # the particle will FIRST be transported by currents\n", " # and THEN interact with the field\n", - " parcels.AdvectionRK4 + pset.Kernel(Interaction),\n", + " parcels.kernels.AdvectionRK4 + pset.Kernel(Interaction),\n", " dt=timedelta(days=1),\n", " # we are going to track the particle and save\n", " # its trajectory and tracer concentration for 24 days\n", diff --git a/docs/examples/tutorial_peninsula_AvsCgrid.ipynb b/docs/examples/tutorial_peninsula_AvsCgrid.ipynb index 71a2a55e93..fd0af1850b 100644 --- a/docs/examples/tutorial_peninsula_AvsCgrid.ipynb +++ b/docs/examples/tutorial_peninsula_AvsCgrid.ipynb @@ -134,8 +134,8 @@ " @property\n", " def advection_kernel(self):\n", " if self.interp_method == \"analytical\":\n", - " return parcels.AdvectionAnalytical\n", - " return parcels.AdvectionRK4\n", + " return parcels.kernels.AdvectionAnalytical\n", + " return parcels.kernels.AdvectionRK4\n", "\n", " @property\n", " def file_name(self):\n", diff --git a/docs/examples/tutorial_periodic_boundaries.ipynb b/docs/examples/tutorial_periodic_boundaries.ipynb index bd69685814..2ce9abd169 100644 --- a/docs/examples/tutorial_periodic_boundaries.ipynb +++ b/docs/examples/tutorial_periodic_boundaries.ipynb @@ -167,7 +167,7 @@ "output_file = pset.ParticleFile(name=\"PeriodicParticle\", outputdt=timedelta(hours=1))\n", "\n", "pset.execute(\n", - " [parcels.AdvectionRK4, periodicBC],\n", + " [parcels.kernels.AdvectionRK4, periodicBC],\n", " runtime=timedelta(hours=24),\n", " dt=timedelta(minutes=5),\n", " output_file=output_file,\n", diff --git a/docs/examples/tutorial_sampling.ipynb b/docs/examples/tutorial_sampling.ipynb index 50ef615bce..a13c65b743 100644 --- a/docs/examples/tutorial_sampling.ipynb +++ b/docs/examples/tutorial_sampling.ipynb @@ -144,7 +144,7 @@ "output_file = pset.ParticleFile(name=\"SampleTemp.zarr\", outputdt=timedelta(hours=1))\n", "\n", "pset.execute(\n", - " [parcels.AdvectionRK4, SampleT],\n", + " [parcels.kernels.AdvectionRK4, SampleT],\n", " runtime=timedelta(hours=30),\n", " dt=timedelta(minutes=5),\n", " output_file=output_file,\n", @@ -323,7 +323,7 @@ "output_file = pset.ParticleFile(name=\"WriteOnce.zarr\", outputdt=timedelta(hours=1))\n", "\n", "pset.execute(\n", - " [parcels.AdvectionRK4, SampleT],\n", + " [parcels.kernels.AdvectionRK4, SampleT],\n", " runtime=timedelta(hours=24),\n", " dt=timedelta(minutes=5),\n", " output_file=output_file,\n", diff --git a/docs/examples/tutorial_timevaryingdepthdimensions.ipynb b/docs/examples/tutorial_timevaryingdepthdimensions.ipynb index 7185cdac83..05dab635c0 100644 --- a/docs/examples/tutorial_timevaryingdepthdimensions.ipynb +++ b/docs/examples/tutorial_timevaryingdepthdimensions.ipynb @@ -113,7 +113,9 @@ "\n", "pfile = pset.ParticleFile(\"SwashParticles\", outputdt=timedelta(seconds=0.05))\n", "\n", - "pset.execute(parcels.AdvectionRK4, dt=timedelta(seconds=0.005), output_file=pfile)" + "pset.execute(\n", + " parcels.kernels.AdvectionRK4, dt=timedelta(seconds=0.005), output_file=pfile\n", + ")" ] }, {