Mercurial > repos > ecology > xarray_netcdf2netcdf
diff xarray_netcdf2netcdf.xml @ 0:b0780241f916 draft
"planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/data_manipulation/xarray/ commit 57b6d23e3734d883e71081c78e77964d61be82ba"
author | ecology |
---|---|
date | Sun, 06 Jun 2021 08:50:11 +0000 |
parents | |
children | 1a91e551f3a9 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xarray_netcdf2netcdf.xml Sun Jun 06 08:50:11 2021 +0000 @@ -0,0 +1,190 @@ +<tool id="xarray_netcdf2netcdf" name="NetCDF xarray operations" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@"> + <description>manipulate xarray from netCDF and save back to netCDF</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> + </requirements> + <command detect_errors="exit_code"><![CDATA[ + mkdir output_dir && + python '$__tool_directory__/xarray_netcdf2netcdf.py' '$input' '$var' + --filter + #for $i,$uc in enumerate($user_choice) + #if $uc.condi_between.comparator=="sl" + '${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 $scale + --scale '$scale' + #end if + #if $write_all + --write_all + #end if + --verbose + --output '$output_netcdf' + ]]></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> + + <repeat name="user_choice" title="additional filter" min="0" max="20" 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> + <param type="data" label="Tabular containing values of this dimension" name="dim_tab" format="tabular" help="File containing values for this dimension."/> + <conditional name="condi_between"> + <param name="comparator" type="select" label="Comparator"> + <option value="is">is</option> + <option value="from">from</option> + <option value="to">to</option> + <option value="sl">slice(threshold1,threshold2)</option> + </param> + <when value="sl"> + <param name="t1" type="select" multiple="false" label="Choose the start value for slice"> + <options from_dataset="dim_tab"> + <column name="name" index="1"/> + <column name="value" index="0"/> + </options> + </param> + <param name="t2" type="select" multiple="false" label="Choose the end value for slice"> + <options from_dataset="dim_tab"> + <column name="name" index="1"/> + <column name="value" index="0"/> + </options> + </param> + </when> + <when value="is"> + <param name="value" type="select" multiple="false" label="Choose the value to select"> + <options from_dataset="dim_tab"> + <column name="name" index="1"/> + <column name="value" index="0"/> + </options> + </param> + </when> + <when value="to"> + <param name="value" type="select" multiple="false" label="Choose the end value"> + <options from_dataset="dim_tab"> + <column name="name" index="1"/> + <column name="value" index="0"/> + </options> + </param> + </when> + <when value="from"> + <param name="value" type="select" multiple="false" label="Choose the start value"> + <options from_dataset="dim_tab"> + <column name="name" index="1"/> + <column name="value" index="0"/> + </options> + </param> + </when> + </conditional> + </repeat> + <param type="float" name="scale" optional="true" help="scale factor (float) to apply to selection (optional)"/> + + <param name="write_all" type="boolean" value="false" label="Write all variables to new netCDF file"/> + </inputs> + <outputs> + <data name="output_netcdf" format="netcdf"/> + </outputs> + <tests> + <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="chl"/> + <repeat name="user_choice"> + <param name="dim" value="time"/> + <conditional name="condi_between"> + <param name="comparator" value="sl"/> + <param name="t1" value="10"/> + <param name="t2" value="12"/> + </conditional> + </repeat> + <repeat name="user_choice"> + <param name="dim" value="latitude"/> + <param name="dim_tab" value="latitude.tabular"/> + <conditional name="condi_between"> + <param name="comparator" value="sl"/> + <param name="t1" value="5"/> + <param name="t2" value="10"/> + </conditional> + </repeat> + <repeat name="user_choice"> + <param name="dim" value="longitude"/> + <param name="dim_tab" value="longitude.tabular"/> + <conditional name="condi_between"> + <param name="comparator" value="sl"/> + <param name="t1" value="4"/> + <param name="t2" value="10"/> + </conditional> + </repeat> + <param name="scale" value="1000.5"/> + <output name="output_netcdf" file="small.netcdf" compare="sim_size" delat="1000"/> + </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="chl"/> + <repeat name="user_choice"> + <param name="dim" value="time"/> + <conditional name="condi_between"> + <param name="comparator" value="sl"/> + <param name="t1" value="10"/> + <param name="t2" value="12"/> + </conditional> + </repeat> + <repeat name="user_choice"> + <param name="dim" value="latitude"/> + <param name="dim_tab" value="latitude.tabular"/> + <conditional name="condi_between"> + <param name="comparator" value="sl"/> + <param name="t1" value="5"/> + <param name="t2" value="10"/> + </conditional> + </repeat> + <repeat name="user_choice"> + <param name="dim" value="longitude"/> + <param name="dim_tab" value="longitude.tabular"/> + <conditional name="condi_between"> + <param name="comparator" value="sl"/> + <param name="t1" value="4"/> + <param name="t2" value="10"/> + </conditional> + </repeat> + <param name="scale" value="1000.5"/> + <param name="write_all" value="Yes"/> + <output name="output_netcdf" file="all.netcdf" compare="sim_size" delat="1000"/> + </test> + </tests> + <help><![CDATA[ +**What it does** + +Select a variable ans can restrict over any of its dimension and apply a scaling (1 by default). +the result is stored in a new netCDF file. +One can also select the range of time (for timeseries) to apply these operations over the range only +when a range of time is selected and when scaling, one can choose to save the entire timeseries or +the selected range only. +when scaling, one can add additional filters on dimensions (typically used to filter +over latitudes and longitudes) + + +------------------------------------------------- + +The xarray select tool can be used after the xarray Info and xarray Coord. + ]]></help> + <expand macro="citations"/> +</tool>