diff --git a/examples/SedovBlast/rdf.py b/examples/SedovBlast/rdf.py
new file mode 100644
index 0000000000000000000000000000000000000000..52b834f3947d1f992093dad9916a6164d5b3b0fa
--- /dev/null
+++ b/examples/SedovBlast/rdf.py
@@ -0,0 +1,121 @@
+###############################################################################
+ # This file is part of SWIFT.
+ # Coypright (c) 2012 Pedro Gonnet (pedro.gonnet@durham.ac.uk),
+ #                    Matthieu Schaller (matthieu.schaller@durham.ac.uk)
+ # 
+ # This program is free software: you can redistribute it and/or modify
+ # it under the terms of the GNU Lesser General Public License as published
+ # by the Free Software Foundation, either version 3 of the License, or
+ # (at your option) any later version.
+ # 
+ # This program is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ # GNU General Public License for more details.
+ # 
+ # You should have received a copy of the GNU Lesser General Public License
+ # along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ # 
+ ##############################################################################
+
+import h5py
+import random
+import sys
+import math
+from numpy import *
+
+# Reads the HDF5 output of SWIFT and generates a radial density profile
+# of the different physical values.
+
+# Input values?
+if len(sys.argv) < 3 :
+    print "Useage: " , sys.argv[0] , " <filename> <nr. bins>"
+    exit()
+    
+# Get the input arguments
+fileName = sys.argv[1];
+nr_bins = int( sys.argv[2] );
+
+
+# Open the file
+fileName = sys.argv[1];
+file = h5py.File( fileName , 'r' )
+
+# Get the space dimensions.
+grp = file[ "/Header" ]
+boxsize = grp.attrs[ 'BoxSize' ]
+if len( boxsize ) > 0:
+    boxsize = boxsize[0]
+
+# Get the particle data
+grp = file.get( '/PartType0' )
+ds = grp.get( 'Coordinates' )
+coords = ds[...]
+ds = grp.get( 'Velocities' )
+v = ds[...]
+ds = grp.get( 'Masses' )
+m = ds[...]
+ds = grp.get( 'SmoothingLength' )
+h = ds[...]
+ds = grp.get( 'InternalEnergy' )
+u = ds[...]
+ds = grp.get( 'ParticleIDs' )
+ids = ds[...]
+ds = grp.get( 'Density' )
+rho = ds[...]
+
+# Set the origin to be the middle of the box
+origin = [ boxsize / 2 , boxsize / 2 , boxsize / 2 ]
+
+# Get the maximum radius
+r_max = boxsize / 2
+
+# Init the bins
+nr_parts = coords.shape[0]
+bins_v = zeros( nr_bins )
+bins_m = zeros( nr_bins )
+bins_h = zeros( nr_bins )
+bins_u = zeros( nr_bins )
+bins_rho = zeros( nr_bins )
+bins_count = zeros( nr_bins )
+bins_P = zeros( nr_bins )
+
+# Loop over the particles and fill the bins.
+for i in range( nr_parts ):
+
+    # Get the box index.
+    r = coords[i] - origin
+    r = sqrt( r[0]*r[0] + r[1]*r[1] + r[2]*r[2] )
+    ind = floor( r / r_max * nr_bins )
+    
+    # Update the bins
+    if ( ind < nr_bins ):
+        bins_count[ind] += 1
+        bins_v[ind] += sqrt( v[i,0]*v[i,0] + v[i,1]*v[i,1] + v[i,2]*v[i,2] )
+        bins_m[ind] += m[i]
+        bins_h[ind] += h[i]
+        bins_u[ind] += u[i]
+        bins_rho[ind] += rho[i]
+        bins_P[ind] += (2.0/3)*u[i]*rho[i]
+    
+# Loop over the bins and dump them
+print "# bucket left right count v m h u rho"
+for i in range( nr_bins ):
+
+    # Normalize by the bin volume.
+    r_left = r_max * i / nr_bins
+    r_right = r_max * (i+1) / nr_bins
+    vol = 4/3*math.pi*(r_right*r_right*r_right - r_left*r_left*r_left)
+    ivol = 1.0 / vol
+
+    print "%i %.3e %.3e %.3e %.3e %.3e %.3e %.3e %.3e %.3e" % \
+        ( i , r_left , r_right , \
+          bins_count[i] * ivol , \
+          bins_v[i] / bins_count[i] , \
+          bins_m[i] * ivol , \
+          bins_h[i] / bins_count[i] , \
+          bins_u[i] / bins_count[i] , \
+          bins_rho[i] / bins_count[i] ,
+          bins_P[i] / bins_count[i] )
+    
+