OM4-Analysis-Labs
scripts for OM4 analysis
scripts for OM4 analysis
scripts for OM4 analysis
Two issues are present in this diagnostic:
calculate()
function erroneously copied and included from moc.pycompute()
to calculate()
hardcoded calls to matplotlib backends, will need fix
needs to be investigated, PR #76 fixes recent version
The current setup.cfg
just includes intake
:
Line 10 in 9d6836a
This needs to be expanded to include intake-xarray
.
The default tests for OM4Labs are all timing out. The resolution of the environment seems to be taking a long time,
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
@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
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)
We are starting to accumulate common functions. To avoid monolithic catch-all scripts, we could consider some organization up-front.
Recently merged stress curl diagnostic requires "cmocean" as a package dependency.
The basin mask field used in the MOC script is located on t-cell points and needs to be translated to the velocity grid points. @raphaeldussin has some ideas for this.
An extra land point over Antarctica appears when running the model in symmetric memory mode. A check for this condition needs to be added.
cmip_basins
is being flagged as a dependency but is not being downloaded on install. URL to package likely needs to specified.
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)
`
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.
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'"
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.
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
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.
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.
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
Line 64 in 202cb82
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
This would be preferred for both the MOC and heat transport diagnostics. @raphaeldussin to explore this, potentially invoking capability from xgcm.
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
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')
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.