#
# uPlot Table
#
#	Contains the definitions used by uPlot module
#
#	There are various types of definitions
#
#	1. The action associated to each request
#	   processed by uPlot
#
#	2. The possible types of VisDefs associated
#	   to a data unit
#

#####################################################
# Request group
#####################################################

request,
	class		= PLOT_SUPERPAGE,
	action		= Create,
	builder        = PlotPageBuilder,
	view           = EmptyView

request,
	class 		= SUPERPAGE,
	action		= Plot,
	view           = None

request,
	class		= DROP,
	action		= Drop,
	builder		= DropBuilder,
	view           = None

request,
	class		= GRIB,
	action		= Create,
	builder		= DataBuilder,
	decoder		= GribDecoder,
	view        = GeoView

request,
   class    = RETRIEVE,
   action   = Create,
   builder  = DataBuilder,
   view     = GeoView

request,
	class		= GEOPOINTS,
	action		= Create,
	builder		= DataBuilder,
	decoder		= GeopointsDecoder,
	view        = GeoView

request,
	class		= BUFR,
	action		= Create,
	builder		= DataBuilder,
	decoder		= BufrDecoder,
	view        = GeoView

request,
   class    = NETCDF_GEO_POINTS,
   action   = Create,
   builder  = DataBuilder,
   decoder  = SimpleDecoder,
   view     = GeoView

request,
   class    = NETCDF_GEO_VECTORS,
   action   = Create,
   builder  = DataBuilder,
   decoder  = SimpleDecoder,
   view     = GeoView

request,
   class    = NETCDF_GEO_MATRIX,
   action   = Create,
   builder  = DataBuilder,
   decoder  = SimpleDecoder,
   view     = GeoView

request,
   class    = NETCDF_XY_MATRIX,
   action   = Create,
   builder  = DataBuilder,
   decoder  = SimpleDecoder,
   view     = CartesianView

request,
   class    = NETCDF_XY_VECTORS,
   action   = Create,
   builder  = DataBuilder,
   decoder  = SimpleDecoder,
   view     = CartesianView

request,
   class    = NETCDF_XY_POINTS,
   action   = Create,
   builder  = DataBuilder,
   decoder  = SimpleDecoder,
   view     = CartesianView

request,
   class    = NETCDF,
   action   = Create,
   builder  = DataBuilder,
   decoder  = SimpleDecoder,
   view     = CartesianView

request,
	class		= ODB_DB,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view        = GeoView

request,
	class		= ODB_VISUALISER,
	action		= Skip,
	builder		= None,
	view        = None

request,
	class		= ODB_GEO_POINTS,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view        = GeoView

request,
	class		= ODB_GEO_VECTORS,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view        = GeoView

request,
	class		= ODB_XY_POINTS,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view		= CartesianView

request,
	class		= ODB_XY_VECTORS,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view		= CartesianView

request,
	class		= ODB_XY_BINNING,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view		= CartesianView

request,
	class		= PRASTERLOOP,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view        = GeoView

request,
	class		= PRINTER_MANAGER,
	action		= OutputFormat,
	view		= None

request,
	class		= TABLE_HISTOGRAM,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view			= CartesianView

request,
	class		= TABLE_XY_POINTS,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view			= CartesianView

request,
	class		= TABLE_GEO_POINTS,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view        = GeoView

request,
	class		= TABLE_XY_VECTORS,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view			= CartesianView

request,
	class		= TABLE_GEO_VECTORS,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view        = GeoView

request,
	class		= TABLE_XY_BINNING,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view        = CartesianView

request,
	class		= TABLE_GEO_BINNING,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view        = GeoView

request,
	class		= TABLE_XY_BOXES,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view        = CartesianView

request,
	class		= TABLE_GEO_BOXES,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view        = GeoView

request,
	class		= TABLE_HOR_BAR,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view        = CartesianView

request,
	class		= TABLE_VER_BAR,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view        = CartesianView

request,
	class		= INPUT_HISTOGRAM,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view        = CartesianView

request,
	class		= INPUT_XY_POINTS,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view        = CartesianView

request,
	class		= INPUT_GEO_POINTS,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view        = GeoView

request,
	class		= INPUT_XY_VECTORS,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view        = CartesianView

request,
	class		= INPUT_GEO_VECTORS,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view        = GeoView

request,
	class		= INPUT_XY_BINNING,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view        = CartesianView

request,
	class		= INPUT_GEO_BINNING,
	action		= Create,
	builder		= DataBuilder,
	decoder		= SimpleDecoder,
	view        = GeoView

request,
    class       = INPUT_XY_BOXPLOT,
    action      = Create,
    builder     = DataBuilder,
    decoder     = SimpleDecoder,
    view        = CartesianView

#request,
#	class		= INPUT_GEO_BOXES,
#	action		= Create,
#	builder		= DataBuilder,
#	decoder		= SimpleDecoder,
#	view        = GeoView

#request,
#	class		= INPUT_HOR_BAR,
#	action		= Create,
#	builder		= DataBuilder,
#	decoder		= SimpleDecoder,
#	view        = CartesianView

#request,
#	class		= INPUT_VER_BAR,
#	action		= Create,
#	builder		= DataBuilder,
#	decoder		= SimpleDecoder,
#	view		= CartesianView

request,
	class		= CLEAN,
	action		= Skip,
	builder		= None,
	view			= None

request,
    class       = REFRESH,
    action      = Skip,
    builder     = None,
    view        = None

request,
     class      = NEWPAGE,
     action     = Newpage,
     view       = None

request,
   class       = GRIB_VECTORS,
   action      = Create,
   builder     = DataBuilder,
   decoder     = SimpleDecoder,
   view        = GeoView

request,
   class       = ERROR,
   action      = Error

#############################################
#  View list
#############################################

view,
   class       = ANNOTATIONVIEW,
   name        = AnnotationView

view,
   class       = MAPVIEW,
   name        = MapView

view,
   class       = GEOVIEW,
   name        = GeoView

view,
   class       = CARTESIANVIEW,
   name        = CartesianView

view,
   class       = MXSECTIONVIEW,
   name        = XSectionView,
   service     = XSection

view,
   class       = MXAVERAGEVIEW,
   name        = AverageView,
   service     = XSection

view,
   class       = MVPROFILEVIEW,
   name        = VProfileView,
   service     = XSection

view,
   class       = MHOVMOELLERVIEW,
   name        = HovmoellerView,
   service     = Hovmoeller

view,
   class       = THERMOVIEW,
   name        = ThermoView,
   service     = Thermo

# Metview 3 Views for backawards compatibility
# They should be deleted in the future
view,
   class       = XSECTVIEW,
   name        = XSectM3View,
   service     = XSection

view,
   class       = AVERAGEVIEW,
   name        = AverageM3View,
   service     = XSection

view,
   class       = VERTPROFVIEW,
   name        = VertProfM3View,
   service     = XSection

view,
   class       = HOVMOELLERVIEW,
   name        = HovmoellerM3View,
   service     = Hovmoeller

#############################################
#  Data unit list
#############################################

dataunit,
   class         = GRIB,
   defaultVisDef = MCONT/MWIND,
   1D_VISDEF     = MCONT/PCONT,
   2D_VISDEF     = MWIND/PWIND,
   listVisDef    = MCONT/MWIND/PWIND/PCONT

dataunit,
   class         = READ,
   defaultVisDef = MCONT/MWIND,
   1D_VISDEF     = MCONT/PCONT,
   2D_VISDEF     = MWIND/PWIND,
   listVisDef    = MCONT/MWIND/PWIND/PCONT

dataunit,
   class         = GEOPOINTS,
   defaultVisDef = MSYMB/MWIND,
   1D_VISDEF     = MSYMB/PSYMB,
   2D_VISDEF     = MWIND,
   listVisDef    = MSYMB/MWIND/MGRAPH/PGRAPH/PSYMB

