LSDTopoTools
 All Classes Files Functions Variables Friends Pages
Public Member Functions | Protected Attributes | List of all members
LSDCosmoBasin Class Reference

A derived class that is used to compute erosion rates based on concentrations of in-situ cosmogenic nuclides such as 10Be and 26Al. More...

#include <LSDBasin.hpp>

Inheritance diagram for LSDCosmoBasin:
LSDBasin

Public Member Functions

 LSDCosmoBasin (int Junction, LSDFlowInfo &FlowInfo, LSDJunctionNetwork &ChanNet, double N10, double del_N10, double N26, double del_N26)
 Default constructor method used to create a cosmo basin object. More...
 
void populate_scaling_vectors (LSDFlowInfo &FlowInfo, LSDRaster &Elevation_Data, LSDRaster &Topo_Shield, string path_to_atmospheric_data)
 This function populates the scaling vectors that are used to set the production scaling, topographic shielding and snow shielding for specific nodes. More...
 
void populate_scaling_vectors (LSDFlowInfo &FlowInfo, LSDRaster &Elevation_Data, LSDRaster &Topo_Shield, LSDRaster &Snow_shield, string path_to_atmospheric_data)
 This function populates the scaling vectors that are used to set the production scaling, topographic shielding and snow shielding for specific nodes. More...
 
void populate_snow_and_self_eff_depth_vectors (LSDFlowInfo &FlowInfo, LSDRaster &snow_eff_depth, LSDRaster &self_eff_depth)
 This function sets the basin vectors for snow and shelf sheilding if the effective depth method is to be used. More...
 
void populate_snow_and_self_eff_depth_vectors (LSDFlowInfo &FlowInfo, double snow_eff_depth, LSDRaster &self_eff_depth)
 This function sets the basin vectors for snow and shelf sheilding if the effective depth method is to be used. More...
 
void populate_snow_and_self_eff_depth_vectors (LSDFlowInfo &FlowInfo, LSDRaster &snow_eff_depth, double self_eff_depth)
 This function sets the basin vectors for snow and shelf sheilding if the effective depth method is to be used. More...
 
void populate_snow_and_self_eff_depth_vectors (double snow_eff_depth, double self_eff_depth)
 This function sets the basin vectors for snow and shelf sheilding if the effective depth method is to be used. More...
 
void reset_snow_and_self_eff_depth_vectors ()
 this resets the snow and self shielding effective vectors. More...
 
void get_atmospheric_pressure (LSDFlowInfo &FlowInfo, LSDRaster &Elevation_Data, string path_to_atmospheric_data)
 This is a utility function that populates the atmospheric pressure vector. It uses the CRONUS calculator scheme. More...
 
vector< double > full_CRN_erosion_analysis (double Nuclide_conc, string Nuclide, double Nuclide_conc_err, double prod_uncert_factor, string Muon_scaling)
 This function wraps the erosion rate calculator, and returns both the erosion rate as well as the uncertainties. More...
 
vector< double > full_CRN_erosion_analysis_nested (LSDRaster &known_eff_erosion, LSDFlowInfo &FlowInfo, double Nuclide_conc, string Nuclide, double Nuclide_conc_err, double prod_uncert_factor, string Muon_scaling)
 This function wraps the erosion rate calculator, and returns both the erosion rate as well as the uncertainties ^. More...
 
double predict_CRN_erosion (double Nuclide_conc, string Nuclide, double prod_uncert_factor, string Muon_scaling, double &production_uncertainty, double &average_production, bool is_production_uncertainty_plus_on, bool is_production_uncertainty_minus_on)
 this uses Newton Raphson iteration to retrieve the erosion rate from a basin given a nuclide concentration More...
 
double predict_CRN_erosion_nested (double Nuclide_conc, string Nuclide, double prod_uncert_factor, string Muon_scaling, double &production_uncertainty, double &average_production, bool is_production_uncertainty_plus_on, bool is_production_uncertainty_minus_on, LSDRaster &eff_erosion_raster, LSDFlowInfo &FlowInfo)
 this uses Newton Raphson iteration to retrieve the erosion rate from a basin given a nuclide concentration. This is the nested version. More...
 
double predict_mean_CRN_conc (double eff_erosion_rate, string Nuclide, double prod_uncert_factor, string Muon_scaling, bool data_from_outlet_only, double &production_uncertainty, double &production_rate, bool is_production_uncertainty_plus_on, bool is_production_uncertainty_minus_on)
 this predicts the mean concentration of a nuclide within a basin More...
 
double predict_mean_CRN_conc_with_snow_and_self (double eff_erosion_rate, string Nuclide, double prod_uncert_factor, string Muon_scaling, bool data_from_outlet_only, double &production_uncertainty, double &production_rate, bool is_production_uncertainty_plus_on, bool is_production_uncertainty_minus_on)
 this predicts the mean concentration of a nuclide within a basin. It does a full analyitical solution to account for snow and self sheilding More...
 
double predict_mean_CRN_conc_with_snow_and_self_nested (double eff_erosion_rate, LSDRaster &known_effective_erosion, LSDFlowInfo &FlowInfo, string Nuclide, double prod_uncert_factor, string Muon_scaling, double &production_uncertainty, double &average_production, bool is_production_uncertainty_plus_on, bool is_production_uncertainty_minus_on)
 this predicts the mean concentration of a nuclide within a basin. It does a full analyitical solution to account for snow and self sheilding. It uses a raster of known erosion rates to predict the concentration from the basin: it is primarily used for nesting. More...
 
double predict_mean_CRN_conc_centroid (double eff_erosion_rate, string Nuclide, double prod_uncert_factor, string Muon_scaling, LSDFlowInfo &FlowInfo, double &production_uncertainty, double &production_rate, bool is_production_uncertainty_plus_on, bool is_production_uncertainty_minus_on)
 this predicts the mean concentration of a nuclide within a basin, using the production scaling of the centroid It replicates the technique used by many authors. This function is mainly here to show how far off this method is compared to the pixel-by-pixel production scaling More...
 
bool are_there_unknown_erosion_rates_in_basin (LSDRaster &known_erates, LSDFlowInfo &FlowInfo)
 
void print_particle_csv (string path_to_file, string filename, LSDFlowInfo &FlowInfo, LSDRaster &Elevation_Data, LSDRaster &T_Shield, string path_to_atmospheric_data)
 Prints a csv with information about the nodes in a basin that relate to cosmogenic paramters. More...
 
vector< double > calculate_effective_pressures_for_calculators (LSDRaster &Elevation, LSDFlowInfo &FlowInfo, string path_to_atmospheric_data)
 This function gets effective pressure for a basin by averageing production rates and then calculating the 'apparent' pressure that can produce that production rate. It also returns a number of valriables that can be plugged into existing calculators to compare results from the LSDCosmo calulcator against other methods. More...
 
vector< double > calculate_effective_pressures_for_calculators_nested (LSDRaster &Elevation, LSDFlowInfo &FlowInfo, string path_to_atmospheric_data, LSDRaster &known_eff_erosion)
 This function gets effective pressure for a basin by averageing production rates and then calculating the 'apparent' pressure that can produce that production rate. It also returns a number of valriables that can be plugged into existing calculators to compare results from the LSDCosmo calulcator against other methods This version allows you to input a know erosion rate raster. Production and other scalings are masked anywhere the erosion rates are known. More...
 
void print_scaling_and_shielding_rasters (string filename, LSDFlowInfo &FlowInfo)
 This function prints the production scaling as well as the combined scaling and combined shielding on a pixel by pixel basis to rasters. More...
 
LSDRaster get_combined_scaling_raster (string filename, LSDFlowInfo &FlowInfo)
 returns the combned scaling raster, which has the product of the topographic, snow and self shielding, multiplied by production scaling, for each pixel. More...
 
void print_CRN_conc_raster (string filename, double eff_erosion_rate, string Nuclide, string Muon_scaling, LSDFlowInfo &FlowInfo)
 This function is run after the CRN erosion rate have been found it prints a raster contiannig the spatially distributed concentration of the nuclide predicted for the estimated erosion rate. More...
 
- Public Member Functions inherited from LSDBasin
 LSDBasin ()
 Default constructor method used to create a basin object. More...
 
 LSDBasin (int Junction, LSDFlowInfo &FlowInfo, LSDJunctionNetwork &ChanNet)
 Constructor method used to create a basin object. More...
 
int get_NRows () const
 
int get_NCols () const
 
float get_XMinimum () const
 
float get_YMinimum () const
 
float get_DataResolution () const
 
int get_NoDataValue () const
 
map< string, string > get_GeoReferencingStrings () const
 
vector< int > get_BasinNodes () const
 
int get_NumberOfCells () const
 
float get_Area () const
 
int get_Junction () const
 
int get_BasinOrder () const
 
bool get_Beheaded () const
 
int get_Outlet_node () const
 
int get_Outlet_i () const
 
int get_Outlet_j () const
 
int get_Centroid_i () const
 
int get_Centroid_j () const
 
float get_SlopeMean () const
 
float get_ElevationMean () const
 
float get_AspectMean () const
 
float get_ReliefMean () const
 
float get_PlanCurvMean () const
 
float get_ProfileCurvMean () const
 
float get_TotalCurvMean () const
 
float get_PlanCurvMax () const
 
float get_ProfileCurvMax () const
 
float get_TotalCurvMax () const
 
float get_HillslopeLength_HFR () const
 
float get_HillslopeLength_Binned () const
 
float get_HillslopeLength_Spline () const
 
float get_HillslopeLength_Density () const
 
float get_FlowLength () const
 
float get_DrainageDensity () const
 
vector< int > get_Perimeter_i () const
 
vector< int > get_Perimeter_j () const
 
vector< int > get_Perimeter_nodes () const
 
float get_CosmoErosionRate () const
 
float get_OtherErosionRate () const
 
float get_CHTMean () const
 
float get_EStar () const
 
float get_RStar () const
 
int get_HilltopPx () const
 
float get_BedrockFraction () const
 
float get_Biomass () const
 
int get_AlternativeIndex () const
 
float CalculateBasinMean (LSDFlowInfo &FlowInfo, LSDRaster Data)
 Calculate the mean value of an LSDRaster which falls inside a basin. More...
 
float CalculateBasinMax (LSDFlowInfo &FlowInfo, LSDRaster Data)
 Calculate the max value of an LSDRaster which falls inside a basin. More...
 
float CalculateBasinMin (LSDFlowInfo &FlowInfo, LSDRaster Data)
 Calculate the min value of an LSDRaster which falls inside a basin. More...
 
float CalculateBasinMedian (LSDFlowInfo &FlowInfo, LSDRaster Data)
 Calculate the median value of an LSDRaster which falls inside a basin. More...
 
float CalculateBasinPercentile (LSDFlowInfo &FlowInfo, LSDRaster Data, int Percentile)
 Calculate the percentile value of an LSDRaster which falls inside a basin. More...
 
float CalculateBasinStdDev (LSDFlowInfo &FlowInfo, LSDRaster Data)
 Calculate the Standard Deviation of values of an LSDRaster which falls inside a basin. More...
 
float CalculateBasinStdError (LSDFlowInfo &FlowInfo, LSDRaster Data)
 Calculate the Standard error of values of an LSDRaster which falls inside a basin. More...
 
float CalculateBasinRange (LSDFlowInfo &FlowInfo, LSDRaster Data)
 Calculate the range of values of an LSDRaster which falls inside a basin. More...
 
int CalculateNumDataPoints (LSDFlowInfo &FlowInfo, LSDRaster Data)
 Calculate the number of data points of an LSDRaster which fall inside a basin. More...
 
void set_SlopeMean (LSDFlowInfo &FlowInfo, LSDRaster Slope)
 Set the mean slope of a basin. More...
 
void set_ElevationMean (LSDFlowInfo &FlowInfo, LSDRaster Elevation)
 Set the mean Elevation of a basin. More...
 
void set_ReliefMean (LSDFlowInfo &FlowInfo, LSDRaster Relief)
 Set the mean Relief of a basin. More...
 
void set_PlanCurvMean (LSDFlowInfo &FlowInfo, LSDRaster PlanCurv)
 Set the mean PlanCurve of a basin. More...
 
void set_ProfileCurvMean (LSDFlowInfo &FlowInfo, LSDRaster ProfileCurv)
 Set the mean ProfCurv of a basin. More...
 
void set_TotalCurvMean (LSDFlowInfo &FlowInfo, LSDRaster TotalCurv)
 Set the mean TotalCurv of a basin. More...
 
void set_PlanCurvMax (LSDFlowInfo &FlowInfo, LSDRaster PlanCurv)
 Set the max PlanCurve of a basin. More...
 
void set_ProfileCurvMax (LSDFlowInfo &FlowInfo, LSDRaster ProfileCurv)
 Set the max ProfCurv of a basin. More...
 
void set_TotalCurvMax (LSDFlowInfo &FlowInfo, LSDRaster TotalCurv)
 Set the max TotalCurv of a basin. More...
 
void set_CHTMean (LSDFlowInfo &FlowInfo, LSDRaster CHT)
 Set the mean hilltop curvature of a basin. More...
 
void set_CosmoErosionRate (float ErosionRate)
 Set the Cosmogenic erosion rate. More...
 
void set_OtherErosionRate (float ErosionRate)
 Set the Other erosion rate. More...
 
void set_EStar_RStar (float CriticalSlope)
 Calculate E* and R* values for the basin, using hilltop flow routed hillslope lengths. More...
 
void set_FlowLength (LSDIndexRaster &StreamNetwork, LSDFlowInfo &FlowInfo)
 Calculate flow length for the basin using the D8 flow directions. More...
 
void set_DrainageDensity ()
 Set basin drainage density. More...
 
void set_HillslopeLength_HFR (LSDFlowInfo &FlowInfo, LSDRaster HillslopeLengths)
 Set the mean HillslopeLength from hilltop flow routing. More...
 
void set_HillslopeLengths_Boomerang (LSDRaster &Slope, LSDRaster &DinfArea, LSDFlowInfo &FlowInfo, float log_bin_width, int SplineResolution, float bin_threshold)
 Set mean HillslopeLengths from boomerang plots from both splines and binned data. More...
 
void set_HillslopeLength_Density ()
 Set the mean HillslopeLength from drainage density. More...
 
void set_BedrockFraction (LSDFlowInfo &FlowInfo, LSDRaster RockExposure)
 Set the Rock Exposure fraction of the basin. More...
 
void set_Biomass (LSDFlowInfo &FlowInfo, LSDRaster BiomassRaster)
 
void set_AlternativeIndex (LSDFlowInfo &FlowInfo, LSDIndexRaster &AltIndex)
 
void Plot_Boomerang (LSDRaster &Slope, LSDRaster &DinfArea, LSDFlowInfo &FlowInfo, float log_bin_width, int SplineResolution, float bin_threshold, string Path)
 Generate text files containing data to plot boomerangs. More...
 
void set_AspectMean (LSDFlowInfo &FlowInfo, LSDRaster Aspect)
 Set the mean aspect of a basin. More...
 
void set_Perimeter (LSDFlowInfo &FlowInfo)
 Set the perimeter pixels using a simple edge detection algorithm. More...
 
void set_perimeter_from_vector (vector< int > perimeter_nodes)
 Set the perimeter pixels by passing in your own vector of perimeter nodes. More...
 
void print_perimeter_to_csv (LSDFlowInfo &FlowInfo, string perimeter_fname)
 Prints the perimeter nodes to a csv file. More...
 
void print_perimeter_hypsometry_to_csv (LSDFlowInfo &FlowInfo, string perimeter_fname, LSDRaster &ElevationRaster)
 Prints the perimeter nodes to a csv file plus elevations. More...
 
vector< int > order_perimeter_nodes (LSDFlowInfo &FlowInfo)
 Orders perimeter nodes from the outlet. More...
 
void set_all_HillslopeLengths (LSDFlowInfo &FlowInfo, LSDRaster &HillslopeLengths, LSDRaster &Slope, LSDRaster &DinfArea, float log_bin_width, int SplineResolution, float bin_threshold)
 Set the four different hillslope length measurements for the basin. More...
 
void set_All_Parameters (LSDRaster &Elevation, LSDFlowInfo &FlowInfo, LSDRaster &CHT, LSDIndexRaster &StreamNetwork, LSDRaster &HillslopeLengths, LSDRaster &Relief, float window_radius, float log_bin_width, int SplineResolution, float bin_threshold, float CriticalSlope, float CosmoErosionRate=-9999, float OtherErosionRate=-9999)
 Set all of the basin parameters with one call. More...
 
void set_HilltopPx (LSDFlowInfo &FlowInfo, LSDRaster Hilltops)
 Set the count of the number of hilltop pixels in a basin. More...
 
LSDIndexRaster write_raster_data_to_LSDIndexRaster (LSDIndexRaster Data, LSDFlowInfo FlowInfo)
 Cookie cut data from an LSDIndexRaster into the shape of the basin. More...
 
LSDRaster write_raster_data_to_LSDRaster (LSDRaster Data, LSDFlowInfo FlowInfo)
 Cookie cut data from an LSDRaster into the shape of the basin. More...
 
int is_node_in_basin (int test_node)
 check whether a test node is in the basin or not More...
 
bool are_basins_from_same_base_DEM (LSDBasin &other)
 This checks the dimensions of the base DEMs along with georeferencing strings to see if the other basin is from the same DEM as the current basin. More...
 
bool is_this_a_subbasin (LSDBasin &other)
 This checks to see if a supplied basin is a subbasin of the other. More...
 
LSDRaster keep_only_internal_hilltop_curvature (LSDRaster hilltop_curvature, LSDFlowInfo FlowInfo)
 remove hilltop curvature values that are at the edge of the basin More...
 
LSDRaster write_real_data_to_LSDRaster (float Param, LSDFlowInfo FlowInfo)
 Write a real value to an LSDRaster in the shape of the basin. More...
 
LSDIndexRaster write_integer_data_to_LSDIndexRaster (int Param, LSDFlowInfo FlowInfo)
 Write an integer value to an LSDIndexRaster in the shape of the basin. More...
 
void add_basin_to_LSDIndexRaster (LSDIndexRaster &basin_raster, LSDFlowInfo &FlowInfo, map< int, int > &drainage_of_other_basins, int this_basin_index)
 This function is used to create a single LSDIndexRaster that contains all the basins in a DEM. It is done by adding each basin in turn (but this only adds a single basin). More...
 
LSDRaster TrimPaddedRasterToBasin (int padding_pixels, LSDFlowInfo &FlowInfo, LSDRaster &Raster_Data)
 This function creates a padded, georeferenced raster from a raw raster file that is trimmed to the dimension of a basin. More...
 
bool is_adjacent (LSDBasin &DifferentBasin, LSDFlowInfo &flowpy)
 This function check if two basin are adjacent return true if the two basin are adjacent with at least one pixel TODO add a minimum adjacent pixel parameter. More...
 
vector< int > get_source_node_from_perimeter (vector< int > perimeter, LSDFlowInfo &flowpy, LSDJunctionNetwork &junky, int pixel_window)
 detect the source nodes in a pixel window around a perimeter, for instance a basin perimeter It needs a sequence of nodes where it will loop around and gather all the source nodes encountered. More...
 
LSDIndexRaster write_Junction (LSDFlowInfo FlowInfo)
 Write Junction values into the shape of the basin. More...
 
LSDIndexRaster write_NumberOfCells (LSDFlowInfo FlowInfo)
 Write NumberOfCells values into the shape of the basin. More...
 
LSDIndexRaster write_BasinOrder (LSDFlowInfo FlowInfo)
 Write BasinOrder values into the shape of the basin. More...
 
LSDRaster write_Area (LSDFlowInfo FlowInfo)
 Write Area values into the shape of the basin. More...
 
LSDRaster write_SlopeMean (LSDFlowInfo FlowInfo)
 Write SlopeMean values into the shape of the basin. More...
 
LSDRaster write_ElevationMean (LSDFlowInfo FlowInfo)
 Write ElevationMean values into the shape of the basin. More...
 
LSDRaster write_AspectMean (LSDFlowInfo FlowInfo)
 Write AspectMean values into the shape of the basin. More...
 
