title: Python Reading Multiple NetCDF Rainfall files of variable size
body: <p>The issue I have is that the Australian Bureau of Meteorology has supplied me with Rainfall Data Files, that contains rainfall records recorded every 30 minutes for all active gauges. The problem is that for 1 day there are 48 30Minute files. I want to create time series of a particular Gauge. Which means reading all 48 files and searching for the Gauge ID, making sure it doesn't fail if for 1 30 minute period the gauge did not record anything??
  here is link to file format:</p>
  
  <p><a href="https://dl.dropboxusercontent.com/u/15223371/14/gauge_30min_20100214_000000.nc" rel="nofollow">https://dl.dropboxusercontent.com/u/15223371/14/gauge_30min_20100214_000000.nc</a></p>
  
  <p><a href="https://dl.dropboxusercontent.com/u/15223371/14/gauge_30min_20100214_003000.nc" rel="nofollow">https://dl.dropboxusercontent.com/u/15223371/14/gauge_30min_20100214_003000.nc</a></p>
  
  <p><a href="https://dl.dropboxusercontent.com/u/15223371/14/gauge_30min_20100214_010000.nc" rel="nofollow">https://dl.dropboxusercontent.com/u/15223371/14/gauge_30min_20100214_010000.nc</a></p>
  
  <p>This is what I have tried so far:</p>
  
  <pre><code>"""
  This script is used to read a directory of raingauge data from a Data Directory
  
  
  
  
  
  """
  from anuga.file.netcdf import NetCDFFile
  from anuga.config import netcdf_mode_r, netcdf_mode_w, netcdf_mode_a, \
                              netcdf_float
  import os
  import glob
  from easygui import *
  import string
  import numpy
  """
  print 'Default file Extension...'
  msg="Enter 3 letter extension."
  title = "Enter the 3 letter file extension to search for in DIR "
  default = "csv"
  file_extension = enterbox(msg,title,default)
  """
  
  
  print 'Present Directory Open...'
  title = "Select Directory to Read Multiple rainfall .nc files"
  msg = "This is a test of the diropenbox.\n\nPick the directory that you wish to open."
  d = diropenbox(msg, title)
  fromdir = d
  
  filtered_list = glob.glob(os.path.join(fromdir, '*.nc'))
  filtered_list.sort()
  
  nf = len(filtered_list)
  print nf
  
  import numpy
  
  rain = numpy.zeros(nf,'float')
  t = numpy.arange(nf)
  
  Stn_Loc_File='Station_Location.csv'
  outfid = open(Stn_Loc_File, 'w')
  
  prec = numpy.zeros((nf,1752),numpy.float)
  
  gauge_id_list = ['570002','570021','570025','570028','570030','570032','570031','570035','570036',
                   '570047','570772','570781','570910','570903','570916','570931','570943','570965',
                   '570968','570983','570986','70214','70217','70349','70351']
  """
  title = "Select Gauge to plot"
  msg = "Select Gauge"
  gauge_id = int(choicebox(msg=msg,title=title, choices=gauge_id_list))
  """
  #for gauge_id in gauge_id_list:
  #    gauge_id = int(gauge_id)
  try:    
  
      for i, infile in enumerate(filtered_list):
  
          infilenet = NetCDFFile(infile, netcdf_mode_r)
          print infilenet.variables
          raw_input('Hold.... check variables...')
          stn_lats = infilenet.variables['latitude']
          stn_longs = infilenet.variables['longitude']
          stn_ids = infilenet.variables['station_id']
          stn_rain = infilenet.variables['precipitation']
  
          print stn_ids.shape
          #print stn_lats.shape
          #print stn_longs.shape
          #print infile.dimensions
          stn_ids = numpy.array(stn_ids)
  
          l_id = numpy.where(stn_ids == gauge_id)
          if stn_ids in gauge_id_list:
              try:
                  l_id = l_id[0][0]
                  rain[i] = stn_rain[l_id]
              except:
                  rain[i] = numpy.nan
      print 'End for i...'            
      #print rain
  
      import pylab as pl
  
      pl.bar(t,rain)
      pl.title('Rain Gauge data')
      pl.xlabel('time steps')
      pl.ylabel('rainfall (mm)')
      pl.show()
  except:
      pass 
  raw_input('END....')
  </code></pre>