changeset 2:b9d9fe0c2ce7 draft

planemo upload for repository https://github.com/NordicESMhub/galaxy-tools/tree/master/tools/essential_climate_variables commit 6045302c39c9c11fb6a73966a364cc395f2f9b28
author climate
date Sun, 23 Jun 2019 11:16:11 -0400
parents 8b30be2cef81
children b261160f10ee
files README.md ecv_retrieve.py essential_climate_variables.xml test-data/prep_seaice.nc test-data/soil_moisture.nc
diffstat 5 files changed, 170 insertions(+), 88 deletions(-) [+]
line wrap: on
line diff
--- a/README.md	Tue May 07 03:26:08 2019 -0400
+++ b/README.md	Sun Jun 23 11:16:11 2019 -0400
@@ -9,9 +9,23 @@
 
 The CDS API Key needs to be:
   - located in a file called `.cdsapirc`in the HOME area 
-    (as defined the `HOME` environment variable).
-  - or passed in an enviroment variable called `GALAXY_COPERNICUS_CDSAPIRC`. 
-    When passed in `GALAXY_COPERNICUS_CDSAPIRC`, make sure the key does not contain
-    the string `key: ` but the key itself only (starting with a number). The file
-    `.cdsapirc` will then be created and placed in the HOME area (using HOME
-    environment variable).
+    (as defined the `HOME` environment variable). 
+    The file `.cdsapirc` should look like that:
+
+```
+url: https://cds.climate.copernicus.eu/api/v2
+key: 111:8789787-qwerz4e47-888-not-real
+verify: 0
+```
+  - or passed in an enviroment variable called `GALAXY_COPERNICUS_CDSAPIRC_KEY`.
+    This environment variable should contain a string that looks like that:
+```
+111:8789787-qwerz4e47-888-not-real
+```
+    When passed in `GALAXY_COPERNICUS_CDSAPIRC_KEY`, make sure the key does not
+    contain the string `key: ` but the key itself only (starting with a number).
+    The file `.cdsapirc` will then be created and placed in the HOME area (using
+    HOME environment variable).
+  - or use `GALAXY_COPERNICUS_CDSAPIRC_KEY_FILE` to specify where your key file 
+    is stored on your system.
+
--- a/ecv_retrieve.py	Tue May 07 03:26:08 2019 -0400
+++ b/ecv_retrieve.py	Sun Jun 23 11:16:11 2019 -0400
@@ -34,7 +34,11 @@
             self.time_aggregation = '1_month'
         else:
             self.time_aggregation = time_aggregation
-        self.area = area
+        if area == '':
+            self.area = 'global'
+        else:
+            self.area = area
+
         if format == '':
             self.format = 'tgz'
         else:
@@ -57,6 +61,7 @@
                 'variable': self.variable,
                 'year': self.year,
                 'month': self.month,
+                'origin': 'era5',
                 'area': self.area,
                 'format': self.format,
                 'product_type': self.product_type,
--- a/essential_climate_variables.xml	Tue May 07 03:26:08 2019 -0400
+++ b/essential_climate_variables.xml	Sun Jun 23 11:16:11 2019 -0400
@@ -7,21 +7,27 @@
     </requirements>
     <command detect_errors="exit_code"><![CDATA[
        HOME=`pwd`  &&
+       source \$COPERNICUS_CDSAPIRC_KEY_FILE 2> /dev/null | true &&
        python3 '$__tool_directory__/ecv_retrieve.py'
             'ecv-for-climate-change' '$variable'
-            --year '$year'
-        #if str($time_aggregation.selector) == '1_month'
-            --month '$time_aggregation.month'
+            --month '$month'
+        #if str($product_type.product) == 'monthly_mean'
+            --year '$product_type.year'
+            --time_aggregation '1_month'
+        #else if str($product_type.product) == 'anomaly'
+            --time_aggregation '$product_type.selector'
+            --year '$product_type.year'
         #else
-            --month '01'
+            --year '2018'
+           --time_aggregation '1_month'
         #end if
-           --time_aggregation '$time_aggregation.selector'
-           --product_type '$product_type'
+           --product_type '$product_type.product'
            --format 'tgz' --output 'tmp.tgz'
            --verbose                                       &&
            tar zxvf tmp.tgz                                &&
-           cat *.grib > tmp.grib                           &&
-           cdo -f nc -t ecmwf copy tmp.grib tmp.nc
+           cat *.grib > tmpg.grib                          &&
+           cdo remapcon,$adv.resol -setgridtype,regular tmpg.grib tmp.grib &&
+           cdo -f nc -t ecmwf copy tmp.grib tmp.nc       
     ]]></command>
     <inputs>
         <param name="variable" type="select" multiple="true" label="Variable(s)">
@@ -29,78 +35,129 @@
             <option value="surface_air_relative_humidity" selected="true">Surface air relative humidity</option>
             <option value="0_7cm_volumetric_soil_moisture" selected="true">0-7cm volumetric soil moisture</option>
             <option value="precipitation" selected="true">Precipitation</option>
-            <option value="sea_ice" selected="true">Sea-ice</option>
+            <option value="sea_ice_cover" selected="true">Sea-ice cover</option>
         </param>
-        <param name="product_type" type="select" label="Select type of data">
-            <option value="climatology" selected="true">Climatology</option>
-            <option value="anomaly">Anomaly</option>
-        </param>
-        <conditional name="time_aggregation">
-            <param name="selector" type="select" label="Time aggregation">
-                <option value="12_month" selected="true">yearly</option>
-                <option value="1_month">monthly</option>
+        <conditional name="product_type">
+            <param name="product" type="select" label="Select type of data">
+                <option value="monthly_mean" selected="true">Monthly mean</option>
+                <option value="climatology">Climatology</option>
+                <option value="anomaly">Anomaly</option>
             </param>
-            <when value="1_month">
-                <param name="month" type="select" multiple="true" label="Select month(s)">
-                    <option value="01" selected="true">January</option>
-                    <option value="02" selected="true">February</option>
-                    <option value="03" selected="true">March</option>
-                    <option value="04" selected="true">April</option>
-                    <option value="05" selected="true">May</option>
-                    <option value="06" selected="true">June</option>
-                    <option value="07" selected="true">July</option>
-                    <option value="08" selected="true">August</option>
-                    <option value="09" selected="true">September</option>
-                    <option value="10" selected="true">October</option>
-                    <option value="11" selected="true">November</option>
-                    <option value="12" selected="true">December</option>
+            <when value="monthly_mean">
+                <param name="year" type="select" multiple="true"  label="Select year(s)">
+                    <option value="1979">1979</option>
+                    <option value="1980">1980</option>
+                    <option value="1981">1981</option>
+                    <option value="1982">1982</option>
+                    <option value="1983">1983</option>
+                    <option value="1984">1984</option>
+                    <option value="1985">1985</option>
+                    <option value="1986">1986</option>
+                    <option value="1987">1987</option>
+                    <option value="1988">1988</option>
+                    <option value="1989">1989</option>
+                    <option value="1990">1990</option>
+                    <option value="1991">1991</option>
+                    <option value="1992">1992</option>
+                    <option value="1993">1993</option>
+                    <option value="1994">1994</option>
+                    <option value="1995">1995</option>
+                    <option value="1996">1996</option>
+                    <option value="1997">1997</option>
+                    <option value="1998">1998</option>
+                    <option value="1999">1999</option>
+                    <option value="2000">2000</option>
+                    <option value="2001">2001</option>
+                    <option value="2002">2002</option>
+                    <option value="2003">2003</option>
+                    <option value="2004">2004</option>
+                    <option value="2005">2005</option>
+                    <option value="2006">2006</option>
+                    <option value="2007">2007</option>
+                    <option value="2008">2008</option>
+                    <option value="2009">2009</option>
+                    <option value="2010">2010</option>
+                    <option value="2011">2011</option>
+                    <option value="2012">2012</option>
+                    <option value="2013">2013</option>
+                    <option value="2014">2014</option>
+                    <option value="2015">2015</option>
+                    <option value="2016">2016</option>
+                    <option value="2017">2017</option>
+                    <option value="2018">2018</option>
+                    <option value="2019" selected="true">2019</option>
+                </param>
+            </when>
+            <when value="anomaly">
+                <param name="year" type="select" multiple="true"  label="Select year(s)">
+                    <option value="1979">1979</option>
+                    <option value="1980">1980</option>
+                    <option value="1981">1981</option>
+                    <option value="1982">1982</option>
+                    <option value="1983">1983</option>
+                    <option value="1984">1984</option>
+                    <option value="1985">1985</option>
+                    <option value="1986">1986</option>
+                    <option value="1987">1987</option>
+                    <option value="1988">1988</option>
+                    <option value="1989">1989</option>
+                    <option value="1990">1990</option>
+                    <option value="1991">1991</option>
+                    <option value="1992">1992</option>
+                    <option value="1993">1993</option>
+                    <option value="1994">1994</option>
+                    <option value="1995">1995</option>
+                    <option value="1996">1996</option>
+                    <option value="1997">1997</option>
+                    <option value="1998">1998</option>
+                    <option value="1999">1999</option>
+                    <option value="2000">2000</option>
+                    <option value="2001">2001</option>
+                    <option value="2002">2002</option>
+                    <option value="2003">2003</option>
+                    <option value="2004">2004</option>
+                    <option value="2005">2005</option>
+                    <option value="2006">2006</option>
+                    <option value="2007">2007</option>
+                    <option value="2008">2008</option>
+                    <option value="2009">2009</option>
+                    <option value="2010">2010</option>
+                    <option value="2011">2011</option>
+                    <option value="2012">2012</option>
+                    <option value="2013">2013</option>
+                    <option value="2014">2014</option>
+                    <option value="2015">2015</option>
+                    <option value="2016">2016</option>
+                    <option value="2017">2017</option>
+                    <option value="2018" selected="true">2018</option>
+                </param>
+                <param name="selector" type="select" label="Time aggregation">
+                    <option value="12_month" selected="true">yearly</option>
+                    <option value="1_month">monthly</option>
                 </param>
             </when>
         </conditional>
