Skip to content

Releases: OceanParcels/Parcels

Parcels v2.4.1: a Lagrangian Ocean Analysis tool for the petascale age

27 Feb 08:14
9318137
Compare
Choose a tag to compare

Parcels v2.4.1 is a minor update to the v2.4.0 release of October 2022; with mostly bugfixes, cleanups of the code, and enhancements to the GitHub workflow. The most important ones are below

What's Changed

  • Fixing a bug in 2D scipy linear_invdist_land interpolation in #1306
  • Implementing time_periodic also for FieldSet.from_xarray_dataset in #1253
  • Adding info on periodic boundaries in global models to tutorial in #1255
  • Support for running on systems with MPI but without sklearn in #1262
  • Fixing the vonmises distribution tests in test_diffusion in #1279
  • Clean up CI/CD workflows in #1278 (by @VeckoTheGecko)
  • Fix Readthedocs in #1290 (by @VeckoTheGecko)
  • Running MPI test without writing Stommel hydrodynamic fields in #1291
  • Updating fieldfilebuffer to not not unravel lonlat-indices when not provided in #1258
  • Allow for Zarr stores being passed to ParticleFile in #1303 (by @willirath)
  • Cleaning up deprecated methods and increasing codecoverage for Parcels in #1287 (by @VeckoTheGecko) and in #1295, #1296, #1309

Full Changelog: v2.4.0...v2.4.1

Parcels v2.4.0: a Lagrangian Ocean Analysis tool for the petascale age

06 Oct 08:42
33f4902
Compare
Choose a tag to compare

Parcels v2.4.0 implements a completely new way of outputting trajectory data (#1199). It writes directly to a .zarr directory, which can seamlessly be loaded with the xarray.open_zarr() method. For more info, see the Reading the output file tutorial.

Output is now smaller in size and faster to write. There is no need for temporary dumps and hence also not to convert these at the end of a simulation. This makes working with Parcels output during a simulation much easier.

What's Changed

  • Saving Parcels output directly in zarr format (#1199)
  • Updating documentation notebooks (#1237)
  • Fixing 'fatal: not a git repository' warning (#1251)

Full Changelog: v2.3.2...v2.4.0

Parcels v2.3.2: a Lagrangian Ocean Analysis tool for the petascale age

30 Aug 14:48
7f66104
Compare
Choose a tag to compare

This is a minor update to Parcels with mostly bugfixes; in preparation for a new v2.4.0 in a few weeks with support for writing directly to zarr.

What's Changed

Most relevant for users:

  • Adding option to silence xarray decodewarnings (#1208)
  • Updating the structure and particle-particle interaction tutorial (by @pdnooteboom, #1197)
  • Clarification on the show_time parameter (by @VeckoTheGecko, #1215)
  • Adding section to delaystart tutorial on adding particles during execution (#1223)
  • Implementing fieldset.UV.eval for SummedVectorFields too (#1200)

Other fixes

  • Bugfix for ParticleSet.add() in mpi mode (#1194)
  • Fixing the sh: None: command not found warning (#1201)
  • Fixing pipy upload script (#1202)
  • Adding hint for export CC=gcc in compilation error message (#1203)
  • Fixing new flake8 requirements (#1206)
  • Fixing numpy DeprecationWarning in timeslices concatenation (#1207)
  • Fixing DeprecationWarning on elementwise comparison in converters (in #1125)
  • Fix broken ipynb link (by @VeckoTheGecko, #1219)
  • Using f-string in logger info for plotting (#1222)
  • Throwing explicit error in codegenerator when using random() in JIT Kernel (#1230)

New Contributors

Full Changelog: v2.3.1...v2.3.2

Parcels v2.3.1: a Lagrangian Ocean Analysis tool for the petascale age

13 Jul 15:42
31f81d5
Compare
Choose a tag to compare

Parcels v2.3.1 builds upon previous versions of Parcels and specifically introduces the following new (minor) features:

  • Support to save Parcels output in zarr format (#1165)
  • Automatically compress temporary *.npy files with gzip (#1171 by @JamiePringle)
  • Support for curvilinear MITgcm-like indexing (#1166 by @daanreijnders)
  • Switching to tqdm for the progressbar (#1111)
  • Support for installation of Parcels via a pypi package (#1163 by @gmaze)
  • Extended netcdf export format dictionary to unsigned ints (#1152 by @nvogtvincent)
  • Support for periodic boundaries in InteractionKernels (#1096 by @pdnooteboom)

Furthermore, it fixes a number of bugs; most notably #1072, #1089 (fix by @daanreijnders), #1105 (fix by @cpierard), #1113 (fix by @nvogtvincent), #1175, #1182 (fix by @ocefpaf)

Parcels v2.3.0: a Lagrangian Ocean Analysis tool for the petascale age

13 Aug 11:13
67e7d78
Compare
Choose a tag to compare

Parcels v2.3.0 builds upon previous versions of Parcels and specifically introduces four new features:

Furthermore, it includes a few minor bug fixes and removes some of the non-relevant logger Info/warning messages (such as when casting lon and lat to np.float32) (#1022)

Parcels v2.2.2: a Lagrangian Ocean Analysis tool for the petascale age

04 Feb 12:49
400abb4
Compare
Choose a tag to compare

Parcels v2.2.2 builds upon previous versions of Parcels and fixes a number of bugs. Furthermore, it also adds the following features:

  • Reduced the memory required by Parcels in deferred_load=True mode, especially when using large FieldSets, by storing only two snapshots in memory, instead of three (#978)
  • Better and more efficient implementation of dask auto-chunking (note that signature has changed, see updates in the MPI tutorial) (#976)
  • Much faster interpolation in Scipy mode for Curvilinear Grids (#940)
  • A new method to more efficiently initiate particles on Curvilinear Grids by using a kdtree (#954 by @angus-g )
  • Improvements to 2D diffusion kernels (#976 by @daanreijnders )
  • Added a new high-level tutorial on how to start using Parcels on oceanparcels.org (#944 by @reint-fischer )

Plus a large number of minor bug fixes

Parcels v2.2.1: a Lagrangian Ocean Analysis tool for the petascale age

20 Oct 05:53
9a5c0ee
Compare
Choose a tag to compare

Parcels v2.2.1 builds upon previous versions of Parcels and fixes a number of bugs. Furthermore, it also adds the following features:

  • Renaming parcels.random to parcels.ParcelsRandom (#912). Note that this change is not backward-compatible, so update your code
  • Support for MITgcm output on C-grids where the U and V are on the west and north of the f-points (#897)
  • Support for MOM5 output on B-grids, where the W-fields are given below the U and V-fields (#923)
  • Support larger ParticleSets by changing Particle-ID type to int64 (#934)
  • Added a depth_units keyword for FieldSet.from_pop() to support depth units in both 'm' and 'cm' (#857)
  • New tutorials on how to sample Fields and how to postprocess Parcels output (#915 and #929)
  • Control over Cartopy feature options (coastline, land colour etc) in plotTrajectoriesFile() (#939, thanks to @axnsantana)
  • Support for math.nan and != operators in JIT Kernels (#908)
  • Support for applyConversion=False in Field Interpolation (#898)
  • Support to set the write status of a Variable after it's been created via ParticleFile.set_variable_write_status() (#892)

Plus a large number of minor bug fixes

Parcels v2.2.0: a Lagrangian Ocean Analysis tool for the petascale age

11 May 14:26
d733a65
Compare
Choose a tag to compare

Parcels v2.2.0 builds upon previous versions of Parcels and adds a number of new features. most importantly

  1. Improved advection-diffusion kernels, as detailed in this tutorial by @daanreijnders (#823)
  2. Support for time-evolving sigma-grids (#660)
  3. New interpolation scheme for tracers near coastlines, as detailed in this tutorial, thanks to @pierrick-giffard. (#815)
  4. Addition of Kernels to calculate the TEOS-10 equation of state, thanks to @pdnooteboom (#816)
  5. Partial implementation of AnalyticalAdvection Kernel following Döös et al 2017, see also this tutorial
  6. Support for dimensions of length-1. This greatly simplifies creating FieldSets that are constant in longitude and/or latitude (#817)

Plus a large number of minor bug fixes

Parcels v2.1.5: a Lagrangian Ocean Analysis tool for the petascale age

08 Apr 13:48
d9184d4
Compare
Choose a tag to compare

Parcels v2.1.5 builds upon previous versions of Parcels and both improved the reliability as well as the efficiency and versatility of Parcels. In particular

  1. Speed up by perhaps a factor 10(!) in some use-cases by switching data structure of ParticleSet from Array-of-Structures to Structure-of-Arrays (#678, thanks @angus-g!)
  2. Support for sigma-grids with time-varying depth dimensions (#660, see also this tutorial)
  3. Further fixes some issues with dask chunking (# 764, #774, #776)
  4. Improves reliability when dt is very small (< 0.001 s) (#762)
  5. Support for a new ErrorCode StopExecution (#780)
  6. Support for python3.8 (#753)

And various other minor bug fixes

Parcels v2.1.4: a Lagrangian Ocean Analysis tool for the petascale age

13 Feb 13:10
ceb0e42
Compare
Choose a tag to compare

Parcels v2.1.4 is a quick update on v2.1.3 that mostly improves the implementation of field-chunking using dask.

  1. It fixes some Issues with dask chunking, particularly in 3D simulations (#738, #740 and #731)
  2. It adds a von Mises distribution to parcels.random (#725)

And numerous smaller bugfixes.