dataunit,
   class         = BUFR,
   defaultVisDef = MOBS,
   listVisDef    = MOBS

dataunit,
   class         = NETCDF,
   defaultVisDef = MSYMB,
   listVisDef    = MSYMB/MGRAPH/MCONT/MWIND/PSYMB/PGRAPH/PCONT/PWIND

dataunit,
   class         = NETCDF_GEO_POINTS,
   defaultVisDef = MSYMB,
   listVisDef    = MSYMB/MGRAPH/PGRAPH/PSYMB

dataunit,
   class         = NETCDF_GEO_VECTORS,
   defaultVisDef = MWIND,
   listVisDef    = MWIND/PWIND

dataunit,
   class         = NETCDF_GEO_MATRIX,
   defaultVisDef = MCONT,
   listVisDef    = MCONT/PCONT

dataunit,
   class         = NETCDF_XY_MATRIX,
   defaultVisDef = MCONT,
   listVisDef    = MCONT/PCONT/MWIND/PWIND

dataunit,
   class         = NETCDF_XY_VECTORS,
   defaultVisDef = MWIND,
   listVisDef    = MWIND/PWIND

dataunit,
   class         = NETCDF_XY_POINTS,
   defaultVisDef = MGRAPH,
   listVisDef    = MSYMB/MGRAPH/MTHERMO/PSYMB/PGRAPH

dataunit,
   class         = ODB_DB,
   defaultVisDef = MSYMB,
   listVisDef    = MSYMB/PSYMB/MGRAPH/PGRAPH/MWIND/PWIND

dataunit,
   class         = ODB_GEO_POINTS,
   defaultVisDef = MSYMB,
   listVisDef    = MSYMB/MGRAPH/PSYMB/PGRAPH

dataunit,
   class         = ODB_GEO_VECTORS,
   defaultVisDef = MWIND,
   listVisDef    = MWIND/PWIND

dataunit,
   class         = ODB_XY_POINTS,
   defaultVisDef = MSYMB,
   listVisDef    = MSYMB/PSYMB/MGRAPH/PGRAPH

dataunit,
   class         = ODB_XY_VECTORS,
   defaultVisDef = MWIND,
   listVisDef    = MWIND/PWIND

dataunit,
   class         = ODB_XY_BINNING,
   defaultVisDef = MCONT,
   listVisDef    = MCONT/PCONT

dataunit,
   class         = STATION,
   defaultVisDef = MSYMB,
   listVisDef    = MSYMB/MGRAPH/PSYMB/PGRAPH

dataunit,
   class         = PRASTERLOOP,
   defaultVisDef = PVOID,
   listVisDef    = PVOID

dataunit,
   class         = TABLE_HISTOGRAM,
   defaultVisDef = MHIST,
   listVisDef    = MHIST

dataunit,
   class         = TABLE_XY_POINTS,
   defaultVisDef = MSYMB,
   listVisDef    = MSYMB/MGRAPH

dataunit,
   class         = TABLE_GEO_POINTS,
   defaultVisDef = MSYMB,
   listVisDef    = MSYMB/MGRAPH

dataunit,
   class         = TABLE_XY_VECTORS,
   defaultVisDef = MWIND,
   listVisDef    = MWIND

dataunit,
   class         = TABLE_GEO_VECTORS,
   defaultVisDef = MWIND,
   listVisDef    = MWIND

dataunit,
   class         = TABLE_XY_BINNING,
   defaultVisDef = MCONT,
   listVisDef    = MCONT

dataunit,
   class         = TABLE_GEO_BINNING,
   defaultVisDef = MCONT,
   listVisDef    = MCONT

dataunit,
   class          = TABLE_XY_BOXES,
   defaultVisDef  = MBOXPLOT,
   listVisDef     = MBOXPLOT

dataunit,
   class          = TABLE_GEO_BOXES,
   defaultVisDef  = MBOXPLOT,
   listVisDef     = MBOXPLOT

dataunit,
   class          = TABLE_HOR_BAR,
   defaultVisDef  = MGRAPH,
   listVisDef     = MGRAPH

dataunit,
   class          = TABLE_VER_BAR,
   defaultVisDef  = MGRAPH,
   listVisDef     = MGRAPH

dataunit,
   class          = INPUT_HISTOGRAM,
   defaultVisDef  = MHIST,
   listVisDef     = MHIST

dataunit,
   class          = INPUT_XY_POINTS,
   defaultVisDef  = MSYMB,
   listVisDef     = MSYMB/MGRAPH

dataunit,
   class          = INPUT_GEO_POINTS,
   defaultVisDef  = MSYMB,
   listVisDef     = MSYMB/MGRAPH

dataunit,
   class          = INPUT_XY_VECTORS,
   defaultVisDef  = MWIND,
   listVisDef     = MWIND

dataunit,
   class          = INPUT_GEO_VECTORS,
   defaultVisDef  = MWIND,
   listVisDef     = MWIND

dataunit,
   class          = INPUT_XY_BINNING,
   defaultVisDef  = MCONT,
   listVisDef     = MCONT

dataunit,
   class          = INPUT_GEO_BINNING,
   defaultVisDef  = MCONT,
   listVisDef     = MCONT

dataunit,
   class          = INPUT_XY_BOXPLOT,
   defaultVisDef  = MBOXPLOT,
   listVisDef     = MBOXPLOT

#dataunit,
#   class          = INPUT_GEO_BOXES,
#   defaultVisDef  = MBOXPLOT,
#   listVisDef     = MBOXPLOT

#dataunit,
#   class          = INPUT_HOR_BAR,
#   defaultVisDef  = MGRAPH,
#   listVisDef     = MGRAPH

#dataunit,
#   class          = INPUT_VER_BAR,
#   defaultVisDef  = MGRAPH,
#   listVisDef     = MGRAPH

dataunit,
   class          = GRIB_VECTORS,
   defaultVisDef  = MWIND,
   listVisDef     = MWIND

dataunit,
   class         = RETRIEVE,
   defaultVisDef = MCONT,
   listVisDef    = MCONT/MWIND/MOBS/PWIND/PCONT

dataunit,
   class         = LLMATRIX,
   defaultVisDef = MCONT/MWIND,
   1D_VISDEF     = MCONT/PCONT,
   2D_VISDEF     = MWIND/PWIND,
   listVisDef    = MCONT/MWIND/PWIND/PCONT

#############################################
#  Visual definition list
#############################################

visdef,
   class    = PCONT

visdef,
   class    = MCONT

visdef,
   class    = MOBS

visdef,
   class    = PWIND

visdef,
   class    = MWIND

visdef,
   class    = PGRAPH

visdef,
   class    = MGRAPH

visdef,
   class    = PAXIS

visdef,
   class    = MTEPHI

visdef,
   class    = PSYMB

visdef,
   class    = MSYMB

visdef,
   class    = MVALUE

visdef,
   class    = MBOXPLOT

visdef,
   class    = MTHERMO

############################################
#  Companion list
############################################

companion,
   class      = u,
   friend     = v

companion,
   class      = 10u,
   friend     = 10v

companion,
   class      = 100u,
   friend     = 100v

companion,
   class      = 10ua,
   friend     = 10va

companion,
   class      = ewss,
   friend     = nsss

companion,
   class      = wind,
   friend     = dwi,
   mode       = sd

companion,
   class      = swh,
   friend     = mwd,
   mode       = sd

companion,
   class      = ocu,
   friend     = ocv

companion,
   class      = shww,
   friend     = mdww,
   mode       = sd

companion,
   class      = shts,
   friend     = mdts,
   mode       = sd

companion,
   class      = MGRAPH,
   friend     = MTHERMO

############################################
#  Graphics Engine list
############################################

graphics_engine,
   class      = Default,
   choice     = Magics
