diff --git a/docs/environment.yml b/docs/environment.yml index d98a8754..39ca8722 100644 --- a/docs/environment.yml +++ b/docs/environment.yml @@ -3,107 +3,98 @@ channels: - conda-forge - defaults dependencies: - - alabaster=0.7.11=py_3 - - asn1crypto=0.24.0=py27_2 - - babel=2.6.0=py_1 - - bzip2=1.0.6=h470a237_2 - - ca-certificates=2018.8.13=ha4d7672_0 - - cdat_info=8.0=py27_0 - - cdms2=3.0.1=py27h6091dcd_1 - - cdtime=3.0=py27h6091dcd_1 - - certifi=2018.8.13=py27_0 - - cffi=1.11.5=py27h5e8e0c9_1 - - chardet=3.0.4=py27_3 - - clapack=3.2.1=0 - - colorama=0.3.9=py_1 - - colorlog=3.1.2=py27_0 - - cryptography=2.3.1=py27hdffb7b8_0 - - cryptography-vectors=2.3.1=py27_0 - - curl=7.61.0=h93b3f91_1 - - distarray=2.12.2=py27_0 - - docutils=0.14=py27_0 + - alabaster=0.7.12=py37_0 + - asn1crypto=0.24.0=py37_1003 + - attrs=19.1.0=py_0 + - babel=2.6.0=py37_0 + - blas=1.1=openblas + - bzip2=1.0.6=h14c3975_1002 + - ca-certificates=2019.1.23=0 + - cdat_info=8.1.1=py_2 + - cdtime=3.1.2=py37h6091dcd_1 + - certifi=2019.3.9=py37_0 + - cffi=1.12.2=py37hf0e25f4_1 + - chardet=3.0.4=py37_1003 + - colorama=0.4.1=py_0 + - colorlog=4.0.2=py37_1000 + - cryptography=2.6.1=py37h72c5cf5_0 + - curl=7.64.1=hf8cf82a_0 + - decorator=4.4.0=py_0 + - distarray=2.12.2=py_1 + - docutils=0.14=py37_0 - easydev=0.9.36=py_1 - - enum34=1.1.6=py27_1 - - esmf=7.1.0r=1 - - esmpy=7.1.0r=py27_1 - - future=0.16.0=py27_2 - - g2clib=1.6.0=3 - - hdf4=4.2.13=0 - - hdf5=1.10.1=2 - - idna=2.7=py27_2 - - imagesize=1.0.0=py_1 - - ipaddress=1.0.22=py_1 - - jasper=1.900.1=4 - - jinja2=2.10=py_1 - - jpeg=9c=h470a237_0 - - krb5=1.14.6=0 - - lapack=3.6.1=1 - - libcdms=3.0.1=h9ac9557_2 - - libcf=1.0.1=py27_2 - - libdrs=3.0.1=h6e3784b_3 - - libdrs_f=3.0.1=h2cd7f18_3 - - libffi=3.2.1=hfc679d8_4 - - libgcc=7.2.0=h69d50b8_2 - - libgfortran=3.0.0=1 - - libgfortran-ng=7.2.0=hdf63c60_3 - - libnetcdf=4.6.1=2 - - libpng=1.6.35=ha92aebf_0 - - libssh2=1.8.0=h5b517e9_2 - - libtiff=4.0.9=he6b73bb_1 - - markupsafe=1.0=py27_0 - - mpi=1.0=mpich - - mpich=3.2.1=h26a2512_4 - - ncurses=6.1=hfc679d8_1 - - netcdf-fortran=4.4.4=7 - - numpydoc=0.8.0=py_1 - - openssl=1.0.2o=h470a237_1 - - ossuuid=1.6.2=hfc679d8_0 - - packaging=17.1=py_0 - - pexpect=4.6.0=py27_0 - - ptyprocess=0.6.0=py27_0 - - pycparser=2.18=py_1 - - pygments=2.2.0=py_1 - - pyopenssl=18.0.0=py27_0 - - pyparsing=2.2.0=py_1 - - pysocks=1.6.8=py27_1 - - python=2.7.15=h9fef7bc_0 - - pytz=2018.5=py_0 - - readline=7.0=haf1bffa_1 - - requests=2.19.1=py27_1 - - setuptools=40.0.0=py27_1 - - six=1.11.0=py27_1 - - snowballstemmer=1.2.1=py_1 - - sphinxcontrib-websupport=1.0.1=py27_0 - - sqlite=3.24.0=h2f33b56_0 - - tk=8.6.8=0 - - typing=3.6.4=py27_2 - - urllib3=1.23=py27_1 - - xz=5.2.4=h470a237_1 - - zlib=1.2.11=h470a237_3 - - binutils_impl_linux-64=2.31.1=h6176602_0 - - binutils_linux-64=2.31.1=h6176602_2 - - freetype=2.9.1=h8a8886c_0 - - funcsigs=1.0.2=py27_0 - - gcc_impl_linux-64=7.3.0=habb00fd_0 - - gcc_linux-64=7.3.0=h553295d_2 + - esmf=7.1.0=hdfb41a0_1004 + - esmpy=7.1.0=py37h24bf2e0_3 + - freetype=2.9.1=h8a8886c_1 + - future=0.17.1=py37_1000 + - g2clib=1.6.0=hf3f1b0b_9 + - hdf4=4.2.13=h9a582f1_1002 + - hdf5=1.10.4=nompi_h3c11f04_1106 + - idna=2.8=py37_1000 + - imagesize=1.1.0=py37_0 + - ipython_genutils=0.2.0=py_1 + - jasper=1.900.1=h07fcdf6_1006 + - jinja2=2.10=py37_0 + - jpeg=9c=h14c3975_1001 + - jsonschema=3.0.1=py37_0 + - jupyter_core=4.4.0=py_0 + - krb5=1.16.3=h05b26f9_1001 + - lazy-object-proxy=1.3.1=py37h14c3975_1000 + - libcdms=3.1.2=hcbdc9ef_1000 + - libcf=1.0.2=py37h6e3784b_1006 + - libcurl=7.64.1=hda55be3_0 + - libdrs=3.1.2=h6e3784b_1 + - libdrs_f=3.1.2=h750f5ca_1 + - libedit=3.1.20170329=hf8c457e_1001 + - libffi=3.2.1=he1b5a44_1006 - libgcc-ng=8.2.0=hdf63c60_1 - - libopenblas=0.2.20=h9ac9557_7 + - libgfortran-ng=7.3.0=hdf63c60_0 + - libnetcdf=4.6.2=hbdf4f91_1001 + - libpng=1.6.36=h84994c4_1000 + - libssh2=1.8.2=h22169c7_2 - libstdcxx-ng=8.2.0=hdf63c60_1 - - mock=2.0.0=py27_0 - - numpy=1.14.3=py27h28100ab_1 - - numpy-base=1.14.3=py27h0ea5e3f_1 - - olefile=0.45.1=py27_0 - - pbr=4.2.0=py27_0 - - pillow=5.2.0=py27heded4f4_0 - - pip=10.0.1=py27_0 - - sphinx=1.7.6=py27_0 - - sphinx_rtd_theme=0.4.1=py27_0 - - wheel=0.31.1=py27_0 - - pip: - - commonmark==0.5.4 - - mv2==3.0.0 - - readthedocs-sphinx-ext==0.5.14 - - recommonmark==0.4.0 - - regrid2==3.0.0 -prefix: /export/reshel3/anaconda52/envs/cdms2 - + - libtiff=4.0.10=h648cc4a_1001 + - markupsafe=1.1.1=py37h7b6447c_0 + - mock=2.0.0=py37_0 + - mpi=1.0=mpich + - mpich=3.2.1=h1c2f66e_1008 + - nbformat=4.4.0=py_1 + - ncurses=6.1=hf484d3e_1002 + - netcdf-fortran=4.4.5=hea25ff8_1000 + - numpy=1.16.2=py37_blas_openblash1522bff_0 + - numpydoc=0.8.0=py37_0 + - olefile=0.46=py37_0 + - openblas=0.3.3=h9ac9557_1001 + - openssl=1.1.1b=h7b6447c_1 + - ossuuid=1.6.2=hf484d3e_1000 + - packaging=19.0=py37_0 + - pbr=5.1.3=py_0 + - pexpect=4.7.0=py37_0 + - pillow=5.4.1=py37h34e0f95_0 + - pip=19.0.3=py37_0 + - ptyprocess=0.6.0=py37_1000 + - pycparser=2.19=py37_1 + - pygments=2.3.1=py37_0 + - pyopenssl=19.0.0=py37_0 + - pyparsing=2.3.1=py37_0 + - pyrsistent=0.14.11=py37h14c3975_0 + - pysocks=1.6.8=py37_1002 + - python=3.7.3=h5b0a415_0 + - pytz=2018.9=py37_0 + - readline=7.0=hf8c457e_1001 + - requests=2.21.0=py37_1000 + - setuptools=41.0.0=py37_0 + - six=1.12.0=py37_1000 + - snowballstemmer=1.2.1=py37_0 + - sphinx=1.8.5=py37_0 + - sphinx_rtd_theme=0.4.3=py_0 + - sphinxcontrib=1.0=py37_1 + - sphinxcontrib-websupport=1.1.0=py37_1 + - sqlite=3.26.0=h67949de_1001 + - tk=8.6.9=h84994c4_1001 + - traitlets=4.3.2=py37_1000 + - urllib3=1.24.1=py37_1000 + - wheel=0.33.1=py37_0 + - xz=5.2.4=h14c3975_1001 + - zlib=1.2.11=h14c3975_1004 +prefix: /software/anaconda53/envs/cdms2 diff --git a/docs/source/conf.py b/docs/source/conf.py index a7fe858f..5c4a812e 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -28,9 +28,11 @@ # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. #sys.path.insert(0, os.path.abspath('.')) +sys.path.insert(0,os.path.join(sys.prefix,"lib","python3.7","site-packages")) sys.path.insert(0,os.path.join(sys.prefix,"lib","python2.7","site-packages")) -print os.path.join(sys.prefix,"lib","python2.7","site-packages") +print(os.path.join(sys.prefix,"lib","python3.7","site-packages")) os.environ['UVCDAT_ANONYMOUS_LOG']="False" +import MV2 diff --git a/docs/source/manual/cdms_2.rst b/docs/source/manual/cdms_2.rst index 416e1e16..c450b435 100644 --- a/docs/source/manual/cdms_2.rst +++ b/docs/source/manual/cdms_2.rst @@ -344,15 +344,16 @@ Cdms Module Functions(cont'd) NOT be generated; the ``getBounds`` method will return ``None`` for the boundaries. **Note:** In versions of CDMS prior to V4.0, the default ``mode`` was ``'on'``." "None", "``setClassifyGrids(mode)``: - Set the grid classification mode. - This affects how grid type is determined, for the purpose of generating grid boundaries. - * If ``mode`` is ``'on'`` (the default), grid type is determined by a grid classification method, + Set the grid classification mode. + This affects how grid type is determined, for the purpose of generating grid + boundaries. + * If ``mode`` is ``'on'`` (the default), grid type is determined by a grid classification method, regardless of the value of ``grid.get-Type()``. - * If ``mode`` is ``'off'``, the value of ``grid.getType()`` determines the grid type." + * If ``mode`` is ``'off'``, the value of ``grid.getType()`` determines the grid type." "None", "``writeScripGrid(path, grid, gridTitle=None)``: Write a grid to a SCRIP grid file. - * ``path`` is a string, the path of the SCRIP file to be created. - * ``grid`` is a CDMS grid object. It may be rectangular. ``gridTitle`` is a string ID for the grid." + * ``path`` is a string, the path of the SCRIP file to be created. + * ``grid`` is a CDMS grid object. It may be rectangular. ``gridTitle`` is a string ID for the grid." @@ -794,16 +795,16 @@ CdmsFile Methods(cont'd) * ``datatype`` is an ``MV2`` typecode, e.g., ``MV2.Float``, ``MV2.Int``. * ``axes`` is a list of Axis and/or Grid objects. * ``fill_value`` is the missing value (optional)." - "Variable", "``createVariableCopy (var, newname=None)``", "Create a new ``Variable``, with the same name, - axes, and attributes as the input variable. - An error is raised if a variable of the same name exists - in the file. + "Variable", "``createVariableCopy (var, newname=None)``", "Create a new ``Variable``, with the same name, axes, and + attributes as the input variable. An error is raised if a + variable of the same name exists in the file. * ``var`` is the ``Variable`` to be copied. * ``newname``, if specified is the name of the new variable. * If unspecified, the returned variable has the same name as ``var``. **Note:** Unlike copyAxis, the actual data is not copied to the new variable." - "CurveGrid or Generic-Grid", "``readScripGrid (self,whichGrid= 'destination',check-Grid=1)``", "Read a curvilinear or generic grid from a SCRIP netCDF file. - The file can be a SCRIP grid file or remapping file. + "CurveGrid or Generic-Grid", "``readScripGrid (self,whichGrid= 'destination',check-Grid=1)``", "Read a curvilinear or generic grid from a SCRIP netCDF file. + The file can be a SCRIP grid file or remapping file. + * If a mapping file, ``whichGrid`` chooses the grid to read, either ``'source'`` or ``'destination'``. * If ``checkGrid`` is ``1`` (default), the grid cells are checked for convexity, and 'repaired' if necessary. * Grid cells may appear to be nonconvex if they cross a ``0 / 2pi`` boundary. diff --git a/readthedocs.yml b/readthedocs.yml index e5e49ce6..33d29e34 100644 --- a/readthedocs.yml +++ b/readthedocs.yml @@ -10,6 +10,6 @@ conda: build: image: latest python: - version: 2.70 + version: 3.70 setup_py_install: true diff --git a/run_tests.py b/run_tests.py index 52e42596..3c0981a6 100644 --- a/run_tests.py +++ b/run_tests.py @@ -23,6 +23,7 @@ def __setup_cdms(self): cacert_pem = "" if hostname.endswith('.llnl.gov'): cmd = "curl https://access.llnl.gov/cspca.cer -o {h}/cspca.cer".format(h=home) + cmd = "curl -k https://www-csp.llnl.gov/content/assets/csoc/cspca.crt -o {h}/cspca.cer".format(h=home) ret_code, out = run_command(cmd) if ret_code != SUCCESS: return ret_code