<!--
(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="isoline"
		name="IsoPlot"
		used_by="Contour"
		directory="visualisers"
		prefix="contour/contour_line"
		action="pcont"
		python="mcont"
		python_rank="2">
		<documentation>This object contains all the attributes of the isolines</documentation>
		<parameter from="string"
			name="contour_special_legend"
			visible="no"
			default=""
			python="off"
			member="legend_special"
			to="string">
			<documentation>Used in wrep to produce special legend such as spaghetti!</documentation>
			<release>2.10</release>
		</parameter>
		<parameter from="int"
			name="contour_threads"
			visible="no"
			default="4"
			python="off"
			member="user_thread"
			to="int"
			documented="off">
			<documentation>NUmber of threads used to optimise the contouring  (possible 1, 4 or 9)</documentation>
		</parameter>
		<parameter from="float"
			name="contour_internal_reduction_factor"
			visible="no"
			default="4"
			python="off"
			member="resolution"
			to="float"
			documented="off">
			<documentation>Internal factor for contouring</documentation>
			<release>2.10</release>
		</parameter>
		<parameter from="string"
			name="contour_internal_technique"
			visible="no"
			python="off"
			default="interpolate"
			member="technique"
			to="string"
			documented="off">
			<documentation>Internal technique for contouring : interpolate/nearest</documentation>
		</parameter>
		<parameter from="string"
			name="contour_legend_text"
			visible="no"
			python="off"
			default=" "
			member="legend_text"
			to="string"
			documented="off">
			<documentation>Text to be used in legend</documentation>
			<release>2.10</release>
		</parameter>
		<parameter xml="style"
			from="string"
			name="contour_line_style"
			default="solid"
			member="style"
			to="LineStyle">
			<documentation>Style of contour line</documentation>
			<release>0.1</release>
		</parameter>
		<parameter xml="thickness"
			from="int"
			name="contour_line_thickness"
			default="1"
			member="thickness"
			to="int">
			<documentation>Thickness of contour line</documentation>
			<release>0.1</release>
		</parameter>
		<parameter member="rainbow"
			to="bool"
			default="off"
			from="string"
			name="contour_line_colour_rainbow">
			<documentation>if On, rainbow colouring method will be used.</documentation>
			<release>2.20</release>
			<set name="contour_line_colour_rainbow_method" value="on"></set>
			<set name="contour_line_thickness_rainbow_list" value="on"></set>
			<set name="contour_line_thickness_rainbow_list_policy" value="on"></set>
			<set name="contour_line_style_rainbow_list" value="on"></set>
			<set name="contour_line_style_rainbow_list_policy" value="on"></set>
		</parameter>
		<parameter xml="colour"
			from="string"
			name="contour_line_colour"
			default="blue"
			member="colour"
			to="Colour">
			<documentation>Colour of contour line</documentation>
			<release>0.1</release>
		</parameter>
		<parameter member="rainbowMethod"
			to="ColourTechnique"
			default="calculate"
			from="string"
			values= "calculate/list"
			name="contour_line_colour_rainbow_method">
			<documentation>Method of generating the colours for isoline</documentation>
			<set name="contour_line_colour_rainbow_colour_list" value="list"></set>
			<set name="contour_line_colour_rainbow_colour_list_policy" value="list"></set>
			<set name="contour_line_colour_rainbow_max_level_colour" value="calculate"></set>
			<set name="contour_line_colour_rainbow_min_level_colour" value="calculate"></set>
			<set name="contour_line_colour_rainbow_direction" value="calculate"></set>
		</parameter>
		<parameter member="rainbowMaxColour"
			to="Colour"
			default="blue"
			from="string"
			name="contour_line_colour_rainbow_max_level_colour">
			<documentation>Colour to be used for the max level</documentation>
		</parameter>
		<parameter member="rainbowMinColour"
			to="Colour"
			default="red"
			from="string"
			name="contour_line_colour_rainbow_min_level_colour">
			<documentation>Colour to be used for the mainlevel</documentation>
			<release>2.6</release>
		</parameter>
		<parameter from="string"
			name="contour_line_colour_rainbow_direction"
			default="anti_clockwise"
			member="rainbowDirection"
			to="string"
			values="clockwise/anti_clockwise">
			<documentation>Direction of colour sequencing for colouring</documentation>
		</parameter>
		<parameter member="rainbowColours"
			to="stringarray"
			default="stringarray()"
			from="stringarray"
			name="contour_line_colour_rainbow_colour_list"
			colourlist="on">
			<documentation>List of colours to be used in rainbow isolines</documentation>
			<release>2.6</release>
		</parameter>
		<parameter member="rainbowColourPolicy"
			to="ListPolicy"
			default="lastone"
			from="string"
			name="contour_line_colour_rainbow_colour_list_policy">
			<documentation>What to do if the list of colours is smaller that the list of contour: lastone/cycle</documentation>
		</parameter>
		<parameter member="rainbowThicknessList"
			to="intarray"
			default="intarray()"
			from="intarray"
			name="contour_line_thickness_rainbow_list">
			<documentation>List of thickness to used when rainbow method is on</documentation>
		</parameter>
		<parameter member="rainbowThicknessListPolicy"
			to="ListPolicy"
			default="lastone"
			from="string"
			name="contour_line_thickness_rainbow_list_policy">
			<documentation>What to do if the list of thickness is smaller that the list of contour: lastone/cycle</documentation>
		</parameter>
		<parameter member="rainbowStyleList"
			to="stringarray"
			default="stringarray()"
			from="stringarray"
			name="contour_line_style_rainbow_list">
			<documentation>List of line style to used when rainbow method is on</documentation>
		</parameter>
		<parameter member="rainbowStyleListPolicy"
			to="ListPolicy"
			default="lastone"
			from="string"
			name="contour_line_style_rainbow_list_policy">
			<documentation>What to do if the list of line styles is smaller that the list of contour: lastone/cycle</documentation>
		</parameter>
		<parameter xml="highlight"
			priority="0.2"
			from="string"
			name="contour_highlight"
			default="on"
			member="highlight"
			values = "on/off"
			to="NoIsoHighlight"
			include="IsoHighlight.h">
			<documentation>Plot contour highlights (ON/OFF)</documentation>
			<option xml="highlight" fortran="on" include="IsoHighlight.h" name="IsoHighlight"></option>
			<option xml="nohighlight" fortran="off" include="IsoHighlight.h" name="NoIsoHighlight"></option>
			<migration>New Magics: Parameter contour_highlight sent to new Magics[IsoPlot].</migration>
			<release>0.2</release>
		</parameter>
		<parameter xml="level_selection_type"
			from="string"
			name="contour_level_selection_type"
			default="count"
			member="levelSelection"
			values = "count/interval/list"
			to="LevelSelection"
			inherit_parent_reqs="no">
			<documentation>count: calculate a reasonable  contour interval taking into account the min/max and the requested number of isolines.
        interval: regularly spaced intervals using the reference_level as base.
        level_list: uses the given list of levels.</documentation>
			<option xml="count" fortran="count" include="CountSelectionType.h" name="CountSelectionType"></option>
			<option xml="interval" fortran="interval" include="IntervalSelectionType.h" name="IntervalSelectionType"></option>
			<option xml="list" fortran="level_list" include="LevelListSelectionType.h" name="LevelListSelectionType"></option>
		</parameter>
		<parameter xml="label"
			from="string"
			name="contour_label"
			default="on"
			member="label"
			to="NoIsoLabel"
			values = "on/off"
			include="IsoLabel.h"
			inherit_parent_reqs="no">
			<documentation>Plot labels on contour lines</documentation>
			<migration>New Magics: Parameter Contour sent to new Magics[Contour].</migration>
			<release>0.1</release>
			<option xml="label" fortran="on" include="IsoLabel.h" name="IsoLabel"></option>
			<option xml="nolabel" fortran="off" include="IsoLabel.h" name="NoIsoLabel"></option>
		</parameter>
		<parameter xml="shade"
			from="string"
			name="contour_shade"
			default="off"
			member="shading"
			values = "on/off"
			to="NoIsoShading"
			include="IsoShading.h"
			inherit_parent_reqs="no">
			<documentation>Turn shading on</documentation>
			<migration>New Magics: Parameter contour_label sent to new Magics[Contour].</migration>
			<release>0.2</release>
			<option xml="shading" fortran="on" include="IsoShading.h" name="IsoShading"></option>
			<option xml="noshading" fortran="off" include="IsoShading.h" name="NoIsoShading"></option>
		</parameter>
		<parameter member="legend_only"
			to="bool"
			default="off"
			from="string"
			name="contour_legend_only">
			<documentation>Inform the contour object do generate only the legend and not the plot!</documentation>
			<release>2.10</release>
		</parameter>
	</class>
</magics>
