Coder Social home page Coder Social logo

om4labs's Introduction

om4labs's People

Contributors

becki-beadling avatar gmacgilchrist avatar jkrasting avatar raphaeldussin avatar stephengriffies avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

om4labs's Issues

Heat transport function bugs

Two issues are present in this diagnostic:

  1. calculate() function erroneously copied and included from moc.py
  2. rename existing compute() to calculate()

CI tests are timing out

The default tests for OM4Labs are all timing out. The resolution of the environment seems to be taking a long time,

moc and seaice issue

I tired to make testing and bumped into some complaints like this.

The error from moc is as follows:


(xesmf_env) hck@hck-XPS-8900 ~/KIM/MOM6-examples/tools/om4labs/testing $ make
om4labs sst_annual_bias_1x1deg --style diff --platform testing
test_data/output/ocean_annual_z_d2_1x1deg.0001-0010.ann.nc
om4labs sst_annual_bias_1x1deg --style compare --platform testing
test_data/output/ocean_annual_z_d2_1x1deg.0001-0010.ann.nc
om4labs sss_annual_bias_1x1deg --style diff --platform testing
test_data/output/ocean_annual_z_d2_1x1deg.0001-0010.ann.nc
om4labs sss_annual_bias_1x1deg --style compare --platform testing
test_data/output/ocean_annual_z_d2_1x1deg.0001-0010.ann.nc
om4labs moc --config OM4p125 --platform testing
test_data/output/ocean_month_z_d2_refined.0036-0040.ann.nc
Traceback (most recent call last):
File "/home/hck/miniconda3/envs/xesmf_env/bin/om4labs", line 4, in
import('pkg_resources').run_script('om4labs==0.0.1', 'om4labs')
File "/home/hck/miniconda3/envs/xesmf_env/lib/python3.7/site-packages/pkg_resources/init.py", line 650, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/home/hck/miniconda3/envs/xesmf_env/lib/python3.7/site-packages/pkg_resources/init.py", line 1446, in run_script
exec(code, namespace, namespace)
File "/home/hck/miniconda3/envs/xesmf_env/lib/python3.7/site-packages/om4labs-0.0.1-py3.7.egg/EGG-INFO/scripts/om4labs", line 33, in
CLI()
File "/home/hck/miniconda3/envs/xesmf_env/lib/python3.7/site-packages/om4labs-0.0.1-py3.7.egg/EGG-INFO/scripts/om4labs", line 29, in init
om4labs.diags.dict[args.command].parse_and_run(subargs)
File "/home/hck/miniconda3/envs/xesmf_env/lib/python3.7/site-packages/om4labs-0.0.1-py3.7.egg/om4labs/diags/moc/moc.py", line 399, in parse_and_run
imgbuf = run(args)
File "/home/hck/miniconda3/envs/xesmf_env/lib/python3.7/site-packages/om4labs-0.0.1-py3.7.egg/om4labs/diags/moc/moc.py", line 370, in run
) = read(dictArgs, varname=varname)
File "/home/hck/miniconda3/envs/xesmf_env/lib/python3.7/site-packages/om4labs-0.0.1-py3.7.egg/om4labs/diags/moc/moc.py", line 146, in read
depth = read_topography(dictArgs, coords=ds.coords, point_type="v")
File "/home/hck/miniconda3/envs/xesmf_env/lib/python3.7/site-packages/om4labs-0.0.1-py3.7.egg/om4labs/om4common.py", line 558, in read_topography
xedge = "outer" if (len(coords.xq) == len(coords.xh) + 1) else "right"
File "/home/hck/miniconda3/envs/xesmf_env/lib/python3.7/site-packages/xarray/core/common.py", line 229, in getattr
"{!r} object has no attribute {!r}".format(type(self).name, name)
AttributeError: 'Dataset' object has no attribute 'xq'
Makefile:19: 'moc.png' 타겟에 대한 명령이 실패했습니다
make: *** [moc.png] 오류 1


The seaice complaint is as follows:


(xesmf_env) hck@hck-XPS-8900 ~/KIM/MOM6-examples/tools/om4labs/testing $ make
om4labs seaice --platform testing --config OM4p125
--obsfile test_data/obs/OBS_NSIDC_sat_NH_T2Ms_sic.nc
test_data/output/ice_1x1deg.003601-004012.siconc_old.nc
Create weight file: bilinear_448x304_180x360.nc
Traceback (most recent call last):
File "/home/hck/miniconda3/envs/xesmf_env/bin/om4labs", line 4, in
import('pkg_resources').run_script('om4labs==0.0.1', 'om4labs')
File "/home/hck/miniconda3/envs/xesmf_env/lib/python3.7/site-packages/pkg_resources/init.py", line 650, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/home/hck/miniconda3/envs/xesmf_env/lib/python3.7/site-packages/pkg_resources/init.py", line 1446, in run_script
exec(code, namespace, namespace)
File "/home/hck/miniconda3/envs/xesmf_env/lib/python3.7/site-packages/om4labs-0.0.1-py3.7.egg/EGG-INFO/scripts/om4labs", line 33, in
CLI()
File "/home/hck/miniconda3/envs/xesmf_env/lib/python3.7/site-packages/om4labs-0.0.1-py3.7.egg/EGG-INFO/scripts/om4labs", line 29, in init
om4labs.diags.dict[args.command].parse_and_run(subargs)
File "/home/hck/miniconda3/envs/xesmf_env/lib/python3.7/site-packages/om4labs-0.0.1-py3.7.egg/om4labs/diags/seaice/seaice.py", line 423, in parse_and_run
imgbuf = run(args)
File "/home/hck/miniconda3/envs/xesmf_env/lib/python3.7/site-packages/om4labs-0.0.1-py3.7.egg/om4labs/diags/seaice/seaice.py", line 399, in run
model, obs = calculate(ds, dobs, region=dictArgs["region"])
File "/home/hck/miniconda3/envs/xesmf_env/lib/python3.7/site-packages/om4labs-0.0.1-py3.7.egg/om4labs/diags/seaice/seaice.py", line 189, in calculate
obs["ac_r"] = regrid.curv_to_curv(obs["ac"], model["ac"], reuse_weights=False)
File "/home/hck/miniconda3/envs/xesmf_env/lib/python3.7/site-packages/om4labs-0.0.1-py3.7.egg/om4labs/diags/seaice/regrid.py", line 18, in curv_to_curv
regridder = xe.Regridder(src, dst, "bilinear", reuse_weights=reuse_weights)
File "/home/hck/miniconda3/envs/xesmf_env/lib/python3.7/site-packages/xesmf/frontend.py", line 235, in init
self._write_weight_file()
File "/home/hck/miniconda3/envs/xesmf_env/lib/python3.7/site-packages/xesmf/frontend.py", line 279, in _write_weight_file
ignore_degenerate=self.ignore_degenerate)
File "/home/hck/miniconda3/envs/xesmf_env/lib/python3.7/site-packages/xesmf/backend.py", line 280, in esmf_regrid_build
ignore_degenerate=ignore_degenerate)
File "/home/hck/miniconda3/envs/xesmf_env/lib/python3.7/site-packages/ESMF/util/decorators.py", line 64, in new_func
return func(*args, **kwargs)
File "/home/hck/miniconda3/envs/xesmf_env/lib/python3.7/site-packages/ESMF/api/regrid.py", line 136, in init
raise ImportError(msg)
ImportError: Regrid(filename) requires PIO and does not work if ESMF has not been built with MPI support
Makefile:40: 'seaice.nh.png' 타겟에 대한 명령이 실패했습니다
make: *** [seaice.nh.png] 오류 1


My conda list is as follows:


(xesmf_env) hck@hck-XPS-8900 ~/KIM/MOM6-examples/tools/om4labs/testing $ conda list --explicit

This file may be used to create an environment using:

$ conda create --name --file

platform: linux-64

@explicit
https://repo.anaconda.com/pkgs/main/linux-64/_libgcc_mutex-0.1-main.conda
https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2020.12.5-ha878542_0.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/ld_impl_linux-64-2.33.1-h53a641e_7.conda
https://conda.anaconda.org/conda-forge/linux-64/libgfortran4-7.5.0-hae1eefd_17.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/libstdcxx-ng-9.1.0-hdf63c60_0.conda
https://conda.anaconda.org/conda-forge/linux-64/pandoc-2.11.0.2-hd18ef5c_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/poppler-data-0.4.9-1.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/libgcc-ng-9.1.0-hdf63c60_0.conda
https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-7.5.0-hae1eefd_17.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h516909a_3.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.16.1-h516909a_3.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/expat-2.2.9-he1b5a44_2.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/freexl-1.0.5-h516909a_1002.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/geos-3.8.1-he1b5a44_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.1-h516909a_2.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/icu-67.1-he1b5a44_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/jpeg-9d-h516909a_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/json-c-0.13.1-hbfbb72e_1002.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h516909a_1.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/libffi-3.3-he6710b0_2.conda
https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.16-h516909a_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.10-pthreads_hb3c22a3_5.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.18-h516909a_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.32.1-h14c3975_1000.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.1.0-h516909a_3.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.2-he1b5a44_3.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/ncurses-6.2-he6710b0_1.conda
https://conda.anaconda.org/conda-forge/linux-64/openssl-1.1.1h-h516909a_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/pcre-8.44-he1b5a44_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/pixman-0.38.0-h516909a_1003.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h14c3975_1001.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/tzcode-2020a-h516909a_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/xorg-kbproto-1.0.7-h14c3975_1002.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.0.10-h516909a_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.9-h14c3975_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.3-h516909a_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/xorg-renderproto-0.11.1-h14c3975_1002.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/xorg-xextproto-7.3.0-h14c3975_1002.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/xorg-xproto-7.0.31-h14c3975_1007.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/xz-5.2.5-h7b6447c_0.conda
https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h516909a_0.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/zlib-1.2.11-h7b6447c_3.conda
https://repo.anaconda.com/pkgs/main/linux-64/glib-2.66.1-h92f7085_0.conda
https://conda.anaconda.org/conda-forge/linux-64/hdf4-4.2.13-hf30be14_1003.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.10.6-nompi_h3c11f04_101.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libblas-3.8.0-17_openblas.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/libedit-3.1.20191231-h14c3975_1.conda
https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.41.0-h8cfc5f6_2.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.37-hed695b0_2.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.9.0-hab1572f_5.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.13-h14c3975_1002.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.9.10-h68273f3_2.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/readline-8.0-h7b6447c_0.conda
https://repo.anaconda.com/pkgs/main/linux-64/tk-8.6.10-hbc83047_0.conda
https://conda.anaconda.org/conda-forge/linux-64/xerces-c-3.2.3-hfe33f54_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.3-h84519dc_1000.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.3-he1b5a44_2.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/zstd-1.4.5-h6597ccf_2.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/boost-cpp-1.74.0-h9359b55_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/freetype-2.10.3-he06d7ca_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/kealib-1.4.13-h33137a7_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/krb5-1.17.1-hfafb76e_3.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.8.0-17_openblas.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.8.0-17_openblas.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.1.0-hc7e4089_6.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/sqlite-3.33.0-h62c20be_0.conda
https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.6.12-h516909a_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.13.1-h1056068_1002.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.11-hbd6801e_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libcurl-7.71.1-hcdd3856_8.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libkml-1.3.0-h74f7ee3_1012.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libpq-12.3-h5513abc_2.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.3.1-h981e76c_3.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/python-3.7.9-h7579374_0.conda
https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.4-h516909a_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.10-h516909a_1002.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/asciitree-0.3.3-py_2.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/async_generator-1.10-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/attrs-20.2.0-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/backports-1.0-py_2.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/cairo-1.16.0-h3fc0475_1005.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/cfitsio-3.470-hce51eda_7.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/click-7.1.2-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/cloudpickle-1.6.0-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/curl-7.71.1-he644dc0_8.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/decorator-4.4.2-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.6.0-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/docopt-0.6.2-py_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/fsspec-0.8.4-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/heapdict-1.0.1-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/idna-2.10-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-py_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/json5-0.9.5-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/locket-0.2.0-py_2.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/monotonic-1.5-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.4.1-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/olefile-0.46-pyh9f0ad1d_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.4.2-py_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-py_1003.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/postgresql-12.3-h8573dbc_2.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/proj-7.1.1-h966b41f_3.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.8.0-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.6.0-py_1001.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/pycparser-2.20-pyh9f0ad1d_2.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/pyparsing-2.4.7-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/pyshp-2.1.2-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.7-1_cp37m.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/pytz-2020.1-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/send2trash-1.5.0-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/simplegeneric-0.8.1-py_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/six-1.15.0-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.2.2-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.0.1-py_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/tblib-1.6.0-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/testpath-0.4.4-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/toolz-0.11.1-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/typing_extensions-3.7.4.3-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-py_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/webob-1.8.6-py_0.tar.bz2
https://repo.anaconda.com/pkgs/main/noarch/wheel-0.35.1-py_0.conda
https://conda.anaconda.org/conda-forge/noarch/zipp-3.3.1-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.9.3-pyhb0f4dca_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/certifi-2020.12.5-py37h89c1867_1.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/cffi-1.14.3-py37he30daa8_0.conda
https://conda.anaconda.org/conda-forge/linux-64/chardet-3.0.4-py37he5f6b98_1008.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/cycler-0.10.0-py_2.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/cytoolz-0.11.0-py37h8f50634_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/docrep-0.2.7-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/entrypoints-0.3-py37hc8dfbb8_1002.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/fasteners-0.14.1-py_3.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/future-0.18.2-py37h89c1867_3.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/geotiff-1.6.0-h5d11630_3.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-2.0.0-py_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.2.0-py37h99015e2_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libdap4-3.20.6-h1d1bd15_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.7.4-nompi_h84807e1_105.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libspatialite-5.0.0-h4dde289_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/markupsafe-1.1.1-py37hb5d75c8_2.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/mistune-0.8.4-py37h8f50634_1002.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.0.0-py37h99015e2_2.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/numpy-1.19.2-py37h7ea13bd_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/packaging-20.4-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/partd-1.1.0-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/pexpect-4.8.0-pyh9f0ad1d_2.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/pillow-8.0.0-py37h718be6c_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/poppler-0.89.0-h4190859_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/psutil-5.7.2-py37hb5d75c8_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/pyproj-2.6.1.post1-py37h6415a23_3.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/pyrsistent-0.17.3-py37h8f50634_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/pysocks-1.7.1-py37he5f6b98_2.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.1-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/pyyaml-5.3.1-py37hb5d75c8_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/pyzmq-19.0.2-py37hac76be4_2.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/tiledb-2.1.1-h47b529c_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/tornado-6.0.4-py37h8f50634_2.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/traitlets-5.0.5-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/zict-2.0.0-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-20.1.0-py37h8f50634_2.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/brotlipy-0.7.0-py37hb5d75c8_1001.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/cftime-1.2.1-py37h161383b_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/cryptography-3.1.1-py37hff6837a_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/dask-core-2.30.0-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-2.0.0-1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/jupyter_core-4.6.3-py37hc8dfbb8_2.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libgdal-3.1.3-h670eac6_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/netcdf-fortran-4.5.3-nompi_hfef6a68_100.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/numcodecs-0.7.3-py37h2531618_0.conda
https://conda.anaconda.org/conda-forge/linux-64/pandas-1.1.3-py37h9fdb41a_2.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/scipy-1.5.2-py37hb14ef9d_2.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/setuptools-50.3.0-py37hb0f4dca_1.conda
https://conda.anaconda.org/conda-forge/linux-64/shapely-1.7.1-py37hedb1597_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/terminado-0.9.1-py37hc8dfbb8_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/backports.functools_lru_cache-1.6.1-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/bleach-3.2.1-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/distributed-2.30.0-py37hc8dfbb8_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/esmf-8.0.1-nompi_hbeb3ca6_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/gdal-3.1.3-py37h2b22b9e_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/jinja2-2.11.2-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/jsonschema-3.2.0-py_2.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/jupyter_client-6.1.7-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.3.2-py37hc9afd2a_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/netcdf4-1.5.4-nompi_py37hcbfd489_103.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/palettable-3.3.0-py_0.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/pip-20.2.3-py37_0.conda
https://conda.anaconda.org/conda-forge/noarch/pygments-2.7.1-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/pyopenssl-19.1.0-py_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/xarray-0.17.0-pyhd8ed1ab_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/zarr-2.6.1-pyhd8ed1ab_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/bokeh-2.2.2-py37hc8dfbb8_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/cf_xarray-0.5.1-pyh44b312d_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/esmpy-8.0.1-nompi_py37h59b2dc9_2.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.1.2-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.3.2-0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/nbformat-5.0.8-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/urllib3-1.25.10-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.5-pyh9f0ad1d_2.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/dask-2.30.0-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/nbclient-0.5.1-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/prompt_toolkit-1.0.15-py_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/requests-2.24.0-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/xesmf-0.5.2-pyhd8ed1ab_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/intake-0.6.2-pyhd8ed1ab_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/ipython-5.8.0-py37_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/nbconvert-6.0.7-py37hc8dfbb8_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/owslib-0.20.0-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/pydap-3.2.2-pyh9f0ad1d_1001.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/pyepsg-0.4.0-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/xgcm-0.5.1-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/cartopy-0.18.0-py37hb4161e3_3.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/intake-xarray-0.5.0-pyhd8ed1ab_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/ipykernel-5.3.4-py37hc6149b9_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/notebook-6.1.4-py37hc8dfbb8_1.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-1.2.0-py_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/jupyterlab-2.2.8-py_0.tar.bz2


Default dictionary generator

It would be helpful to have a module that generates a dictionary similar to the default_diag_parser. This would help with running the om4lab diagnostics in the Jupyterlab environment. This dictionary would be an input into the run function of the diagnostic.

path = '/glade/scratch/gmarques/OM4_025_JRA/'
dict_om4 = dict(static=path+'20180101.ocean_static.nc',
               outdir='./',
               infile=path+'20??????.ocean_annual_rho2.nc',
               topog=path+'20180101.ocean_static.nc',
               interactive=False,
               hgrid=None,
               label='OM4_025',
               format='png'
               )

om4labs.diags.moc.run(dict_om4)

Organize common functions

We are starting to accumulate common functions. To avoid monolithic catch-all scripts, we could consider some organization up-front.

cmip_basins dependency issue

cmip_basins is being flagged as a dependency but is not being downloaded on install. URL to package likely needs to specified.

getting an import error from vcr

Getting this error:

`import xarray as xr
from vcr import util , conserve
import numpy as np
import seawater
import time
import pydap


ImportError Traceback (most recent call last)
Input In [13], in <cell line: 2>()
1 import xarray as xr
----> 2 from vcr import util , conserve
3 import numpy as np
4 import seawater

ImportError: cannot import name 'conserve' from 'vcr' (/nbhome/abs/miniconda/envs/myenv/lib/python3.10/site-packages/vcr/init.py)

`

