- Optimise nearest algorithm tree resolve step
- Implement generalised damping, including surface damping
- Add optimised rejection method
- Update webpage
- Add labels to code
- Reset labels and dilution when writing to netCDF
- Support for 64-bit integers
- Set total number of parcels before parcel_communicate
- Fix input to acos
- Fix rejection method
- Explicitly set the attributes to write
- Bugfixes to labelling
- Move GitHub page to organisation
- Add index.html which is a symbolic link to html/intro.html
- Added/changed ifort style flags
- Fix .zenodo.json
- Generalise configure.ac
- Selective parcel attribute writes
- Need to calculate buoyancy extrema for total buoyancy
- Update writing statistics to improved interface
- Fix rk_timer
- Collect merger statistics
- Update conda environment
- Damping implementation
- Add missing stop_timer; fix resetting parcel split and merge diagnostics
- Fix loop for nearest parcel check
- Gridded strain
- Ensure link exists before calling netcdf routine
- Fix the write frequency
- Add boundary surface fluxes
- Add missing field statistics timer stop
- Calculate squared buoyancy frequency only if not provided
- Compilation flag based 1-point par2grid and grid2par
- Overwrite default Zenodo metadata
- Write specific fields only
- Remove -fPIC flag
- Do halo swap for nparg and nsparg
- Fix OpenMP pragmas
- Change default value from 1/40 to 1/20
- Initialise buoyancy, vorticity and humidity
- Buoyancy perturbation mode
- Update Python packages
- Update Python tools
- Increase buffer in parcel communication
- Add data coarsening post-processing tool
- Rename comm to comm_world
- Extend NetCDF interface to MPI
- Fix MPI reduction
- Field decomposition
- Grid halo swap
- Parcel and field diagnostics in parallel
- Read and write fields in parallel
- Read and write parcels in parallel
- Parcel exchange
- Parallel parcel initialisation
- Parallel par2grid
- Parallel grid2par
- Parallel parcel split
- Parcel rejection method
- Parallel gradient correction
- Forward and backward FFT
- MPI parallel FFT
- MPI parcel Laplace correction
- MPI timer module
- Pull from main branch into 3d-mpi-model branch
- Improve MPI communication
- MPI passive communication in nearest algorithm
- Remove reference potential energy calculation for 3D
- Parallel nearest algorithm
- Improve the search for libraries
- Changes on halo swapping branch
- Fix MPI related issues
- Make RK4 variables part of the parcel container
- Fix MPI related issues
- Read parcels in chunks
- Explicit array bounds
- Recover lost changes from main to MPI branch
- Cleanup and additional debug check in parcel nearest
- Proper de-allocation of allocatable arrays
- Print on rank 0 only and use MPI_Abort instead of stop
- Communicate multiple fields in a single call
- Fix write_netcdf_axis_3d
- Single comm sum based
- Fix MPI unit tests
- Allocate RMA windows in MPI tests
- Change nearest comparison script
- Fix lower boundary of local box
- Fix the vorticity correction
- Use request-based RMA
- 3rd order RK stepper
- No allocatable strings
- Implement algorithm by Scherzinger and Dohrmann
- Ensure argument to dacos is within bounds
- Use amax instead vmax as parcel splitting criterion
- Resize parcel container
- Communicate veta and vtau
- Fix timer
- Use MPI_Win_allocate instead of MPI_Win_create
- Fixes from serial version
- Fixes issue with zero-indexing in inversion module
- Replace eta and tau as part of parcel_replace subroutine
- Parcel interpolation simplifications
- Fix closing bracket in the gradient correction
- Apply #507 to development branch
- Fix parcels on periodic edge
- Avoid array temporaries
- Remove max_vratio from configuration files
- Simplify parcel merge routine call
- Fix unit-tests -- register missing timer and fix function call
- Fix communicator issue
- Do not use MPI_COMM_WORLD as default in collectives
- MPI version of 3D model
- Fix OpenMP race condition in inversion_utils.f90
- Fix field reading in 2D genspec and add 3D genspec
- Divergence form and nearest parcel fix
- Rename RK4 constants
- Use named indices for n-rank arrays
- Clean up flux form code
- Unreadable timings
- Apply nearest fix in 2d
- Generalise NetCDF dimension and axis names
- Monitor number of splits and merges
- Clean up par2grid
- Zeta zero on boundary
- Fix compilation with config.f90
- Update the manual
- Fix python scripts due to NetCDF interface
- Fix writing z axis to NetCDF
- Changes to moist setup: shorter run, smooth edge bubble
- Humidity diagnostics
- Sgs diagnostics
- Restarts with zeta flags
- Update requirements.txt
- Update the input section of the manual
- Add more statistics
- Fix parcel interpolation
- Use central differencing in solenoidal correction and tendency calculation
- Peref in NetCDF output
- Linear extrapolation central diffz
- Fix buoyancy extrema calculation
- Check if file exists
- Domain averaged quantities in 2D and 3D and protected parameters in 2D
- Update python scripts
- Setting 3D default n per cell to 8 (a cube)
- Add missing factor 1/2 to peref calculation
- Fix verbose mode and update initialisation in parcel correction unit tests
- APE calculation
- Initialise parcels like grid2par
- Add 3d setups
- make variables private for safety
- calculate KE on the grid
- change vmin and vmax and lambda_max
- use relative error
- change to criterion used in paper
- fix gridded KE calculation
- add split merge unit test
- flux form including new inversion and net vorticity correction
- fix B matrix advection
- write time in nc_fields.py
- write vorticity tendency in diagnose mode
- add parcel enstrophy diagnostic
- fix energy unit
- write nparg and nsparg to NetCDF
- add missing symbol in strings
- additional FFT unit test
- update requirements.txt
- porting new inversion to EPIC
- Lagrangian vorticity tendency calculation
- use parcel vorticity to compute the vorticity tendency
- extrapolate velocity
- extrapolate strain components in u and v to halo grid points
- dynamic maximum number of parcels
- update conda environment
- read and write physical constants and parameters
- fix NetCDF unit test and do not run in verbose mode per default
- add current manual version
- fix calculation of symmetrized strain matrix
- fix compilation in debug mode
- fix NetCDF has_dataset
- fix Jacobi solver
- apply #349 to main
- update conda packages
- add with correct sign
- fix time step estimate
- add more debug checks for ellipsoids
- writing integer datasets
- Beltrami stable version
- enable Python by
- Beltrami flow by
- remove 3D Taylor-Green flow by
- add python EPIC config and write netCDF header by
- fix reading netcdf datasets by
Development of the 3D model (see #230):
- add eigenvalue solver for real symmetric matrices (see #229)
- add ellipsoid module (see #233)
- add 3D parcel splitting (see #237)
- add 3D parcel initialisation (see #238)
- add 2D FFT (see #240)
- add 3D parcel correction (see #241)
- add 3D parcel merging (see #243)
- add 3D RK4 (see #244)
- add 3D vor2vel (see #247)
- add 3D vorticity tendency calculation (see #248 and #249)
- add 3D adaptive time step estimate (see #250)
- add changelog (see #255)
- add unit tests (see #242, #246)
- change memory layout
- improve performance (see #266)
- add restarting feature (see #278)
- fields must be reset
- fix peref calculation
- improve Python scripts
- change setup of parcel correction tests
- minor plotting changes
- more buoyancy and vorticity diagnostics
- update python scripts
- do not use data to set dmin and dmax
- fix genspec writing spectrum
- fix name clash
- minval and maxval
- use heap memory
- restarting EPIC
- fix calculation of get_delx and get_dely for non-centred domains
- update pillow dependency
- update pyyaml dependency
- update urllib3 dependency
- fix get_delx for non-centred domains
- update python dependencies
- use proper interpolation name
- new directory structure in main like in branch develop
- combine to array
- add initial time like in the 3D model
- apply periodic BCs to parcel mergers