1.7. What remains to be done¶
1.7.1. Generic list¶
Todo
- also load and return profile data here
- exclude coords where profile data is masked (no data for specified depth)
- return time coordinates
- return depth and vars with shape (profile,level)
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/data/misc/coloc.py:docstring of vacumm.data.misc.coloc.Colocator.coloc_mod_on_pro, line 22.)
Todo
- Ensure returned dataset order (by (run)date)
- Add a tutorial about
Catalog
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/data/misc/dataset.py:docstring of vacumm.data.misc.dataset.Catalog.get_datasets, line 10.)
Todo
- add lat/lon position lines indicator
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/data/misc/dataset.py:docstring of vacumm.data.misc.dataset.OceanDataset.plot_section, line 12.)
Todo
- replace this method usage by vacumm.misc.plot.add_map_lines
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/data/misc/dataset.py:docstring of vacumm.data.misc.dataset.OceanDataset.plot_trajectory_map, line 6.)
Todo
- add a way to plug external profiles types (from other modules)
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/data/misc/profile.py:docstring of vacumm.data.misc.profile.AbstractProfiles.get_types, line 6.)
Todo
- fix load of single depth profile file
- check depth quality test
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/data/misc/profile.py:docstring of vacumm.data.misc.profile.Profiles, line 51.)
Todo
- allow to load files with different depth size
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/data/misc/profile.py:docstring of vacumm.data.misc.profile.ProfilesDataset, line 3.)
Todo
Remove this generic satellite class as it already exists in vacumm.data.satellite
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/data/misc/satellite.py:docstring of vacumm.data.misc.satellite.Satellite, line 1.)
Todo
- add lat/lon position lines indicator
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/data/model/hycom.py:docstring of vacumm.data.model.hycom.HYCOMZ.plot_section, line 12.)
Todo
- replace this method usage by vacumm.misc.plot.add_map_lines
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/data/model/hycom.py:docstring of vacumm.data.model.hycom.HYCOMZ.plot_trajectory_map, line 6.)
Todo
- add lat/lon position lines indicator
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/data/model/mars3d.py:docstring of vacumm.data.model.mars3d.Mars3D.plot_section, line 12.)
Todo
- replace this method usage by vacumm.misc.plot.add_map_lines
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/data/model/mars3d.py:docstring of vacumm.data.model.mars3d.Mars3D.plot_trajectory_map, line 6.)
Todo
- add lat/lon position lines indicator
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/data/model/nemo.py:docstring of vacumm.data.model.nemo.Nemo.plot_section, line 12.)
Todo
- replace this method usage by vacumm.misc.plot.add_map_lines
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/data/model/nemo.py:docstring of vacumm.data.model.nemo.Nemo.plot_trajectory_map, line 6.)
Todo
Rewrite it using vacumm.data.misc.arakawa
and defining
a limited number of algorithms for different staggering configurations.
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/diag/dynamics.py:docstring of vacumm.diag.dynamics.barotropic_geostrophic_velocity, line 7.)
Todo
Rewrite it using vacumm.data.misc.arakawa
and defining
a limited number of algorithms for different staggering configurations.
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/diag/dynamics.py:docstring of vacumm.diag.dynamics.eddy_kinetic_energy, line 3.)
Todo
Rewrite it using vacumm.data.misc.arakawa
and defining
a limited number of algorithms for different staggering configurations.
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/diag/dynamics.py:docstring of vacumm.diag.dynamics.kinetic_energy, line 3.)
Todo
DualDateFormatter: verify if dual_fmt is really used
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/misc/core_plot.py:docstring of vacumm.misc.core_plot.DualDateFormatter, line 6.)
Todo
Merge get_map()
with create_map()
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/misc/grid/basemap.py:docstring of vacumm.misc.grid.basemap.create_map, line 3.)
Todo
Merge with create_map()
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/misc/grid/basemap.py:docstring of vacumm.misc.grid.basemap.get_map, line 11.)
Todo
get_geo_area: treat 2D grid + use standard projection
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/misc/grid/misc.py:docstring of vacumm.misc.grid.misc.get_geo_area, line 10.)
Todo
Make possible to use 2D axes with xextend()
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/misc/grid/misc.py:docstring of vacumm.misc.grid.misc.xextend, line 5.)
Todo
Make possible to use 2D axes with xshift()
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/misc/grid/misc.py:docstring of vacumm.misc.grid.misc.xshift, line 5.)
Todo
Make two versions of target()
, as for Taylor
diagrams: one like with direct statistics, one with
MV2
variables as arguments.
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/misc/plot.py:docstring of vacumm.misc.plot.dtarget, line 18.)
Todo
This must be rewritten using scipy.stats
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/misc/stats.py:docstring of vacumm.misc.stats.corr_proba, line 7.)
Todo
Use inspect.getclasstree()
or at least inspect.classify_class_attrs()
in Overview
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/lib/python/vacumm/sphinxext/overview.py:docstring of vacumm.sphinxext.overview.OverView.format_classes, line 3.)
Todo
documentation du format des dates de la librairie vacumm
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/doc/sphinx/source/user.desc.config.rst, line 121.)
Todo
- Etendre cette configuration avec des sections spécifiques à chacun des scripts pour affiner les paramétrage (paramètres actuellement obligatoire en arguments des scripts, critères pour le calcul de MLD, paramétrage des tracés, …)
(The original entry is located in /usr/site/data/cmo/rec/sraynaud/vacumm-fixes/doc/sphinx/source/user.desc.config.rst, line 196.)
1.7.2. Stabilisation of the code¶
You can refer to Unstable routines for a list of routines that require special attention, and therefore such improvements.
1.7.3. Supplements¶
This section lists important improvements needed to the library, and possibly the key to achieve or possible ways.
1.7.3.1. Interpolations and reggridding¶
- The
kriging
module must be used by theregridding
module, and especially theGridData
class. - The
regrid2d
must better handle masks, especially in the case of curcilinear grids handled by theCDATRegridder
class. - The
GriddedMerger
must be checked.
1.7.3.2. Dataset
classes¶
- A special
GriddedDataset
class must be created. - Vertical levels treatments must be generalized to be usable for
AtmosDataset
, and aZDataset
must be created for that. - A
ZGridded
like class must be implemented to serve as base class forAtmosDataset
andOceanDataset
.
1.7.3.3. vacumm.diag
and grid staggering¶
All diagnostics on grids must properly handle grid staggering. Different schemes can be proposed depending on the grid type and the grid point location of variables. One way is to handle a limited number of configurations, like for instance for kinetic energy :
- The case of a C grid with u and v and U and V locations recpectively.
- The case of a C grid with u and v and V and U locations recpectively (geostrophic currents).
- The generic case of an A grid when there is no staggering.
If the configuration is not explicitly specified, it must be guessed
using vacumm.data.misc.arakawa.ArakawaGrid.factory()
for the grid type,
and vacumm.data.cf.get_loc()
for the location.
Another option is to estimate grid staggering from coordinates.
1.7.3.4. Tidal tools¶
These must use the Tidal toolbox thanks to f2py, and integrate analysis and prediction capabilities.