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

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 a ZDataset must be created for that.
  • A ZGridded like class must be implemented to serve as base class for AtmosDataset and OceanDataset.

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.