Duplicate spherical area grid cell functions

standard_grid_cell_area and compute_area_regular_grid both compute cell areas for a spherical grid.

compute_area_regular_grid is avoids the for loop and is thus more efficient, but rE should be double-checked against the FMS constants. @raphaeldussin - I propose we use the FMS value as the default.

Different calendar behavior for intake-xarray

When loading the sea ice observational file (OBS_NSIDC_sat_NH_T2Ms_sic.nc) through intake-esm, time is represented as a floating point type and calendar attributes are getting lost:

"'float' object has no attribute 'year'"

Import structure unfriendly to dora

This packaging / import structure is unfriendly to Dora. It requires setup.py to be run every time and the package to be installed if updates are made to the package. The main issue is that the account where the web service runs has limited permissions capabilities to do this and our strategy with @adcroft to create a "menu of commits" won't be compatible with this.

https://github.com/raphaeldussin/OM4-Analysis-Labs/blob/510bd30da1eca66f5209b6ee607dfe1a04d83184/OM4_Analysis_Labs/annual_bias_1x1deg.py#L4-L5

Warnings issued by xESMF

Warning errors are coming from seaice.py at Line 188:

obs["ac_r"] = regrid.curv_to_curv(obs["ac"], model["ac"], reuse_weights=False)

Produces:

~/miniconda3/envs/python38/lib/python3.8/site-packages/xarray/core/dataarray.py:679: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison
  return key in self.data
~/miniconda3/envs/python38/lib/python3.8/site-packages/dask/array/core.py:377: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison
  o = func(*args, **kwargs)
