"""Create mesh and time boundary for Rainfall example """ from Numeric import array, zeros, Float, allclose from anuga.pmesh.mesh import * from anuga.pmesh.mesh_interface import create_mesh_from_regions from anuga.coordinate_transforms.geo_reference import Geo_reference from anuga.geospatial_data import Geospatial_data #import project def prepare_rainfall(filename): """Convert .asc rainfall file to NetCDF tms file. This is a 'throw-away' code taylor made for this type of file Two columns Time in Seconds Rainfall [mm/s] """ from Scientific.IO.NetCDF import NetCDFFile from Numeric import array assert filename[-4:] == '.tms' outfilename = filename infilename = filename[:-4] + '.asc' print 'Creating', outfilename # Read the ascii (.txt) version of this file fid = open(infilename) # Read all lines and search for selected hydrograph lines = fid.readlines() fid.close() time = [] rain = [] for line in lines: fields = line.split() time.append( float(fields[0])) # No Conversion needed this time may need to amend for other formats ie: Hrs, Minutes etc.. rain.append( float(fields[1])) # Convert to NetCDF N = len(time) T = array(time, Float) # Time (seconds) R = array(rain, Float) # Values (mm) # Create tms NetCDF file fid = NetCDFFile(outfilename, 'w') fid.institution = 'Test for Lake Entrance Rd Site' fid.description = 'Rainfall Convert example' fid.starttime = 0.0 fid.createDimension('number_of_timesteps', len(T)) fid.createVariable('time', Float, ('number_of_timesteps',)) fid.variables['time'][:] = T fid.createVariable('rainfall', Float, ('number_of_timesteps',)) fid.variables['rainfall'][:] = R fid.close() #------------------------------------------------------------- if __name__ == "__main__": prepare_rainfall(filename='RAU25.tms') if __name__ == "__main__": prepare_rainfall(filename='RAU26.tms') if __name__ == "__main__": prepare_rainfall(filename='RAV24.tms') if __name__ == "__main__": prepare_rainfall(filename='RAV25.tms') if __name__ == "__main__": prepare_rainfall(filename='RAV26.tms') if __name__ == "__main__": prepare_rainfall(filename='RAW24.tms') if __name__ == "__main__": prepare_rainfall(filename='RAW25.tms') if __name__ == "__main__": prepare_rainfall(filename='RAW26.tms') if __name__ == "__main__": prepare_rainfall(filename='RAX24.tms') if __name__ == "__main__": prepare_rainfall(filename='RAX25.tms') if __name__ == "__main__": prepare_rainfall(filename='RAX26.tms') if __name__ == "__main__": prepare_rainfall(filename='RAY24.tms') if __name__ == "__main__": prepare_rainfall(filename='RAY25.tms') if __name__ == "__main__": prepare_rainfall(filename='RAY26.tms') if __name__ == "__main__": prepare_rainfall(filename='RAZ24.tms') if __name__ == "__main__": prepare_rainfall(filename='RAZ25.tms') if __name__ == "__main__": prepare_rainfall(filename='RAZ26.tms')