easyblock = 'Binary' name = 'ESMValTool' version = '2.0a1' versionsuffix = '-Python-%(pyver)s' homepage = 'https://www.esmvaltool.org/' description = """The Earth System Model eValuation Tool (ESMValTool) is a community diagnostics and performance metrics tool for the evaluation of Earth System Models (ESMs) that allows for routine comparison of single or multiple models, either against predecessor versions or against observations.""" toolchain = {'name': 'foss', 'version': '2018b'} toolchainopts = {'pic': True} source_urls = ['https://github.com/ESMValGroup/ESMValTool/archive/'] sources = [{'filename': SOURCE_TAR_GZ, 'download_filename': 'v%(version)s.tar.gz'}] dependencies = [ ('Python', '2.7.15'), ('NCL', '6.5.0-Python-2.7.15'), ('R', '3.5.1', versionsuffix), ('CDO', '1.9.5'), ('GEOS', '3.6.2', versionsuffix), ('libjpeg-turbo', '2.0.0'), ('libpng', '1.6.34'), ('zlib', '1.2.11'), ('LibTIFF', '4.0.9'), ('freetype', '2.9.1'), ('PROJ', '5.0.0'), ('netCDF', '4.6.1'), ('GDAL', '2.2.3', versionsuffix), ('PyGTK', '2.24.0', versionsuffix), ('ecCodes', '2.8.2'), ('libmo_unpack', '3.1.2'), ('numba', '0.43.0', versionsuffix), ] exts_download_dep_fail = True exts_defaultclass = 'PythonPackage' exts_default_options = { 'source_tmpl': '%(name)s-%(version)s.tar.gz', } # exts_filter = # ("python -c 'import %(ext_name)s'", '') # ("R -q --no-save", "library(%(ext_name)s)"), exts_classmap = {'ncdf4': 'RPackage'} exts_list = [ # Python deps, order is important! ('olefile', '0.45.1', { 'source_tmpl': '%(name)s-%(version)s.zip', 'source_urls': ['https://pypi.python.org/packages/source/o/olefile/'], 'checksums': ['2b6575f5290de8ab1086f8c5490591f7e0885af682c7c1793bdaf6e64078d385'], }), ('Pillow', '4.3.0', { 'modulename': 'PIL', 'source_urls': ['https://pypi.python.org/packages/source/p/Pillow/'], 'checksums': ['a97c715d44efd5b4aa8d739b8fad88b93ed79f1b33fc2822d5802043f3b1b527'], }), ('pyproj', '1.9.5.1', { 'source_urls': ['https://pypi.python.org/packages/source/p/pyproj/'], 'checksums': ['53fa54c8fa8a1dfcd6af4bf09ce1aae5d4d949da63b90570ac5ec849efaf3ea8'], }), ('pyshp', '2.1.0', { 'modulename': 'shapefile', 'source_urls': ['https://pypi.python.org/packages/source/p/pyshp/'], }), ('chardet', '3.0.4', { 'source_urls': ['https://pypi.python.org/packages/source/c/chardet/'], 'checksums': ['84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae'], }), ('urllib3', '1.24.1', { 'source_urls': ['https://pypi.python.org/packages/source/u/urllib3/'], }), ('certifi', '2019.3.9', { 'source_urls': ['https://pypi.python.org/packages/source/c/certifi/'], }), ('requests', '2.21.0', { 'source_urls': ['https://pypi.python.org/packages/source/r/requests/'], }), ('OWSLib', '0.17.1', { 'source_urls': ['https://pypi.python.org/packages/source/o/OWSLib/'], }), ('netCDF4', '1.3.1', { 'modulename': 'netCDF4', 'source_urls': ['https://pypi.python.org/packages/source/n/netCDF4/'], 'checksums': ['570ea59992aa6d98a9b672c71161d11ba5683f787da53446086077470a869957'], }), ('geoval', '0.1.5', { 'source_urls': ['https://pypi.python.org/packages/source/g/geoval/'], 'checksums': ['7da4a1879f78bb7aac2d41b5c1ee360ff74087bf857c81c532deb8cc31feb36e'], }), ('cdo', '1.3.6', { 'source_urls': ['https://pypi.python.org/packages/source/c/cdo/'], 'checksums': ['b167efbbac7d0a6cbf74f5d211255705c73245f7c2590b6d9eb634347d8b2c1f'], }), ('Shapely', '1.6.4.post2', { 'source_urls': ['https://pypi.python.org/packages/source/s/Shapely/'], }), ('Cartopy', '0.17.0', { 'source_urls': ['https://pypi.python.org/packages/source/c/Cartopy/'], }), ('dask', '1.1.4', { 'source_urls': ['https://pypi.python.org/packages/source/d/dask/'], }), ('PyKE', '1.1.1', { 'source_tmpl': 'pyke-1.1.1.zip', 'source_urls': ['http://download.sourceforge.net/pyke'], 'checksums': ['b0b294f435c6e6d2d4a80badf57d92cb66814dfe21e644a521901209e6a3f8ae'], }), ('cf-units', '2.1.1', { 'source_urls': ['https://pypi.python.org/packages/source/c/cf_units/'], }), ('cftime', '1.0.3.4rel', { 'modulename': 'cftime', 'source_tmpl': 'v%(version)s.tar.gz', 'source_urls': ['https://github.com/Unidata/cftime/archive/'], }), ('pyugrid', '0.3.1', { 'source_urls': ['https://pypi.python.org/packages/source/p/pyugrid/'], 'checksums': ['eddadc1e88c0e801f780b1e6f636fbfc00e3d14cdab82b43300fde0918310053'], }), ('mo_pack', '0.2.0', { 'source_tmpl': 'v%(version)s.tar.gz', 'source_urls': ['https://github.com/SciTools/mo_pack/archive/'], 'checksums': ['4aa70e1f846b666670843bc2514435dedf7393203e88abaf74d48f8f2717a726'], }), ('cycler', '0.10.0', { 'source_urls': ['https://pypi.python.org/packages/source/c/cycler/'], 'checksums': ['cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8'], }), ('singledispatch', '3.4.0.3', { 'source_urls': ['https://pypi.python.org/packages/source/s/singledispatch/'], 'checksums': ['5b06af87df13818d14f08a028e42f566640aef80805c3b50c5056b086e3c2b9c'], }), ('backports_abc', '0.5', { 'source_urls': ['https://pypi.python.org/packages/source/b/backports_abc/'], 'checksums': ['033be54514a03e255df75c5aee8f9e672f663f93abb723444caec8fe43437bde'], }), ('tornado', '5.1.1', { 'source_urls': ['https://pypi.python.org/packages/source/t/tornado/'], }), ('matplotlib', '2.2.4', { 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib/'], }), ('toolz', '0.9.0', { 'source_urls': ['https://pypi.python.org/packages/source/t/toolz/'], 'checksums': ['929f0a7ea7f61c178bd951bdae93920515d3fbdbafc8e6caf82d752b9b3b31c9'], }), ('basemap', '1.1.0', { 'modulename': 'mpl_toolkits.basemap', 'source_tmpl': 'v%(version)s.tar.gz', 'source_urls': ['https://github.com/matplotlib/basemap/archive'], 'checksums': ['6acdc3a08bfcebf0a1b52a05d73d51b7aa5e7240fedfa95537c92d16f2ef8778'], }), ('scitools-iris', '2.2.0', { 'modulename': 'iris', 'source_tmpl': 'v%(version)s.tar.gz', 'source_urls': ['https://github.com/SciTools/iris/archive/'], 'checksums': ['e4b52e43da16b72af9ccbcb4d53bc401'], }), ('iris-grib', '0.14.0', { 'modulename': 'iris_grib', 'source_tmpl': 'v%(version)s.tar.gz', 'source_urls': ['https://github.com/SciTools/iris-grib/archive/'], 'checksums': ['b6a4ae0dbfcfb8aa08c6106d8db98c51'], }), ('patsy', '0.5.0', { 'source_urls': ['https://pypi.python.org/packages/source/p/patsy/'], 'checksums': ['e05f38d5c38c8d216f0cc2b765b1069b433c92d628b954fb2fee68d13e42883b'], }), ('statsmodels', '0.9.0', { 'source_urls': ['https://pypi.python.org/packages/source/s/statsmodels/'], 'checksums': ['6461f93a842c649922c2c9a9bc9d9c4834110b89de8c4af196a791ab8f42ba3b'], }), ('nc-time-axis', '1.1.0', { 'modulename': 'nc_time_axis', 'source_urls': ['https://pypi.python.org/packages/source/n/nc-time-axis/'], 'checksums': ['ea9d4f7f9e9189c96f7d320235ac6c4be7f63dc5aa256b3ee5d5cca5845e6e26'], }), ('yamale', '1.10.0', { 'modulename': 'yamale', 'source_urls': ['https://pypi.python.org/packages/source/y/yamale/'], }), ('stratify', '0.2', { 'modulename': 'stratify', 'source_tmpl': 'master.zip', 'source_urls': ['https://github.com/SciTools-incubator/python-stratify/archive/'], }), ('psutil', '5.6.1', { 'modulename': 'psutil', 'source_urls': ['https://pypi.python.org/packages/source/p/psutil/'], 'checksums': ['fa0a570e0a30b9dd618bffbece590ae15726b47f9f1eaf7518dfb35f4d7dcd21'], }), # R extension ('ncdf4', '1.16', { 'source_tmpl': '%(name)s_%(version)s.tar.gz', 'source_urls': [ 'http://cran.r-project.org/src/contrib/Archive/ncdf4', 'http://cran.r-project.org/src/contrib/', 'http://cran.freestatistics.org/src/contrib', ], 'checksums': ['edd5731a805bbece3a8f6132c87c356deafc272351e1dd07256ca00574949253'], }), ] skipsteps = ['sanitycheck'] postinstallcmds = [ "cd %(installdir)s && " + "tar xzf ESMValTool-%(version)s.tar.gz && " + "cd ESMValTool-%(version)s && " + 'PYTHONPATH="%(installdir)s/lib/python%(pyshortver)s/site-packages":"${PYTHONPATH}" && python setup.py install --prefix=%(installdir)s && ' + "cd esmvaltool && " + "cp -r cmor diag_scripts interface_scripts preprocessor recipes utils %(installdir)s/lib/python%(pyshortver)s/site-packages/ESMValTool-%(version)s-py2.7.egg/esmvaltool && " + "cp config-developer.yml config-logging.yml config-references.yml config-user.yml %(installdir)s/lib/python%(pyshortver)s/site-packages/ESMValTool-%(version)s-py2.7.egg/esmvaltool && " + "cd %(installdir)s && " + "rm -rf ESMValTool-%(version)s ESMValTool-%(version)s.tar.gz" ] modextrapaths = { 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', 'R_LIBS': '', } moduleclass = 'geo'