A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

Recent Releases of parcels

parcels - Parcels v3.1.2: a Lagrangian Ocean Analysis tool for the petascale age

This is a minor update from Parcels v3.1.1, made in preparation for development on Parcels v4.

What's Changed

New Contributors

Full Changelog: https://github.com/OceanParcels/Parcels/compare/v3.1.1...v3.2.0

Hydrosphere - Waves and Currents - Python
Published by VeckoTheGecko 3 months ago

parcels - Parcels v3.1.1: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v3.1.1 is a minor update based on v3.1.0. It improves the implementation of Croco and ROMS 3D vertical velocities (#1772)

Important

Other

Full Changelog: https://github.com/OceanParcels/Parcels/compare/v3.1.0...v3.1.1

Hydrosphere - Waves and Currents - Python
Published by erikvansebille 5 months ago

parcels - Parcels v3.1.0: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v3.1.0 implements support for CROCO sigma grids, adds reprs for key parcels classes (allowing you to easily introspect fieldsets etc), and makes changes to the API (complete with user warnings) to clearly distinguish what the user is expected to use.

What's Changed

Important

Other

Full Changelog: https://github.com/OceanParcels/Parcels/compare/v3.0.5...v3.1.0

Hydrosphere - Waves and Currents - Python
Published by VeckoTheGecko 6 months ago

parcels - Parcels v3.0.6: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v3.0.6 is a minor update to v3.0.5 that fixes a bug flagged in #1722 regarding time-stepping in the output file.

Full Changelog: https://github.com/OceanParcels/Parcels/compare/v3.0.5...v3.0.6

Hydrosphere - Waves and Currents - Python
Published by VeckoTheGecko 7 months ago

parcels - Parcels v3.0.5: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v3.0.5 is a minor update to v3.0.4 that fixes a few minor bugs, cleans up code and adds contribution guidelines.

Most important changes

Other minor changes

Documentation updates

Code quality improvement

New Contributors

Full Changelog: https://github.com/OceanParcels/Parcels/compare/v3.0.4...v3.0.5

Hydrosphere - Waves and Currents - Python
Published by erikvansebille 8 months ago

parcels - Parcels v3.0.4: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v3.0.4 is a minor update to v3.0.3 that patches a compatibility issue with the new NumPy 2.0, where np.infty is not supported anymore.

Most important changes

Other minor changes

New Contributors

Full Changelog: https://github.com/OceanParcels/parcels/compare/v3.0.3...v3.0.4

Hydrosphere - Waves and Currents - Python
Published by erikvansebille 10 months ago

parcels - Parcels v3.0.3: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v3.0.3 is a minor update to v3.0.2. It includes a new way to create a FieldSet using FieldSet.from_modulefile(), improves the implementation of the AdvectionRK45 Kernel, and implements a test for the pypi-package upon release. It also includes a number of updates to the tutorials and fixes a number of bugs.

What's Changed

Most relevant for users

Documentation improvements

Bug-fixes and code-cleaning etc

New Contributors

Full Changelog: https://github.com/OceanParcels/parcels/compare/v3.0.2...v3.0.3

Hydrosphere - Waves and Currents - Python
Published by erikvansebille 11 months ago

parcels - Parcels v3.0.2: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v3.0.2 is a minor update to v3.0.1. It includes a new, more intuitive way to add Variables to a ParticleSet class, using a new Particleset.add_variable() method (#1501). It also fixes a number of bugs.

What's Changed

Most relevant for users

Bug-fixes and code cleaning etc

Full Changelog: https://github.com/OceanParcels/parcels/compare/v3.0.1...v3.0.2

Hydrosphere - Waves and Currents - Python
Published by erikvansebille about 1 year ago

parcels - Parcels v3.0.1: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v3.0.1 is a minor update to v3.0.0. It fixes a number of bugs and includes some important clarifications to the documentation and tutorials. Specifically:

What's Changed

Most relevant for users

Refactoring, cleaning etc

New Contributors

Full Changelog: https://github.com/OceanParcels/parcels/compare/v3.0.0...v3.0.1

Hydrosphere - Waves and Currents - Python
Published by erikvansebille over 1 year ago

parcels - Parcels v3.0.0: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v3.0.0 is a major update to v2.4.2. The most important change is that the kernel loop has been changed, to support vectorial summing of particle displacements, in #1402. This change and its implications are explained in the new Kernel Loop tutorial.

This version also deprecates the in-built plotting methods field.show() and pset.show() in #1397. Furthermore, this version includes a major code clean-up, mostly by retiring support for Array-of-Structure (AoS) data architecture, in #1423.

What's Changed

New features

Deprecated features

Code clean-ups

Other minor fixes to code, installation and Continuous Integration

New Contributors

Full Changelog: https://github.com/OceanParcels/parcels/compare/v2.4.2...v3.0.0

Hydrosphere - Waves and Currents - Python
Published by erikvansebille over 1 year ago

parcels - Parcels v2.4.2: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v2.4.2 is a minor update to the v2.4.1 release of February 2023; focussing mostly on a redesign of the documentation, notebooks and tutorial structure at docs.oceanparcels.org, using ReadTheDocs. This change was a fantastic effort by @VeckoTheGecko.

What's Changed

Documentation changes

Code changes

GitHub Continuous Integration changes

Full Changelog: https://github.com/OceanParcels/parcels/compare/v2.4.1...v2.4.2

Hydrosphere - Waves and Currents - Python
Published by erikvansebille almost 2 years ago

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

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

Full Changelog: https://github.com/OceanParcels/parcels/compare/v2.4.0...v2.4.1

Hydrosphere - Waves and Currents - Python
Published by erikvansebille about 2 years ago

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

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

Full Changelog: https://github.com/OceanParcels/parcels/compare/v2.3.2...v2.4.0

Hydrosphere - Waves and Currents - Python
Published by erikvansebille over 2 years ago

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

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:

Other fixes

New Contributors

Full Changelog: https://github.com/OceanParcels/parcels/compare/v2.3.1...v2.3.2

Hydrosphere - Waves and Currents - Python
Published by erikvansebille over 2 years ago

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

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)

Hydrosphere - Waves and Currents - Python
Published by erikvansebille almost 3 years ago

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

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)

Hydrosphere - Waves and Currents - Python
Published by erikvansebille over 3 years ago

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

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

Hydrosphere - Waves and Currents - Python
Published by erikvansebille about 4 years ago

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

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

Hydrosphere - Waves and Currents - Python
Published by erikvansebille over 4 years ago

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

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

Hydrosphere - Waves and Currents - Python
Published by erikvansebille almost 5 years ago

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

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

Hydrosphere - Waves and Currents - Python
Published by erikvansebille about 5 years ago

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

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.

Hydrosphere - Waves and Currents - Python
Published by erikvansebille about 5 years ago

parcels - Parcels v2.1.3: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v2.1.3 is an update mostly focussing on improved memory behaviour when doing large simulations. In particular

  1. It fixes some serious issues with memory usage for field chunking (see #668, #703 and #711), which have now been addressed in #719
  2. Fixing xarray compatibility (#716)
  3. Fixing a bug in cartopy.quiver (#714)
  4. New kernels to compute density (#688)

And various other minor bug fixes

Hydrosphere - Waves and Currents - Python
Published by erikvansebille about 5 years ago

parcels - Parcels v2.1.2: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v2.1.2 is a quick release build on previous versions v2.1.1. In particular:

  1. It fixes a serious bug on some systems with floating point accuracy, that could lead to incorrect output files (see #670 and solution at #672). For this reason, all users are encouraged to use this new version v2.1.2 instead of v2.1.1.
  2. It also fixes a smaller bug (#676) with the timestamps argument in Field.from_netcdf()

Hydrosphere - Waves and Currents - Python
Published by erikvansebille over 5 years ago

parcels - Parcels v2.1.1: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v2.1.1 builds on previous versions v2.0.0. The major changes of v2.1.1 are:

[Note that v2.1.1 comes after a botched release of v2.1.0]

  1. Parcels has a parallel MPI version! While working on multiple processors, the particles are spread over the processors for an efficient integration. (#625). See https://oceanparcels.org#parallel_install for instructions on how to install.
  2. For an efficient loading of the Fieldset, the Field objects are now loaded by chunks, controlled by the parameter field_chunksize (#632). This results in lower memory usage and faster simulation. It is also a fundamental part of the parallel implementation, since for low number of particles per processor, the computation time is dominated by the loading of the data. A more efficient parallel version will be dynamically balancing the particles between the processors such to minimise the number of chunks loaded per processor. See this document for further background on the implementation.
  3. An efficient writing of the particleset. For a quicker export of the data, particles are now dumped into npy files during simulation. The pickles are gathered into one single file at the end of the simulation. (#614)
  4. A proper management of particle.dt modified by the kernel. If the kernel modifies particle.dt, the kernel will automatically be restarted with the updated dt. If you want to simply updates the dt for next kernel call, use particle.update_next_dt(new_dt). (#657)
  5. New particles can now be added to the ParticleSet only via a temporary ParticleSet object. This enables a proper control of the particle.id in parallel (#629)
  6. Field.gradient() function is not available anymore. This functionality was providing spurious results on curvilinear grids and was conflicting with the use of chunked fields. Users can still obtain easily an accurate field gradient (see example proposed in #633)
  7. Using the time_periodic flag in FieldSet creation now requires the length of the period (#659)
  8. Numerous bug fixes

Note that Parcels v2.1.1 is the last version to officially support Python 2.7. While all functionalities currently work with both Python 2 and 3, new development and code dependencies will progressively lead to incompatibility with Python 2. We strongly advice the users to switch to Python 3.

Hydrosphere - Waves and Currents - Python
Published by delandmeterp over 5 years ago

parcels - Parcels v2.1.0: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v2.1.0 builds on previous versions v2.0.0. The major changes of v2.1.0 are:

  1. Parcels has a parallel MPI version! While working on multiple processors, the particles are spread over the processors for an efficient integration. (#625). See https://oceanparcels.org#parallel_install for instructions on how to install.
  2. For an efficient loading of the Fieldset, the Field objects are now loaded by chunks, controlled by the parameter field_chunksize (#632). This results in lower memory usage and faster simulation. It is also a fundamental part of the parallel implementation, since for low number of particles per processor, the computation time is dominated by the loading of the data. A more efficient parallel version will be dynamically balancing the particles between the processors such to minimise the number of chunks loaded per processor. See this document for further background on the implementation.
  3. An efficient writing of the particleset. For a quicker export of the data, particles are now dumped into npy files during simulation. The pickles are gathered into one single file at the end of the simulation. (#614)
  4. A proper management of particle.dt modified by the kernel. If the kernel modifies particle.dt, the kernel will automatically be restarted with the updated dt. If you want to simply updates the dt for next kernel call, use particle.update_next_dt(new_dt). (#657)
  5. New particles can now be added to the ParticleSet only via a temporary ParticleSet object. This enables a proper control of the particle.id in parallel (#629)
  6. Field.gradient() function is not available anymore. This functionality was providing spurious results on curvilinear grids and was conflicting with the use of chunked fields. Users can still obtain easily an accurate field gradient (see example proposed in #633)
  7. Using the time_periodic flag in FieldSet creation now requires the length of the period (#659)
  8. Numerous bug fixes

Note that Parcels v2.1.0 is the last version to officially support Python 2.7. While all functionalities currently work with both Python 2 and 3, new development and code dependencies will progressively lead to incompatibility with Python 2. We strongly advice the users to switch to Python 3.

Hydrosphere - Waves and Currents - Python
Published by delandmeterp over 5 years ago

parcels - Parcels v2.0.0: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v2.0.0 builds on previous versions v2.0.0.beta and v2.0.0.beta2. It's the release which is fully described in the paper The Parcels v2.0 Lagrangian framework: new field interpolation schemes, by Delandmeter and van Sebille, 2019, GMD.

The major changes of v2.0.0 compared to v1.1.1 are

  1. The order of arguments for Field interpolation has changed. This is now field[time, depth, lat, lon], which is consistent with the dimension order in which data is stored in the field.data numpy array (#503 and #276).

  2. The dt argument has been dropped from Kernel definitions, so that the only arguments allowed in a Kernel are def kernelfunc(fieldset, particle, time) (#503)

  3. Interpolation for C-grids is now done in a fluxes framework, instead of a velocity framework (#499 and #494).

  4. Interpolation for B-grids (#573)

  5. Support for np.float64 accuracy of particle locations. This can be set using the lonlatdepth_dtype argument in ParticleSet construction. Default is np.float64 for C-grids, and np.float32 for all other grids (#552 and #557)

Note also a number of other minor development:

Hydrosphere - Waves and Currents - Python
Published by delandmeterp almost 6 years ago

parcels - Parcels v2.0.0-beta2: a Lagrangian Ocean Analysis tool for the petascale age

This is the second beta version of Parcels v2.0.0. It builds upon v2.0.0beta, and compared to that version has a few important fixes and improvements:

  • Support for np.float64 accuracy of particle locations. This can be set using the lonlatdepth_dtype argument in ParticleSet construction. Default is np.float64 for C-grids, and np.float32 for all other grids (#552 and #557)
  • Renaming of the full_load argument in FieldSet.from_netcdf() construction to deferred_load, where deferred_load = not full_load, for consistency with how we normally call this mode. Default for netcdf files with more than three snapshots is deferred_load=True (#550)
  • Support for Netcdf files without a time dimension, by using the timestamps argument in FieldSet construction (#540)
  • New tutorials on how to work with 3-dimensional C-grid data such as NEMO (#531) and the UnitConverter classes (#516)
  • Check if the keys in the dimensions dictionary are only lon, lat, depth and time (#545)
  • Change in how variable name should be set in Field.from_netcdf(). Now use tuple variable=(Field_name, variable_name_in_NetCDF_file) (#545)
  • Numerous bugfixes

Note also that there is a problem with the latest release of the netCDF4 library, v1.4.2 (Issue #513). For the time being, we recommend downgrading to v1.4.1, using conda install netcdf4=1.4.1

Hydrosphere - Waves and Currents - Python
Published by erikvansebille about 6 years ago

parcels - Parcels v2.0.0-beta: a Lagrangian Ocean Analysis tool for the petascale age

This is the beta-release of Parcels v2. Compared to the last v1.1.1 release, there are three important changes

  1. The order of arguments for Field interpolation has changed. This is now field[time, depth, lat, lon], which is consistent with the dimension order in which data is stored in the field.data numpy array (#503 and #276).

  2. The dt argument has been dropped from Kernel definitions, so that the only arguments allowed in a Kernel are def kernelfunc(fieldset, particle, time) (#503)

  3. Interpolation for C-grids is now done in a fluxes framework, instead of a velocity framework. The details of this will be presented in a manuscript, to be submitted soon (#499 and #494)

Note that 1) and 2) above mean that Kernels written for Parcels v1 will break in this Parcels v2. If you're updating to this v2.0.0beta, therefore please update your custom Kernels.

Other updates since v1.1.1 are:

  • New FieldSet.from_xarray_dataset() method to directly read xarray.DataSet objects (#476)
  • An optional argument in Field.show() to control which depth level to plot (#478)
  • ParticleSet.from_field() now also implemented for Curvilinear Fields (#496)
  • And numerous small bug fixes

Hydrosphere - Waves and Currents - Python
Published by erikvansebille over 6 years ago

parcels - Parcels v1.1.1: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v1.1.1 builds on the previous v1.1.0 release. Major changes since then:

  • In Fieldset.from_netcdf(), the format of filenames argument has been enriched (#463).
    As before, filenames can be:

    • list of files
    • dictionaries of list of files, where the dictionary keys are field names

    On top of that, filenames can now be:

    • dictionaries of lists of files, where the dictionary keys are dimension names: filenames[dimension_name] = [files]
    • dictionaries of dictionaries of lists of files: filenames[field_name][dimension_name] = [files]

    This particularly affects the function Fieldset.from_nemo():

    New filenames looks like:

    filenames = {'U': {'lon': data_path + 'mesh_mask.nc4',
                       'lat': data_path + 'mesh_mask.nc4',
                       'data': data_path + 'U_purely_zonal-ORCA025_grid_U.nc4'},
                 'V': {'lon': data_path + 'mesh_mask.nc4',
                       'lat': data_path + 'mesh_mask.nc4',
                       'data': data_path + 'V_purely_zonal-ORCA025_grid_V.nc4'}}
    

    instead of:

    filenames = {'U': data_path + 'U_purely_zonal-ORCA025_grid_U.nc4',
                 'V': data_path + 'V_purely_zonal-ORCA025_grid_V.nc4',
                 'mesh_mask': data_path + 'mesh_mask.nc4'}
    

    This modification enables to easily read 3d curvilinear NEMO fields, when the depth dimension is in the data-files.

  • A new TimeConverter class converts between dates and the number of seconds that Parcels uses under the hood. This enables to read netcdf files with less common time formats, such as NOLEAP. (#456)

  • New netcdf_engine as argument for Fieldset.from_netcdf(), enables to open netcdf files with a different engine when the default netcdf4 engine does not work. (#460)

  • Improved error messages for C-kernel generator (#457)

  • Minor bug fixes

Note that it is now recommended to use a recent version of xarray (>=0.10.8) together with Parcels, since it better parses some netcdf files used by common OGCMs.

Hydrosphere - Waves and Currents - Python
Published by delandmeterp over 6 years ago

parcels - Parcels v1.1.0: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v1.1 builds on the previous v1.0.5 release. Major changes since then

  • A renaming of the FieldList class to SummedFields, so that Fields can be summed by fieldAB = fieldA + fieldB (#435)
  • Implement way to do computations on defer-loaded FieldSets (#430). Useful for on-the-fly computing of e.g. relative vorticity.
  • Adding of metadata, including by default the Parcels version, to the ParticleFile (#438)
  • Support for ParticleSet.from_field() for Curvilinear Grids (#429)
  • A few bug fixes, including for rotated grids (#440), for indices across 2D and 3D Fields (#437) and for Fields without time dimension (#431)

As always, please let us know if anything isn't working as expected.

Hydrosphere - Waves and Currents - Python
Published by erikvansebille over 6 years ago

parcels - Parcels v1.0.5: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v1.0.5 is a quick update of v1.0.4, mostly because of problems to create a conda-forge package from v1.0.4.

Nevertheless, there are also a few minor updates in this v1.0.5

  • Support for the ** operator to take power in JIT mode (#424)
  • Fixed a bug where runtime was sometimes not correctly set when deferred-loading fields (#422)

Note that installation instructions have changed. After creating the conda environment, users should now run python setup.py install

Hydrosphere - Waves and Currents - Python
Published by erikvansebille over 6 years ago

parcels - Parcels v1.0.4: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v1.0.4 builds on the previous v1.0.3 release. Major changes since then

  • Support for FieldLists (#393), which allows Kernels like AdvectionRK4 to work on multiple Fields at once. See also the tutorial
  • Changing the plotting routines from Basemap to cartopy (#401). Note that this means you will need to uninstall Basemap and install cartopy, as they are conflicting
  • Interpolation of velocities on C-grids. This also means that the angle file is not needed anymore in FieldSet.from_nemo() (#394)
  • Much smaller output files by controlling the NetCDF chunk size (#366)
  • Displaying a Progressbar for long (> 10 seconds) runs of ParticleSet.execute() (#381 and #418)
  • Possibility to initialise custom Variables directly in ParticleSet.from_list() (#397)
  • Numerous bug fixes

As always, please let us know if anything isn't working as expected.

Note that this release has some installation issues, so should not be used. Use v1.0.5 instead

Hydrosphere - Waves and Currents - Python
Published by erikvansebille over 6 years ago

parcels - Parcels v1.0.3: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v1.0.3 builds on the previous v1.0.2 release. Major changes since then:

  • Fixed bug in Windows install (#355)
  • Spatially varying Brownian (#340) and exponential variate (#333) diffusion
  • Added option for two-dimensional histograms in plotParticleTrajectories() (#367)
  • Arguments for Field.from_netcdf() have changed to match FieldSet.from_netcdf() (#364)
  • Minor other bugs fixed

Hydrosphere - Waves and Currents - Python
Published by erikvansebille almost 7 years ago

parcels - Parcels v1.0.2: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v1.0.2 builds on the previous v1.0.1 release. Major changes since then:

  • Parcels is now also Python3-compatible
  • No need anymore for FieldSet.advancetime(), as advancing of time for large datasets is now dealt with under the hood. For datasets that have more than 3 time snapshots, Parcels runs in 'defer_load' mode, where the actual reading of NetCDF files is only performed when required. This means that longer lists of filenames in FieldSet.from_netcdf() (and FieldSet.from_nemo()) don't require more memory. If you still require the entire dataset to be loaded in one go, you can use full_load=True as an option to FieldSet.from_netcdf().
  • TheParticleFile class now always writes particle data in array format. See also http://oceanparcels.org/faq.html#outputformat
  • The website has been revamped at http://oceanparcels.org, with repository at https://github.com/OceanParcels/oceanparcels_website

Hydrosphere - Waves and Currents - Python
Published by erikvansebille about 7 years ago

parcels - Parcels v1.0.1: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v1.0.1 builds on the previous v1.0 release. Major changes since then:

  • Changes to the arguments of ParticleSet.execute(): (#289)
    • the interval argument has been renamed outputdt and should now be set when creating the ParticleFile object
    • the show_movie argument has been split into a moviedt argument (to set the frequency of the animation) and a movie_background_field argument that determines which background field to show (either a Field object, or the string vector) or the default None for no background field
    • endtime cannot be a timedelta object anymore. Only valid formats for endtime are a datetime object or a double. If you want to give a timedelta object, use the runtime argument
    • Except for dt, all arguments controlling intervals should always be positive, regardless of whether you run in forward or backward mode. Hence, to change the direction of a run, the only thing to change is to negate dt
  • Renaming of old FieldSet.from_nemo() to FieldSet.from_parcels() and new FieldSet.from_nemo to handle Curvilinear NEMO grids (#285)
  • Adding of a timer class to profile CPU time (#288)
  • Adding of option ParticleFile(..., write_ondelete=True) to write only particle data when particle is deleted (#290)
  • Adding option to write Kernels directly as C-functions, for JITParticles (#278)

Hydrosphere - Waves and Currents - Python
Published by erikvansebille about 7 years ago

parcels - Parcels v1.0: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v1.0 build on the previous v0.9 release. Major changes since then:

  • Support for many more types of Grids, including curvilinear (horizontal) and s-grids (vertical) (#262)
  • Added a Brownian diffusion kernel. More diffusion kernels to come in future versions (#269)
  • Easier API for repeated particle release (#261)
  • Support for Fields with different Grids in one FieldSet (#241)
  • Support on Windows OS (#236) and easier install on macOS and Linux (#228)
  • Many bugfixes and tweaks

Future work now will focus on efficiency and parallelisation of Parcels. Thanks to all who contributed to this version 1.0!

Hydrosphere - Waves and Currents - Python
Published by erikvansebille over 7 years ago

parcels - Parcels v0.9: prototyping a Lagrangian Ocean Analysis tool for the petascale age

Parcels v0.9 is a fully-functional, feature-complete code for offline Lagrangian ocean analysis. This version 0.9 is focussed on laying out the API, with future work concentrating on optimisation, efficiency and at-runtime integration with OGCMs.

Hydrosphere - Waves and Currents - Python
Published by erikvansebille almost 8 years ago