pgierz / esm_analysis

Other
1 stars 0 forks source link

Problem on Ollie #3

Open pgierz opened 4 years ago

pgierz commented 4 years ago
This will generate a fldmean for: temp2
You passed in preferred_analysis_dir: None
Traceback (most recent call last):
  File "/home/ollie/lackerma/.local/bin/esm_analysis", line 8, in <module>
    sys.exit(main())
  File "/global/AWIsoft/intel/2019/intelpython3/lib/python3.6/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/global/AWIsoft/intel/2019/intelpython3/lib/python3.6/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/global/AWIsoft/intel/2019/intelpython3/lib/python3.6/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/global/AWIsoft/intel/2019/intelpython3/lib/python3.6/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/global/AWIsoft/intel/2019/intelpython3/lib/python3.6/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/ollie/lackerma/.local/lib/python3.6/site-packages/esm_analysis/cli.py", line 67, in fldmean
    analyzer = EsmAnalysis(preferred_analysis_dir=preferred_analysis_dir)
  File "/home/ollie/lackerma/.local/lib/python3.6/site-packages/esm_analysis/esm_analysis.py", line 151, in __init__
    self.CDO = cdo.Cdo()
  File "/home/ollie/lackerma/.local/lib/python3.6/site-packages/cdo.py", line 144, in __init__
    self.operators         = self.__getOperators()
  File "/home/ollie/lackerma/.local/lib/python3.6/site-packages/cdo.py", line 190, in __getOperators
    version = parse_version(getCdoVersion(self.CDO))
  File "/home/ollie/lackerma/.local/lib/python3.6/site-packages/cdo.py", line 73, in getCdoVersion
    return match.group(1)
AttributeError: 'NoneType' object has no attribute 'group'
pgierz commented 4 years ago

On ollie; you can maybe circumvent the CDO check with an environmental variable export CDO="". However, this still has problems:

For both ECHAM and FESOM, we get a PermissionDenied error:

This will generate a fldmean for: temp2
You passed in preferred_analysis_dir: None
Traceback (most recent call last):
  File "/home/ollie/lackerma/.local/bin/esm_analysis", line 8, in <module>
    sys.exit(main())
  File "/global/AWIsoft/intel/2019/intelpython3/lib/python3.6/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/global/AWIsoft/intel/2019/intelpython3/lib/python3.6/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/global/AWIsoft/intel/2019/intelpython3/lib/python3.6/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/global/AWIsoft/intel/2019/intelpython3/lib/python3.6/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/global/AWIsoft/intel/2019/intelpython3/lib/python3.6/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/ollie/lackerma/.local/lib/python3.6/site-packages/esm_analysis/cli.py", line 67, in fldmean
    analyzer = EsmAnalysis(preferred_analysis_dir=preferred_analysis_dir)
  File "/home/ollie/lackerma/.local/lib/python3.6/site-packages/esm_analysis/esm_analysis.py", line 216, in __init__
    self.CDO = cdo.Cdo()
  File "/home/ollie/lackerma/.local/lib/python3.6/site-packages/cdo.py", line 144, in __init__
    self.operators         = self.__getOperators()
  File "/home/ollie/lackerma/.local/lib/python3.6/site-packages/cdo.py", line 190, in __getOperators
    version = parse_version(getCdoVersion(self.CDO))
  File "/home/ollie/lackerma/.local/lib/python3.6/site-packages/cdo.py", line 67, in getCdoVersion
    proc = subprocess.Popen([path2cdo, '-V'], stderr=subprocess.PIPE, stdout=subprocess.PIPE)
  File "/global/AWIsoft/intel/2019/intelpython3/lib/python3.6/subprocess.py", line 709, in __init__
    restore_signals, start_new_session)
  File "/global/AWIsoft/intel/2019/intelpython3/lib/python3.6/subprocess.py", line 1344, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
PermissionError: [Errno 13] Permission denied: ''

This actually looks as if Python CDO is trying to use the empty string instead!

Probably this needs to get fixed in Python's CDO bindings: https://github.com/Try2Code/cdo-bindings/pull/25