rainGrid is a class used to store and manipulate rainfall data.  It can be used to interpolate or downscale rainfall data from coarser resolutions/grid spacings.  
 More...
#include <LSDRainfallRunoff.hpp>
|  | 
|  | rainGrid () | 
|  | Default constructor – throws an error. 
 | 
|  | 
|  | rainGrid (std::vector< std::vector< float > > &rain_data, TNT::Array2D< int > &hydroindex, int imax, int jmax, int current_rainfall_timestep, int rf_num) | 
|  | 
| void | interpolateRainfall_RectBivariateSpline (rainGrid &raingrid) | 
|  | 
| void | interpolateRainfall_RectTrivariateSpline (rainGrid &raingrid, const TNT::Array2D< double > &elevation) | 
|  | 
| void | ReShapeRainfallData_2DArray () | 
|  | 
| void | downscaleRainfallData () | 
|  | 
| void | write_rainGrid_to_raster_file (double xmin, double ymin, double cellsize, std::string RAINGRID_FNAME, std::string RAINGRID_EXTENSION) | 
|  | 
| double | get_rainfall (int i, int j) const | 
|  | Getter for getting rainfall value. 
 | 
|  | 
rainGrid is a class used to store and manipulate rainfall data.  It can be used to interpolate or downscale rainfall data from coarser resolutions/grid spacings. 
- Author
- DAV 
  
  | 
        
          | rainGrid::rainGrid | ( | std::vector< std::vector< float > > & | rain_data, |  
          |  |  | TNT::Array2D< int > & | hydroindex, |  
          |  |  | int | imax, |  
          |  |  | int | jmax, |  
          |  |  | int | current_rainfall_timestep, |  
          |  |  | int | rf_num |  
          |  | ) |  |  |  | inline | 
 
Create a raingrid from the rainfall data vector, and the raster or model domain dimensions, for the current timestep only. Specify an interpolation method 
 
 
      
        
          | void rainGrid::downscaleRainfallData | ( |  | ) |  | 
      
 
Downscales the 2d rainfall array to a resampled, higher resolution array, with the same grid spacing, and dimensions as the model or raste rdomain. 
- Note
- This is actually done by the create() function for now, but it should probably go in its own method. 
 
 
      
        
          | void rainGrid::interpolateRainfall_RectBivariateSpline | ( | rainGrid & | raingrid | ) |  | 
      
 
Create rainGrid from interpolating between sparse points and x, y coord TODO Takes a 2D array of regular gridded rainfall and interpolates it according to a Bivariate Spline. Similar to sciPy's scipy.interpolate.RectBivariateSpline 
 
 
      
        
          | void rainGrid::interpolateRainfall_RectTrivariateSpline | ( | rainGrid & | raingrid, | 
        
          |  |  | const TNT::Array2D< double > & | elevation | 
        
          |  | ) |  |  | 
      
 
Will take a 2D array of regular gridded rainfall and interpolates it based on a TRI-variate spline. I.e. interpolates based on an extra third variable which would be terrain in most cases (see Tait et al 2006, for example) 
 
 
      
        
          | void rainGrid::ReShapeRainfallData_2DArray | ( |  | ) |  | 
      
 
Takes the rainfall data for a current timestep and reshapes it into a 2D array. 
 
 
      
        
          | void rainGrid::write_rainGrid_to_raster_file | ( | double | xmin, | 
        
          |  |  | double | ymin, | 
        
          |  |  | double | cellsize, | 
        
          |  |  | std::string | RAINGRID_FNAME, | 
        
          |  |  | std::string | RAINGRID_EXTENSION | 
        
          |  | ) |  |  | 
      
 
Writes the 2D upscaled and/or interpolated rainfall grid to a raster output file for checking. 
 
 
  
  | 
        
          | TNT::Array2D<double> rainGrid::rainfallgrid2D |  | protected | 
 
For a single instance of a 2D rainfall grid, matching the dimensions of the model domain. 
 
 
  
  | 
        
          | TNT::Array3D<double> rainGrid::rainfallgrid3D |  | protected | 
 
Experimental - stores grids of rainfall data for every rainfall timestep: Warning - this could be a massive object! 
 
 
The documentation for this class was generated from the following files: