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
- Rename test file by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1793
- remove duplicate cftime dependency by @observingClouds in https://github.com/OceanParcels/Parcels/pull/1805
- Fixing a bug with default ParticleFile outputdt value by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1808
- Check misaligned timestepping outputdt by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1809
- Ignore bot PRs in release notes by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1794
- Deprecating curvilnear halo support by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1811
- Harmonise Field dimensions order by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1812
- Implement warning for particles initialised outside time domain by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1810
- Remove git, and unused formatting deps by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1817
- Update default branch by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1818
- pin zarr<3 by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1820
- Move Field tests to separate file by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1821
- Refactor example dataset download tests by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1828
- DOC: update maintainer notes by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1830
- Fixing an inconsistency in vertical index search between JIT and Scipy by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1834
- Remove
trajan
as core dependency by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1833 - Small refactors of VectorField and pragma comments by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1836
- Refactoring field interpolation and allow custom interpolation methods in Scipy mode by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1816
- Support for Fields in multiple files without a
time
dimension by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1835 - Small refactors in
particlefile.py
by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1843 - Improve pset.execute time management by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1627
New Contributors
- @observingClouds made their first contribution in https://github.com/OceanParcels/Parcels/pull/1805
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
- Implementing correct depth-to-sigma calculation by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1772
- Adding new tutorial on the impact of grid and velocity interpolation scheme on trajectories by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1769
- Adding support for grid.negate_depth() method by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1778
- Add Python 3.13 support by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1785
Other
- Update doc dep versions by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1757
- Minor changes (3rd party license, repr) by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1759
- Update ParticleType repr by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1766
- DOC: particlefile metadata by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1765
- Fixing wrong calculation of C-grid velocities in Peninsula example Field by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1768
- Fixture in
test_examples.py
to clean up generated data files by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1770 - CI: Add py310 to integration test matrix by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1771
- Patch Ruff config (isort in notebooks) by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1775
- Fixing a warn_outputdt_release_desync bug by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1747
- Cleanup macOS debugging files by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1779
- Add
tmp_zarr
fixture by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1784 - Update default value of particlefile chunks to length of pset by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1788
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
- Add Parcels versioning/deprecation policies and maintainer docs by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1696
- Support for CROCO 3D velocities by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1641
- API changes:
Field
andFieldSet
by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1709 - API changes:
particlefile.py
and other touchups by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1727 - API changes:
particleset.py
andgrid.py
by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1713 - New and updated reprs for Variable, ParticleFile, Field, VectorField, and ParticleSet by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1743
Other
- Patch pypi release python version by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1692
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/OceanParcels/Parcels/pull/1654
- Enable pyupgrade, add Grid repr, and other changes by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1680
- Update the Analytical Advection tutorial by @michaeldenes in https://github.com/OceanParcels/Parcels/pull/1703
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/OceanParcels/Parcels/pull/1707
- Test suite tooling by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1704
- Adding explicit explanation how to add tracers in FieldSet.from_nemo() by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1702
- Bump pypa/gh-action-pypi-publish from 1.10.0 to 1.10.2 by @dependabot in https://github.com/OceanParcels/Parcels/pull/1718
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/OceanParcels/Parcels/pull/1714
- Fixing bug in backward-in-time-writing by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1723
- DOC: Separate out linkcheck by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1725
- Update Git archive config by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1717
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/OceanParcels/Parcels/pull/1726
- FieldSet.from_croco vertical velocities warning by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1732
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/OceanParcels/Parcels/pull/1735
- Fixing loaded_time_indices to support more advanced compute() functions by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1733
- Documenting use of interp_method freeslip for B-grids by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1740
- Adding warning particlestartime outputdt multiple by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1739
- Refactors and bugfixes by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1736
- Bugfix warn_outputdt_release_desync for NaN release times by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1744
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
- Implement warnings in Parcels by @andrew-s28 in https://github.com/OceanParcels/Parcels/pull/1672
- Type annotations by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1660
- added: FieldSet.from_a_grid_dataset by @KOMPALALOKESH in https://github.com/OceanParcels/Parcels/pull/1650
- Drop Python 3.8, 3.9 support by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1658
- Support use of parcels.rng in Kernels by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1618 and update import statements https://github.com/OceanParcels/Parcels/pull/1610
- Fix bug in JIT when interpolation overrides error of previous interpolation by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1645
Other minor changes
- Add deprecation decorators by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1683
- Updates properties for xarray API change by @andrew-s28 in https://github.com/OceanParcels/Parcels/pull/1596
- Fixing customed_Cfunc_header_test to use particle_dlon by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1606
- Documentation updates and numpy randint bugfix by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1604
- Fixing bug when executing a breaking pset by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1630
Documentation updates
- Contributing documentation and issue/discussion templates changes by @VeckoTheGecko in https://github.com/OceanParcels/Parcels/pull/1634
- Minor tutorial updates by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1633
- Updating docstrings for advection kernels by @erikvansebille in https://github.com/OceanParcels/Parcels/pull/1640
Code quality improvement
- https://github.com/OceanParcels/Parcels/pull/1603, https://github.com/OceanParcels/Parcels/pull/1605, https://github.com/OceanParcels/Parcels/pull/1614, https://github.com/OceanParcels/Parcels/pull/1615, https://github.com/OceanParcels/Parcels/pull/1635, https://github.com/OceanParcels/Parcels/pull/1638, https://github.com/OceanParcels/Parcels/pull/1644, https://github.com/OceanParcels/Parcels/pull/1648, https://github.com/OceanParcels/Parcels/pull/1652, https://github.com/OceanParcels/Parcels/pull/1655, https://github.com/OceanParcels/Parcels/pull/1666, https://github.com/OceanParcels/Parcels/pull/1667
New Contributors
- @KOMPALALOKESH made their first contribution in https://github.com/OceanParcels/Parcels/pull/1650
- @dependabot made their first contribution in https://github.com/OceanParcels/Parcels/pull/1677
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
- Changing np.infty to np.inf for compatibility with NumPy 2.0 by @andrew-s28 in https://github.com/OceanParcels/parcels/pull/1589
- Note in the Parcels structure tutorial on the
field[particle]
sampling speed by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1577
Other minor changes
- Fixing some AST deprecationwarnings by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1575
- Fix minor spelling grammar tutorials by @michaeldenes in https://github.com/OceanParcels/parcels/pull/1582
- Renaming CMEMS to Copernicus Marine Service and CMS in documentation by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1583
New Contributors
- @michaeldenes made their first contribution in https://github.com/OceanParcels/parcels/pull/1582
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
- Creating a new
Fieldset.from_modulefile()
method by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1566 - Improve AdvectionRK45 Kernel implementation by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1539
- PyPi release updates by @andrew-s28 in https://github.com/OceanParcels/parcels/pull/1574
Documentation improvements
- Adding note to Parcels tutorial on add_variable compatibility by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1505
- Moving the note on add_variables in the Parcels tutorial to its first use by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1506
- Explaining statuscode kernel order by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1508
- Updating Argo kernel to parcels v3 API by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1524
- Adding infobox on UnitConverter to sampling tutorial by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1540
- Fixing weblink to Ariane software page by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1543
- Adding section in parcels structure tutorial on optimisation and parallelisation by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1555
- Clarifying particle_dlon variable use in kernel loop tutorial by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1535
- Simplifying parcels structure note by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1556
- Fixing link to partition function in the parcels structure tutorial by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1572
Bug-fixes and code-cleaning etc
- Update particleset.py by @dicaearchus in https://github.com/OceanParcels/parcels/pull/1547
- Adding support for delete_cfiles as pset.execute() keyword by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1551
- Compilation error message fix for local variable name that is also FieldSet constant by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1552
- Pinning zarr in environment files to !=2.18.0 by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1565 and @jamespolly in https://github.com/OceanParcels/parcels/pull/1567
- Throwing an error when dt has too high precision by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1558
New Contributors
- @jamespolly made their first contribution in https://github.com/OceanParcels/parcels/pull/1567
- @andrew-s28 made their first contribution in https://github.com/OceanParcels/parcels/pull/1574
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
- Implementing
Particleset.add_variable()
method by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1501 - Setting defaults for
FieldSet.computeTimeChunk()
by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1502
Bug-fixes and code cleaning etc
- make it possible to import dataset with single time instance by @dicaearchus in https://github.com/OceanParcels/parcels/pull/1496
- Simplifying the NEMO curvilinear tutorial by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1499
- Bugfix for cgrid eval without applyConversion by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1500
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/OceanParcels/parcels/pull/1490
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
- Adding support for using Field.from_netcdf() with variable as a dict by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1446
- Expanding explanation of output chunks parameter by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1494
- Running parcels in a grid with a coordinate grid with missing values (nans) by @dicaearchus in https://github.com/OceanParcels/parcels/pull/1495
Refactoring, cleaning etc
- Remove python from binder environment file by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1444
- Fixing links in documentation by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1445
- Field compatible with np.datetime64 entries by @dicaearchus in https://github.com/OceanParcels/parcels/pull/1449
- Fixing that Fieldset.from_data() sets "time_origin" to 0 by default by @dicaearchus in https://github.com/OceanParcels/parcels/pull/1451
- Update tutorial_kernelloop.ipynb by @dicaearchus in https://github.com/OceanParcels/parcels/pull/1454
- Fixing the installation instructions for v3.0 by setting conda solver by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1455
- Clarify order of the start and end arguments in particleset.from_line() in documentation by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1458
- Pep8 compliancy for import statements by @dicaearchus in https://github.com/OceanParcels/parcels/pull/1469
- Updating timestamps tutorial to remove time_periodic=True option by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1476
- Fixing a bug in Kernel definition in the preventing stuck particles documentation by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1479
- Fixing bug in zarr output when setting chunking and repeatdt by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1488
- Add prettier by @VeckoTheGecko in https://github.com/OceanParcels/parcels/pull/1474
New Contributors
- @dicaearchus made their first contribution in https://github.com/OceanParcels/parcels/pull/1449
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
- Re-ordering of Kernel actions to vectorially sum particle displacements by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1402
- Create tutorial_kernelloop.ipynb by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1421
- Update collectionsoa.py to allow user defined MPI partitioning by @JamiePringle in https://github.com/OceanParcels/parcels/pull/1414
- Repeatdt small chunksize warning by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1430
- Compilation info as metadata by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1433
- Adding support for OperationCode.StopAllExecution by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1115
- Storing particle.xi in output files by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1147
Deprecated features
- Removing inbuilt plotting methods by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1397
- Retiring AoS support by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1423
Code clean-ups
- Removing the header message from documentation notebooks by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1381
- Adding thumbnail for geospatial documentation by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1380
- Fixing typo in allow_time_extrapolation docstrings by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1383
- Printing cfile-name in compilation info by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1396
- Simplification of the MPI partition_function explanation by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1424
- Code cleanups by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1427
- Removing stray recovery kernel mentions by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1431
- Removing particleset.density by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1434
- Renumbering statuscodes so that they are increasing by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1439
- More small codecleanups in preparation for parcels v3 by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1438
Other minor fixes to code, installation and Continuous Integration
- Update linkcheck_ignore by @VeckoTheGecko in https://github.com/OceanParcels/parcels/pull/1374
- Patch test_mpi_run failing test by @VeckoTheGecko in https://github.com/OceanParcels/parcels/pull/1375
- Update umamba gha by @ocefpaf in https://github.com/OceanParcels/parcels/pull/1373
- Updated Binder by @VeckoTheGecko in https://github.com/OceanParcels/parcels/pull/1368
- Fix Binder filepath typo by @VeckoTheGecko in https://github.com/OceanParcels/parcels/pull/1378
- Updating citation to latest version by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1385
- Jupyter QA tooling (black, isort, ast) by @VeckoTheGecko in https://github.com/OceanParcels/parcels/pull/1389
- Migrate to
pyproject.toml
(project metadata, tool config cleanup) by @VeckoTheGecko in https://github.com/OceanParcels/parcels/pull/1392 - Fix casting warnings by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1400
- Fix flake8 E721 in
baseparticlefile.py
by @VeckoTheGecko in https://github.com/OceanParcels/parcels/pull/1405 - Adding installation instructions to documentation by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1403
- Add UVsample code and improve consistency by @ammedd in https://github.com/OceanParcels/parcels/pull/1415
- Fixing the link to instructions for parallel installation by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1419
- From lon towrite to lon nextloop by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1422
- Adding explicit message on how to deal with interpolated output by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1437
- Towards a noarch environment file for developer installation by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1416
- Fix dask chunking error by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1436
- Simplifying binder environment file by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1441
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/OceanParcels/parcels/pull/1442
- Updating all tutorials with latest conda environment and parcels v3 code by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1443
- Towards parcels v3.0 by @erikvansebille in https://github.com/OceanParcels/parcels/pull/1426
New Contributors
- @ammedd made their first contribution in https://github.com/OceanParcels/parcels/pull/1415
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
- Cleaning the documentation and moving to ReadTheDocs in https://github.com/OceanParcels/parcels/pull/1321, https://github.com/OceanParcels/parcels/pull/1341, https://github.com/OceanParcels/parcels/pull/1342, https://github.com/OceanParcels/parcels/pull/1346, https://github.com/OceanParcels/parcels/pull/1355 and https://github.com/OceanParcels/parcels/pull/1371 (by @VeckoTheGecko)
- A new tutorial on how to use Parcels output in geospatial datatypes and software https://github.com/OceanParcels/parcels/pull/1359 (by @VeckoTheGecko)
Code changes
- Create combined kernel from kernel function list in https://github.com/OceanParcels/parcels/pull/1351 (by @VeckoTheGecko)
- Speedup C-contiguous arrays in https://github.com/OceanParcels/parcels/pull/1074
isort
support in https://github.com/OceanParcels/parcels/pull/1323 (by @VeckoTheGecko)- Upgrade syntax to Python 3.8 in https://github.com/OceanParcels/parcels/pull/1328 (by @VeckoTheGecko)
GitHub Continuous Integration changes
- Add
black
as dev dependency and intialise .git-blame-ignore-revs in https://github.com/OceanParcels/parcels/pull/1327 (by @VeckoTheGecko) - Configure pre-commit and pre-commit CI in https://github.com/OceanParcels/parcels/pull/1286 (by @VeckoTheGecko)
- Update to use mamba in https://github.com/OceanParcels/parcels/pull/1337 (by @VeckoTheGecko)
- Issue templates in https://github.com/OceanParcels/parcels/pull/1361 (by @VeckoTheGecko)
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
- Fixing a bug in 2D scipy linear_invdist_land interpolation in https://github.com/OceanParcels/parcels/pull/1306
- Implementing time_periodic also for FieldSet.from_xarray_dataset in https://github.com/OceanParcels/parcels/pull/1253
- Adding info on periodic boundaries in global models to tutorial in https://github.com/OceanParcels/parcels/pull/1255
- Support for running on systems with MPI but without sklearn in https://github.com/OceanParcels/parcels/pull/1262
- Fixing the vonmises distribution tests in test_diffusion in https://github.com/OceanParcels/parcels/pull/1279
- Clean up CI/CD workflows in https://github.com/OceanParcels/parcels/pull/1278 (by @VeckoTheGecko)
- Fix Readthedocs in https://github.com/OceanParcels/parcels/pull/1290 (by @VeckoTheGecko)
- Running MPI test without writing Stommel hydrodynamic fields in https://github.com/OceanParcels/parcels/pull/1291
- Updating fieldfilebuffer to not not unravel lonlat-indices when not provided in https://github.com/OceanParcels/parcels/pull/1258
- Allow for Zarr stores being passed to ParticleFile in https://github.com/OceanParcels/parcels/pull/1303 (by @willirath)
- Cleaning up deprecated methods and increasing codecoverage for Parcels in https://github.com/OceanParcels/parcels/pull/1287 (by @VeckoTheGecko) and in https://github.com/OceanParcels/parcels/pull/1295, https://github.com/OceanParcels/parcels/pull/1296, https://github.com/OceanParcels/parcels/pull/1309
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
- Saving Parcels output directly in zarr format (https://github.com/OceanParcels/parcels/pull/1199)
- Updating documentation notebooks (https://github.com/OceanParcels/parcels/pull/1237)
- Fixing 'fatal: not a git repository' warning (https://github.com/OceanParcels/parcels/pull/1251)
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:
- Adding option to silence xarray decodewarnings (https://github.com/OceanParcels/parcels/pull/1208)
- Updating the structure and particle-particle interaction tutorial (by @pdnooteboom, https://github.com/OceanParcels/parcels/pull/1197)
- Clarification on the
show_time
parameter (by @VeckoTheGecko, https://github.com/OceanParcels/parcels/pull/1215) - Adding section to delaystart tutorial on adding particles during execution (https://github.com/OceanParcels/parcels/pull/1223)
- Implementing fieldset.UV.eval for SummedVectorFields too (https://github.com/OceanParcels/parcels/pull/1200)
Other fixes
- Bugfix for ParticleSet.add() in mpi mode (https://github.com/OceanParcels/parcels/pull/1194)
- Fixing the
sh: None: command not found warning
(https://github.com/OceanParcels/parcels/pull/1201) - Fixing pipy upload script (https://github.com/OceanParcels/parcels/pull/1202)
- Adding hint for export CC=gcc in compilation error message (https://github.com/OceanParcels/parcels/pull/1203)
- Fixing new flake8 requirements (https://github.com/OceanParcels/parcels/pull/1206)
- Fixing numpy DeprecationWarning in timeslices concatenation (https://github.com/OceanParcels/parcels/pull/1207)
- Fixing DeprecationWarning on elementwise comparison in converters (in https://github.com/OceanParcels/parcels/pull/1125)
- Fix broken ipynb link (by @VeckoTheGecko, https://github.com/OceanParcels/parcels/pull/1219)
- Using f-string in logger info for plotting (https://github.com/OceanParcels/parcels/pull/1222)
- Throwing explicit error in codegenerator when using random() in JIT Kernel (https://github.com/OceanParcels/parcels/pull/1230)
New Contributors
- @VeckoTheGecko made their first contribution in https://github.com/OceanParcels/parcels/pull/1215
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:
- Prototype implementation of Particle-Particle interaction in Scipy mode (#1031, thanks to @qubixes and @RoelBrouwer ).
- Implementation of Particle-Field interaction in Scipy mode (#1045, thanks to @fedeguerr)
- Implementation of a second type of ParticleSet (Array-of-Structures,
ParticleSetAOS
) as addition to the default Structure-of-Arrays (ParticleSetSOA
) (#999) - Partial- and free-slip boundary interpolation methods for velocity fields on A-grids (#1052, thanks to @reint-fischer )
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
toparcels.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 forFieldSet.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 viaParticleFile.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
- Improved advection-diffusion kernels, as detailed in this tutorial by @daanreijnders (#823)
- Support for time-evolving sigma-grids (#660)
- New interpolation scheme for tracers near coastlines, as detailed in this tutorial, thanks to @pierrick-giffard. (#815)
- Addition of Kernels to calculate the TEOS-10 equation of state, thanks to @pdnooteboom (#816)
- Partial implementation of AnalyticalAdvection Kernel following Döös et al 2017, see also this tutorial
- 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
- 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!) - Support for sigma-grids with time-varying depth dimensions (#660, see also this tutorial)
- Further fixes some issues with
dask
chunking (# 764, #774, #776) - Improves reliability when
dt
is very small (< 0.001 s) (#762) - Support for a new ErrorCode
StopExecution
(#780) - 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
.
- It fixes some Issues with dask chunking, particularly in 3D simulations (#738, #740 and #731)
- 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
- It fixes some serious issues with memory usage for field chunking (see #668, #703 and #711), which have now been addressed in #719
- Fixing xarray compatibility (#716)
- Fixing a bug in cartopy.quiver (#714)
- 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:
- 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.
- It also fixes a smaller bug (#676) with the
timestamps
argument inField.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]
- 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.
- For an efficient loading of the
Fieldset
, theField
objects are now loaded by chunks, controlled by the parameterfield_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. - 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)
- A proper management of
particle.dt
modified by the kernel. If the kernel modifiesparticle.dt
, the kernel will automatically be restarted with the updateddt
. If you want to simply updates thedt
for next kernel call, useparticle.update_next_dt(new_dt)
. (#657) - New particles can now be added to the
ParticleSet
only via a temporaryParticleSet
object. This enables a proper control of theparticle.id
in parallel (#629) 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)- Using the
time_periodic
flag inFieldSet
creation now requires the length of the period (#659) - 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:
- 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.
- For an efficient loading of the
Fieldset
, theField
objects are now loaded by chunks, controlled by the parameterfield_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. - 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)
- A proper management of
particle.dt
modified by the kernel. If the kernel modifiesparticle.dt
, the kernel will automatically be restarted with the updateddt
. If you want to simply updates thedt
for next kernel call, useparticle.update_next_dt(new_dt)
. (#657) - New particles can now be added to the
ParticleSet
only via a temporaryParticleSet
object. This enables a proper control of theparticle.id
in parallel (#629) 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)- Using the
time_periodic
flag inFieldSet
creation now requires the length of the period (#659) - 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
-
The order of arguments for
Field
interpolation has changed. This is nowfield[time, depth, lat, lon]
, which is consistent with the dimension order in which data is stored in thefield.data
numpy array (#503 and #276). -
The
dt
argument has been dropped from Kernel definitions, so that the only arguments allowed in a Kernel aredef kernelfunc(fieldset, particle, time)
(#503) -
Interpolation for C-grids is now done in a fluxes framework, instead of a velocity framework (#499 and #494).
-
Interpolation for B-grids (#573)
-
Support for
np.float64
accuracy of particle locations. This can be set using thelonlatdepth_dtype
argument in ParticleSet construction. Default isnp.float64
for C-grids, andnp.float32
for all other grids (#552 and #557)
Note also a number of other minor development:
- See v2.0.0.beta
- See v2.0.0.beta2
- Unpinning netcdf4 1.4.1 (#597)
- Numerous bug fixes
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 thelonlatdepth_dtype
argument inParticleSet
construction. Default isnp.float64
for C-grids, andnp.float32
for all other grids (#552 and #557) - Renaming of the
full_load
argument inFieldSet.from_netcdf()
construction todeferred_load
, wheredeferred_load = not full_load
, for consistency with how we normally call this mode. Default for netcdf files with more than three snapshots isdeferred_load=True
(#550) - Support for Netcdf files without a
time
dimension, by using thetimestamps
argument inFieldSet
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 onlylon
,lat
,depth
andtime
(#545) - Change in how variable name should be set in
Field.from_netcdf()
. Now use tuplevariable=(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
-
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 thefield.data
numpy array (#503 and #276). -
The
dt
argument has been dropped from Kernel definitions, so that the only arguments allowed in a Kernel aredef kernelfunc(fieldset, particle, time)
(#503) -
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 readxarray.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 offilenames
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 forFieldset.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 toSummedFields
, so that Fields can be summed byfieldAB = 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 likeAdvectionRK4
to work on multipleFields
at once. See also the tutorial - Changing the plotting routines from
Basemap
tocartopy
(#401). Note that this means you will need to uninstallBasemap
and installcartopy
, 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 ofParticleSet.execute()
(#381 and #418) - Possibility to initialise custom
Variables
directly inParticleSet.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 matchFieldSet.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 inFieldSet.from_netcdf()
(andFieldSet.from_nemo()
) don't require more memory. If you still require the entire dataset to be loaded in one go, you can usefull_load=True
as an option toFieldSet.from_netcdf()
. - The
ParticleFile
class now always writes particle data inarray
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 renamedoutputdt
and should now be set when creating theParticleFile
object - the
show_movie
argument has been split into amoviedt
argument (to set the frequency of the animation) and amovie_background_field
argument that determines which background field to show (either aField
object, or the stringvector
) or the defaultNone
for no background field endtime
cannot be atimedelta
object anymore. Only valid formats forendtime
are adatetime
object or adouble
. If you want to give atimedelta
object, use theruntime
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 negatedt
- the
- Renaming of old
FieldSet.from_nemo()
toFieldSet.from_parcels()
and newFieldSet.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, forJITParticles
(#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 differentGrids
in oneFieldSet
(#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
