By the time, more students and researcher are migrating to Python. This article, Why Python Is the Next Wave in Earth Sciences Computing, gives you some idea about the reseaons.
After I joinded research department at Egyptian Meteorological
Authority, I used to use Fortran for calculation and for plotting I
used to use both GnuPlot and open GrADS.
After than I begin to learn NCL as I found my self wanna to open a
varity of NetCDF files and also to make sophsitcaed graphs, NCL was
excellent in that. After that, during my master, I begin to use MatLab,
becasue of the interactive command window, I found my self able to do a
lot of analysis much faster than writing compelete script in NCL, Thus
Matlab safe a lot of time. Usually, after doing some calculation,
I need to
make some figures, thus I
write my calulated data back into a NetCDF file that I draw using NCL.
Matlab is not so good in making basemaps like NCL, I found some difficulties in drawing some types of contours. I think that Matlab plots is not pretty like NCL. Using both NCL and MatLab is efficent, but it is time consuming. NCL is full of resource that make you
control in every detail regrading to your plots. Doing calculation using NCL is time consuming as NCL is basically
a compiled language. Thus,
I used to do calculation in MatLab and plot the contours in NCL. So,
what next?, I found that Python could be used instead of both NCL and
Matlab. Python has many package that could replace MatLab like Numpy,
SciPy, Matplotlib,..etc. Also in the same time, Basemap packages
in Python is much easier than those in MatLab, we can even import NCL
itself in Python by importing PyNIO and PyNGL
packages. Thousands of packages could be imported to be used in Python.
Usually, you will find more that one package that can make the same
function.
To master Python for atmospheric science application, three milestones have to be passed: