Releases: OceanParcels/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 #1772
- Adding new tutorial on the impact of grid and velocity interpolation scheme on trajectories by @erikvansebille in #1769
- Adding support for grid.negate_depth() method by @erikvansebille in #1778
- Add Python 3.13 support by @VeckoTheGecko in #1785
Other
- Update doc dep versions by @VeckoTheGecko in #1757
- Minor changes (3rd party license, repr) by @VeckoTheGecko in #1759
- Update ParticleType repr by @VeckoTheGecko in #1766
- DOC: particlefile metadata by @VeckoTheGecko in #1765
- Fixing wrong calculation of C-grid velocities in Peninsula example Field by @erikvansebille in #1768
- Fixture in
test_examples.py
to clean up generated data files by @VeckoTheGecko in #1770 - CI: Add py310 to integration test matrix by @VeckoTheGecko in #1771
- Patch Ruff config (isort in notebooks) by @VeckoTheGecko in #1775
- Fixing a warn_outputdt_release_desync bug by @erikvansebille in #1747
- Cleanup macOS debugging files by @VeckoTheGecko in #1779
- Add
tmp_zarr
fixture by @VeckoTheGecko in #1784 - Update default value of particlefile chunks to length of pset by @erikvansebille in #1788
Full Changelog: v3.1.0...v3.1.1
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 #1696
- Support for CROCO 3D velocities by @erikvansebille in #1641
- API changes:
Field
andFieldSet
by @VeckoTheGecko in #1709 - API changes:
particlefile.py
and other touchups by @VeckoTheGecko in #1727 - API changes:
particleset.py
andgrid.py
by @VeckoTheGecko in #1713 - New and updated reprs for Variable, ParticleFile, Field, VectorField, and ParticleSet by @VeckoTheGecko in #1743
Other
- Patch pypi release python version by @VeckoTheGecko in #1692
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1654
- Enable pyupgrade, add Grid repr, and other changes by @VeckoTheGecko in #1680
- Update the Analytical Advection tutorial by @michaeldenes in #1703
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1707
- Test suite tooling by @VeckoTheGecko in #1704
- Adding explicit explanation how to add tracers in FieldSet.from_nemo() by @erikvansebille in #1702
- Bump pypa/gh-action-pypi-publish from 1.10.0 to 1.10.2 by @dependabot in #1718
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1714
- Fixing bug in backward-in-time-writing by @erikvansebille in #1723
- DOC: Separate out linkcheck by @VeckoTheGecko in #1725
- Update Git archive config by @VeckoTheGecko in #1717
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1726
- FieldSet.from_croco vertical velocities warning by @erikvansebille in #1732
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1735
- Fixing loaded_time_indices to support more advanced compute() functions by @erikvansebille in #1733
- Documenting use of interp_method freeslip for B-grids by @erikvansebille in #1740
- Adding warning particlestartime outputdt multiple by @erikvansebille in #1739
- Refactors and bugfixes by @VeckoTheGecko in #1736
- Bugfix warn_outputdt_release_desync for NaN release times by @erikvansebille in #1744
Full Changelog: v3.0.5...v3.1.0
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: v3.0.5...v3.0.6
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 #1672
- Type annotations by @VeckoTheGecko in #1660
- added: FieldSet.from_a_grid_dataset by @KOMPALALOKESH in #1650
- Drop Python 3.8, 3.9 support by @VeckoTheGecko in #1658
- Support use of parcels.rng in Kernels by @erikvansebille in #1618 and update import statements #1610
- Fix bug in JIT when interpolation overrides error of previous interpolation by @erikvansebille in #1645
Other minor changes
- Add deprecation decorators by @VeckoTheGecko in #1683
- Updates properties for xarray API change by @andrew-s28 in #1596
- Fixing customed_Cfunc_header_test to use particle_dlon by @erikvansebille in #1606
- Documentation updates and numpy randint bugfix by @VeckoTheGecko in #1604
- Fixing bug when executing a breaking pset by @erikvansebille in #1630
Documentation updates
- Contributing documentation and issue/discussion templates changes by @VeckoTheGecko in #1634
- Minor tutorial updates by @erikvansebille in #1633
- Updating docstrings for advection kernels by @erikvansebille in #1640
Code quality improvement
New Contributors
- @KOMPALALOKESH made their first contribution in #1650
- @dependabot made their first contribution in #1677
Full Changelog: v3.0.4...v3.0.5
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 #1589
- Note in the Parcels structure tutorial on the
field[particle]
sampling speed by @erikvansebille in #1577
Other minor changes
- Fixing some AST deprecationwarnings by @erikvansebille in #1575
- Fix minor spelling grammar tutorials by @michaeldenes in #1582
- Renaming CMEMS to Copernicus Marine Service and CMS in documentation by @erikvansebille in #1583
New Contributors
- @michaeldenes made their first contribution in #1582
Full Changelog: v3.0.3...v3.0.4
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 #1566 - Improve AdvectionRK45 Kernel implementation by @erikvansebille in #1539
- PyPi release updates by @andrew-s28 in #1574
Documentation improvements
- Adding note to Parcels tutorial on add_variable compatibility by @erikvansebille in #1505
- Moving the note on add_variables in the Parcels tutorial to its first use by @erikvansebille in #1506
- Explaining statuscode kernel order by @erikvansebille in #1508
- Updating Argo kernel to parcels v3 API by @erikvansebille in #1524
- Adding infobox on UnitConverter to sampling tutorial by @erikvansebille in #1540
- Fixing weblink to Ariane software page by @erikvansebille in #1543
- Adding section in parcels structure tutorial on optimisation and parallelisation by @erikvansebille in #1555
- Clarifying particle_dlon variable use in kernel loop tutorial by @erikvansebille in #1535
- Simplifying parcels structure note by @erikvansebille in #1556
- Fixing link to partition function in the parcels structure tutorial by @erikvansebille in #1572
Bug-fixes and code-cleaning etc
- Update particleset.py by @dicaearchus in #1547
- Adding support for delete_cfiles as pset.execute() keyword by @erikvansebille in #1551
- Compilation error message fix for local variable name that is also FieldSet constant by @erikvansebille in #1552
- Pinning zarr in environment files to !=2.18.0 by @erikvansebille in #1565 and @jamespolly in #1567
- Throwing an error when dt has too high precision by @erikvansebille in #1558
New Contributors
- @jamespolly made their first contribution in #1567
- @andrew-s28 made their first contribution in #1574
Full Changelog: v3.0.2...v3.0.3
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 #1501 - Setting defaults for
FieldSet.computeTimeChunk()
by @erikvansebille in #1502
Bug-fixes and code cleaning etc
- make it possible to import dataset with single time instance by @dicaearchus in #1496
- Simplifying the NEMO curvilinear tutorial by @erikvansebille in #1499
- Bugfix for cgrid eval without applyConversion by @erikvansebille in #1500
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1490
Full Changelog: v3.0.1...v3.0.2
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 #1446
- Expanding explanation of output chunks parameter by @erikvansebille in #1494
- Running parcels in a grid with a coordinate grid with missing values (nans) by @dicaearchus in #1495
Refactoring, cleaning etc
- Remove python from binder environment file by @erikvansebille in #1444
- Fixing links in documentation by @erikvansebille in #1445
- Field compatible with np.datetime64 entries by @dicaearchus in #1449
- Fixing that Fieldset.from_data() sets "time_origin" to 0 by default by @dicaearchus in #1451
- Update tutorial_kernelloop.ipynb by @dicaearchus in #1454
- Fixing the installation instructions for v3.0 by setting conda solver by @erikvansebille in #1455
- Clarify order of the start and end arguments in particleset.from_line() in documentation by @erikvansebille in #1458
- Pep8 compliancy for import statements by @dicaearchus in #1469
- Updating timestamps tutorial to remove time_periodic=True option by @erikvansebille in #1476
- Fixing a bug in Kernel definition in the preventing stuck particles documentation by @erikvansebille in #1479
- Fixing bug in zarr output when setting chunking and repeatdt by @erikvansebille in #1488
- Add prettier by @VeckoTheGecko in #1474
New Contributors
- @dicaearchus made their first contribution in #1449
Full Changelog: v3.0.0...v3.0.1
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 #1402
- Create tutorial_kernelloop.ipynb by @erikvansebille in #1421
- Update collectionsoa.py to allow user defined MPI partitioning by @JamiePringle in #1414
- Repeatdt small chunksize warning by @erikvansebille in #1430
- Compilation info as metadata by @erikvansebille in #1433
- Adding support for OperationCode.StopAllExecution by @erikvansebille in #1115
- Storing particle.xi in output files by @erikvansebille in #1147
Deprecated features
- Removing inbuilt plotting methods by @erikvansebille in #1397
- Retiring AoS support by @erikvansebille in #1423
Code clean-ups
- Removing the header message from documentation notebooks by @erikvansebille in #1381
- Adding thumbnail for geospatial documentation by @erikvansebille in #1380
- Fixing typo in allow_time_extrapolation docstrings by @erikvansebille in #1383
- Printing cfile-name in compilation info by @erikvansebille in #1396
- Simplification of the MPI partition_function explanation by @erikvansebille in #1424
- Code cleanups by @erikvansebille in #1427
- Removing stray recovery kernel mentions by @erikvansebille in #1431
- Removing particleset.density by @erikvansebille in #1434
- Renumbering statuscodes so that they are increasing by @erikvansebille in #1439
- More small codecleanups in preparation for parcels v3 by @erikvansebille in #1438
Other minor fixes to code, installation and Continuous Integration
- Update linkcheck_ignore by @VeckoTheGecko in #1374
- Patch test_mpi_run failing test by @VeckoTheGecko in #1375
- Update umamba gha by @ocefpaf in #1373
- Updated Binder by @VeckoTheGecko in #1368
- Fix Binder filepath typo by @VeckoTheGecko in #1378
- Updating citation to latest version by @erikvansebille in #1385
- Jupyter QA tooling (black, isort, ast) by @VeckoTheGecko in #1389
- Migrate to
pyproject.toml
(project metadata, tool config cleanup) by @VeckoTheGecko in #1392 - Fix casting warnings by @erikvansebille in #1400
- Fix flake8 E721 in
baseparticlefile.py
by @VeckoTheGecko in #1405 - Adding installation instructions to documentation by @erikvansebille in #1403
- Add UVsample code and improve consistency by @ammedd in #1415
- Fixing the link to instructions for parallel installation by @erikvansebille in #1419
- From lon towrite to lon nextloop by @erikvansebille in #1422
- Adding explicit message on how to deal with interpolated output by @erikvansebille in #1437
- Towards a noarch environment file for developer installation by @erikvansebille in #1416
- Fix dask chunking error by @erikvansebille in #1436
- Simplifying binder environment file by @erikvansebille in #1441
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1442
- Updating all tutorials with latest conda environment and parcels v3 code by @erikvansebille in #1443
- Towards parcels v3.0 by @erikvansebille in #1426
New Contributors
Full Changelog: v2.4.2...v3.0.0
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 #1321, #1341, #1342, #1346, #1355 and #1371 (by @VeckoTheGecko)
- A new tutorial on how to use Parcels output in geospatial datatypes and software #1359 (by @VeckoTheGecko)
Code changes
- Create combined kernel from kernel function list in #1351 (by @VeckoTheGecko)
- Speedup C-contiguous arrays in #1074
isort
support in #1323 (by @VeckoTheGecko)- Upgrade syntax to Python 3.8 in #1328 (by @VeckoTheGecko)
GitHub Continuous Integration changes
- Add
black
as dev dependency and intialise .git-blame-ignore-revs in #1327 (by @VeckoTheGecko) - Configure pre-commit and pre-commit CI in #1286 (by @VeckoTheGecko)
- Update to use mamba in #1337 (by @VeckoTheGecko)
- Issue templates in #1361 (by @VeckoTheGecko)
Full Changelog: v2.4.1...v2.4.2