Follow the instructions about the conda-based versions of UV-CDAT initialization for actually using an installed version of 2.10
DIsk space used before 2.10 installation (after running conda clean –all
)
> du -sh /home/share/unix_files/cdat/miniconda2 6.5G /home/share/unix_files/cdat/miniconda2 > du -sh /home/share/unix_files/cdat/miniconda2/* 4.4M /home/share/unix_files/cdat/miniconda2/bin 4.0K /home/share/unix_files/cdat/miniconda2/conda-bld 272K /home/share/unix_files/cdat/miniconda2/conda-meta 6.4G /home/share/unix_files/cdat/miniconda2/envs 20K /home/share/unix_files/cdat/miniconda2/etc 3.8M /home/share/unix_files/cdat/miniconda2/include 99M /home/share/unix_files/cdat/miniconda2/lib 4.0K /home/share/unix_files/cdat/miniconda2/LICENSE.txt 76K /home/share/unix_files/cdat/miniconda2/pkgs 376K /home/share/unix_files/cdat/miniconda2/share 364K /home/share/unix_files/cdat/miniconda2/ssl >du -sh /home/share/unix_files/cdat/miniconda2/envs/* 2.8G /home/share/unix_files/cdat/miniconda2/envs/cdatm14 1.7G /home/share/unix_files/cdat/miniconda2/envs/keras 2.0G /home/share/unix_files/cdat/miniconda2/envs/uvcdat-2.8.0
Actual installation
bash-4.1$ conda create -n uvcdat-2.10 -c conda-forge -c uvcdat uvcdat=2.10 # Generate the list of installed packages conda list -n uvcdat-2.10 > /home/scratch01/jypeter/uvcdat-2.10_list_170721.txt
List of installed packages: uvcdat-2.10_list_170721.txt
Disk space after 2.10 installation
bash-4.1$ conda env list cdatm14 /home/share/unix_files/cdat/miniconda2/envs/cdatm14 keras /home/share/unix_files/cdat/miniconda2/envs/keras uvcdat-2.10 /home/share/unix_files/cdat/miniconda2/envs/uvcdat-2.10 uvcdat-2.8.0 /home/share/unix_files/cdat/miniconda2/envs/uvcdat-2.8.0 root * /home/share/unix_files/cdat/miniconda2 > du -sh /home/share/unix_files/cdat/miniconda2 11G /home/share/unix_files/cdat/miniconda2 > du -sh /home/share/unix_files/cdat/miniconda2/* 4.4M /home/share/unix_files/cdat/miniconda2/bin 4.0K /home/share/unix_files/cdat/miniconda2/conda-bld 272K /home/share/unix_files/cdat/miniconda2/conda-meta 9.2G /home/share/unix_files/cdat/miniconda2/envs 20K /home/share/unix_files/cdat/miniconda2/etc 3.8M /home/share/unix_files/cdat/miniconda2/include 99M /home/share/unix_files/cdat/miniconda2/lib 4.0K /home/share/unix_files/cdat/miniconda2/LICENSE.txt 1.4G /home/share/unix_files/cdat/miniconda2/pkgs 376K /home/share/unix_files/cdat/miniconda2/share 364K /home/share/unix_files/cdat/miniconda2/ssl > du -sh /home/share/unix_files/cdat/miniconda2/envs/* 2.8G /home/share/unix_files/cdat/miniconda2/envs/cdatm14 1.7G /home/share/unix_files/cdat/miniconda2/envs/keras 2.8G /home/share/unix_files/cdat/miniconda2/envs/uvcdat-2.10 2.0G /home/share/unix_files/cdat/miniconda2/envs/uvcdat-2.8.0
Disk space after removing the keras environment that we don't need any more
jypeter@asterix2 - ...cdat - 67 >du -sh /home/share/unix_files/cdat/miniconda2 9.0G /home/share/unix_files/cdat/miniconda2 jypeter@asterix2 - ...cdat - 68 >du -sh /home/share/unix_files/cdat/miniconda2/* 4.4M /home/share/unix_files/cdat/miniconda2/bin 4.0K /home/share/unix_files/cdat/miniconda2/conda-bld 272K /home/share/unix_files/cdat/miniconda2/conda-meta 7.5G /home/share/unix_files/cdat/miniconda2/envs 20K /home/share/unix_files/cdat/miniconda2/etc 3.8M /home/share/unix_files/cdat/miniconda2/include 99M /home/share/unix_files/cdat/miniconda2/lib 4.0K /home/share/unix_files/cdat/miniconda2/LICENSE.txt 1.4G /home/share/unix_files/cdat/miniconda2/pkgs 376K /home/share/unix_files/cdat/miniconda2/share 364K /home/share/unix_files/cdat/miniconda2/ssl jypeter@asterix2 - ...cdat - 69 >du -sh /home/share/unix_files/cdat/miniconda2/envs/* 2.8G /home/share/unix_files/cdat/miniconda2/envs/cdatm14 2.8G /home/share/unix_files/cdat/miniconda2/envs/uvcdat-2.10 2.0G /home/share/unix_files/cdat/miniconda2/envs/uvcdat-2.8.0
Disk space used in a brand new directory hierarchy (cdat/miniconda2b
, on the obelix servers)
bash-4.2$ conda env list uvcdat-2.10 /home/share/unix_files/cdat/miniconda2b/envs/uvcdat-2.10 root * /home/share/unix_files/cdat/miniconda2b bash-4.2$ du -sh /home/share/unix_files/cdat/miniconda2b 4.3G /home/share/unix_files/cdat/miniconda2b bash-4.2$ du -sh /home/share/unix_files/cdat/miniconda2b/* 4.4M /home/share/unix_files/cdat/miniconda2b/bin 4.0K /home/share/unix_files/cdat/miniconda2b/conda-bld 280K /home/share/unix_files/cdat/miniconda2b/conda-meta 2.8G /home/share/unix_files/cdat/miniconda2b/envs 20K /home/share/unix_files/cdat/miniconda2b/etc 3.8M /home/share/unix_files/cdat/miniconda2b/include 100M /home/share/unix_files/cdat/miniconda2b/lib 8.0K /home/share/unix_files/cdat/miniconda2b/LICENSE.txt 1.4G /home/share/unix_files/cdat/miniconda2b/pkgs 16K /home/share/unix_files/cdat/miniconda2b/share 376K /home/share/unix_files/cdat/miniconda2b/ssl
This section is about the creation of the cdatm15 environment
Notes about actually using the cdatm15 conda-based python
Note: using hard links, cloning a full environment only adds an extra 500M of disk space
bash-4.1$ du -sh /home/share/unix_files/cdat/miniconda2 9.0G /home/share/unix_files/cdat/miniconda2 bash-4.1$ du -sh /home/share/unix_files/cdat/miniconda2/envs/* 2.8G /home/share/unix_files/cdat/miniconda2/envs/cdatm14 2.8G /home/share/unix_files/cdat/miniconda2/envs/uvcdat-2.10 2.0G /home/share/unix_files/cdat/miniconda2/envs/uvcdat-2.8.0 bash-4.1$ conda create -n cdatm15 --clone uvcdat-2.10 Source: /home/share/unix_files/cdat/miniconda2/envs/uvcdat-2.10 Destination: /home/share/unix_files/cdat/miniconda2/envs/cdatm15 [...] bash-4.1$ du -sh /home/share/unix_files/cdat/miniconda2 9.5G /home/share/unix_files/cdat/miniconda2 bash-4.1$ du -sh /home/share/unix_files/cdat/miniconda2/envs/* 2.8G /home/share/unix_files/cdat/miniconda2/envs/cdatm14 2.8G /home/share/unix_files/cdat/miniconda2/envs/cdatm15 573M /home/share/unix_files/cdat/miniconda2/envs/uvcdat-2.10 2.0G /home/share/unix_files/cdat/miniconda2/envs/uvcdat-2.8.0
Disk space used after cloning, in in the new directory hierarchy (cdat/miniconda2b
, on the obelix servers)
bash-4.2$ du -sh /home/share/unix_files/cdat/miniconda2b 4.8G /home/share/unix_files/cdat/miniconda2b bash-4.2$ du -sh /home/share/unix_files/cdat/miniconda2b/* 4.4M /home/share/unix_files/cdat/miniconda2b/bin 4.0K /home/share/unix_files/cdat/miniconda2b/conda-bld 280K /home/share/unix_files/cdat/miniconda2b/conda-meta 3.4G /home/share/unix_files/cdat/miniconda2b/envs 20K /home/share/unix_files/cdat/miniconda2b/etc 3.8M /home/share/unix_files/cdat/miniconda2b/include 100M /home/share/unix_files/cdat/miniconda2b/lib 8.0K /home/share/unix_files/cdat/miniconda2b/LICENSE.txt 1.4G /home/share/unix_files/cdat/miniconda2b/pkgs 16K /home/share/unix_files/cdat/miniconda2b/share 376K /home/share/unix_files/cdat/miniconda2b/ssl bash-4.2$ du -sh /home/share/unix_files/cdat/miniconda2b/envs/* 2.8G /home/share/unix_files/cdat/miniconda2b/envs/cdatm15 574M /home/share/unix_files/cdat/miniconda2b/envs/uvcdat-2.10
We create a cdatm symbolic link in the envs
directory, that has a stable name but can be moved to point to the latest default CDAT. In that case, most users can just activate this cdatm version and always get the latest stable version
bash-4.2$ cd /home/share/unix_files/cdat/miniconda2b/envs bash-4.2$ conda env list cdatm15 /home/share/unix_files/cdat/miniconda2b/envs/cdatm15 uvcdat-2.10 /home/share/unix_files/cdat/miniconda2b/envs/uvcdat-2.10 root * /home/share/unix_files/cdat/miniconda2b bash-4.2$ ln -s cdatm15 cdatm bash-4.2$ conda env list cdatm /home/share/unix_files/cdat/miniconda2b/envs/cdatm cdatm15 /home/share/unix_files/cdat/miniconda2b/envs/cdatm15 uvcdat-2.10 /home/share/unix_files/cdat/miniconda2b/envs/uvcdat-2.10 root * /home/share/unix_files/cdat/miniconda2b bash-4.2$ source activate cdatm (cdatm) bash-4.2$ conda env list cdatm * /home/share/unix_files/cdat/miniconda2b/envs/cdatm cdatm15 /home/share/unix_files/cdat/miniconda2b/envs/cdatm15 uvcdat-2.10 /home/share/unix_files/cdat/miniconda2b/envs/uvcdat-2.10 root /home/share/unix_files/cdat/miniconda2b
You should download the test data and use it in the example scripts that you want to distribute, and scripts you write for reporting the errors you find (if any…)
bash-4.1$ source activate cdatm15 (cdatm15) bash-4.1$ python -c 'import vcs; vcs.download_sample_data_files(); print "\nFinished downloading sample data to", vcs.sample_data' [...] Finished downloading sample data to /home/share/unix_files/cdat/miniconda2/envs/cdatm15/share/uvcdat/sample_data (cdatm15) bash-4.1$ du -sh /home/share/unix_files/cdat/miniconda2/envs/cdatm15/share/uvcdat/sample_data 174M /home/share/unix_files/cdat/miniconda2/envs/cdatm15/share/uvcdat/sample_data
After cloning, we are ready to install some extra packages that may be requested by LSCE users
# Keep a trace of what will be installed bash-4.1$ conda install --dry-run -n cdatm15 -c conda-forge -c uvcdat -c pcmdi pillow pandas statsmodels seaborn scikit-image seawater gsw netcdf4 pyferret basemap-data-hires pcmdi_metrics xlsxwriter cmor shapely cartopy rpy2 > /home/scratch01/jypeter/lsce-extra_01_install_170808.txt # Install... bash-4.1$ conda install -n cdatm15 -c conda-forge -c uvcdat -c pcmdi pillow pandas statsmodels seaborn scikit-image seawater gsw netcdf4 pyferret basemap-data-hires pcmdi_metrics xlsxwriter cmor shapely cartopy rpy2 [...] # Check the disk space after installation bash-4.1$ du -sh /home/share/unix_files/cdat/miniconda2 11G /home/share/unix_files/cdat/miniconda2 bash-4.1$ du -sh /home/share/unix_files/cdat/miniconda2/envs/* 0 /home/share/unix_files/cdat/miniconda2/envs/cdatm 2.8G /home/share/unix_files/cdat/miniconda2/envs/cdatm14 3.7G /home/share/unix_files/cdat/miniconda2/envs/cdatm15 574M /home/share/unix_files/cdat/miniconda2/envs/uvcdat-2.10 2.0G /home/share/unix_files/cdat/miniconda2/envs/uvcdat-2.8.0 # Check the disk space again after cleaning bash-4.1$ conda clean --all bash-4.1$ du -sh /home/share/unix_files/cdat/miniconda2 9.9G /home/share/unix_files/cdat/miniconda2
List of installed packages: lsce-extra_01_install_170808.txt
Disk space used after adding the extra packages, in in the new directory hierarchy (cdat/miniconda2b
, on the obelix servers)
bash-4.2$ du -sh /home/share/unix_files/cdat/miniconda2b 6.4G /home/share/unix_files/cdat/miniconda2b bash-4.2$ du -sh /home/share/unix_files/cdat/miniconda2b/envs/* 0 /home/share/unix_files/cdat/miniconda2b/envs/cdatm 3.8G /home/share/unix_files/cdat/miniconda2b/envs/cdatm15 630M /home/share/unix_files/cdat/miniconda2b/envs/uvcdat-2.10 # Check the disk space again after cleaning bash-4.2$ conda clean --all bash-4.2$ du -sh /home/share/unix_files/cdat/miniconda2b 5.4G /home/share/unix_files/cdat/miniconda2b
Packages installed with pip
pip install dreqPy
pip install --upgrade dreqPy
$ drq -v dreqPy version 01.00.06 [Version 01.00.06]
pip install dtw
The following packages have no dependency problems and were installed (or updated) later
bash-4.1$ conda list | grep -i esm esmf 7.0.0 6 conda-forge esmpy 7.0.0 py27_1 conda-forge bash-4.1$ conda install -n cdatm15 -c nesii/channel/dev-esmf -c conda-forge esmpy=7.1.0.dev32 [...] bash-4.1$ conda list | grep -i esm esmf 7.1.0.dev32 1 nesii/channel/dev-esmf esmpy 7.1.0.dev32 py27_1 nesii/channel/dev-esmf
conda install -n cdatm15 -c conda-forge cmocean
conda install -n cdatm15 -c conda-forge -c scitools iris
conda install -c conda-forge gdal
conda install -n cdatm15 -c stefraynaud -c conda-forge spanlib
python -c 'from spanlib.analyzer import Analyzer'
conda install -n cdatm15 -c conda-forge wrf-python
top
)conda install -n cdatm15 -c conda-forge glances
conda install -n cdatm15 -c conda-forge windspharm
Add here packages that would be useful but have some problems that prevent their installation
conda install -n cdatm15 -c conda-forge -c vacumm vacumm
conda install -n cdatm15 -c conda-forge fiona geopandas
pip install pysplit
Some packages change more often than others, and can be easily updated the following way:
conda update -n cdatm15 -c conda-forge -c pcmdi -c uvcdat cmor
python -c 'from cmor import *; print CMOR_VERSION_MAJOR, CMOR_VERSION_MINOR, CMOR_VERSION_PATCH'
pip install --upgrade dreqPy
drq -v
Some packages may have files that can only be read by the person who installed CDAT and the LSCE extensions (eg pcmdi-metrics in 2.8.0 and cdp in 2.10)
We check if some of the installed files are missing read access for the group or other, and we manually change the permissions
(cdatm15) bash-4.2$ find cdatm15 \! -perm /g+r,o+r -ls 50333969 4 -rw------- 2 jypeter lsce 234 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp-1.0.3-py2.7.egg-info/PKG-INFO 50333971 4 -rw------- 2 jypeter lsce 291 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp-1.0.3-py2.7.egg-info/SOURCES.txt 50333962 4 -rw------- 2 jypeter lsce 4 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp-1.0.3-py2.7.egg-info/top_level.txt 50333961 4 -rw------- 2 jypeter lsce 1 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp-1.0.3-py2.7.egg-info/dependency_links.txt 50333960 4 -rw------- 2 jypeter lsce 1 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp-1.0.3-py2.7.egg-info/not-zip-safe 50333987 8 -rw------- 2 jypeter lsce 5149 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp/cdp_viewer.pyc 50333986 8 -rw------- 2 jypeter lsce 4208 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp/cdp_metric.py 50333966 4 -rw------- 2 jypeter lsce 150 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp/__init__.pyc 50333968 4 -rw------- 2 jypeter lsce 201 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp/cdp_provenance.py 50333988 8 -rw------- 2 jypeter lsce 5365 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp/cdp_metric.pyc 50333982 4 -rw------- 2 jypeter lsce 1821 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp/cdp_parser.py 50333981 4 -rw------- 2 jypeter lsce 1773 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp/cdp_parameter.py 50333973 4 -rw------- 2 jypeter lsce 670 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp/cdp_output.py 50333980 4 -rw------- 2 jypeter lsce 1642 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp/cdp_output.pyc 50333979 4 -rw------- 2 jypeter lsce 1474 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp/_cache.pyc 50333967 4 -rw------- 2 jypeter lsce 187 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp/cdp_tool.py 50333989 0 -rw------- 2 jypeter lsce 0 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp/__init__.py 50333985 4 -rw------- 2 jypeter lsce 3843 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp/cdp_viewer.py 50333984 4 -rw------- 2 jypeter lsce 2436 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp/cdp_parameter.pyc 50333970 4 -rw------- 2 jypeter lsce 288 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp/cdp_io.py 50333974 4 -rw------- 2 jypeter lsce 692 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp/cdp_tool.pyc 50333978 4 -rw------- 2 jypeter lsce 878 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp/cdp_io.pyc 50333976 4 -rw------- 2 jypeter lsce 734 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp/_cache.py 50333983 4 -rw------- 2 jypeter lsce 2269 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp/cdp_parser.pyc 50333975 4 -rw------- 2 jypeter lsce 724 Apr 4 20:35 cdatm15/lib/python2.7/site-packages/cdp/cdp_provenance.pyc (cdatm15) bash-4.2$ chmod -R a+r cdatm15/lib/python2.7/site-packages/cdp* (cdatm15) bash-4.2$ find cdatm15 \! -perm /g+r,o+r -ls
basemap
dreqPy
top
)
After following the steps above, we get the following environments. Use the conda info --envs
or the conda env list
command to get the up-to-date list of available environments
Environment name | Server | conda list |
---|---|---|
uvcdat-2.10 | LSCE | package list |
cdatm15 | LSCE | package list |
[ PMIP3 Wiki Home ] - [ Help! ] - [ Wiki syntax ]