LSDRaster write_ReliefMean (LSDFlowInfo FlowInfo)
 Write ReliefMean values into the shape of the basin. More...
 
LSDRaster write_PlanCurvMean (LSDFlowInfo FlowInfo)
 Write PlanCurvMean values into the shape of the basin. More...
 
LSDRaster write_ProfileCurvMean (LSDFlowInfo FlowInfo)
 Write ProfileCurvMean values into the shape of the basin. More...
 
LSDRaster write_TotalCurvMean (LSDFlowInfo FlowInfo)
 Write TotalCurvMean values into the shape of the basin. More...
 
LSDRaster write_PlanCurvMax (LSDFlowInfo FlowInfo)
 Write PlanCurvMax values into the shape of the basin. More...
 
LSDRaster write_ProfileCurvMax (LSDFlowInfo FlowInfo)
 Write ProfileCurvMax values into the shape of the basin. More...
 
LSDRaster write_TotalCurvMax (LSDFlowInfo FlowInfo)
 Write TotalCurvMax values into the shape of the basin. More...
 
LSDRaster write_HillslopeLength_HFR (LSDFlowInfo FlowInfo)
 Write HillslopeLength_HFR values into the shape of the basin. More...
 
LSDRaster write_HillslopeLength_Binned (LSDFlowInfo FlowInfo)
 Write HillslopeLength_Binned values into the shape of the basin. More...
 
LSDRaster write_HillslopeLength_Spline (LSDFlowInfo FlowInfo)
 Write HillslopeLength_Spline values into the shape of the basin. More...
 
LSDRaster write_HillslopeLength_Density (LSDFlowInfo FlowInfo)
 Write HillslopeLength_Density values into the shape of the basin. More...
 
LSDRaster write_FlowLength (LSDFlowInfo FlowInfo)
 Write FlowLength values into the shape of the basin. More...
 
LSDRaster write_DrainageDensity (LSDFlowInfo FlowInfo)
 Write DrainageDensity values into the shape of the basin. More...
 
LSDRaster write_CosmoErosionRate (LSDFlowInfo FlowInfo)
 Write CosmoErosionRate values into the shape of the basin. More...
 
LSDRaster write_OtherErosionRate (LSDFlowInfo FlowInfo)
 Write OtherErosionRate values into the shape of the basin. More...
 
LSDRaster write_CHTMean (LSDFlowInfo FlowInfo)
 Write CHTMean values into the shape of the basin. More...
 
LSDRaster write_EStar (LSDFlowInfo FlowInfo)
 Write EStar values into the shape of the basin. More...
 
LSDRaster write_RStar (LSDFlowInfo FlowInfo)
 Write RStar values into the shape of the basin. More...
 
LSDRaster Merge_Basins (vector< LSDRaster > Basins)
 Method to merge a vector of LSDRaster basins generated using LSDBasin into a single LSDRaster for visualisation. More...
 
map< int, int > count_unique_values_from_litho_raster (LSDIndexRaster &litho, LSDFlowInfo &topo)
 Count the number of each unique lithology value contain in the basin from a topographic raster take a lithologic raster and a topographic raster in argument. More...
 
vector< int > merge_perimeter_nodes_adjacent_basins (vector< LSDBasin > budgerigar, LSDFlowInfo &flowpy)
 merge and contour the perimeter from a vector of adjacent basins WARNING There may be 1 pixel-size holes in the perimeter. More...
 
map< string, float > get_metrics_both_side_divide (LSDRaster &rasterTemplate, LSDFlowInfo &flowpy, vector< int > &nodes_to_test, map< int, bool > &raster_node_basin)
 Compare metrics inside/out of a basin for a given vector of nodes. Ill detail when it will be done later. More...
 
void square_window_stat_drainage_divide (LSDRaster &rasterTemplate, LSDFlowInfo &flowpy, int size_window)
 apply a square window around each perimeter nodes and extract statistics on each sides of the basin. Ill detail when it will be done later More...
 
void write_windowed_stats_around_drainage_divide_csv (string full_name, LSDFlowInfo &flowpy)
 
void preprocess_DD_metrics (LSDFlowInfo flowpy)
 Preprocess the Drainage Divide tool driver required info Set the perimeter and set a map containing the corresponding x,y ... TODO: add distance from origin and other global parameters. More...
 
void organise_perimeter (LSDFlowInfo &flowpy)
 
void clean_perimeter (LSDFlowInfo &flowpy)
 
void write_elevation_csv (string output_name, LSDFlowInfo &flowpy, LSDRaster &filled)
 Write a csv file with X,Y,Z. More...
 

Protected Attributes

double measured_N_10Be
 The measured 10Be concentration.
 
double measured_N_26Al
 The measured 26Al concentration.
 
double delN_10Be
 The measured uncertainty in the 10Be concentration.
 
double delN_26Al
 The measured uncertainty in the 10Be concentration.
 
vector< double > snow_shielding
 A vector holding the elevations of the data within the basin.
 
vector< double > topographic_shielding
 A vector holding the topographic shielding of nodes within the basin.
 
vector< double > production_scaling
 A vector holding the production scaling of nodes within the basin.
 
vector< double > self_shielding
 
vector< LSDCRNParticleCRN_particle_vec
 a vector holding the CRNparticles
 
vector< double > atmospheric_pressure
 a vector holding the atmospheric pressure
 
vector< double > self_shield_eff_depth
 
vector< double > snow_shield_eff_depth
 
- Protected Attributes inherited from LSDBasin
int NRows
 Number of rows.
 
int NCols
 Number of columns.
 
float XMinimum
 Minimum X coordinate.
 
float YMinimum
 Minimum Y coordinate.
 
float DataResolution
 Data resolution.
 
int NoDataValue
 No data value.
 
map< string, string > GeoReferencingStrings
 A map of strings for holding georeferencing information.
 
int Junction
 Junction Number of the basin, serves as a unique ID of a basin.
 
vector< int > BasinNodes
 Vector of all nodes in basin.
 
map< int, int > nodes_of_basins
 Map of nodes in the basin - faster to check if a node is in the basin due to a binary search tree for large maps.
 
int NumberOfCells
 Number of DEM cells.
 
float Area
 Area in spatial units of the basin.
 
bool Beheaded
 Boolean to show if the basin is beheaded or not.
 
int Outlet_i
 i index of the outlet pixel
 
int Outlet_j
 j index of the outlet pixel
 
int BasinOrder
 The Strahler order of the basin.
 
int Centroid_i
 The i index of the centroid of the basin.
 
int Centroid_j
 The j index of the centroid of the basin.
 
float SlopeMean
 Mean basin slope.
 
float ElevationMean
 Mean basin elevation.
 
float AspectMean
 Mean basin aspect.
 
float ReliefMean
 Mean basin relief.
 
float PlanCurvMean
 Mean basin planform curvature.
 
float ProfileCurvMean
 Mean basin profile curvature.
 
