Requirements for module to plot time series data after simulation run. 31 March 2006 1. The module shall read a SWW file and plot the time series for the prescribed quantities at defined gauge locations. 1.1 The prescribed quantities must be a name of an existing quantity or an expression involving existing quantities. 1.1.1 The default quantity will be 'depth'. 1.1.2 The user can define a list of quantities. The possibilities are the conserved quantitues of the shallow water wave equation and other quantities which can be derived from those, i.e. ['stage', 'depth', 'xmomentum', 'ymomentum', 'momentum', 'velocity', 'bearing']. 1.1.3 Absolute momentum ('momentum') will be calculated as sqrt(xmomentum^2 + ymomentum^2). 1.1.4 Velocity should be calculated as absolute momentum divided (pointwise) by depth. 1.1.5 Bearing should return the angle of the momentum vector (xmomentum, ymomentum) from the North direction. 1.2 The gauge locations should either be defined in a separate file in which case the plotting function is invoked with the name of the file, or they should be provided as an argument in the form of a Numeric array or a structure that can be converted to a Numeric array. 1.2.1 The gauges file should contain the gauge name and location defined in eastings and northings. 1.2.2 The gauge file should be a comma separated file. 1.3 The module should be contained in data_manager.py (I think it should be a new module (Ole)) 1.3.1 The output should be available both as data and graphics. 1.3.2 The default output shall be graphics. 1.3.3 The output should optionally be computed for a prescribed time range. 1.3.4 The default time range is the complete time series. 1.3.5 The output should be stored in the same directory as the SWW file. 1.4 A latex document should be automatically generated which contains the output graphics. 1.4.1 The caption of the output graphics should contain the gauge name and other simulation parameters. The outline of the module is as follows: def sww2timeseries(swwfile, gauge_filename, (or a structure that contains that info, e.g. based on Geospatial_data) gauge_data_outname, quantity = None, time_min = None, time_max = None, verbose = False): # extract gauge locations from gauge file # extract all quantities from sww file # loop through appropriate range of time # plot prescribed quantities and export data if requested return where swwfile defines the input sww file gauge_filename defines the gauge (name, easting, northing) gauge_data_outname defined the name of the output data file (if required) time_min defines the beginning of the time range time_max defines the end of the time range