Mercurial > repos > ecology > xarray_select
diff xarray_select.xml @ 3:bf595d613af4 draft
"planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/data_manipulation/xarray/ commit 2166974df82f97557b082a9e55135098e61640c4"
author | ecology |
---|---|
date | Thu, 20 Jan 2022 17:07:19 +0000 |
parents | 123a9a629bef |
children | b393815e4cb7 |
line wrap: on
line diff
--- a/xarray_select.xml Sun Jun 06 08:51:41 2021 +0000 +++ b/xarray_select.xml Thu Jan 20 17:07:19 2022 +0000 @@ -1,317 +1,317 @@ -<tool id="xarray_select" name="NetCDF xarray Selection" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@"> - <description>extracts variable values with custom conditions on dimensions</description> - <macros> - <import>macros.xml</import> - </macros> - <expand macro="edam_ontology"/> - <requirements> - <requirement type="package" version="3">python</requirement> - <requirement type="package" version="1.5.6">netcdf4</requirement> - <requirement type="package" version="@TOOL_VERSION@">xarray</requirement> - <requirement type="package" version="0.9.0">geopandas</requirement> - <requirement type="package" version="1.7.1">shapely</requirement> - </requirements> - <command detect_errors="exit_code"><![CDATA[ - mkdir output_dir && - #if $condi_source_coord.coord_source=="coord_from_file" - echo "Galaxy xarray version @TOOL_VERSION@" > output_dir/version.tabular && - #end if - python '$__tool_directory__/xarray_tool.py' '$input' --select '$var' - --verbose - --filter - #for $i,$uc in enumerate($user_choice) - #if $uc.condi_between.comparator=="bi" - '${uc.dim}#${uc.condi_between.comparator}#${uc.condi_between.t1}#${uc.condi_between.t2}' - #else - '${uc.dim}#${uc.condi_between.comparator}#${uc.condi_between.value}' - #end if - #end for - - #if $time.condi_datetime.datetime=="yes" - --time - #if $time.condi_datetime.condi_between.comparator=="sl" - '${time.condi_datetime.dim}#${time.condi_datetime.condi_between.comparator}#${time.condi_datetime.condi_between.t1}#${time.condi_datetime.condi_between.t2}' - #else - '${time.condi_datetime.dim}#${time.condi_datetime.condi_between.comparator}#${time.condi_datetime.condi_between.t1}' - #end if - #end if - - #if $condi_source_coord.coord_source=="coord_from_file" - --coords '$coord_tabular' - --latname '$condi_source_coord.lat_dim' --lonname '$condi_source_coord.lon_dim' - --outputdir output_dir - #if $condi_source_coord.tolerance - --tolerance '$condi_source_coord.tolerance' - #end if - #else - --outfile 'final.tabular' - #if $condi_source_coord.condi_coord.coord=='single' - --latname $condi_source_coord.condi_coord.lat_dim - --latvalN $condi_source_coord.condi_coord.lat_val - --lonname $condi_source_coord.condi_coord.lon_dim - --lonvalE $condi_source_coord.condi_coord.lon_val - #if $condi_source_coord.condi_coord.no_missing - --no_missing - #end if - #if $condi_source_coord.condi_coord.tolerance - --tolerance '$condi_source_coord.condi_coord.tolerance' - #end if - #elif $condi_source_coord.condi_coord.coord=='subregion' - --latname $condi_source_coord.condi_coord.lat_dim - --latvalN $condi_source_coord.condi_coord.lat_valN - --latvalS $condi_source_coord.condi_coord.lat_valS - --lonname $condi_source_coord.condi_coord.lon_dim - --lonvalE $condi_source_coord.condi_coord.lon_valE - --lonvalW $condi_source_coord.condi_coord.lon_valW - #end if - #end if - ]]></command> - <inputs> - <param type="data" name="input" label="Input netcdf file" format="netcdf"/> - <param type="data" label="Tabular of variables" name="var_tab" format="tabular" help="Select the tabular file which summarize the available variables and dimensions."/> - - <param name="var" type="select" label="Choose the variable to extract"> - <options from_dataset="var_tab"> - <column name="name" index="0"/> - <column name="value" index="0"/> - </options> - </param> - - <conditional name="condi_source_coord"> - <param name="coord_source" type="select" label="Source of coordinates"> - <option value="coord_from_stdin">Manually enter coordinates</option> - <option value="coord_from_file">Use coordinates from input file</option> - </param> - - <when value="coord_from_file"> - <param type="data" label="Tabular of coord" name="coord_tabular" format="tabular" help="Format : Latitude Longitude"/> - <param name="lat_dim" type="select" label="Name of latitude coordinate" > - <options from_dataset="var_tab"> - <column name="value" index="0"/> - </options> - </param> - <param name="lon_dim" type="select" label="Name of longitude coordinate" > - <options from_dataset="var_tab"> - <column name="value" index="0"/> - </options> - </param> - <param type="float" name="tolerance" optional="true" label="Maximum distance between original and selected value for inexact matches e.g. abs(original, index) is lower or equal to tolerance"/> - </when> - - <when value="coord_from_stdin"> - <conditional name="condi_coord"> - <param name="coord" type="select" label="Geographical area" help="Use this option to get valid values at your custom coordinates."> - <option value="global">Whole available region</option> - <option value="single">Single location</option> - <option value="subregion">Sub-region extraction</option> - </param> - <when value="single"> - <param name="lat_dim" type="select" label="Name of latitude coordinate" > - <options from_dataset="var_tab"> - <column name="value" index="0"/> - </options> - </param> - <param name="lat_val" type="float" value="0" label="Latitude"/> - <param name="lon_dim" type="select" label="Name of longitude coordinate" > - <options from_dataset="var_tab"> - <column name="value" index="0"/> - </options> - </param> - <param name="lon_val" type="float" value="0" label="Longitude"/> - <param name="no_missing" type="boolean" value="false" label="Do not handle null/missing values (only valid for single location and multiple columns)"/> - <param name="tolerance" type="float" optional="true" label="Maximum distance between original and selected value for inexact matches e.g. abs(original, index) is lower or equal to tolerance"/> - </when> - <when value="subregion"> - <param name="lat_dim" type="select" label="Name of latitude coordinate" > - <options from_dataset="var_tab"> - <column name="value" index="0"/> - </options> - </param> - <param name="lat_valN" type="float" value="0" label="Latitude North"/> - <param name="lat_valS" type="float" value="0" label="Latitude South"/> - <param name="lon_dim" type="select" label="Name of longitude coordinate" > - <options from_dataset="var_tab"> - <column name="value" index="0"/> - </options> - </param> - <param name="lon_valE" type="float" value="0" label="Longitude East"/> - <param name="lon_valW" type="float" value="0" label="Longitude West"/> - </when> - <when value="global"></when> - </conditional> - </when> - - </conditional> - - <section name="time" title="Select Time series" expanded="false"> - <conditional name="condi_datetime"> - <param name="datetime" type="select" label="Datetime selection" help="Use this option to extract timeseries from your dataset"> - <option value="no">No</option> - <option value="yes">Yes</option> - </param> - <when value="no"></when> - <when value="yes"> - <param name="dim" type="select" label="Select datetime dimension" help="Use this option only if your dataset contains a date/time dimension"> - <options from_dataset="var_tab"> - <column name="value" index="0"/> - </options> - </param> - <conditional name="condi_between"> - <param name="comparator" type="select" label="date/Time selection"> - <option value="is">is</option> - <option value="sl">slice</option> - <option value="ne">nearest</option> - <option value="to">to</option> - <option value="from">from</option> - </param> - <when value="sl"> - <param name="t1" type="text" value="" label="Start date/time"/> - <param name="t2" type="text" value="" label="End date/time"/> - </when> - <when value="is"> - <param name="t1" type="text" value="" label="date/time"/> - </when> - <when value="ne"> - <param name="t1" type="text" value="" label="date/time"/> - </when> - <when value="to"> - <param name="t1" type="text" value="" label="date/time"/> - </when> - <when value="from"> - <param name="t1" type="text" value="" label="date/time"/> - </when> - </conditional> - </when> - </conditional> - </section> - <repeat name="user_choice" title="additional filter" help="Use this option to filter on the selected dataset"> - <param name="dim" type="select" label="Dimensions"> - <options from_dataset="var_tab"> - <column name="value" index="0"/> - </options> - </param> - <conditional name="condi_between"> - <param name="comparator" type="select" label="Comparator"> - <option value="e">Equal</option> - <option value="ge">Greater or equal</option> - <option value="le">Less or equal</option> - <option value="bi">Between-include [threshold1,threshold2]</option> - </param> - <when value="bi"> - <param name="t1" type="text" value="0" label="Inferior threshold"/> - <param name="t2" type="text" value="0" label="Superior threshold"/> - </when> - <when value="e"> - <param name="value" type="text" value="0" label="Value"/> - </when> - <when value="ge"> - <param name="value" type="text" value="0" label="Value"/> - </when> - <when value="le"> - <param name="value" type="text" value="0" label="Value"/> - </when> - </conditional> - </repeat> - </inputs> - <outputs> - <collection type="list" name="output"> - <discover_datasets pattern="__designation_and_ext__" visible="false" format="tabular" directory="output_dir"/> - <filter>condi_source_coord['coord_source'] == 'coord_from_file'</filter> - </collection> - <data name="simpleoutput" from_work_dir="final.tabular" format="tabular"> - <filter>condi_source_coord['coord_source'] == 'coord_from_stdin'</filter> - </data> - </outputs> - <tests> - <test> - <param name="input" value="dataset-ibi-reanalysis-bio-005-003-monthly-regulargrid_1510914389133.nc"/> - <param name="var" value="phy"/> - <param name="var_tab" value="var_tab_dataset-ibi"/> - <conditional name="condi_source_coord"> - <param name="coord_source" value="coord_from_stdin"/> - <conditional name="condi_coord"> - <param name="coord" value="single"/> - <param name="lat_dim" value="latitude"/> - <param name="lat_val" value="44.0"/> - <param name="lon_dim" value="longitude"/> - <param name="lon_val" value="-2.0"/> - </conditional> - </conditional> - <output name="simpleoutput" value="Test1.tabular"> - <assert_contents> - <has_text_matching expression="0\t2002-12-15\t0.5"/> - <has_text_matching expression="144\t2014-12-15\t0.5"/> - </assert_contents> - </output> - </test> - <test> - <param name="input" value="dataset-ibi-reanalysis-bio-005-003-monthly-regulargrid_1510914389133.nc"/> - <param name="var_tab" value="var_tab_dataset-ibi"/> - <param name="var" value="nh4"/> - - <conditional name="condi_source_coord"> - <param name="coord_source" value="coord_from_stdin"/> - <conditional name="condi_coord"> - <param name="coord" value="global"/> - </conditional> - </conditional> - <section name="time"> - <conditional name="condi_datetime"> - <param name="datetime" value="yes"/> - <conditional name="condi_between"> - <param name="comparator" value="sl"/> - <param name="t1" value="2003-12-15" /> - <param name="t2" value="2004-12-15" /> - </conditional> - </conditional> - </section> - <repeat name="user_choice"> - <param name="dim" value="nh4"/> - <conditional name="condi_between"> - <param name="comparator" value="ge"/> - <param name="value" value="50."/> - </conditional> - </repeat> - <output name="simpleoutput" value="Test2.tabular"> - <assert_contents> - <has_text_matching expression="0\t2003-12-15\t0.5"/> - <has_text_matching expression="23\t2004-12-15\t0.5"/> - </assert_contents> - </output> - </test> - </tests> - <help><![CDATA[ -**What it does** - -This tool extracts variable values with custom conditions on dimensions. - -It can use manualy given coordinates or automaticaly take them from a tabular file to filter informations. - -If no values are availables at a coordinate X, the tool will search the closest coordinate with a non NA value. - -Filter can be set on every dimension. Available filtering operations are : =, >, <, >=, <=, [interval], ]interval[. - - - -**Input** - -A netcdf file (.nc). - -Variable tabular file from 'Netcdf Metadate Info'. - -Tabular file with coordinates (only coordinates, no header!) and the following structure : 'lat' 'lon'. - - -**Outputs** - -A single output with values for the wanted variable if there is only one coordinate. - -A data collection where one file is created for every coordinate, if multiple coordinates from tabular file. - - -------------------------------------------------- - -The xarray select tool can be used after the xarray Info. - ]]></help> - <expand macro="citations"/> -</tool> +<tool id="xarray_select" name="NetCDF xarray Selection" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@"> + <description>extracts variable values with custom conditions on dimensions</description> + <macros> + <import>macros.xml</import> + </macros> + <expand macro="edam_ontology"/> + <requirements> + <requirement type="package" version="@TOOL_VERSION@">xarray</requirement> + <requirement type="package" version="3">python</requirement> + <requirement type="package" version="1.5.6">netcdf4</requirement> + <requirement type="package" version="0.9.0">geopandas</requirement> + <requirement type="package" version="1.7.1">shapely</requirement> + </requirements> + <command detect_errors="exit_code"><![CDATA[ + mkdir output_dir && + #if $condi_source_coord.coord_source=="coord_from_file" + echo "Galaxy xarray version @TOOL_VERSION@"> output_dir/version.tabular && + #end if + python '$__tool_directory__/xarray_tool.py' '$input' --select '$var' + --verbose + --filter + #for $i,$uc in enumerate($user_choice) + #if $uc.condi_between.comparator=="bi" + '${uc.dim}#${uc.condi_between.comparator}#${uc.condi_between.t1}#${uc.condi_between.t2}' + #else + '${uc.dim}#${uc.condi_between.comparator}#${uc.condi_between.value}' + #end if + #end for + + #if $time.condi_datetime.datetime=="yes" + --time + #if $time.condi_datetime.condi_between.comparator=="sl" + '${time.condi_datetime.dim}#${time.condi_datetime.condi_between.comparator}#${time.condi_datetime.condi_between.t1}#${time.condi_datetime.condi_between.t2}' + #else + '${time.condi_datetime.dim}#${time.condi_datetime.condi_between.comparator}#${time.condi_datetime.condi_between.t1}' + #end if + #end if + + #if $condi_source_coord.coord_source=="coord_from_file" + --coords '$coord_tabular' + --latname '$condi_source_coord.lat_dim' --lonname '$condi_source_coord.lon_dim' + --outputdir output_dir + #if $condi_source_coord.tolerance + --tolerance '$condi_source_coord.tolerance' + #end if + #else + --outfile 'final.tabular' + #if $condi_source_coord.condi_coord.coord=='single' + --latname $condi_source_coord.condi_coord.lat_dim + --latvalN $condi_source_coord.condi_coord.lat_val + --lonname $condi_source_coord.condi_coord.lon_dim + --lonvalE $condi_source_coord.condi_coord.lon_val + #if $condi_source_coord.condi_coord.no_missing + --no_missing + #end if + #if $condi_source_coord.condi_coord.tolerance + --tolerance '$condi_source_coord.condi_coord.tolerance' + #end if + #elif $condi_source_coord.condi_coord.coord=='subregion' + --latname $condi_source_coord.condi_coord.lat_dim + --latvalN $condi_source_coord.condi_coord.lat_valN + --latvalS $condi_source_coord.condi_coord.lat_valS + --lonname $condi_source_coord.condi_coord.lon_dim + --lonvalE $condi_source_coord.condi_coord.lon_valE + --lonvalW $condi_source_coord.condi_coord.lon_valW + #end if + #end if + ]]> </command> + <inputs> + <param type="data" name="input" label="Input netcdf file" format="netcdf"/> + <param type="data" label="Tabular of variables" name="var_tab" format="tabular" help="Select the tabular file which summarize the available variables and dimensions."/> + + <param name="var" type="select" label="Choose the variable to extract"> + <options from_dataset="var_tab"> + <column name="name" index="0"/> + <column name="value" index="0"/> + </options> + </param> + + <conditional name="condi_source_coord"> + <param name="coord_source" type="select" label="Source of coordinates"> + <option value="coord_from_stdin">Manually enter coordinates</option> + <option value="coord_from_file">Use coordinates from input file</option> + </param> + + <when value="coord_from_file"> + <param type="data" label="Tabular of coord" name="coord_tabular" format="tabular" help="Format : Latitude Longitude"/> + <param name="lat_dim" type="select" label="Name of latitude coordinate"> + <options from_dataset="var_tab"> + <column name="value" index="0"/> + </options> + </param> + <param name="lon_dim" type="select" label="Name of longitude coordinate"> + <options from_dataset="var_tab"> + <column name="value" index="0"/> + </options> + </param> + <param type="float" name="tolerance" optional="true" label="Maximum distance between original and selected value for inexact matches e.g. abs(original, index) is lower or equal to tolerance"/> + </when> + + <when value="coord_from_stdin"> + <conditional name="condi_coord"> + <param name="coord" type="select" label="Geographical area" help="Use this option to get valid values at your custom coordinates."> + <option value="global">Whole available region</option> + <option value="single">Single location</option> + <option value="subregion">Sub-region extraction</option> + </param> + <when value="single"> + <param name="lat_dim" type="select" label="Name of latitude coordinate"> + <options from_dataset="var_tab"> + <column name="value" index="0"/> + </options> + </param> + <param name="lat_val" type="float" value="0" label="Latitude"/> + <param name="lon_dim" type="select" label="Name of longitude coordinate"> + <options from_dataset="var_tab"> + <column name="value" index="0"/> + </options> + </param> + <param name="lon_val" type="float" value="0" label="Longitude"/> + <param name="no_missing" type="boolean" value="false" label="Do not handle null/missing values (only valid for single location and multiple columns)"/> + <param name="tolerance" type="float" optional="true" label="Maximum distance between original and selected value for inexact matches e.g. abs(original, index) is lower or equal to tolerance"/> + </when> + <when value="subregion"> + <param name="lat_dim" type="select" label="Name of latitude coordinate"> + <options from_dataset="var_tab"> + <column name="value" index="0"/> + </options> + </param> + <param name="lat_valN" type="float" value="0" label="Latitude North"/> + <param name="lat_valS" type="float" value="0" label="Latitude South"/> + <param name="lon_dim" type="select" label="Name of longitude coordinate"> + <options from_dataset="var_tab"> + <column name="value" index="0"/> + </options> + </param> + <param name="lon_valE" type="float" value="0" label="Longitude East"/> + <param name="lon_valW" type="float" value="0" label="Longitude West"/> + </when> + <when value="global"></when> + </conditional> + </when> + + </conditional> + + <section name="time" title="Select Time series" expanded="false"> + <conditional name="condi_datetime"> + <param name="datetime" type="select" label="Datetime selection" help="Use this option to extract timeseries from your dataset"> + <option value="no">No</option> + <option value="yes">Yes</option> + </param> + <when value="no"></when> + <when value="yes"> + <param name="dim" type="select" label="Select datetime dimension" help="Use this option only if your dataset contains a date/time dimension"> + <options from_dataset="var_tab"> + <column name="value" index="0"/> + </options> + </param> + <conditional name="condi_between"> + <param name="comparator" type="select" label="date/Time selection"> + <option value="is">is</option> + <option value="sl">slice</option> + <option value="ne">nearest</option> + <option value="to">to</option> + <option value="from">from</option> + </param> + <when value="sl"> + <param name="t1" type="text" value="" label="Start date/time"/> + <param name="t2" type="text" value="" label="End date/time"/> + </when> + <when value="is"> + <param name="t1" type="text" value="" label="date/time"/> + </when> + <when value="ne"> + <param name="t1" type="text" value="" label="date/time"/> + </when> + <when value="to"> + <param name="t1" type="text" value="" label="date/time"/> + </when> + <when value="from"> + <param name="t1" type="text" value="" label="date/time"/> + </when> + </conditional> + </when> + </conditional> + </section> + <repeat name="user_choice" title="additional filter" help="Use this option to filter on the selected dataset"> + <param name="dim" type="select" label="Dimensions"> + <options from_dataset="var_tab"> + <column name="value" index="0"/> + </options> + </param> + <conditional name="condi_between"> + <param name="comparator" type="select" label="Comparator"> + <option value="e">Equal</option> + <option value="ge">Greater or equal</option> + <option value="le">Less or equal</option> + <option value="bi">Between-include [threshold1,threshold2]</option> + </param> + <when value="bi"> + <param name="t1" type="text" value="0" label="Inferior threshold"/> + <param name="t2" type="text" value="0" label="Superior threshold"/> + </when> + <when value="e"> + <param name="value" type="text" value="0" label="Value"/> + </when> + <when value="ge"> + <param name="value" type="text" value="0" label="Value"/> + </when> + <when value="le"> + <param name="value" type="text" value="0" label="Value"/> + </when> + </conditional> + </repeat> + </inputs> + <outputs> + <collection type="list" name="output"> + <discover_datasets pattern="__designation_and_ext__" visible="false" format="tabular" directory="output_dir"/> + <filter>condi_source_coord['coord_source'] == 'coord_from_file'</filter> + </collection> + <data name="simpleoutput" from_work_dir="final.tabular" format="tabular"> + <filter>condi_source_coord['coord_source'] == 'coord_from_stdin'</filter> + </data> + </outputs> + <tests> + <test> + <param name="input" value="dataset-ibi-reanalysis-bio-005-003-monthly-regulargrid_1510914389133.nc"/> + <param name="var" value="phy"/> + <param name="var_tab" value="var_tab_dataset-ibi"/> + <conditional name="condi_source_coord"> + <param name="coord_source" value="coord_from_stdin"/> + <conditional name="condi_coord"> + <param name="coord" value="single"/> + <param name="lat_dim" value="latitude"/> + <param name="lat_val" value="44.0"/> + <param name="lon_dim" value="longitude"/> + <param name="lon_val" value="-2.0"/> + </conditional> + </conditional> + <output name="simpleoutput" value="Test1.tabular"> + <assert_contents> + <has_text_matching expression="0\t2002-12-15\t0.5"/> + <has_text_matching expression="144\t2014-12-15\t0.5"/> + </assert_contents> + </output> + </test> + <test> + <param name="input" value="dataset-ibi-reanalysis-bio-005-003-monthly-regulargrid_1510914389133.nc"/> + <param name="var_tab" value="var_tab_dataset-ibi"/> + <param name="var" value="nh4"/> + + <conditional name="condi_source_coord"> + <param name="coord_source" value="coord_from_stdin"/> + <conditional name="condi_coord"> + <param name="coord" value="global"/> + </conditional> + </conditional> + <section name="time"> + <conditional name="condi_datetime"> + <param name="datetime" value="yes"/> + <conditional name="condi_between"> + <param name="comparator" value="sl"/> + <param name="t1" value="2003-12-15" /> + <param name="t2" value="2004-12-15" /> + </conditional> + </conditional> + </section> + <repeat name="user_choice"> + <param name="dim" value="nh4"/> + <conditional name="condi_between"> + <param name="comparator" value="ge"/> + <param name="value" value="50."/> + </conditional> + </repeat> + <output name="simpleoutput" value="Test2.tabular"> + <assert_contents> + <has_text_matching expression="0\t2003-12-15\t0.5"/> + <has_text_matching expression="23\t2004-12-15\t0.5"/> + </assert_contents> + </output> + </test> + </tests> + <help><![CDATA[ +**What it does** + +This tool extracts variable values with custom conditions on dimensions. + +It can use manualy given coordinates or automaticaly take them from a tabular file to filter informations. + +If no values are availables at a coordinate X, the tool will search the closest coordinate with a non NA value. + +Filter can be set on every dimension. Available filtering operations are : =, >, <, >=, <=, [interval], ]interval[. + + + +**Input** + +A netcdf file (.nc). + +Variable tabular file from 'Netcdf Metadate Info'. + +Tabular file with coordinates (only coordinates, no header!) and the following structure : 'lat' 'lon'. + + +**Outputs** + +A single output with values for the wanted variable if there is only one coordinate. + +A data collection where one file is created for every coordinate, if multiple coordinates from tabular file. + + +------------------------------------------------- + +The xarray select tool can be used after the xarray Info. + ]]> </help> + <expand macro="citations"/> +</tool>