~/miniconda3/envs/python38/lib/python3.8/site-packages/xesmf/frontend.py:450: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.
  dr_out = xr.apply_ufunc(

Module versions:

dask                      2.30.0                     py_0    conda-forge
dask-core                 2.30.0                     py_0    conda-forge
esmf                      8.0.1           nompi_h39dff87_2    conda-forge
esmpy                     8.0.1           nompi_py38h5410a82_2    conda-forge
xarray                    0.16.1                     py_0    conda-forge
xesmf                     0.4.0              pyhd8ed1ab_0    conda-forge

Standardize diagnostic arguments

The different diagnostics have slightly different command line argument options. It would help to develop a common vocabulary and set of options across the diagnostics.

Heat transport issues warning on annual data

Annual data produces the following error:

site-packages/dask/array/numpy_compat.py:40: RuntimeWarning: invalid value encountered in true_divide
  x = np.divide(x1, x2, out)

Diagnostic is attempting to do a time average when the length of the time dimension is 1.

Fix Vertical Split Scale function for Matplotlib version > 2.x

Vertical split scale function is failing:

om4labs moc --model OM4p125 --platform testing test_data/output/ocean_month_z_d2_refined.0036-0040.ann.nc
Traceback (most recent call last):
  File "/net2/rnd/anaconda3/envs/analysis/bin/om4labs", line 4, in <module>
    __import__('pkg_resources').run_script('om4labs==0.0.1', 'om4labs')
  File "/net2/rnd/anaconda3/envs/analysis/lib/python3.6/site-packages/pkg_resources/__init__.py", line 667, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/net2/rnd/anaconda3/envs/analysis/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1464, in run_script
    exec(code, namespace, namespace)
  File "/net2/rnd/anaconda3/envs/analysis/lib/python3.6/site-packages/om4labs-0.0.1-py3.6.egg/EGG-INFO/scripts/om4labs", line 33, in <module>
    CLI()
  File "/net2/rnd/anaconda3/envs/analysis/lib/python3.6/site-packages/om4labs-0.0.1-py3.6.egg/EGG-INFO/scripts/om4labs", line 29, in __init__
    om4labs.diags.__dict__[args.command].parse_and_run(subargs)
  File "/net2/rnd/anaconda3/envs/analysis/lib/python3.6/site-packages/om4labs-0.0.1-py3.6.egg/om4labs/diags/moc/moc.py", line 353, in parse_and_run
    imgbuf = run(args)
  File "/net2/rnd/anaconda3/envs/analysis/lib/python3.6/site-packages/om4labs-0.0.1-py3.6.egg/om4labs/diags/moc/moc.py", line 341, in run
    fig = plot(y, z, msftyyz, dictArgs["label"])
  File "/net2/rnd/anaconda3/envs/analysis/lib/python3.6/site-packages/om4labs-0.0.1-py3.6.egg/om4labs/diags/moc/moc.py", line 289, in plot
    _plotPsi(yy, z, psiPlot, ci, "Atlantic MOC [Sv]", cmap=cmap)
  File "/net2/rnd/anaconda3/envs/analysis/lib/python3.6/site-packages/om4labs-0.0.1-py3.6.egg/om4labs/diags/moc/moc.py", line 272, in _plotPsi
    plt.gca().set_yscale("splitscale", zval=[0, -2000, -6500])
  File "/net2/rnd/anaconda3/envs/analysis/lib/python3.6/site-packages/matplotlib/axes/_base.py", line 3668, in set_yscale
    ax.yaxis._set_scale(value, **kwargs)
  File "/net2/rnd/anaconda3/envs/analysis/lib/python3.6/site-packages/matplotlib/axis.py", line 826, in _set_scale
    self._scale = mscale.scale_factory(value, self, **kwargs)
  File "/net2/rnd/anaconda3/envs/analysis/lib/python3.6/site-packages/matplotlib/scale.py", line 729, in scale_factory
    return _scale_mapping[scale](axis, **kwargs)
  File "/net2/rnd/anaconda3/envs/analysis/lib/python3.6/site-packages/om4labs-0.0.1-py3.6.egg/om4labs/m6plot/formatting/VerticalSplitScale.py", line 34, in __init__
    mscale.ScaleBase.__init__(self)
TypeError: __init__() missing 1 required positional argument: 'axis'
make: *** [moc.png] Error 1

timetuple fails on DORA SSS plot

@jkrasting

t1 = tuple(ds["time_bnds"].values[-1][-1].timetuple())

triggers a failure of the type:

AttributeError: 'numpy.timedelta64' object has no attribute 'timetuple'
      args = ("'numpy.timedelta64' object has no attribute 'timetuple'",)
      with_traceback = <built-in method with_traceback of AttributeError object>

when trying to plot SSS bias with odiv-75

seaice diags needs refactoring

plot function does not work:

fig = plot(model, obs, regridded, valid_mask)                                                                                                                                                                          
/net2/rnd/anaconda3/envs/repro/lib/python3.8/site-packages/cartopy/mpl/geoaxes.py:1491: MatplotlibDeprecationWarning: shading='flat' when X and Y have the same dimensions as C is deprecated since 3.3.  Either specify the corners of the quadrilaterals with X and Y, or pass shading='auto', 'nearest' or 'gouraud', or set rcParams['pcolor.shading'].  This will become an error two minor releases later.
  X, Y, C = self._pcolorargs('pcolormesh', *args, allmatch=allmatch)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-20-8404f36099d9> in <module>
----> 1 fig = plot(model, obs, regridded, valid_mask)

/net2/rnd/anaconda3/envs/repro/lib/python3.8/site-packages/om4labs-0.0.1-py3.8.egg/om4labs/diags/seaice/seaice.py in plot(model, obs, regridded, valid_mask, label, region, month)
    272     plotdata = (model["ac"][month_index] * 100.0).to_masked_array()
    273     plotdata = np.ma.masked_where(valid_mask, plotdata)
--> 274     cb1 = _plot_map_panel(ax, x, y, plotdata, extent=extent)
    275     ax.set_title(f"Model - Years {model.time[0]} to {model.time[1]}")
    276     fig.colorbar(

/net2/rnd/anaconda3/envs/repro/lib/python3.8/site-packages/om4labs-0.0.1-py3.8.egg/om4labs/diags/seaice/seaice.py in _plot_map_panel(ax, x, y, plotdata, cmap, vmin, vmax, extent, contour)
    235     cmap.set_bad(color="#555555", alpha=1)
    236     ax.set_extent(extent, ccrs.PlateCarree())
--> 237     cb = ax.pcolormesh(
    238         x, y, plotdata, transform=ccrs.PlateCarree(), cmap=cmap, vmin=vmin, vmax=vmax
    239     )

/net2/rnd/anaconda3/envs/repro/lib/python3.8/site-packages/cartopy/mpl/geoaxes.py in pcolormesh(self, *args, **kwargs)
   1457                              ' consider using PlateCarree/RotatedPole.')
   1458         kwargs.setdefault('transform', t)
-> 1459         result = self._pcolormesh_patched(*args, **kwargs)
   1460         self.autoscale_view()
   1461         return result

/net2/rnd/anaconda3/envs/repro/lib/python3.8/site-packages/cartopy/mpl/geoaxes.py in _pcolormesh_patched(self, *args, **kwargs)
   1489         allmatch = (shading == 'gouraud')
   1490 
-> 1491         X, Y, C = self._pcolorargs('pcolormesh', *args, allmatch=allmatch)
   1492         Ny, Nx = X.shape
   1493 

ValueError: too many values to unpack (expected 3)

too many computations/reductions are made in the plot function which is against the design of having calculate output numpy arrays ready for the plot part

om4labs installation fails because xwavelet is missing

Running following commands:

git clone https://github.com/raphaeldussin/om4labs.git
cd om4labs/
pip install .

gives following error

ERROR: Could not find a version that satisfies the requirement xwavelet (from om4labs) (from versions: none)
ERROR: No matching distribution found for xwavelet

Using python setup.py install:

Processing dependencies for om4labs==0.0.1
Searching for xwavelet
Reading https://pypi.org/simple/xwavelet/
Couldn't find index page for 'xwavelet' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.org/simple/
No local packages or working download links found for xwavelet
error: Could not find suitable distribution for Requirement.parse('xwavelet')

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.