Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
See https://docs.oceanparcels.org/en/latest/contributing.html
See https://docs.parcels-code.org/en/latest/contributing.html
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
contact_links:
- name: 🙏 Parcels use question, help, or support
url: https://github.com/OceanParcels/parcels/discussions/new?category=q-a
url: https://github.com/Parcels-code/parcels/discussions/new?category=q-a
about: Have a question about Parcels? Or do you need troubleshooting for a specific usecase? Then start a Q&A Discussion thread instead, and we'll be happy to help.
- name: 💬 Other Parcels discussion
url: https://github.com/OceanParcels/parcels/discussions
url: https://github.com/Parcels-code/parcels/discussions
about: For general discussion about Parcels, or to share your work with the community, please use the Discussions tab.
15 changes: 6 additions & 9 deletions .github/ci/recipe.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,19 +53,16 @@ tests:
- parcels

about:
homepage: https://github.com/OceanParcels/parcels
homepage: https://github.com/Parcels-code/parcels
license: MIT
license_file: LICENSE.md
summary: Probably A Really Computationally Efficient Lagrangian Simulator
summary: Parcels - A highly customisable Lagrangian simulation framework
description: |
Parcels (Probably A Really Computationally Efficient Lagrangian Simulator)
is a set of Python classes and methods to create customisable particle
tracking simulations using output from Ocean Circulation models.
Parcels can be used to track passive and active particulates such as
water, nutrients, plankton, plastic and fish.
documentation: https://oceanparcels.org/
repository: https://github.com/OceanParcels/parcels
Parcels provides a set of Python classes and methods to create customisable particle tracking simulations using gridded output from (ocean) circulation models.
documentation: https://parcels-code.org/
repository: https://github.com/Parcels-code/parcels

extra:
recipe-maintainers:
- VeckoTheGecko
- erikvansebille
4 changes: 2 additions & 2 deletions .github/workflows/pypi-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
jobs:
build-artifacts:
runs-on: ubuntu-latest
if: github.repository == 'OceanParcels/parcels'
if: github.repository == 'Parcels-code/parcels'
steps:
- uses: actions/checkout@v4
with:
Expand Down Expand Up @@ -102,5 +102,5 @@ jobs:
channels: conda-forge
- run: conda install -c conda-forge pip
- run: pip install parcels --no-cache
- run: curl https://raw.githubusercontent.com/OceanParcels/parcels/main/docs/examples/example_peninsula.py > example_peninsula.py
- run: curl https://raw.githubusercontent.com/Parcels-code/parcels/main/docs/examples/example_peninsula.py > example_peninsula.py
- run: python example_peninsula.py
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ authors:
given-names: "Philippe"
orcid: "https://orcid.org/0000-0003-0100-5834"
- name: "The Parcels contributors"
website: "https://github.com/OceanParcels/parcels/graphs/contributors"
website: "https://github.com/Parcels-code/parcels/graphs/contributors"
title: "Parcels"
version: 3.1.2
doi: 10.5281/zenodo.14845686
date-released: 2025-02-10
url: "https://github.com/OceanParcels/parcels"
url: "https://github.com/Parcels-code/parcels"
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2019, OceanParcels team
Copyright (c) 2025, Parcels team

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,20 @@
[![EffVer Versioning](https://img.shields.io/badge/version_scheme-EffVer-0097a7)](https://jacobtomlinson.dev/effver)
[![Xarray](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/pydata/xarray/refs/heads/main/doc/badge.json)](https://xarray.dev)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![unit-tests](https://github.com/OceanParcels/parcels/actions/workflows/ci.yml/badge.svg)](https://github.com/OceanParcels/parcels/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/OceanParcels/parcels/branch/main/graph/badge.svg)](https://codecov.io/gh/OceanParcels/parcels)
[![unit-tests](https://github.com/Parcels-code/parcels/actions/workflows/ci.yml/badge.svg)](https://github.com/Parcels-code/parcels/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/Parcels-code/parcels/branch/main/graph/badge.svg)](https://codecov.io/gh/Parcels-code/parcels)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/5353/badge)](https://bestpractices.coreinfrastructure.org/projects/5353)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/OceanParcels/parcels/main?labpath=docs%2Fexamples%2Fparcels_tutorial.ipynb)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/Parcels-code/parcels/main?labpath=docs%2Fexamples%2Fparcels_tutorial.ipynb)
[![LinkedIn](https://custom-icon-badges.demolab.com/badge/LinkedIn-0A66C2?logo=linkedin-white&logoColor=fff)](https://www.linkedin.com/company/parcelscode/)

> [!WARNING]
> This branch is `v4-dev` - version 4 of Parcels which is in active development. See `main` (or the tags) to browse stable versions of Parcels.

**Parcels** (**P**robably **A** **R**eally **C**omputationally **E**fficient **L**agrangian **S**imulator) is a set of Python classes and methods to create customisable particle tracking simulations using output from Ocean Circulation models. Parcels can be used to track passive and active particulates such as water, plankton, [plastic](http://www.topios.org/) and [fish](https://github.com/Jacketless/IKAMOANA).
**Parcels** provides a set of Python classes and methods to create customisable particle tracking simulations using gridded output from (ocean) circulation models. Parcels can be used to track passive and active particulates such as water, plankton, [plastic](http://www.topios.org/) and [fish](https://github.com/Jacketless/IKAMOANA).

![Arctic-SO-medusaParticles](https://github.com/OceanParcels/oceanparcels_website/blob/main/images/homepage.gif)
![Arctic-SO-medusaParticles](https://github.com/Parcels-code/oceanparcels_website/blob/main/images/homepage.gif)

_Animation of virtual particles carried by ocean surface flow in the global oceans. The particles are advected with [Parcels](http://oceanparcels.org/) in data from the [NEMO Ocean Model](https://www.nemo-ocean.eu/)._
_Animation of virtual particles carried by ocean surface flow in the global oceans. The particles are advected with [Parcels](http://parcels-code.org/) in data from the [NEMO Ocean Model](https://www.nemo-ocean.eu/)._

### Parcels manuscript and code

Expand All @@ -38,13 +38,13 @@ _Kehl, C, PD Nooteboom, MLA Kaandorp and E van Sebille (2023) Efficiently simula

### Further information

See [oceanparcels.org](http://oceanparcels.org/) for further information about [installing](https://docs.oceanparcels.org/en/latest/installation.html) and [running](https://docs.oceanparcels.org/en/latest/documentation.html) the Parcels code, as well as extended [documentation](https://docs.oceanparcels.org/en/latest/reference.html) of the methods and classes.
See [parcels-code.org](http://parcels-code.org/) for further information about [installing](https://docs.parcels-code.org/en/latest/installation.html) and [running](https://docs.parcels-code.org/en/latest/documentation.html) the Parcels code, as well as extended [documentation](https://docs.parcels-code.org/en/latest/reference.html) of the methods and classes.

### Contributors

<a href="https://github.com/oceanparcels/parcels/graphs/contributors">
<img src="https://contrib.rocks/image?repo=oceanparcels/parcels" />
<a href="https://github.com/parcels-code/parcels/graphs/contributors">
<img src="https://contrib.rocks/image?repo=parcels-code/parcels" />
</a>

**All contributions are welcome! See the [contributing page](https://docs.oceanparcels.org/en/latest/contributing.html) in our documentation to see how to get involved.**
**All contributions are welcome! See the [contributing page](https://docs.parcels-code.org/en/latest/contributing.html) in our documentation to see how to get involved.**
Image made with [contrib.rocks](https://contrib.rocks).
14 changes: 7 additions & 7 deletions docs/community/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

[Lagrangian Ocean Analysis](https://doi.org/10.1016/j.ocemod.2017.11.008) is one of the primary modelling tools available to oceanographers to understand how ocean currents transport material. This modelling approach allows researchers to model the ocean and understand the [movement of water](https://doi.org/10.1029/2023GL105662) in the ocean itself (or even [on other planets](https://doi.org/10.3847/1538-4357/ac9d94)), as well as the transport of [nutrients](https://doi.org/10.1029/2023GL108001), [marine organisms](https://doi.org/10.3354/meps14526), [oil](https://doi.org/10.1590/0001-3765202220210391), [plastic](https://doi.org/10.1038/s41561-023-01216-0), as well as [almost](https://doi.org/10.1016/j.robot.2024.104730) [anything](https://doi.org/10.1111/cobi.14295) [else](https://doi.org/10.1016/j.marpolbul.2023.115254) that would be adrift at sea. Since ocean currents play a key role in climate by storing heat and carbon, and also in the formation of the 'plastic soup', understanding transport phenomena in the ocean is crucial to support a more sustainable future.

The Parcels code, for which development started in 2015, is now one of the most widely used tools for Lagrangian Ocean Analysis. It's used by dozens of groups around the world - see [this list](https://oceanparcels.org/papers-citing-parcels#papers-citing-parcels) for a full list of the peer-reviewed articles using Parcels. Its flexibility for users to create new, custom 'behaviours' (i.e. let virtual particles be controlled by other mechanics than only the ocean flow) and its compatibility with many different types of hydrodynamic input data are the two key features.
The Parcels code, for which development started in 2015, is now one of the most widely used tools for Lagrangian Ocean Analysis. It's used by dozens of groups around the world - see [this list](https://parcels-code.org/papers-citing-parcels#papers-citing-parcels) for a full list of the peer-reviewed articles using Parcels. Its flexibility for users to create new, custom 'behaviours' (i.e. let virtual particles be controlled by other mechanics than only the ocean flow) and its compatibility with many different types of hydrodynamic input data are the two key features.

```{note}
Want to learn more about Lagrangian ocean analysis? Then look at [Lagrangian ocean analysis: Fundamentals and practices](https://www.sciencedirect.com/science/article/pii/S1463500317301853) for a review of the literature.
Expand All @@ -22,7 +22,7 @@ The first component of this documentation is geared to those new to open source.

Open source is a category of software that is open to the public, meaning that anyone is able to look at, modify, and improve the software. Compare this to closed source software (e.g., Microsoft Word, or Gmail) where only those working for the company on the product are able to look at the source code, or make improvements.

Software being open source allows bugs in the code to be quickly identified and fixed, as well as fosters communities of people involved on projects. Most open source software have permissible licenses making them free to modify, and use even in commercial settings. Parcels, for example, is open source and [licensed under the MIT License](https://github.com/OceanParcels/parcels/blob/main/LICENSE.md).
Software being open source allows bugs in the code to be quickly identified and fixed, as well as fosters communities of people involved on projects. Most open source software have permissible licenses making them free to modify, and use even in commercial settings. Parcels, for example, is open source and [licensed under the MIT License](https://github.com/Parcels-code/parcels/blob/main/LICENSE.md).

This visibility of the codebase results in a higher quality, as well as a more transparent and stable product. This is important in research for reproducibility, as well as in industry where stability is crucial. Open source is not some niche category of software, but in fact [forms the backbone of modern computing and computing infrastructure](https://www.newstatesman.com/science-tech/2016/08/how-linux-conquered-world-without-anyone-noticing) and is used widely in industry. A lot of the digital services that you use (paid, or free) depend on open source code in one way or another.

Expand All @@ -36,25 +36,25 @@ Exactly how to use Git and GitHub is beyond the scope of this documentation, and

There are many ways that you can contribute to Parcels. You can:

- Participate in discussion about Parcels, either through the [issues](https://github.com/OceanParcels/parcels/issues) or [discussions](https://github.com/OceanParcels/parcels/discussions) tab
- Participate in discussion about Parcels, either through the [issues](https://github.com/Parcels-code/parcels/issues) or [discussions](https://github.com/Parcels-code/parcels/discussions) tab
- Suggest improvements to [tutorials](../documentation/index.md)
- Suggest improvements to [documentation](../index.md)
- Write code (fix bugs, implement features, codebase improvements, etc)

All of these require you to [make an account on GitHub](https://github.com/signup), so that should be your first step.

If you want to suggest quick edits to the documentation, it's as easy as going to the page and clicking "Edit on GitHub" in the righthand panel. For other changes, it's a matter of looking through the [issue tracker](https://github.com/OceanParcels/parcels/issues) which documents tasks that are being considered. Pay particular attention to [issues tagged with "good first issue"](https://github.com/OceanParcels/parcels/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22), as these are tasks that don't require deep familiarity with the codebase. Once you've chosen an issue you would like to contribute towards, comment on it to flag your interest in working on it. This allows the community to know who's interested, and provide any guidance in its implementation (maybe the scope has changed since the issue was last updated).
If you want to suggest quick edits to the documentation, it's as easy as going to the page and clicking "Edit on GitHub" in the righthand panel. For other changes, it's a matter of looking through the [issue tracker](https://github.com/Parcels-code/parcels/issues) which documents tasks that are being considered. Pay particular attention to [issues tagged with "good first issue"](https://github.com/Parcels-code/parcels/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22), as these are tasks that don't require deep familiarity with the codebase. Once you've chosen an issue you would like to contribute towards, comment on it to flag your interest in working on it. This allows the community to know who's interested, and provide any guidance in its implementation (maybe the scope has changed since the issue was last updated).

If you're having trouble using Parcels, feel free to create a discussion in our Discussions tab and we'll be happy to support. Want to suggest a feature, or have encountered a problem that is a result of a bug in Parcels, then search for an issue in the tracker or [create a new one](https://github.com/OceanParcels/parcels/issues/new/choose) with the relevant details.
If you're having trouble using Parcels, feel free to create a discussion in our Discussions tab and we'll be happy to support. Want to suggest a feature, or have encountered a problem that is a result of a bug in Parcels, then search for an issue in the tracker or [create a new one](https://github.com/Parcels-code/parcels/issues/new/choose) with the relevant details.

In the [Projects panel](https://github.com/OceanParcels/parcels/projects?query=is%3Aopen), you'll see the "Parcels development" project. This is used by the core development team for project management, as well as drafting up new ideas for the codebase that aren't mature enough to be issues themselves. Everything in "backlog" is not being actively worked on and is fair game for open source contributions.
In the [Projects panel](https://github.com/Parcels-code/parcels/projects?query=is%3Aopen), you'll see the "Parcels development" project. This is used by the core development team for project management, as well as drafting up new ideas for the codebase that aren't mature enough to be issues themselves. Everything in "backlog" is not being actively worked on and is fair game for open source contributions.

## Development

### Environment setup

```{note}
Parcels, alongside popular projects like [Xarray](https://github.com/pydata/xarray), uses [Pixi](https://pixi.sh) to manage environments and run developer tooling. Pixi is a modern alternative to Conda and also includes other powerful tooling useful for a project like Parcels ([read more](https://github.com/OceanParcels/Parcels/issues/2205)). It is our sole development workflow - we do not offer a Conda development workflow. Give Pixi a try, you won't regret it!
Parcels, alongside popular projects like [Xarray](https://github.com/pydata/xarray), uses [Pixi](https://pixi.sh) to manage environments and run developer tooling. Pixi is a modern alternative to Conda and also includes other powerful tooling useful for a project like Parcels ([read more](https://github.com/Parcels-code/Parcels/issues/2205)). It is our sole development workflow - we do not offer a Conda development workflow. Give Pixi a try, you won't regret it!
```

To get started contributing to Parcels:
Expand Down
2 changes: 1 addition & 1 deletion docs/community/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ See the sections in the primary sidebar and below to explore.

contributing
Versioning Policy <policies>
Release Notes <https://github.com/OceanParcels/Parcels/releases>
Release Notes <https://github.com/Parcels-code/Parcels/releases>
Parcels v4.0 Migration Guide <v4-migration>
```

Expand Down
4 changes: 2 additions & 2 deletions docs/community/maintainer.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@
- Approve PR and merge on green
- Update version, DOI, and release date in `CITATION.cff` file (use [Parcels Zenodo entry](https://zenodo.org/records/14001000) as reference)
- Check "publish to PyPI" workflow succeeded
- Update oceanparcels.org
- Update parcels-code.org
- Parcels development status
- Check feature tiles
- Check for broken links on oceanparcels using [this tracking issue](https://github.com/OceanParcels/oceanparcels_website/issues/85)
- Check for broken links on oceanparcels using [this tracking issue](https://github.com/Parcels-code/oceanparcels_website/issues/85)
- (once package is available on conda) Re-build the Binder
- Ask for the shared parcels environment on [Lorenz](https://github.com/IMAU-oceans/Lorenz) to be updated
2 changes: 1 addition & 1 deletion docs/community/policies.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ Note when conducting research we highly recommend documenting which version of P
## Changes in policies

- In v4.0.0 of Parcels, adopted EffVer which formalises this "SemVer-like" variant we were following - and we adjusted our deprecation policy.
- In [v3.1.0](https://docs.oceanparcels.org/en/v3.1.0/community/policies.html) of Parcels, we adopted SemVer-like versioning and deprecation policies
- In [v3.1.0](https://docs.parcels-code.org/en/v3.1.0/community/policies.html) of Parcels, we adopted SemVer-like versioning and deprecation policies
2 changes: 1 addition & 1 deletion docs/community/v4-migration.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Parcels v4 migration guide

```{warning}
Version 4 of Parcels is unreleased at the moment. The information in this migration guide is a work in progress, and is subject to change. If you would like to provide feedback on this migration guide (or generally on the development of v4) please [submit an issue](https://github.com/OceanParcels/Parcels/issues/new/choose).
Version 4 of Parcels is unreleased at the moment. The information in this migration guide is a work in progress, and is subject to change. If you would like to provide feedback on this migration guide (or generally on the development of v4) please [submit an issue](https://github.com/Parcels-code/Parcels/issues/new/choose).
```

## Kernels
Expand Down
Loading