float TotalCurvMean
 Mean basin total curvature.
 
float PlanCurvMax
 Max basin planform curvature.
 
float ProfileCurvMax
 Max basin profile curvature.
 
float TotalCurvMax
 Max basin total curvature.
 
float HillslopeLength_HFR
 Mean hillslope length from hilltop flow routing.
 
float HillslopeLength_Binned
 Mean hillslope length from binned boomerang plots.
 
float HillslopeLength_Spline
 Mean hillslope length from spline curves on boomerang plots.
 
float HillslopeLength_Density
 Mean hillslope length from drainage density.
 
float FlowLength
 Basin flowlength.
 
float DrainageDensity
 Basin drainage density.
 
vector< int > Perimeter_i
 Basin Perimeter's j index.
 
vector< int > Perimeter_j
 Basin Perimeter's j index.
 
vector< int > Perimeter_nodes
 Basin Perimeter's node index.
 
vector< int > Perimeter_nodes_sorted
 Basin Perimeter's node index, sorted by followed order.
 
map< int, int > Perimeter_nodes_sorted_id
 corresponding map giving an index to the sorted perimeter. Mostly for testing and debugging purposes.
 
map< int, int > Perimeter_nodes_map
 increase the speed of checking whether a node is perimeter or not compare to find in a vector
 
float CosmoErosionRate
 Cosmo erosion rate.
 
float OtherErosionRate
 Other erosion rate.
 
float CHTMean
 Mean basin hilltop curvature.
 
float EStar
 Basin E* value.
 
float RStar
 Basin R* value.
 
float HilltopPx
 Number of hilltop pixels in a basin.
 
float BedrockFraction
 Fraction of basin mapped bedrock.
 
float Biomass
 AGB density.
 
int AlternativeIndex
 
bool DD_preprocessed
 
map< int, map< string, float > > stats_around_perimeter_window
 
map< int, float > map_of_dist_perim
 
map< int, vector< float > > DD_map
 
map< int, vector< float > > BasinNodesMapOfXY
 

Detailed Description

A derived class that is used to compute erosion rates based on concentrations of in-situ cosmogenic nuclides such as 10Be and 26Al.

Constructor & Destructor Documentation

LSDCosmoBasin::LSDCosmoBasin ( int  Junction,
LSDFlowInfo FlowInfo,
LSDJunctionNetwork ChanNet,
double  N10,
double  del_N10,
double  N26,
double  del_N26 
)
inline

Default constructor method used to create a cosmo basin object.

Parameters
Junctionoutlet junction of the basin to be constructed.
FlowInfoLSDFlowInfo object.
ChanNetChannel network object.
N10concentration of 10Be in basin (atoms/g).
del_N10analytical uncertainty of 10Be in basin (atoms/g).
N26concentration of 10Be in basin (atoms/g).
del_N26analytical uncertainty of 10Be in basin (atoms/g).
Author
SMM
Date
27/12/14

Member Function Documentation

bool LSDCosmoBasin::are_there_unknown_erosion_rates_in_basin ( LSDRaster known_erates,
LSDFlowInfo FlowInfo 
)

A function for testing if a known erosion rate raster contains any unknowns within a basin.

Parameters
known_eratesa raster of known erosion rates
FlowInfoa flow info object
Returns
a boolean that is true if there are unknown erosion rates and false if not
Author
SMM
Date
10/02/2016
vector< double > LSDCosmoBasin::calculate_effective_pressures_for_calculators ( LSDRaster Elevation,
LSDFlowInfo FlowInfo,
string  path_to_atmospheric_data 
)

This function gets effective pressure for a basin by averageing production rates and then calculating the 'apparent' pressure that can produce that production rate. It also returns a number of valriables that can be plugged into existing calculators to compare results from the LSDCosmo calulcator against other methods.

Parameters
Elevationthe DEM, an LSDRaster object. IMPORTANT!! This needs to contain georeferencing information for this to work!!!
FlowInfothe LSDFlowInfo object
path_to_atmospheric_dataTHis is a path to binary NCEP data.
Returns
a vector of values used in open-source calculators vector[0] = AverageProd; vector[1] = AverageTopo; vector[2] = AverageSelf; vector[3] = AverageSnow; vector[4] = AverageCombined; vector[5] = lat_outlet; vector[6] = outlet_pressure; vector[7] = outlet_eff_pressure; vector[8] = lat_centroid; vector[9] = centroid_pressure; vector[10] = centroid_eff_pressure;
Author
SMM
Date
11/03/2015
vector< double > LSDCosmoBasin::calculate_effective_pressures_for_calculators_nested ( LSDRaster Elevation,
LSDFlowInfo FlowInfo,
string  path_to_atmospheric_data,
LSDRaster known_eff_erosion 
)

This function gets effective pressure for a basin by averageing production rates and then calculating the 'apparent' pressure that can produce that production rate. It also returns a number of valriables that can be plugged into existing calculators to compare results from the LSDCosmo calulcator against other methods This version allows you to input a know erosion rate raster. Production and other scalings are masked anywhere the erosion rates are known.

Parameters
Elevationthe DEM, an LSDRaster object. IMPORTANT!! This needs to contain georeferencing information for this to work!!!
FlowInfothe LSDFlowInfo object
path_to_atmospheric_dataTHis is a path to binary NCEP data.
known_eff_erosionAn LSDRaster containing the known effective erosion rates
Returns
a vector of values used in open-source calculators vector[0] = AverageProd; vector[1] = AverageTopo; vector[2] = AverageSelf; vector[3] = AverageSnow; vector[4] = AverageCombined; vector[5] = lat_outlet; vector[6] = outlet_pressure; vector[7] = outlet_eff_pressure; vector[8] = lat_centroid; vector[9] = centroid_pressure; vector[10] = centroid_eff_pressure;
Author
SMM
Date
11/03/2015
vector< double > LSDCosmoBasin::full_CRN_erosion_analysis ( double  Nuclide_conc,
string  Nuclide,
double  Nuclide_conc_err,
double  prod_uncert_factor,
string  Muon_scaling 
)

This function wraps the erosion rate calculator, and returns both the erosion rate as well as the uncertainties.

Parameters
Nuclide_concConcetration of the nuclide
Nuclidea string denoting the name of the nuclide (at the moment options are 10Be and 26Al)
Nuclide_conc_errThe instrument error in the nuclide concentration
prod_uncert_factorThis is a fraction of the total uncertainty for the production rates. It is a lumped parameter that can be used for just production, or for snow, topo and porduction uncertainty
Muon_scalingstring that gives the muon scaling scheme options are Schaller, Granger and Braucher
Returns
a vector of both the erosion rates and the uncertainties of the sample
Author
SMM
Date
01/02/2015
vector< double > LSDCosmoBasin::full_CRN_erosion_analysis_nested ( LSDRaster known_eff_erosion,
LSDFlowInfo FlowInfo,
double  Nuclide_conc,
string  Nuclide,
double  Nuclide_conc_err,
double  prod_uncert_factor,
string  Muon_scaling 
)

This function wraps the erosion rate calculator, and returns both the erosion rate as well as the uncertainties ^.

Parameters
known_eff_erosiona raster containing known effective erosion rates (g/cm2/yr)
FlowInfothe LSDFlowInfo object
Nuclide_concConcetration of the nuclide
Nuclidea string denoting the name of the nuclide (at the moment options are 10Be and 26Al)
Nuclide_conc_errThe instrument error in the nuclide concentration
prod_uncert_factorThis is a fraction of the total uncertainty for the production rates. It is a lumped parameter that can be used for just production, or for snow, topo and porduction uncertainty
Muon_scalingstring that gives the muon scaling scheme options are Schaller, Granger and Braucher
Returns
a vector of both the erosion rates and the uncertainties of the sample
Author
SMM
Date
11/02/2016
void LSDCosmoBasin::get_atmospheric_pressure ( LSDFlowInfo FlowInfo,
LSDRaster Elevation_Data,
string  path_to_atmospheric_data 
)

This is a utility function that populates the atmospheric pressure vector. It uses the CRONUS calculator scheme.

The function is mainly used for bug checking

Parameters
FlowInfothe LSDFlowInfo object
Elevation_Datathe DEM, an LSDRaster object. IMPORTANT!! This needs to contain georeferencing information for this to work!!!
path_to_atmospheric_dataTHis is a path to binary NCEP data.
Author
SMM
Date
28/01/2015
LSDRaster LSDCosmoBasin::get_combined_scaling_raster ( string  filename,
LSDFlowInfo FlowInfo 
)

returns the combned scaling raster, which has the product of the topographic, snow and self shielding, multiplied by production scaling, for each pixel.

The snow and self shielding factors are calculate assuming spallation only!

Parameters
filenamethe name of the file: this is generally the DEM file with an extension for the basin name
FlowInfoThe LSDFlowInfo object
Author
SMM
Date
6/02/2016
void LSDCosmoBasin::populate_scaling_vectors ( LSDFlowInfo FlowInfo,
LSDRaster Elevation_Data,
LSDRaster Topo_Shield,
string  path_to_atmospheric_data 
)

This function populates the scaling vectors that are used to set the production scaling, topographic shielding and snow shielding for specific nodes.

This is the default scaling that assumes no snow shielding (i.e., snow_shielding == 1). The assumptions are Stone scaling with Fsp = 1 and that the DEM has a WGS84 ellipsoid

Parameters
FlowInfothe LSDFlowInfo object
Elevation_Datathe DEM, an LSDRaster object. IMPORTANT!! This needs to contain georeferencing information for this to work!!!
Topo_Shieldan LSDRaster with the topographic shielding
path_to_atmospheric_dataTHis is a path to binary NCEP data.
Author
SMM
Date
22/12/2014
void LSDCosmoBasin::populate_scaling_vectors ( LSDFlowInfo FlowInfo,
LSDRaster Elevation_Data,
LSDRaster Topo_Shield,
LSDRaster Snow_shield,
string  path_to_atmospheric_data 
)

This function populates the scaling vectors that are used to set the production scaling, topographic shielding and snow shielding for specific nodes.

The snow shiedling in inculded in this function The assumptions are Stone scaling with Fsp = 1 and that the DEM has a WGS84 ellipsoid

Parameters
FlowInfothe LSDFlowInfo object
Elevation_Datathe DEM, an LSDRaster object. IMPORTANT!! This needs to contain georeferencing information for this to work!!!
Topo_Shieldan LSDRaster with the topographic shielding
Snow_shieldan LSDRaster containing the snow shielding.
path_to_atmospheric_dataTHis is a path to binary NCEP data.
Author
SMM
Date
22/12/2014
void LSDCosmoBasin::populate_snow_and_self_eff_depth_vectors ( LSDFlowInfo FlowInfo,
LSDRaster snow_eff_depth,
LSDRaster self_eff_depth 
)

This function sets the basin vectors for snow and shelf sheilding if the effective depth method is to be used.

This calculates snow and self shielding by integrating production over the effective depth interval from which sediment comes. Snow cover is represented by an effective depth. This method uses the full muon profile to predict the CRN concetration

Parameters
FlowInfothe LSDFlowInfo object
snow_eff_depthan LSDRaster holding the effective depths (g/cm^2) of the snow for each pixel
self_eff_depthan LSDRaster holding the effective depths (g/cm^2) of self shielding for each pixel. This can implement landsliding, since landsliding is effectively a self shielding process whereby sediment from depth is exhumed.
Author
SMM
Date
23/02/2015
void LSDCosmoBasin::populate_snow_and_self_eff_depth_vectors ( LSDFlowInfo FlowInfo,
double  snow_eff_depth,
LSDRaster self_eff_depth 
)

This function sets the basin vectors for snow and shelf sheilding if the effective depth method is to be used.

Overloaded function where snow shielding is simply a double

Parameters
FlowInfothe LSDFlowInfo object
snow_eff_depththe shelding depth from snow (over the entire DEM) in g/cm^2
self_eff_depthan LSDRaster holding the effective depths (g/cm^2) of self shielding for each pixel. This can implement landsliding, since landsliding is effectively a self shielding process whereby sediment from depth is exhumed.
Author
SMM
Date
23/02/2015
void LSDCosmoBasin::populate_snow_and_self_eff_depth_vectors ( LSDFlowInfo FlowInfo,
LSDRaster snow_eff_depth,
double  self_eff_depth 
)

This function sets the basin vectors for snow and shelf sheilding if the effective depth method is to be used.

Overloaded function where self shielding is simply a double

Parameters
FlowInfothe LSDFlowInfo object
snow_eff_depthan LSDRaster holding the effective depths (g/cm^2) of the snow for each pixel
self_eff_depththe self shelding depth (over the entire DEM) in g/cm^2 whereby sediment from depth is exhumed.
Author
SMM
Date
23/02/2015
void LSDCosmoBasin::populate_snow_and_self_eff_depth_vectors ( double  snow_eff_depth,
double  self_eff_depth 
)

This function sets the basin vectors for snow and shelf sheilding if the effective depth method is to be used.

Overloaded function where both self and snow shielding are simply doubles

Parameters
snow_eff_depththe shelding depth from snow (over the entire DEM) in g/cm^2
self_eff_depththe self shelding depth (over the entire DEM) in g/cm^2 whereby sediment from depth is exhumed.
Author
SMM
Date
23/02/2015
double LSDCosmoBasin::predict_CRN_erosion ( double  Nuclide_conc,
string  Nuclide,
double  prod_uncert_factor,
string  Muon_scaling,
double &  production_uncertainty,
double &  average_production,
bool  is_production_uncertainty_plus_on,
bool  is_production_uncertainty_minus_on 
)