+        <param name="month" type="select" multiple="true" label="Select month(s)">
+            <option value="01" selected="true">January</option>
+            <option value="02" selected="true">February</option>
+            <option value="03" selected="true">March</option>
+            <option value="04" selected="true">April</option>
+            <option value="05" selected="true">May</option>
+            <option value="06" selected="true">June</option>
+            <option value="07" selected="true">July</option>
+            <option value="08" selected="true">August</option>
+            <option value="09" selected="true">September</option>
+            <option value="10" selected="true">October</option>
+            <option value="11" selected="true">November</option>
+            <option value="12" selected="true">December</option>
+        </param>
 
-        <param name="year" type="select" multiple="true"  label="Select year(s)">
-            <option value="1979">1979</option>
-            <option value="1980">1980</option>
-            <option value="1981">1981</option>
-            <option value="1982">1982</option>
-            <option value="1983">1983</option>
-            <option value="1984">1984</option>
-            <option value="1985">1985</option>
-            <option value="1986">1986</option>
-            <option value="1987">1987</option>
-            <option value="1988">1988</option>
-            <option value="1989">1989</option>
-            <option value="1990">1990</option>
-            <option value="1991">1991</option>
-            <option value="1992">1992</option>
-            <option value="1993">1993</option>
-            <option value="1994">1994</option>
-            <option value="1995">1995</option>
-            <option value="1996">1996</option>
-            <option value="1997">1997</option>
-            <option value="1998">1998</option>
-            <option value="1999">1999</option>
-            <option value="2000">2000</option>
-            <option value="2001">2001</option>
-            <option value="2002">2002</option>
-            <option value="2003">2003</option>
-            <option value="2004">2004</option>
-            <option value="2005">2005</option>
-            <option value="2006">2006</option>
-            <option value="2007">2007</option>
-            <option value="2008">2008</option>
-            <option value="2009">2009</option>
-            <option value="2010">2010</option>
-            <option value="2011">2011</option>
-            <option value="2012">2012</option>
-            <option value="2013">2013</option>
-            <option value="2014">2014</option>
-            <option value="2015">2015</option>
-            <option value="2016">2016</option>
-            <option value="2017">2017</option>
-            <option value="2018">2018</option>
-            <option value="2019" selected="true">2019</option>
-        </param>
+        <section name="adv" title="Advanced Options" expanded="false">
+            <param name="resol" type="select" label="Resolution">
+                <option value="r1440x720" selected="true">high</option>
+                <option value="r144x72">low</option>
+            </param>
+        </section>
     </inputs>
     <outputs>
         <data name="ofilename" format="netcdf" from_work_dir="tmp.nc"/>
@@ -108,17 +165,23 @@
     <tests>
         <test>
             <param name="variable" value="0_7cm_volumetric_soil_moisture"/>
-            <param name="product_type" value="climatology"/>
-            <param name="time_aggregation" value="1_month"/>
+            <conditional name="product_type">
+                <param name="product" value="monthly_mean"/>
+                <param name="year" value="2018"/>
+            </conditional>
             <param name="month" value="12"/>
-            <param name="year" value="2018"/>
+            <param name="resol" value="r144x72"/>
             <output name="ofilename" ftype="netcdf" file="soil_moisture.nc" compare="sim_size" delta="100"/>
         </test>
         <test>
-            <param name="variable" value="precipitation,sea_ice"/>
-            <param name="product_type" value="anomaly"/>
-            <param name="time_aggregation" value="12_month"/>
-            <param name="year" value="2017"/>
+            <param name="variable" value="precipitation"/>
+            <conditional name="product_type">
+                <param name="product" value="anomaly"/>
+                <param name="year" value="2017"/>
+                <param name="time_aggregation" value="12_month"/>
+            </conditional>
+            <param name="month" value="12"/>
+            <param name="resol" value="r144x72"/>
             <output name="ofilename" ftype="netcdf" file="prep_seaice.nc" compare="sim_size" delta="100"/>
         </test>
     </tests>
Binary file test-data/prep_seaice.nc has changed
Binary file test-data/soil_moisture.nc has changed