# Learn about `seaduck` core objects and functions

Another good way to learn about the package is to learn how different objects are used and related to each other.

| Object Name (and link to API reference)                   | Main functionality                                           | Example                                                      |
| --------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| [`seaduck.OceData`](api_reference/apiref_OceData.rst)     | Interface to data, translate between lat-lon and indices.    | [AVISO](notebook/AVISO.ipynb)                                |
| [`seaduck.Topology`](api_reference/apiref_topology.rst)   | Describe the how the grids are connected. Similar to `xgcm`. | [topology tutorial](notebook/topology_tutorial.ipynb)        |
| [`seaduck.KnW`](api_reference/apiref_kernelNweight.rst)   | Define what interpolation/derivative to perform.             | [ECCO](notebook/global_ECCO.ipynb)                           |
| [`seaduck.Position`](api_reference/apiref_eulerian.rst)   | Interpolate at Eulerian positions.                           | [Interpolate in a fjord](sciserver_notebooks/KangerFjord.md) |
| [`seaduck.Particle`](api_reference/apiref_lagrangian.rst) | Perform Lagrangian particle simulation. Sub class of `seaduck.Position` | [Regional simulation](sciserver_notebooks/IGPwinter.md)            |
| [`seaduck.OceInterp`](api_reference/apiref_OceInterp.rst) | Uniform interface to Lagrangian and Eulerian operations.     | [one minute guide](one_min_guide.ipynb), [ECCO](notebook/global_ECCO.ipynb)   |
