Difference between revisions of "UsingNetCDF"
Jump to navigation
Jump to search
(6 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
=Introduction= | =Introduction= | ||
− | = | + | =Software Installation= |
− | ==Compiling the NetCDF Libraries from Unidata== | + | |
+ | ==On Ubuntu== | ||
+ | |||
+ | The Ubuntu package manager makes this very easy. Go to '''System->Administration->Synaptic Package Manager''' (you will need to enter your password) and select the packages: | ||
+ | |||
+ | * '''python-scientific''' (this provides a python interface for reading/writing NetCDF files) | ||
+ | along with: | ||
+ | * '''python-tk''' | ||
+ | * '''python-matplotlib)''' (these provide a means to view your data graphically) | ||
+ | |||
+ | ==Compiling from Source== | ||
+ | |||
+ | This is not as convenient as using a package manager and is a bit messy! | ||
+ | |||
+ | ===Compiling the NetCDF Libraries from Unidata=== | ||
+ | |||
+ | The source code can be downloaded from Unidata: | ||
<pre> | <pre> | ||
+ | wget http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-4.0.tar.gz | ||
+ | </pre> | ||
+ | Now, unpack the tarball and build the libraries: | ||
+ | <pre> | ||
+ | tar -xzf netcdf-4.0.tar.gz | ||
+ | cd netcdf-4.0 | ||
+ | ./configure --prefix=/opt/netcdf/netcdf-4.0 --enable-shared FC=ifort CC=gcc CXX=g++ CPPFLAGS="-DpgiFortran" \ | ||
+ | FCFLAGS="-fpic" CFLAGS="-fPIC" CXXFLAGS="-fPIC" | ||
+ | make | ||
+ | make check | ||
+ | make install | ||
</pre> | </pre> | ||
+ | Note that we need to build the '''shared''' libraries. Hence the addition of the '''-fPIC''' flags | ||
− | ==Installing the Python Interface== | + | ===Installing the Python Interface=== |
<pre> | <pre> | ||
wget http://sourcesup.cru.fr/frs/download.php/1833/Numeric-23.8.2.tar.gz | wget http://sourcesup.cru.fr/frs/download.php/1833/Numeric-23.8.2.tar.gz | ||
+ | tar -xzf ... | ||
+ | cd Numeric... | ||
+ | python setup.py install | ||
</pre> | </pre> | ||
<pre> | <pre> | ||
wget http://sourcesup.cru.fr/frs/download.php/2309/ScientificPython-2.8.tar.gz | wget http://sourcesup.cru.fr/frs/download.php/2309/ScientificPython-2.8.tar.gz | ||
+ | cd .. | ||
+ | tar ... | ||
</pre> | </pre> | ||
+ | |||
+ | but now need to hack setup.py for: | ||
+ | * netcdf path | ||
+ | * problems with /usr/lib and /usr/lib64 | ||
+ | |||
+ | perhaps easiest to just patch with a symbolic link: | ||
+ | |||
+ | <pre> | ||
+ | cd /usr/lib/python2.4/site-packages | ||
+ | ln -s /usr/lib64/python2.4/site-packages/Scientific | ||
+ | </pre> | ||
+ | |||
+ | =An Example Session= |
Latest revision as of 09:29, 24 June 2009
Using NetCDF files for your data
Introduction
Software Installation
On Ubuntu
The Ubuntu package manager makes this very easy. Go to System->Administration->Synaptic Package Manager (you will need to enter your password) and select the packages:
- python-scientific (this provides a python interface for reading/writing NetCDF files)
along with:
- python-tk
- python-matplotlib) (these provide a means to view your data graphically)
Compiling from Source
This is not as convenient as using a package manager and is a bit messy!
Compiling the NetCDF Libraries from Unidata
The source code can be downloaded from Unidata:
wget http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-4.0.tar.gz
Now, unpack the tarball and build the libraries:
tar -xzf netcdf-4.0.tar.gz cd netcdf-4.0 ./configure --prefix=/opt/netcdf/netcdf-4.0 --enable-shared FC=ifort CC=gcc CXX=g++ CPPFLAGS="-DpgiFortran" \ FCFLAGS="-fpic" CFLAGS="-fPIC" CXXFLAGS="-fPIC" make make check make install
Note that we need to build the shared libraries. Hence the addition of the -fPIC flags
Installing the Python Interface
wget http://sourcesup.cru.fr/frs/download.php/1833/Numeric-23.8.2.tar.gz tar -xzf ... cd Numeric... python setup.py install
wget http://sourcesup.cru.fr/frs/download.php/2309/ScientificPython-2.8.tar.gz cd .. tar ...
but now need to hack setup.py for:
- netcdf path
- problems with /usr/lib and /usr/lib64
perhaps easiest to just patch with a symbolic link:
cd /usr/lib/python2.4/site-packages ln -s /usr/lib64/python2.4/site-packages/Scientific