<!--
(C) Copyright 1996-2016 ECMWF.
This software is licensed under the terms of the Apache Licence Version 2.0
which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
In applying this licence, ECMWF does not waive the privileges and immunities
granted to it by virtue of its status as an intergovernmental organisation nor
does it submit to any jurisdiction.
-->
<magics>
	<class xmltag="symbol"
		name="SymbolPlotting"
		metview="MSYMB"
		directory="visualisers"
		prefix="symbol"
		action="psymb"
		python="msymb">
		<userdoc>
		This action controls the plotting of meteorological and marker symbols.
		It is used to plot point data, such as observations.
		</userdoc>
		<documentation>
    This action routine (and C++object) controls the plotting of meteorological and marker symbols.
		</documentation>
		<parameter member="legend"
			to="bool"
			default="off"
			from="string"
			name="legend">
			<documentation>Turn legend on or off (ON/OFF) : New Parameter!</documentation>
			<set name="legend_user_text" value="on"></set>
		</parameter>
		
		<parameter member="unit_method"
			to="string"
			default="cm"
			from="string"
			name="symbol_height_unit"
			values= "cm/geograhical">
			<documentation>if set to geographical, the height will be interpreted in degres of latitude</documentation>
			
		</parameter>
		<parameter from="string"
			name="symbol_type"
			default="number"
			member="type"
			to="string"
			values="number/text/marker/wind/property">
			<documentation>Defines the type of symbol plotting required</documentation>
			<set name="symbol_text_list" value="text"></set>
			<set name="symbol_text_position" value="text"></set>
			<set name="symbol_text_font" value="text"></set>
			<set name="symbol_text_font_size" value="text"></set>
			<set name="symbol_text_font_style" value="text"></set>
			<set name="symbol_text_font_colour" value="text"></set>
			<set name="symbol_text_blanking" value="text"></set>
			<set name="symbol_marker_mode" value="marker"></set>
			<set name="symbol_marker_index" value="marker"></set>
			<set name="symbol_marker_name" value="marker"></set>
			<set name="symbol_image_path" value="marker"></set>
			<set name="symbol_image_format" value="marker"></set>
			<set name="symbol_image_width" value="marker"></set>
			<set name="symbol_image_height" value="marker"></set>
			<set name="symbol_format" value="number"></set>
			<set name="symbol_text_position" value="number"></set>
			<set name="symbol_text_font" value="number"></set>
			<set name="symbol_text_font_size" value="number"></set>
			<set name="symbol_text_font_style" value="number"></set>
			<set name="symbol_text_font_colour" value="number"></set>
			<set name="symbol_text_blanking" value="number"></set>
			<set name="symbol_text_position" value="both"></set>
			<set name="symbol_text_font" value="both"></set>
			<set name="symbol_text_font_size" value="both"></set>
			<set name="symbol_text_font_style" value="both"></set>
			<set name="symbol_text_font_colour" value="both"></set>
			<set name="symbol_text_blanking" value="text"></set>
			<set name="symbol_format" value="both"></set>
			<set name="symbol_marker_mode" value="both"></set>
			<set name="symbol_marker_index" value="both"></set>
			<set name="symbol_marker_name" value="both"></set>
			<set name="symbol_image_path" value="both"></set>
			<set name="symbol_image_format" value="both"></set>
			<set name="symbol_image_width" value="both"></set>
			<set name="symbol_image_height" value="both"></set>
		</parameter>
		<parameter xml="table_mode"
			from="string"
			name="symbol_table_mode"
			default="OFF"
			member="mode"
			to="SymbolMode">
			<option xml="individual" fortran="off" include="SymbolMode.h" name="SymbolIndividualMode"></option>
			<option xml="advanced" fortran="advanced" include="SymbolAdvancedTableMode.h" name="SymbolAdvancedTableMode"></option>
			<option xml="table" fortran="on" include="SymbolMode.h" name="SymbolTableMode"></option>
			<documentation>Specifies if plotting is to be in advanced, table (on) or individual mode (off).
            	        Note:  The simple table mode is not recommended anymore, try to use the advanced mode instead,
            		    this  should give you easier control of the plot.</documentation>
			<set name="symbol_colour" value="off"></set>
			<set name="symbol_height" value="off"></set>
			<set name="symbol_marker_mode" value="off"></set>
			<set name="symbol_marker_index" value="off"></set>
			<set name="symbol_marker_name" value="off"></set>
			<set name="symbol_text_position" value="off"></set>
			<set name="symbol_text_font" value="off"></set>
			<set name="symbol_text_font_size" value="off"></set>
			<set name="symbol_text_font_style" value="off"></set>
			<set name="symbol_text_font_colour" value="off"></set>
			<set name="legend_user_text" value="off"></set>
			<set name="symbol_min_table" value="on"></set>
			<set name="symbol_max_table" value="on"></set>
			<set name="symbol_colour_table" value="on"></set>
			<set name="symbol_height_table" value="on"></set>
			<set name="symbol_marker_table" value="on"></set>
			<set name="symbol_name_table" value="on"></set>
			<set name="symbol_advanced_table_selection_type" value="advanced"></set>
			<set name="symbol_advanced_table_min_value" value="advanced"></set>
			<set name="symbol_advanced_table_max_value" value="advanced"></set>
			<set name="symbol_advanced_table_level_count" value="advanced"></set>
			<set name="symbol_advanced_table_level_tolerance" value="advanced"></set>
			<set name="symbol_advanced_table_interval" value="advanced"></set>
			<set name="symbol_advanced_table_reference_level" value="advanced"></set>
			<set name="symbol_advanced_table_level_list" value="advanced"></set>
			<set name="symbol_advanced_table_colour_method" value="advanced"></set>
			<set name="symbol_advanced_table_max_level_colour" value="advanced"></set>
			<set name="symbol_advanced_table_min_level_colour" value="advanced"></set>
			<set name="symbol_advanced_table_colour_direction" value="advanced"></set>
			<set name="symbol_advanced_table_colour_list" value="advanced"></set>
			<set name="symbol_advanced_table_colour_list_policy" value="advanced"></set>
			<set name="symbol_advanced_table_marker_list" value="advanced"></set>
			<set name="symbol_advanced_table_marker_list_policy" value="advanced"></set>
			<set name="symbol_advanced_table_height_method" value="advanced"></set>
			<set name="symbol_advanced_table_height_max_value" value="advanced"></set>
			<set name="symbol_advanced_table_height_min_value" value="advanced"></set>
			<set name="symbol_advanced_table_height_list" value="advanced"></set>
			<set name="symbol_advanced_table_height_list_policy" value="advanced"></set>
			<set name="symbol_advanced_table_text_list" value="advanced"></set>
			<set name="symbol_advanced_table_text_list_policy" value="advanced"></set>
			<set name="symbol_advanced_table_text_font" value="advanced"></set>
			<set name="symbol_advanced_table_text_font_size" value="advanced"></set>
			<set name="symbol_advanced_table_text_font_style" value="advanced"></set>
			<set name="symbol_advanced_table_text_font_colour" value="advanced"></set>
			<set name="symbol_advanced_table_text_display_type" value="advanced"></set>
			<set name="symbol_advanced_table_outlayer_method" value="advanced"></set>
			<set name="symbol_advanced_table_outlayer_min_value" value="advanced"></set>
			<set name="symbol_advanced_table_outlayer_max_value" value="advanced"></set>
		</parameter>
		<parameter from="string"
			name="symbol_marker_mode"
			default="index"
			member="marker_mode"
			to="string"
			values="index/name/image">
			<documentation>Method to select a marker : by name, by index, by image : in that case, Magics will use an external image as marker.</documentation>
			<set name="symbol_marker_index" value="index"></set>
			<!--set name="symbol_advanced_table_marker_name_list" value="name">		</set-->
			<set name="symbol_image_path" value="image"></set>
			<set name="symbol_image_format" value="image"></set>
			<set name="symbol_image_width" value="image"></set>
			<set name="symbol_image_height" value="image"></set>
			<set name="symbol_image_by_reference" value="image"></set>
		</parameter>
		<parameter xml="format"
			from="string"
			name="symbol_format"
			default="(automatic)"
			member="format"
			to="string">
			<documentation>Format used to plot values (MAGICS Format/(AUTOMATIC))</documentation>
		</parameter>
		<parameter member="text_blanking"
			to="bool"
			default="off"
			from="string"
			name="symbol_text_blanking">
			<documentation>blanking of the text</documentation>
		</parameter>
		<parameter member="outline"
			to="bool"
			default="off"
			from="string"
			name="symbol_outline">
			<set name="symbol_outline_colour" value="on"></set>
			<set name="symbol_outline_thickness" value="on"></set>
			<set name="symbol_outline_style" value="on"></set>
			<documentation>Add an outline to each symbol</documentation>
		</parameter>
		<parameter member="outline_colour"
			to="Colour"
			default="black"
			from="string"
			name="symbol_outline_colour">
			<documentation>Colour of the outline</documentation>
		</parameter>
		<parameter member="outline_thickness"
			to="int"
			default="1"
			from="int"
			name="symbol_outline_thickness">
			<documentation>thickness of the outline</documentation>
		</parameter>
		<parameter member="outline_style"
			to="LineStyle"
			default="solid"
			from="string"
			name="symbol_outline_style">
			<documentation>Line Style of outline</documentation>
		</parameter>
		<parameter member="connect"
			to="bool"
			default="off"
			from="string"
			name="symbol_connect_line">
			<set name="symbol_connect_automatic_line_colour" value="on"></set>
			<set name="symbol_connect_line_colour" value="on"></set>
			<set name="symbol_connect_line_thickness" value="on"></set>
			<set name="symbol_connect_line_style" value="on"></set>
			<documentation>Connect all the symbols with a line</documentation>
		</parameter>
		<parameter member="automatic_connect_colour"
			to="bool"
			default="on"
			from="string"
			name="symbol_connect_automatic_line_colour">
			<set name="symbol_connect_line_colour" value="off"></set>
			<documentation>if on, will use the colour of the symbol</documentation>
		</parameter>
		<parameter member="connect_colour"
			to="Colour"
			default="black"
			from="string"
			name="symbol_connect_line_colour">
			<documentation>Colour of the connecting line</documentation>
		</parameter>
		<parameter member="connect_thickness"
			to="int"
			default="1"
			from="int"
			name="symbol_connect_line_thickness">
			<documentation>thickness of the  connecting line</documentation>
		</parameter>
		<parameter member="connect_style"
			to="LineStyle"
			default="solid"
			from="string"
			name="symbol_connect_line_style">
			<documentation>Line Style of  connecting line</documentation>
		</parameter>
		<parameter member="legend_only"
			to="bool"
			default="off"
			from="string"
			name="symbol_legend_only"
			visible='off'>
			<documentation>Inform the contour object do generate only the legend and not the plot .. [Web sdpecific]</documentation>
		</parameter>
		<!-- For the type property for CAMS -->
		<parameter member="property_hue_name"
			to="string"
			default="colour"
			from="string"
			name="symbol_property_hue_name"
			visible='off'>
			<documentation>With GeoSon : property name to use to set the colour</documentation>
		</parameter>
		<parameter member="property_hue_list"
			to="floatarray"
			default="floatarray()"
			from="floatarray"
			name="symbol_property_hue_list"
			visible='off'>
			<documentation>With GeoSon : list of colours to use</documentation>
		</parameter>
		<parameter member="property_hue_values_list"
			to="floatarray"
			default="floatarray()"
			from="floatarray"
			name="symbol_property_hue_values_list"
			visible='off'>
			<documentation>With GeoSon : list of heights to use</documentation>
		</parameter>

		<parameter member="property_lightness_name"
			to="string"
			default="colour"
			from="string"
			name="symbol_property_lightness_name"
			visible='off'>
			<documentation>With GeoSon : property name to use to set the colour</documentation>
		</parameter>
		<parameter member="property_lightness_list"
			to="floatarray"
			default="floatarray()"
			from="floatarray"
			name="symbol_property_lightness_list"
			visible='off'>
			<documentation>With GeoSon : list of colours to use</documentation>
		</parameter>
		<parameter member="property_lightness_values_list"
			to="floatarray"
			default="floatarray()"
			from="floatarray"
			name="symbol_property_lightness_values_list"
			visible='off'>
			<documentation>With GeoSon : list of heights to use</documentation>
		</parameter>

		<parameter member="property_saturation_value"
			to="float"
			default="1"
			from="float"
			name="symbol_property_saturation_value"
			visible='off'>
			<documentation>With GeoSon : list of colours to use</documentation>
		</parameter>

		<parameter member="property_height_name"
			to="string"
			default="colour"
			from="string"
			name="symbol_property_lightness_name"
			visible='off'>
			<documentation>With GeoSon : property name to use to set the colour</documentation>
		</parameter>
		<parameter member="property_lightness_list"
			to="floatarray"
			default="floatarray()"
			from="floatarray"
			name="symbol_property_lightness_list"
			visible='off'>
			<documentation>With GeoSon : list of colours to use</documentation>
		</parameter>
		<parameter member="property_lightness_values_list"
			to="floatarray"
			default="floatarray()"
			from="floatarray"
			name="symbol_property_lightness_values_list"
			visible='off'>
			<documentation>With GeoSon : list of heights to use</documentation>
		</parameter>

		<parameter member="property_saturation_value"
			to="float"
			default="1"
			from="float"
			name="symbol_property_saturation_value"
			visible='off'>
			<documentation>With GeoSon : list of colours to use</documentation>
		</parameter>

		<parameter member="property_height_name"
			to="string"
			default="colour"
			from="string"
			name="symbol_property_height_name"
			visible='off'>
			<documentation>With GeoSon : property name to use to set the colour</documentation>
		</parameter>
		<parameter member="property_height_scaling_factor"
			to="float"
			default="1"
			from="float"
			name="symbol_property_height_scaling_factor"
			visible='off'>
			<documentation>With GeoSon : property name to use to set the colour</documentation>
		</parameter>

		
		<parameter member="marker"
			to="int"
			default="1"
			from="int"
			name="symbol_marker_index">
			<documentation>Marker indice:  An integer between 1 and 28</documentation>
		</parameter>
		
	</class>
</magics>
