What are the best libraries to do preliminary analysis on gridded climate data (NetCDF, GRIB, etc) and make maps in python?



I have been using libraries like NetCDF, GRB, etc. for processing large scale climate datasets? However, I am looking for a tool where I can create custom functions for processing such data, and for visualization purpose. I am looking for an implementation of something like NCL (http://www.ncl.ucar.edu/) in python. I have heard good things about Iris, CDAT, PySAL, Basemap, etc. However, I don’t know which specific library can solve all my tasks. Does anyone here has experience with handling climate datasets here?