Python: A versitile high-level programming language that is easy to learn and can be augmented by a number of open-source libraries that cover the basic needs of nearly all scientific users. The Python community is very active and enthusiastic, so the number of available libraries continues to grow. Python is easily extensible with modules, which can written in low-level languages, like Fortran and C/C++, for improved performance and/or to recycle existing code. In short, if a scientist were to learn only one programming language, that language should be Python.
NumPy: Numerical library, and much more, for Python.
matplotlib-basemap: Geospatial plotting with matplotlib and Python. Basemap provides a pythonic interface for making maps, but has fewer tools than and, in my opinion, produces inferior results compared to GMT (see below).
pyresample: Geospatial resampling toolbox for Python.
PIL: Python Imaging Library, which contains a number of useful tools for image io and manipulation.
f2py: Fortran to Python interface generator for wrapping Fortran subroutines with Python. f2py is included with all current NumPy distributions, so the link is for the f2py documentation.
Fortran: Fortran is a widely used, low-level language that is easy to learn. Many legacy codes are written in Fortran and though it may lack the versitility of newer languages like C++, the speed and ease of use make Fortran a great tool for anyone who writes a lot of code.
LAPACK: Linear Algebra Package is an indespensible library that contains a wealth of linear algebra tools.
OpenBLAS: Optimized and (optionally) threaded BLAS.
C++: Resources for C++, a commonly used, low-level, object-oriented language that builds upon (possibly enhances, depending on your point of view) C. C++ is one of the more difficult languages to master, but learning it may be worth the effort, depending on your particular applications and the existing tools relevant to those applications.
Eigen: C++ linear algebra library. Also very useful for making array indexing in C++ sane.
GMT: Generic Mapping Tools is a toolbox for virtually any kind of plotting. GMT excels at geospatial plots. A number of useful tools, such as filters, for manipulating data are also included. The interface takes some getting used to, but the resulting plots are second to none.
CPT-City: A good plot goes a long way. CPT-City has a wealth of colormaps in multiple formats to enhance plotting.
GDAL: Geospatial data abstraction library (GDAL) contains a variety of tools for working with geospatial data. Basic and useful tools include format conversion routines and coordinate system transformation tools.
SuiteSparse: Extensive library of sparse-matrix tools. Probably the easiest and most straightforward way to get AMD and UMFPack, both of which can be used by SciPy (see above) to speedup scipy.sparse library.