This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
other:uvcdat:cdat_conda:cdat_8_0_py2 [2019/02/27 10:54] jypeter |
other:uvcdat:cdat_conda:cdat_8_0_py2 [2019/03/05 17:04] jypeter Added the CLIMAF section |
||
---|---|---|---|
Line 18: | Line 18: | ||
==== Installing Miniconda3 ==== | ==== Installing Miniconda3 ==== | ||
- | We have installed a new version of Miniconda3 (steps below adapated from the [[other:uvcdat:conda_notes#installing_miniconda|installing miniconda]] instructions) | + | We have installed a new version of Miniconda3 (steps below adapted from the [[other:uvcdat:conda_notes#installing_miniconda|installing miniconda]] instructions) |
* Get the [[https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh|Python 3.7 Linux 64-bit (bash installer)]] (unless there is a [[https://conda.io/miniconda.html|more recent version?]]) | * Get the [[https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh|Python 3.7 Linux 64-bit (bash installer)]] (unless there is a [[https://conda.io/miniconda.html|more recent version?]]) | ||
- | * ''cd /home/scratch01/jypeter'' (some temporary storage space for the installer) | + | * Find some temporary space on Linux or Windows |
+ | * Linux:''cd /home/scratch01/jypeter'' | ||
+ | * WSL: ''cd /mnt/h/Scratch/jypeter/'' (assuming that there is a ''H:\Scratch\jypeter'' directory) | ||
* ''wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh'' (67 Mo, 15 Feb 2019) | * ''wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh'' (67 Mo, 15 Feb 2019) | ||
* Execute the installer | * Execute the installer | ||
* ''bash Miniconda3-latest-Linux-x86_64.sh'' | * ''bash Miniconda3-latest-Linux-x86_64.sh'' | ||
* Accept the license | * Accept the license | ||
- | * Specify an explicit installation path **outside of the home directory**, with enough disk space (more than 3G if you are going to install UV-CDAT and some extra packages), preferably on a disk that is not backed up: ''/home/share/unix_files/cdat/miniconda3'' | + | * Specify an explicit installation path **outside of the home directory**, with enough disk space (more than 3G if you are going to install UV-CDAT and some extra packages), preferably on a disk that is not backed up: |
+ | * Linux LSCE: ''/home/share/unix_files/cdat/miniconda3'' | ||
+ | * Linux ciclad: ''/data/jypmce/cdat/miniconda3'' | ||
+ | * WSL: installing to a directory that is not in ''/home/'' <wrap hi>does not work</wrap> (e.g. ''/mnt/h/CDAT/miniconda3'',assuming there is a ''H:\CDAT\'' directory, does not work)\\ Need to accept the installation in the default location: ''/home/jypeter/miniconda3'' | ||
* Resulting ''miniconda3'' directory size is 302M\\ <code> >du -sh miniconda3 | * Resulting ''miniconda3'' directory size is 302M\\ <code> >du -sh miniconda3 | ||
302M miniconda3 | 302M miniconda3 | ||
Line 45: | Line 49: | ||
92K ssl | 92K ssl | ||
12K x86_64-conda_cos6-linux-gnu</code> | 12K x86_64-conda_cos6-linux-gnu</code> | ||
- | * Accept the automatic update of the //PATH// variable in ''.bashrc'' (note: the installer automatically creates a backup of ''.bashrc'') | + | * Accept the automatic update of the //PATH// variable in ''.bashrc'' (note: the installer automatically creates a backup of ''.bashrc''). This will some extra lines at the end of ''.bashrc'' used by the //old-style conda initialization// (we will later switch to the //new-style//). The added lines should look like: |
* ''# added by Miniconda3 installer''\\ ''export PATH="/home/share/unix_files/cdat/miniconda3/bin:$PATH"'' | * ''# added by Miniconda3 installer''\\ ''export PATH="/home/share/unix_files/cdat/miniconda3/bin:$PATH"'' | ||
+ | * ''# added by Miniconda4.xxx installer''\\ ''[some really fancy bash shell commands]'' | ||
+ | * Remove the installer: ''rm Miniconda3-latest-Linux-x86_64.sh'' | ||
* Open a new terminal (if you use bash) or open a new terminal and type ''bash'' | * Open a new terminal (if you use bash) or open a new terminal and type ''bash'' | ||
* check if the python from the conda distribution has been correctly installed\\ <code> > bash | * check if the python from the conda distribution has been correctly installed\\ <code> > bash | ||
Line 71: | Line 77: | ||
==== Post-Miniconda3 installation ==== | ==== Post-Miniconda3 installation ==== | ||
- | The idea is to remove the miniconda3 initialization lines that were automatically added at the end of ''.bashrc'' and put them (and other useful commands) in a special initialization file, that can be sourced only when we actually want to use conda and CDAT | + | The idea is to remove the miniconda3 initialization lines that were automatically added at the end of ''.bashrc'' and put them (and other useful commands) in a special initialization file, that can be sourced only when we actually want to use conda and CDAT (in order to avoid potentiel side effects) |
=== New style initialization === | === New style initialization === | ||
Line 77: | Line 83: | ||
Note: this is the **new** ''conda activate some_version'' style | Note: this is the **new** ''conda activate some_version'' style | ||
- | See the ''~jypeter/.conda3_jyp.sh'' file below, and how to use it, **in a bash shell**. In a **tcsh shell**, see the ''~jypeter/.conda3_jyp.csh'' further down | + | See the ''~jypeter/.conda3_jyp.sh'' file below, and how to use it, **in a bash shell**. In a **tcsh shell**, see the ''~jypeter/.conda3_jyp.csh'' further down. In both shell cases, if you are installing your own version of python, you need to use your own location of the initialization files in the ''source'' lines, and you can use another file name than ''conda3_jyp'' |
<code>$ which python | <code>$ which python | ||
Line 100: | Line 106: | ||
# Jean-Yves Peterschmitt - LSCE - 11/2018 | # Jean-Yves Peterschmitt - LSCE - 11/2018 | ||
- | . /home/share/unix_files/cdat/miniconda3/etc/profile.d/conda.sh | + | source /home/share/unix_files/cdat/miniconda3/etc/profile.d/conda.sh |
# Use the alias below to easily determine where your python | # Use the alias below to easily determine where your python | ||
Line 113: | Line 119: | ||
$ source ~jypeter/.conda3_jyp.sh | $ source ~jypeter/.conda3_jyp.sh | ||
- | $ conda activate cdatm | + | $ conda activate |
- | (cdatm) $ which python | + | (base) $ which python |
- | /home/share/unix_files/cdat/miniconda3/envs/cdatm/bin/python | + | /home/share/unix_files/cdat/miniconda3/bin/python |
</code> | </code> | ||
Line 147: | Line 153: | ||
# interpreter is located | # interpreter is located | ||
alias wp "which python" | alias wp "which python" | ||
- | |||
- | # Where are ALL the python interpreters in the search path | ||
- | alias wpa "\which -a python" | ||
# The end | # The end | ||
Line 155: | Line 158: | ||
>source ~jypeter/.conda3_jyp.csh | >source ~jypeter/.conda3_jyp.csh | ||
- | >conda activate cdatm | + | >conda activate |
- | (cdatm) >which python | + | (base) >which python |
- | /home/share/unix_files/cdat/miniconda3/envs/cdatm/bin/python</code> | + | /home/share/unix_files/cdat/miniconda3/bin/python</code> |
+ | |||
+ | You probably don't want to type the //source// line each time you need to use your conda based python, so you can add a ''source ~jypeter/.conda3_jyp.sh'' line in your ''~/.bashrc'' file, and ''source ~jypeter/.conda3_jyp.csh'' line in your ''~/.cshrc'' file. Then, when you need a specific python environment, just type ''conda activate name_of_the_specific_environment'' | ||
=== Old style initialization === | === Old style initialization === | ||
+ | |||
+ | <WRAP center round tip 60%> | ||
+ | The //old style// notes below are just for reference sake and you can skip them | ||
+ | </WRAP> | ||
+ | |||
Note: this is the **old** ''source activate some_version'' style | Note: this is the **old** ''source activate some_version'' style | ||
Line 205: | Line 215: | ||
==== Installing CDAT 8.0 ==== | ==== Installing CDAT 8.0 ==== | ||
+ | |||
+ | === Python 2.7 version === | ||
<code>$ conda create -n cdat-8.0_py2 -c cdat/label/v80 -c conda-forge -c cdat python=2.7 cdat | <code>$ conda create -n cdat-8.0_py2 -c cdat/label/v80 -c conda-forge -c cdat python=2.7 cdat | ||
Line 233: | Line 245: | ||
2.8G /home/share/unix_files/cdat/miniconda3/envs/cdat-8.0_py2</code> | 2.8G /home/share/unix_files/cdat/miniconda3/envs/cdat-8.0_py2</code> | ||
+ | === Python 3.6 version === | ||
+ | |||
+ | <code>$ conda create -n cdat-8.0_py3 -c cdat/label/v80 -c conda-forge -c cdat python=3.6 cdat</code> | ||
+ | |||
+ | ==== Installing CDAT nightly ==== | ||
+ | |||
+ | Notes: | ||
+ | |||
+ | * This page is about CDAT 8.0, but we have added a short nightly section here as a convenient shortcut. This should probably be moved to a stand-alone nightly page later | ||
+ | * [[https://github.com/CDAT/cdat/wiki/Obtain-CDAT-nightly-packages|Official nightly page]] | ||
+ | |||
+ | === Python 2.7 version === | ||
+ | |||
+ | <code>$ conda create -n cdat-nightly_py2 -c cdat/label/nightly -c conda-forge -c cdat python=2.7 cdat</code> | ||
+ | |||
+ | <wrap hi>Not tested!</wrap> Can this be updated with ''conda update -n cdat-nightly_py2 -c cdat/label/nightly -c conda-forge -c cdat --all'' ??? | ||
+ | |||
+ | === Python 3.6 version === | ||
+ | |||
+ | <code>$ conda create -n cdat-nightly_py3 -c cdat/label/nightly -c conda-forge -c cdat python=3.6 cdat</code> | ||
===== Cloning cdat to add specific packages for LSCE ===== | ===== Cloning cdat to add specific packages for LSCE ===== | ||
Line 245: | Line 277: | ||
Note: using hard links, cloning a full environment //only// adds an extra 582M of disk space | Note: using hard links, cloning a full environment //only// adds an extra 582M of disk space | ||
- | <code>$ du -sh /home/share/unix_files/cdat/miniconda3/envs/* | + | <code>$ conda create -n cdatm17_py2 --clone cdat-8.0_py2 |
- | 2.8G /home/share/unix_files/cdat/miniconda3/envs/cdat-8.0_py2 | + | |
- | $ conda create -n cdatm17_py2 --clone cdat-8.0_py2 | + | |
Source: /home/share/unix_files/cdat/miniconda3/envs/cdat-8.0_py2 | Source: /home/share/unix_files/cdat/miniconda3/envs/cdat-8.0_py2 | ||
Destination: /home/share/unix_files/cdat/miniconda3/envs/cdatm17_py2 | Destination: /home/share/unix_files/cdat/miniconda3/envs/cdatm17_py2 | ||
Line 256: | Line 286: | ||
$ du -sh /home/share/unix_files/cdat/miniconda3/envs/* | $ du -sh /home/share/unix_files/cdat/miniconda3/envs/* | ||
- | 2.8G /home/share/unix_files/cdat/miniconda3/envs/cdat-8.0_py2 | + | 2.5G /home/share/unix_files/cdat/miniconda3/envs/cdat-8.0_py2 |
- | 582M /home/share/unix_files/cdat/miniconda3/envs/cdatm17_py2 | + | 392M /home/share/unix_files/cdat/miniconda3/envs/cdatm17_py2 |
+ | 839M /home/share/unix_files/cdat/miniconda3/envs/cdat-nightly_py2 | ||
</code> | </code> | ||
+ | |||
+ | ==== cdat nightly case ==== | ||
+ | |||
+ | ''conda create -n cdatm-nightly_py2 %%--%%clone cdat-nightly_py2'' | ||
===== Getting ready for a moving default CDAT ===== | ===== Getting ready for a moving default CDAT ===== | ||
+ | |||
+ | <note warning>This step should probably be listed at the **end**, especially in a multi-user environment! If there is already a ''cdatm'' link, make sure that the new version is stable and working correctly before updating the ''cdatm'' link</note> | ||
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 | 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 | ||
Line 304: | Line 341: | ||
After cloning, we are ready to install some extra packages that may be requested by LSCE users | After cloning, we are ready to install some extra packages that may be requested by LSCE users | ||
+ | |||
+ | * We first try to install together as many packages as possible that don't require other channels than //conda-forge//, and that don't request a downgrade of what is already installed | ||
+ | * We then install individual extra packages with ''conda install'' or ''pip install'' | ||
<code># Keep a trace of what will be installed | <code># 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 | + | $ conda install --dry-run -n cdatm17_py2 -c conda-forge pillow pandas statsmodels seaborn scikit-image seawater gsw netcdf4 pyferret basemap-data-hires xlsxwriter cmocean rpy2 gdal windspharm > /home/scratch01/jypeter/lsce-extra_01_install_190304.txt |
# Install... | # 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 | + | $ conda install -n cdatm17_py2 -c conda-forge pillow pandas statsmodels seaborn scikit-image seawater gsw netcdf4 pyferret basemap-data-hires xlsxwriter cmocean rpy2 gdal windspharm |
[...] | [...] | ||
+ | |||
+ | # Install extra packages in the nightly version (if you need 'nightly') | ||
+ | $ conda install -n cdatm-nightly_py2 -c conda-forge pillow pandas statsmodels seaborn scikit-image seawater gsw netcdf4 pyferret basemap-data-hires xlsxwriter cmocean rpy2 gdal windspharm | ||
# Check the disk space after installation | # Check the disk space after installation | ||
- | bash-4.1$ du -sh /home/share/unix_files/cdat/miniconda2 | + | $ du -sh /home/share/unix_files/cdat/miniconda3 |
- | 11G /home/share/unix_files/cdat/miniconda2 | + | 7.5G /home/share/unix_files/cdat/miniconda3 |
- | bash-4.1$ du -sh /home/share/unix_files/cdat/miniconda2/envs/* | + | $ du -sh /home/share/unix_files/cdat/miniconda3/envs/* |
- | 0 /home/share/unix_files/cdat/miniconda2/envs/cdatm | + | 2.5G /home/share/unix_files/cdat/miniconda3/envs/cdat-8.0_py2 |
- | 2.8G /home/share/unix_files/cdat/miniconda2/envs/cdatm14 | + | 1.2G /home/share/unix_files/cdat/miniconda3/envs/cdatm17_py2 |
- | 3.7G /home/share/unix_files/cdat/miniconda2/envs/cdatm15 | + | 938M /home/share/unix_files/cdat/miniconda3/envs/cdatm-nightly_py2 |
- | 574M /home/share/unix_files/cdat/miniconda2/envs/uvcdat-2.10 | + | 450M /home/share/unix_files/cdat/miniconda3/envs/cdat-nightly_py2</code> |
- | 2.0G /home/share/unix_files/cdat/miniconda2/envs/uvcdat-2.8.0 | + | |
- | # Check the disk space again after cleaning | + | List of installed packages: {{ :other:uvcdat:cdat_conda:lsce-extra_01_install_190304.txt |}} |
- | 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</code> | + | |
- | + | ||
- | List of installed packages: {{ :other:uvcdat:cdat_conda:lsce-extra_01_install_170808.txt |}} | + | |
- | + | ||
- | Disk space used after adding the extra packages, in <wrap em>in the new directory hierarchy</wrap> (''cdat/miniconda2b'', on the obelix servers) | + | |
- | + | ||
- | <code>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</code> | + | |
Packages installed with //pip// | Packages installed with //pip// | ||
Line 352: | Line 372: | ||
* Update with: ''pip install %%--%%upgrade dreqPy'' | * Update with: ''pip install %%--%%upgrade dreqPy'' | ||
* Get version number with:\\ <code>$ drq -v | * Get version number with:\\ <code>$ drq -v | ||
- | dreqPy version 01.00.06 [Version 01.00.06]</code> | + | dreqPy version 01.00.29 [Version 01.00.29]</code> |
- | * [[https://github.com/pierre-rouanet/dtw|dtw]]: DTW (Dynamic Time Warping) python module | + | |
- | * ''pip install dtw'' | + | |
- | * Requested by Sentia Goursaud | + | |
The following packages have no dependency problems and were installed (or updated) //later// | The following packages have no dependency problems and were installed (or updated) //later// | ||
- | * [[http://www.earthsystemmodeling.org/esmf_releases/non_public/ESMF_7_0_0/esmpy_doc/html/index.html|ESMPy]]: ESMF Python Regridding Interface | ||
- | * We used the following to get a more up-to-date version of esmpy than the one bundled with 2.10 | ||
- | * <code>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 | + | * [[http://www.ifremer.fr/vacumm/|vacumm]]: Validation, Analysis, Comparison - Utilities written in Python to validate and analyze Multi-Model outputs, and compare them to observations |
- | [...] | + | * ''conda install -n cdatm17_py2 -c conda-forge -c vacumm vacumm'' |
- | 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</code> | ||
- | * [[http://matplotlib.org/cmocean/|cmocean]]: beautiful colormaps for oceanography | ||
- | * ''conda install -n cdatm15 -c conda-forge cmocean'' | ||
- | * [[http://scitools.org.uk/iris/index.html|iris]]: A Python library for Meteorology and Climatology | ||
- | * ''conda install -n cdatm15 -c conda-forge -c scitools iris'' | ||
- | * [[http://www.gdal.org/|OSGeo/GDAL]]: Geospatial Data Abstraction Library. GDAL is a translator library for raster and vector geospatial data formats | ||
- | * ''conda install -c conda-forge gdal'' | ||
- | * [[https://pcjericks.github.io/py-gdalogr-cookbook/|Python GDAL/OGR Cookbook]] | ||
* [[https://github.com/stefraynaud/spanlib|spanlib]]: Spectral Analysis Library | * [[https://github.com/stefraynaud/spanlib|spanlib]]: Spectral Analysis Library | ||
- | * ''conda install -n cdatm15 -c stefraynaud -c conda-forge spanlib'' | + | * ''conda install -n cdatm17_py2 -c stefraynaud -c conda-forge spanlib'' |
* Test: ''python -c 'from spanlib.analyzer import Analyzer' '' | * Test: ''python -c 'from spanlib.analyzer import Analyzer' '' | ||
+ | |||
+ | ==== TODO ==== | ||
+ | |||
+ | //Add here packages that would be useful and have not been installed yet, or have some problems that prevent their installation// | ||
+ | |||
+ | * [[http://scitools.org.uk/iris/index.html|iris]]: A Python library for Meteorology and Climatology | ||
+ | * ''conda install -n cdatxxx -c conda-forge iris'' | ||
+ | |||
* [[http://wrf-python.readthedocs.io/en/latest/|wrf-python]]: A collection of diagnostic and interpolation routines for use with output from the Weather Research and Forecasting (WRF-ARW) Model | * [[http://wrf-python.readthedocs.io/en/latest/|wrf-python]]: A collection of diagnostic and interpolation routines for use with output from the Weather Research and Forecasting (WRF-ARW) Model | ||
* ''conda install -n cdatm15 -c conda-forge wrf-python'' | * ''conda install -n cdatm15 -c conda-forge wrf-python'' | ||
+ | |||
* [[https://glances.readthedocs.io/en/stable/index.html|glances]]: a cross-platform monitoring tool (similar to ''top'') | * [[https://glances.readthedocs.io/en/stable/index.html|glances]]: a cross-platform monitoring tool (similar to ''top'') | ||
* ''conda install -n cdatm15 -c conda-forge glances'' | * ''conda install -n cdatm15 -c conda-forge glances'' | ||
* [[https://github.com/nicolargo/glances|glances@github]] | * [[https://github.com/nicolargo/glances|glances@github]] | ||
- | * [[https://ajdawson.github.io/windspharm/latest/|windspharm]]: spherical harmonic wind analysis in Python | ||
- | * ''conda install -n cdatm15 -c conda-forge windspharm'' | ||
- | * [[https://github.com/ajdawson/windspharm|windspharm@github]] | ||
- | |||
- | |||
- | ==== TODO ==== | ||
- | |||
- | //Add here packages that would be useful but have some problems that prevent their installation// | ||
- | |||
- | * [[http://www.ifremer.fr/vacumm/|vacumm]]: Validation, Analysis, Comparison - Utilities written in Python to validate and analyze Multi-Model outputs, and compare them to observations | ||
- | * As of August 08 2017, installing vacumm in 2.10 requires downgrading to 2.10 (see [[https://github.com/VACUMM/vacumm/issues/9|github issue]])! | ||
- | * <wrap hi>Problem solved</wrap> with **vacumm 3.4.1-1** on August 31st! Installation was OK with\\ ''conda install -n cdatm15 -c conda-forge -c vacumm vacumm'' | ||
- | |||
- | * Install PySPLIT for Sentia\\ [[https://github.com/mscross/pysplit|PySPLIT]] A package for generating HYSPLIT air parcel trajectories trajectories, performing moisture uptake analyses, expediting HYSPLIT cluster analysis, and for visualizing trajectories, clusters, and along-trajectory meteorological data\\ Works with [[https://ready.arl.noaa.gov/HYSPLIT.php|HYSPLiT]] | ||
- | - ''conda install -n cdatm15 -c conda-forge fiona geopandas'' | ||
- | - ''pip install pysplit'' | ||
==== Other packages ==== | ==== Other packages ==== | ||
Line 419: | Line 414: | ||
* Update with: ''pip install %%--%%upgrade dreqPy'' | * Update with: ''pip install %%--%%upgrade dreqPy'' | ||
* Get version number with: ''drq -v'' | * Get version number with: ''drq -v'' | ||
+ | |||
+ | ==== Installing CLIMAF ==== | ||
+ | |||
+ | The [[https://climaf.readthedocs.io/|CLIMAF]] installation is a special case, because we may want to use it with the Python installed for CDAT, but it is not installed using conda | ||
+ | |||
+ | We follow the steps for the [[https://climaf.readthedocs.io/en/latest/installing.html#installing-climaf-if-you-are-not-at-cnrm-on-ciclad-or-climserv|installation of a non-standard server]] | ||
+ | |||
+ | * Go to the appropriate installation directory (we choose the directory where we have also installed miniconda3): | ||
+ | * LSCE: ''cd /home/share/unix_files/cdat'' | ||
+ | * ciclad: ''/data/jypmce/cdat/'' | ||
+ | * ''git clone https://github.com/senesis/climaf climaf'' | ||
+ | * Add CLIMAF to the PYTHONPATH environment variable | ||
+ | * LSCE & tcsh: ''setenv PYTHONPATH ${PYTHONPATH}:/home/share/unix_files/cdat/climaf'' | ||
+ | * LSCE & bash: ''export PYTHONPATH=${PYTHONPATH}:/home/share/unix_files/cdat/climaf'' | ||
+ | * ciclad: same as above, using ''/data/jypmce/cdat/climaf'' | ||
+ | * Test the installation | ||
+ | * make sure the [[https://climaf.readthedocs.io/en/latest/requirements.html#requirements|Requirements]] are available: | ||
+ | * LSCE: ''module load netcdf/4 nco cdo ncl ncview'' | ||
+ | * ciclad: ''module load netcdf4 nco cdo ncl/6.3.0'' | ||
+ | * optional: start an X server | ||
+ | * <code>cd climaf/testing | ||
+ | ./test_install.sh</code> | ||
+ | * Once the tests are OK, add the required //module load// and environment variables definitions to the ''.basrc'' and ''.cshrc'' files. <wrap hi>Note: maybe these lines should go to the ''.profile'' and ''.login'' files...</wrap> | ||
+ | * LSCE: add to your .cshrc | ||
+ | * <code># Prerequisites for using CLIMAF | ||
+ | module load netcdf/4 nco cdo ncl ncview | ||
+ | |||
+ | # CLIMAF environment variables | ||
+ | setenv CLIMAF /home/share/unix_files/cdat/climaf | ||
+ | setenv PYTHONPATH "${PYTHONPATH}:${CLIMAF}" | ||
+ | #setenv PYTHONPATH $CLIMAF | ||
+ | setenv PATH "${PATH}:${CLIMAF}/bin" | ||
+ | setenv CLIMAF_CACHE "/home/scratch01/${USER}/climaf_cache" | ||
+ | setenv TMPDIR $CLIMAF_CACHE | ||
+ | setenv CLIMAF_LOG_DIR $CLIMAF_CACHE | ||
+ | |||
+ | #conda activate cdatm-nightly_py2</code> | ||
+ | * ciclad: add to your .bashrc | ||
+ | * <code># Prerequisites for using CLIMAF when not using the | ||
+ | # default 'module load climaf' | ||
+ | module load netcdf4 nco cdo ncl/6.3.0 | ||
+ | |||
+ | # CLIMAF environment variables | ||
+ | export CLIMAF=/data/jypmce/cdat/climaf | ||
+ | #export PYTHONPATH=$PYTHONPATH:$CLIMAF | ||
+ | export PYTHONPATH=$CLIMAF | ||
+ | export PATH=$PATH:$CLIMAF/bin | ||
+ | export CLIMAF_CACHE=/data/jypmce/climaf_cache | ||
+ | export TMPDIR=$CLIMAF_CACHE | ||
+ | export CLIMAF_LOG_DIR=$CLIMAF_CACHE | ||
+ | |||
+ | #conda activate cdatm-nightly_py2 | ||
+ | </code> | ||
+ | * Open a new shell and <wrap em>run the tests again</wrap>. If there is an error that was not there, check what you have added to the shell init files | ||
==== Cleaning up things ==== | ==== Cleaning up things ==== | ||
Line 425: | Line 474: | ||
We check if some of the installed files are missing read access for the //group// or //other//, and we manually change the permissions | We check if some of the installed files are missing read access for the //group// or //other//, and we manually change the permissions | ||
- | <code>(cdatm15) bash-4.2$ find cdatm15 \! -perm /g+r,o+r -ls | + | <code> >find /home/share/unix_files/cdat/miniconda3/envs \! -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 | + | # Everything OK!</code> |
- | 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</code> | + | |
Line 478: | Line 501: | ||
* [[https://rpy2.readthedocs.io/en/version_2.8.x/|rpy2]]: providing simple and robust access to R from within Python | * [[https://rpy2.readthedocs.io/en/version_2.8.x/|rpy2]]: providing simple and robust access to R from within Python | ||
* [[http://matplotlib.org/cmocean/|cmocean]]: beautiful colormaps for oceanography | * [[http://matplotlib.org/cmocean/|cmocean]]: beautiful colormaps for oceanography | ||
- | * [[http://scitools.org.uk/iris/index.html|iris]]: A Python library for Meteorology and Climatology | ||
* [[http://www.gdal.org/|OSGeo/GDAL]]: Geospatial Data Abstraction Library. GDAL is a translator library for raster and vector geospatial data formats | * [[http://www.gdal.org/|OSGeo/GDAL]]: Geospatial Data Abstraction Library. GDAL is a translator library for raster and vector geospatial data formats | ||
+ | * [[https://pcjericks.github.io/py-gdalogr-cookbook/|Python GDAL/OGR Cookbook]] | ||
* [[https://github.com/stefraynaud/spanlib|spanlib]]: Spectral Analysis Library | * [[https://github.com/stefraynaud/spanlib|spanlib]]: Spectral Analysis Library | ||
- | * [[http://wrf-python.readthedocs.io/en/latest/|wrf-python]]: A collection of diagnostic and interpolation routines for use with output from the Weather Research and Forecasting (WRF-ARW) Model | ||
- | * [[https://glances.readthedocs.io/en/stable/index.html|glances]]: a cross-platform monitoring tool (similar to ''top'') | ||
* [[https://ajdawson.github.io/windspharm/latest/|windspharm]]: spherical harmonic wind analysis in Python | * [[https://ajdawson.github.io/windspharm/latest/|windspharm]]: spherical harmonic wind analysis in Python | ||
Line 494: | Line 515: | ||
^ Environment\\ name ^ Server ^ ''conda list'' ^ | ^ Environment\\ name ^ Server ^ ''conda list'' ^ | ||
- | | uvcdat-2.10 | LSCE | {{ |package list}} | | + | | cdat-8.0_py2 | LSCE\\ ciclad | | |
- | | cdatm15 | LSCE | {{ |package list}} | | + | | cdatm17_py2 | LSCE\\ ciclad | | |
+ | | cdat-nightly_py2 | LSCE\\ ciclad | | | ||
+ | | cdatm-nightly_py2 | LSCE\\ ciclad | | | ||
/* standard page footer */ | /* standard page footer */ |