|
@@ -0,0 +1,92 @@
|
|
|
+easyblock = 'Binary'
|
|
|
+
|
|
|
+name = 'ESMValTool'
|
|
|
+version = '2.0.0b4'
|
|
|
+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': '2019b'}
|
|
|
+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', '3.7.4'),
|
|
|
+ ('ELIC_Python', '1', versionsuffix),
|
|
|
+]
|
|
|
+
|
|
|
+exts_defaultclass = 'PythonPackage'
|
|
|
+exts_default_options = {
|
|
|
+ 'source_tmpl': '%(name)s-%(version)s.tar.gz',
|
|
|
+}
|
|
|
+
|
|
|
+exts_list = [
|
|
|
+ # Python deps, order is important!
|
|
|
+ ('xarray', '0.15.1', {
|
|
|
+ 'source_urls': ['https://pypi.python.org/packages/source/x/xarray/'],
|
|
|
+ }),
|
|
|
+ ('eofs', '1.4.0', {
|
|
|
+ 'source_urls': ['https://pypi.python.org/packages/source/e/eofs/'],
|
|
|
+ }),
|
|
|
+ ('scitools-iris', '2.4.0', {
|
|
|
+ 'modulename': 'iris',
|
|
|
+ 'source_tmpl': 'v%(version)s.tar.gz',
|
|
|
+ 'source_urls': ['https://github.com/SciTools/iris/archive/'],
|
|
|
+ }),
|
|
|
+ ('iris-grib', '0.15.1', {
|
|
|
+ 'modulename': 'iris_grib',
|
|
|
+ 'source_tmpl': 'v%(version)s.tar.gz',
|
|
|
+ 'source_urls': ['https://github.com/SciTools/iris-grib/archive/'],
|
|
|
+ }),
|
|
|
+ ('ESMValCore', '2.0.0b9', {
|
|
|
+ 'modulename': 'esmvalcore',
|
|
|
+ 'source_tmpl': 'v%(version)s.tar.gz',
|
|
|
+ 'source_urls': ['https://github.com/ESMValGroup/ESMValCore/archive/'],
|
|
|
+ }),
|
|
|
+]
|
|
|
+
|
|
|
+skipsteps = ['sanitycheck']
|
|
|
+
|
|
|
+modextrapaths = {
|
|
|
+ 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages',
|
|
|
+}
|
|
|
+
|
|
|
+postinstallcmds = [
|
|
|
+ "cd %(installdir)s && " +
|
|
|
+ "cp ../../../sources/e/ESMValTool/extensions/v2.0.0b9.tar.gz . && " +
|
|
|
+ "cp ../../../sources/e/ESMF/esmf_8_0_0_src.tar.gz . && " +
|
|
|
+ "tar xzf v2.0.0b9.tar.gz && " +
|
|
|
+ "tar xzf ESMValTool-%(version)s.tar.gz && " +
|
|
|
+ "tar xzf esmf_8_0_0_src.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 cmorizers diag_scripts interface_scripts recipes utils %(installdir)s/lib/python%(pyshortver)s/site-packages/ESMValTool-%(version)s-py3.7.egg/esmvaltool && " +
|
|
|
+ "cp config-references.yml %(installdir)s/lib/python%(pyshortver)s/site-packages/ESMValTool-%(version)s-py3.7.egg/esmvaltool && " +
|
|
|
+ "cd %(installdir)s/ESMValCore-2.0.0b9/esmvalcore && " +
|
|
|
+ "cp -r cmor utils preprocessor %(installdir)s/lib/python3.7/site-packages/ESMValCore-2.0.0b9-py3.7.egg/esmvalcore && " +
|
|
|
+ "cp config-developer.yml %(installdir)s/lib/python3.7/site-packages/ESMValCore-2.0.0b9-py3.7.egg/esmvalcore && " +
|
|
|
+ "cp config-logging.yml %(installdir)s/lib/python3.7/site-packages/ESMValCore-2.0.0b9-py3.7.egg/esmvalcore && " +
|
|
|
+ "cp config-user.yml %(installdir)s/lib/python3.7/site-packages/ESMValCore-2.0.0b9-py3.7.egg/esmvalcore && " +
|
|
|
+ "cd %(installdir)s/esmf/src/addon/ESMPy && " +
|
|
|
+ "python setup.py build --ESMFMKFILE=%(installdir)s/../../ESMF/8.0.0-foss-2019b/lib/esmf.mk && " +
|
|
|
+ "python setup.py install --prefix=%(installdir)s && " +
|
|
|
+ "cd %(installdir)s && " +
|
|
|
+ 'pip install xesmf xgcm --install-option "--prefix=%(installdir)s" && ' +
|
|
|
+ "rm -rf ESMValTool-%(version)s ESMValCore-2.0.0b9 v2.0.0b9.tar.gz esmf esmf_8_0_0_src.tar.gz"
|
|
|
+]
|
|
|
+
|
|
|
+#modloadmsg = (
|
|
|
+# "Now call 'esmvaltool -h'\n\n"
|
|
|
+# "To install ESMValTool in your own directory execute: \n"
|
|
|
+# "tar zxf $EBROOTESMVALTOOL/ESMValTool-%(version)s.tar.gz\n"
|
|
|
+#)
|
|
|
+
|
|
|
+moduleclass = 'geo'
|