Removing Field.gradient() function #633
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The former
Field.gradient()
function was based onnp.gradient()
function, building central difference scheme within the domain and forward or backward scheme on the field boundaries.While this function could be useful for different applications, it was facing many limitations:
np.array
data for theField
objects, which is not the case anymore in Chunked fields operational #632The
Field.gradient
function is then removed from Parcels. Obtaining the gradient of the field can still be achieved easily within a kernel, as it is done in some diffusion kernels:Note in such configuration, the gradient on a
spherical
mesh is computed as [F]/degree.If the gradient is needed in [F]/m, it is necessary to rescale it, by multiplying it by a factor
f = 1852*60
in the meridional direction orf=1852*60*cos(lat*pi/180)
in the zonal direction.