Comments (3)
the peace of code that was used before was in the kenernalsoa.py execute method:
if recovery is None:
recovery = {}
elif ErrorCode.ErrorOutOfBounds in recovery and ErrorCode.ErrorThroughSurface not in recovery:
recovery[ErrorCode.ErrorThroughSurface] = recovery[ErrorCode.ErrorOutOfBounds]
recovery_map = recovery_base_map.copy()
recovery_map.update(recovery)
then later in the code here the recovery_map
was used to customise particle behavior when specific errors was raise.
but this has been removed in v.3.0.0 in kernels.py
from parcels.
Thanks for reporting, @gmaze. The recovery codes were indeed deprecated in v3.0.0, because their implementation was extremely inefficient/slow and there were no cases where what they did could not be done by 'normal' kernels in the new way that we implemented the Kernel loop.
All of this has been listed in the release notes of v3.0.0 and specifically in the Working with Status Codes section of the new Kernel Loop tutorial.
Could I encourage you to try implementing your recovery with normal Kernels? It will likely also speed up your code.
Let me know if you need specific help. Since Parcels is actively-developed research software, it can at times still be rough around the edges. But the only way to improve it is to help each other :-)
from parcels.
ok, great @erikvansebille and thank you for the explanation and for pointing out the new Status Codes
we will try to update our software to work with the new version, and hopefully this could also improve performances !
and we'll surely raise issues if we can't work this out without more help, thanks 🤝
from parcels.
Related Issues (20)
- Investigate integrating AI for Parcels documentation HOT 6
- Raise a Warning or Error when lon/lat in grids are not monotonically increasing
- Overlapping time values while creating a FieldSet HOT 2
- Field entry gives error when time-array has np.datetime64 entries HOT 1
- Fieldset.from_data() sets "time_origin" to 0 by default HOT 1
- Simulation gets stuck on first timestep since I installed Parcels v3.0 HOT 10
- Cell indices can not be found when grid has a non-linear mapping HOT 1
- Time-Varying Depths From Nemo HOT 2
- `NaN` padding in zarr files with delayed start times HOT 2
- RunTimeErrorWarning in output files HOT 1
- Delayed particles does not repeat the set initial locations HOT 2
- Field[time, depth, lat, lon] indexing not working correctly in JIT mode. HOT 1
- FieldSet.from_mom does not consider grid rotation HOT 2
- Rename FieldSet.from_mom to FieldSet.from_mom5 and create new FieldSet.from_mom6 HOT 2
- Add tutorial information about `indices` keyword when creating FieldSet
- Confusing compilation error message when variable in Kernel has same name as FieldSet constant HOT 1
- RK45 not working HOT 1
- Fieldset.from_zarr? HOT 1
- How to Output or Check Interpolation Results of u_uss and v_uss in Parcels Custom Kernel? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from parcels.