this uses Newton Raphson iteration to retrieve the erosion rate from a basin given a nuclide concentration

Parameters
eff_erosionrate The erosion rate in g/cm^2/yr
Nuclidea string with the nuclide name. At the moment the options are: Be10 Al26 These are case sensitive
prod_uncert_factorproduction uncertainty factor is a multiplier that sets the production certainty. If it is 1.1, there is 10% production rate uncertainty, or if it is 0.9 there is -10% unvertainty. The reason why it is implemented like this is that this allows gaussian error propigation.
Muon_scalinga string that gives the muon scaling scheme. options are Schaller, Braucher and Granger
production_uncertaintythis gives the uncertainty in the production rates based on the production_uncert_factor; it is used in gaussian error propigation. The parameter is replaced within the function.
average_productionThis gives the production rate average for the basin. It can be used for uncertainty analyis: if the scaling is changed the change in this production rate can be used to construct the gaussian error propigation terms
is_production_uncertainty_plus_ona boolean that is true if the production rate uncertainty (+) is switched on
is_production_uncertainty_minus_ona boolean that is true if the production rate uncertainty (-) is switched on. If the + switch is true this parameter defauts to false.
Returns
The effective erosion rate in g/cm^-2/yr
Author
SMM
Date
03/01/2015
double LSDCosmoBasin::predict_CRN_erosion_nested ( double  Nuclide_conc,
string  Nuclide,
double  prod_uncert_factor,
string  Muon_scaling,
double &  production_uncertainty,
double &  average_production,
bool  is_production_uncertainty_plus_on,
bool  is_production_uncertainty_minus_on,
LSDRaster eff_erosion_raster,
LSDFlowInfo FlowInfo 
)

this uses Newton Raphson iteration to retrieve the erosion rate from a basin given a nuclide concentration. This is the nested version.

The nesting can be done by setting the erosion rate of pixels within the basin

Parameters
eff_erosionrate The erosion rate in g/cm^2/yr
Nuclidea string with the nuclide name. At the moment the options are: Be10 Al26 These are case sensitive
prod_uncert_factorproduction uncertainty factor is a multiplier that sets the production certainty. If it is 1.1, there is 10% production rate uncertainty, or if it is 0.9 there is -10% unvertainty. The reason why it is implemented like this is that this allows gaussian error propigation.
Muon_scalinga string that gives the muon scaling scheme. options are Schaller, Braucher and Granger
production_uncertaintythis gives the uncertainty in the production rates based on the production_uncert_factor; it is used in gaussian error propigation. The parameter is replaced within the function.
average_productionThis gives the production rate average for the basin. It can be used for uncertainty analyis: if the scaling is changed the change in this production rate can be used to construct the gaussian error propigation terms
is_production_uncertainty_plus_ona boolean that is true if the production rate uncertainty (+) is switched on
is_production_uncertainty_minus_ona boolean that is true if the production rate uncertainty (-) is switched on. If the + switch is true this parameter defauts to false.
Returns
The effective erosion rate in g/cm^-2/yr
Author
SMM
Date
03/01/2015
double LSDCosmoBasin::predict_mean_CRN_conc ( double  eff_erosion_rate,
string  Nuclide,
double  prod_uncert_factor,
string  Muon_scaling,
bool  data_from_outlet_only,
double &  production_uncertainty,
double &  production_rate,
bool  is_production_uncertainty_plus_on,
bool  is_production_uncertainty_minus_on 
)

this predicts the mean concentration of a nuclide within a basin

Parameters
eff_erosionrate The erosion rate in g/cm^2/yr
Nuclidea string with the nuclide name. At the moment the options are: Be10 Al26 These are case sensitive
prod_uncert_factorproduction uncertainty factor is a multiplier that sets the production certainty. If it is 1.1, there is 10% production rate uncertainty, or if it is 0.9 there is -10% unvertainty. The reason why it is implemented like this is that this allows gaussian error propigation.
Muon_scalinga string that gives the muon scaling scheme. options are Schaller, Braucher and Granger
data_from_outlet_onlyboolean that is true of you want concentration calculated from the outlet only.
production_uncertaintythis gives the uncertainty in the production rates based on the production_uncert_factor; it is used in gaussian error propigation. The parameter is replaced within the function.
production_rateThis gives the production rate average for the basin. It can be used for uncertainty analyis: if the scaling is changed the change in this production rate can be used to construct the gaussian error propigation terms
is_production_uncertainty_plus_ona boolean that is true if the production rate uncertainty (+) is switched on
is_production_uncertainty_minus_ona boolean that is true if the production rate uncertainty (-) is switched on. If the + switch is true this parameter defauts to false.
Returns
the concentration of the nuclide averaged across the DEM
Author
SMM
Date
22/12/2014
double LSDCosmoBasin::predict_mean_CRN_conc_centroid ( double  eff_erosion_rate,
string  Nuclide,
double  prod_uncert_factor,
string  Muon_scaling,
LSDFlowInfo FlowInfo,
double &  production_uncertainty,
double &  production_rate,
bool  is_production_uncertainty_plus_on,
bool  is_production_uncertainty_minus_on 
)

this predicts the mean concentration of a nuclide within a basin, using the production scaling of the centroid It replicates the technique used by many authors. This function is mainly here to show how far off this method is compared to the pixel-by-pixel production scaling

Parameters
eff_erosionrate The erosion rate in g/cm^2/yr
Nuclidea string with the nuclide name. At the moment the options are: Be10 Al26 These are case sensitive
prod_uncert_factorproduction uncertainty factor is a multiplier that sets the production certainty. If it is 1.1, there is 10% production rate uncertainty, or if it is 0.9 there is -10% unvertainty. The reason why it is implemented like this is that this allows gaussian error propigation.
Muon_scalinga string that gives the muon scaling scheme. options are Schaller, Braucher and Granger.
FlowInfoan LSDFlowInfo object
production_uncertaintythis gives the uncertainty in the production rates based on the production_uncert_factor; it is used in gaussian error propigation. The parameter is replaced within the function.
production_rateThis gives the production rate average for the basin. It can be used for uncertainty analyis: if the scaling is changed the change in this production rate can be used to construct the gaussian error propigation terms
is_production_uncertainty_plus_ona boolean that is true if the production rate uncertainty (+) is switched on
is_production_uncertainty_minus_ona boolean that is true if the production rate uncertainty (-) is switched on. If the + switch is true this parameter defauts to false.
Returns
the concentration of the nuclide averaged across the DEM.
Author
SMM
Date
28/01/2015
double LSDCosmoBasin::predict_mean_CRN_conc_with_snow_and_self ( double  eff_erosion_rate,
string  Nuclide,
double  prod_uncert_factor,
string  Muon_scaling,
bool  data_from_outlet_only,
double &  production_uncertainty,
double &  production_rate,
bool  is_production_uncertainty_plus_on,
bool  is_production_uncertainty_minus_on 
)

