Skip to content

Releases: Parcels-code/Parcels

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

03 Oct 15:52
b1c3d09

Choose a tag to compare

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

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

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

    On top of that, filenames can now be:

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

    This particularly affects the function Fieldset.from_nemo():

    New filenames looks like:

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

    instead of:

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

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

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

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

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

  • Minor bug fixes

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

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

11 Sep 14:51
0e6ade3

Choose a tag to compare

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

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

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

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

24 Aug 14:30
e9159c1

Choose a tag to compare

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

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

22 Aug 13:41
c4143dd

Choose a tag to compare

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

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

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

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

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

08 May 12:47
4977d89

Choose a tag to compare

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

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

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

05 Apr 12:54
693f8f2

Choose a tag to compare

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

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

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

02 Feb 15:08
ea516c7

Choose a tag to compare

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

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

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

20 Jan 20:30

Choose a tag to compare

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

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

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

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

06 Jul 11:26

Choose a tag to compare

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.