jejjohnson / oceanbench

OceanBench - SSH edition
https://jejjohnson.github.io/oceanbench/
MIT License
17 stars 2 forks source link

Wavelet spectra #38

Closed roxyboy closed 1 year ago

roxyboy commented 1 year ago

I got a error when trying to import esmpy, which I wasn't able to resolve, so this example notebook doesn't take advantage of oceanbench. The PR demonstrates an example of comparing xrft with xwavelet using data on the cloud.

roxyboy commented 1 year ago

The base error seems to be stemming from this file called ESMFMKFILE:

import esmpy
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
File /tank/spectre/tuchida/envs/jax/lib/python3.9/site-packages/esmpy/interface/loadESMF.py:26
     25 try:
---> 26     esmfmk = os.environ["ESMFMKFILE"]
     27 except:

File /tank/spectre/tuchida/envs/jax/lib/python3.9/os.py:679, in _Environ.__getitem__(self, key)
    677 except KeyError:
    678     # raise KeyError with the original key value
--> 679     raise KeyError(key) from None
    680 return self.decodevalue(value)

KeyError: 'ESMFMKFILE'

During handling of the above exception, another exception occurred:

ImportError                               Traceback (most recent call last)
Cell In[5], line 1
----> 1 import esmpy

File /tank/spectre/tuchida/envs/jax/lib/python3.9/site-packages/esmpy/__init__.py:112
    108 __obsoletes__ = msg["obsoletes"]
    110 #### IMPORT LIBRARIES #########################################################
--> 112 from esmpy.api.esmpymanager import *
    113 from esmpy.api.grid import *
    114 from esmpy.api.mesh import *

File /tank/spectre/tuchida/envs/jax/lib/python3.9/site-packages/esmpy/api/esmpymanager.py:9
      3 """
      4 The ESMPyManager API
      5 """
      7 #### IMPORT LIBRARIES #########################################################
----> 9 from esmpy.interface.cbindings import *
     11 from esmpy.api.constants import *
     12 from esmpy.util.exceptions import *

File /tank/spectre/tuchida/envs/jax/lib/python3.9/site-packages/esmpy/interface/cbindings.py:13
     11 import esmpy.api.constants as constants
     12 from esmpy.util.decorators import *
---> 13 from esmpy.interface.loadESMF import _ESMF
     16 def copy_struct(src):
     17     dst = type(src)()

File /tank/spectre/tuchida/envs/jax/lib/python3.9/site-packages/esmpy/interface/loadESMF.py:28
     26     esmfmk = os.environ["ESMFMKFILE"]
     27 except:
---> 28     raise ImportError('The ESMFMKFILE environment variable is not available.')
     30 #### INVESTIGATE esmf.mk ######################################################
     31 
     32 # TODO: look for various dependecies in the ESMF build log
   (...)
     37 #       use this information to set variables that can be checked at beginning
     38 #       of the routines that require an ESMF build with these dependencies
     40 with open(esmfmk, 'r') as MKFILE:
     41     
     42     # investigate esmf.mk

ImportError: The ESMFMKFILE environment variable is not available.