Releases: Parcels-code/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 offilenamesargument has been enriched (#463).
As before,filenamescan be:- list of files
- dictionaries of list of files, where the dictionary keys are field names
On top of that,
filenamescan 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
filenameslooks 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
TimeConverterclass 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_engineas 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.
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
FieldListclass 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
indicesacross 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
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
runtimewas 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
Parcels v1.0.4 builds on the previous v1.0.3 release. Major changes since then
- Support for
FieldLists(#393), which allows Kernels likeAdvectionRK4to work on multipleFieldsat once. See also the tutorial - Changing the plotting routines from
Basemaptocartopy(#401). Note that this means you will need to uninstallBasemapand 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
Progressbarfor long (> 10 seconds) runs ofParticleSet.execute()(#381 and #418) - Possibility to initialise custom
Variablesdirectly 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
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
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=Trueas an option toFieldSet.from_netcdf(). - The
ParticleFileclass now always writes particle data inarrayformat. 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
Parcels v1.0.1 builds on the previous v1.0 release. Major changes since then:
- Changes to the arguments of
ParticleSet.execute(): (#289)- the
intervalargument has been renamedoutputdtand should now be set when creating theParticleFileobject - the
show_movieargument has been split into amoviedtargument (to set the frequency of the animation) and amovie_background_fieldargument that determines which background field to show (either aFieldobject, or the stringvector) or the defaultNonefor no background field endtimecannot be atimedeltaobject anymore. Only valid formats forendtimeare adatetimeobject or adouble. If you want to give atimedeltaobject, use theruntimeargument- 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_nemoto handle Curvilinear NEMO grids (#285) - Adding of a
timerclass 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
Kernelsdirectly as C-functions, forJITParticles(#278)
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
Fieldswith differentGridsin 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!
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.