ESMValTool-2.0.0b4-foss-2019b-Python-3.7.4.eb 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. easyblock = 'Binary'
  2. name = 'ESMValTool'
  3. version = '2.0.0b4'
  4. versionsuffix = '-Python-%(pyver)s'
  5. homepage = 'https://www.esmvaltool.org/'
  6. description = """The Earth System Model eValuation Tool (ESMValTool)
  7. is a community diagnostics and performance metrics tool
  8. for the evaluation of Earth System Models (ESMs) that
  9. allows for routine comparison of single or multiple models,
  10. either against predecessor versions or against observations."""
  11. toolchain = {'name': 'foss', 'version': '2019b'}
  12. toolchainopts = {'pic': True}
  13. source_urls = ['https://github.com/ESMValGroup/ESMValTool/archive/']
  14. sources = [{'filename': SOURCE_TAR_GZ, 'download_filename': 'v%(version)s.tar.gz'}]
  15. dependencies = [
  16. ('Python', '3.7.4'),
  17. ('ELIC_Python', '1', versionsuffix),
  18. ]
  19. exts_defaultclass = 'PythonPackage'
  20. exts_default_options = {
  21. 'source_tmpl': '%(name)s-%(version)s.tar.gz',
  22. }
  23. exts_list = [
  24. # Python deps, order is important!
  25. ('xarray', '0.15.1', {
  26. 'source_urls': ['https://pypi.python.org/packages/source/x/xarray/'],
  27. }),
  28. ('eofs', '1.4.0', {
  29. 'source_urls': ['https://pypi.python.org/packages/source/e/eofs/'],
  30. }),
  31. ('scitools-iris', '2.4.0', {
  32. 'modulename': 'iris',
  33. 'source_tmpl': 'v%(version)s.tar.gz',
  34. 'source_urls': ['https://github.com/SciTools/iris/archive/'],
  35. }),
  36. ('iris-grib', '0.15.1', {
  37. 'modulename': 'iris_grib',
  38. 'source_tmpl': 'v%(version)s.tar.gz',
  39. 'source_urls': ['https://github.com/SciTools/iris-grib/archive/'],
  40. }),
  41. ('ESMValCore', '2.0.0b9', {
  42. 'modulename': 'esmvalcore',
  43. 'source_tmpl': 'v%(version)s.tar.gz',
  44. 'source_urls': ['https://github.com/ESMValGroup/ESMValCore/archive/'],
  45. }),
  46. ]
  47. skipsteps = ['sanitycheck']
  48. modextrapaths = {
  49. 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages',
  50. }
  51. postinstallcmds = [
  52. "cd %(installdir)s && " +
  53. "cp ../../../sources/e/ESMValTool/extensions/v2.0.0b9.tar.gz . && " +
  54. "cp ../../../sources/e/ESMF/esmf_8_0_0_src.tar.gz . && " +
  55. "tar xzf v2.0.0b9.tar.gz && " +
  56. "tar xzf ESMValTool-%(version)s.tar.gz && " +
  57. "tar xzf esmf_8_0_0_src.tar.gz && " +
  58. "cd ESMValTool-%(version)s && " +
  59. 'PYTHONPATH="%(installdir)s/lib/python%(pyshortver)s/site-packages":"${PYTHONPATH}" && python setup.py install --prefix=%(installdir)s && ' +
  60. "cd esmvaltool && " +
  61. "cp -r cmorizers diag_scripts interface_scripts recipes utils %(installdir)s/lib/python%(pyshortver)s/site-packages/ESMValTool-%(version)s-py3.7.egg/esmvaltool && " +
  62. "cp config-references.yml %(installdir)s/lib/python%(pyshortver)s/site-packages/ESMValTool-%(version)s-py3.7.egg/esmvaltool && " +
  63. "cd %(installdir)s/ESMValCore-2.0.0b9/esmvalcore && " +
  64. "cp -r cmor utils preprocessor %(installdir)s/lib/python3.7/site-packages/ESMValCore-2.0.0b9-py3.7.egg/esmvalcore && " +
  65. "cp config-developer.yml %(installdir)s/lib/python3.7/site-packages/ESMValCore-2.0.0b9-py3.7.egg/esmvalcore && " +
  66. "cp config-logging.yml %(installdir)s/lib/python3.7/site-packages/ESMValCore-2.0.0b9-py3.7.egg/esmvalcore && " +
  67. "cp config-user.yml %(installdir)s/lib/python3.7/site-packages/ESMValCore-2.0.0b9-py3.7.egg/esmvalcore && " +
  68. "cd %(installdir)s/esmf/src/addon/ESMPy && " +
  69. "python setup.py build --ESMFMKFILE=%(installdir)s/../../ESMF/8.0.0-foss-2019b/lib/esmf.mk && " +
  70. "python setup.py install --prefix=%(installdir)s && " +
  71. "cd %(installdir)s && " +
  72. 'pip install xesmf xgcm --install-option "--prefix=%(installdir)s" && ' +
  73. "rm -rf ESMValTool-%(version)s ESMValCore-2.0.0b9 v2.0.0b9.tar.gz esmf esmf_8_0_0_src.tar.gz"
  74. ]
  75. #modloadmsg = (
  76. # "Now call 'esmvaltool -h'\n\n"
  77. # "To install ESMValTool in your own directory execute: \n"
  78. # "tar zxf $EBROOTESMVALTOOL/ESMValTool-%(version)s.tar.gz\n"
  79. #)
  80. moduleclass = 'geo'