this predicts the mean concentration of a nuclide within a basin. It does a full analyitical solution to account for snow and self sheilding

Parameters
eff_erosionrate The erosion rate in g/cm^2/yr
Nuclidea string with the nuclide name. At the moment the options are: Be10 Al26 These are case sensitive
prod_uncert_factorproduction uncertainty factor is a multiplier that sets the production certainty. If it is 1.1, there is 10% production rate uncertainty, or if it is 0.9 there is -10% unvertainty. The reason why it is implemented like this is that this allows gaussian error propigation.
Muon_scalinga string that gives the muon scaling scheme. options are Schaller, Braucher and Granger
data_from_outlet_onlyboolean that is true of you want concentration calculated from the outlet only.
production_uncertaintythis gives the uncertainty in the production rates based on the production_uncert_factor; it is used in gaussian error propigation. The parameter is replaced within the function.
production_rateThis gives the production rate average for the basin. It can be used for uncertainty analyis: if the scaling is changed the change in this production rate can be used to construct the gaussian error propigation terms
is_production_uncertainty_plus_ona boolean that is true if the production rate uncertainty (+) is switched on
is_production_uncertainty_minus_ona boolean that is true if the production rate uncertainty (-) is switched on. If the + switch is true this parameter defauts to false.
Returns
the concentration of the nuclide averaged across the DEM
Author
SMM
Date
22/12/2014
double LSDCosmoBasin::predict_mean_CRN_conc_with_snow_and_self_nested ( double  eff_erosion_rate,
LSDRaster known_effective_erosion,
LSDFlowInfo FlowInfo,
string  Nuclide,
double  prod_uncert_factor,
string  Muon_scaling,
double &  production_uncertainty,
double &  average_production,
bool  is_production_uncertainty_plus_on,
bool  is_production_uncertainty_minus_on 
)

this predicts the mean concentration of a nuclide within a basin. It does a full analyitical solution to account for snow and self sheilding. It uses a raster of known erosion rates to predict the concentration from the basin: it is primarily used for nesting.

Parameters
eff_erosionrate The erosion rate in g/cm^2/yr
known_effective_erosiona raster of known effective erosion rates (g/cm^2/yr)
FlowInfothe LSDFlowInfo object
Nuclidea string with the nuclide name. At the moment the options are: Be10 Al26 These are case sensitive
prod_uncert_factorproduction uncertainty factor is a multiplier that sets the production certainty. If it is 1.1, there is 10% production rate uncertainty, or if it is 0.9 there is -10% unvertainty. The reason why it is implemented like this is that this allows gaussian error propigation.
Muon_scalinga string that gives the muon scaling scheme. options are Schaller, Braucher and Granger
production_uncertaintythis gives the uncertainty in the production rates based on the production_uncert_factor; it is used in gaussian error propigation. The parameter is replaced within the function.
production_rateThis gives the production rate average for the basin. It can be used for uncertainty analyis: if the scaling is changed the change in this production rate can be used to construct the gaussian error propigation terms
is_production_uncertainty_plus_ona boolean that is true if the production rate uncertainty (+) is switched on
is_production_uncertainty_minus_ona boolean that is true if the production rate uncertainty (-) is switched on. If the + switch is true this parameter defauts to false.
Returns
the concentration of the nuclide averaged across the DEM
Author
SMM
Date
06/02/2016
void LSDCosmoBasin::print_CRN_conc_raster ( string  filename,
double  eff_erosion_rate,
string  Nuclide,
string  Muon_scaling,
LSDFlowInfo FlowInfo 
)

This function is run after the CRN erosion rate have been found it prints a raster contiannig the spatially distributed concentration of the nuclide predicted for the estimated erosion rate.

Parameters
filenamethe name of the file: this is generally the DEM file with an extension for the basin name
eff_erosion_ratethe erosion rate calculated for the basin
Nuclidea string containing either Al26 or Be10
Muon_scalinga string with either Braucher, Schaller or Granger
FlowInfoThe LSDFlowInfo object
Author
SMM
Date
24/03/2015
void LSDCosmoBasin::print_particle_csv ( string  path_to_file,
string  filename,
LSDFlowInfo FlowInfo,
LSDRaster Elevation_Data,
LSDRaster T_Shield,
string  path_to_atmospheric_data 
)

Prints a csv with information about the nodes in a basin that relate to cosmogenic paramters.

the csv file out has the format: fID,Easting,Northing,Latitude,Longitude,Elevation,Pressure,... TopoShield,Production_scaling,Snowshield IMPORTANT: In the normal basin, the outlet is the penultamite node in the channel drainaing from the junction. This is so that the basin will drain to a node just before the next stram order. However in the cosmo basin this is not the case because the cosmo was selected from a specific location so we use the closest junction.

Parameters
path_to_filethe path to the outfile. Needs a / at the end.
filename.This does not have an extension because .csv will be added
FlowInfothe LSDFlowInfo object
Elevation_Datathe DEM, an LSDRaster object. IMPORTANT!! This needs to contain georeferencing information for this to work!!!
Topo_Shieldan LSDRaster with the topographic shielding
path_to_atmospheric_dataTHis is a path to binary NCEP data.
Returns
the concentration of the nuclide averaged across the DEM
Author
SMM
Date
27/12/2014
void LSDCosmoBasin::print_scaling_and_shielding_rasters ( string  filename,
LSDFlowInfo FlowInfo 
)

This function prints the production scaling as well as the combined scaling and combined shielding on a pixel by pixel basis to rasters.

The production rster _PROD has the latitude and elevation adjusted scaling using the Stone scheme The combined shielding raster _CSHIELD is the product of topographic, self and snow shielding, assuming that the snow and self shielding are from spallation only The combined scaling raster _CSCALE is the combined sheidling values mulitplied by the production scaling.

Parameters
filenamethe name of the file: this is generally the DEM file with an extension for the basin name
FlowInfoThe LSDFlowInfo object
Author
SMM
Date
24/03/2015
void LSDCosmoBasin::reset_snow_and_self_eff_depth_vectors ( )

this resets the snow and self shielding effective vectors.

resets now and self sheidling vectors to empty vectors this allows calucaltions to be made with no snow and self sheilding after a self sheilding calculation is made

Author
SMM
Date
21/02/2015

Member Data Documentation

vector<double> LSDCosmoBasin::self_shield_eff_depth
protected

this is a vector for holding the effective depth of slf shelding used in the full muon based self shielding in g/cm^2

vector<double> LSDCosmoBasin::self_shielding
protected

A vector containing self shielding values. This could be due to a finite thickness of material assumed to be eroding. It can be used to calculate landsliding adjustment of cosmogenics.

vector<double> LSDCosmoBasin::snow_shield_eff_depth
protected

This holds an effective depth of snow for a basin in g/cm^2


The documentation for this class was generated from the following files: