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>
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< LSDCRNParticle > | CRN_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 |
A derived class that is used to compute erosion rates based on concentrations of in-situ cosmogenic nuclides such as 10Be and 26Al.
|
inline |
Default constructor method used to create a cosmo basin object.
Junction | outlet junction of the basin to be constructed. |
FlowInfo | LSDFlowInfo object. |
ChanNet | Channel network object. |
N10 | concentration of 10Be in basin (atoms/g). |
del_N10 | analytical uncertainty of 10Be in basin (atoms/g). |
N26 | concentration of 10Be in basin (atoms/g). |
del_N26 | analytical uncertainty of 10Be in basin (atoms/g). |
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.
known_erates | a raster of known erosion rates |
FlowInfo | a flow info object |
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.
Elevation | the DEM, an LSDRaster object. IMPORTANT!! This needs to contain georeferencing information for this to work!!! |
FlowInfo | the LSDFlowInfo object |
path_to_atmospheric_data | THis is a path to binary NCEP data. |
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.
Elevation | the DEM, an LSDRaster object. IMPORTANT!! This needs to contain georeferencing information for this to work!!! |
FlowInfo | the LSDFlowInfo object |
path_to_atmospheric_data | THis is a path to binary NCEP data. |
known_eff_erosion | An LSDRaster containing the known effective erosion rates |
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.
Nuclide_conc | Concetration of the nuclide |
Nuclide | a string denoting the name of the nuclide (at the moment options are 10Be and 26Al) |
Nuclide_conc_err | The instrument error in the nuclide concentration |
prod_uncert_factor | This 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_scaling | string that gives the muon scaling scheme options are Schaller, Granger and Braucher |
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 ^.
known_eff_erosion | a raster containing known effective erosion rates (g/cm2/yr) |
FlowInfo | the LSDFlowInfo object |
Nuclide_conc | Concetration of the nuclide |
Nuclide | a string denoting the name of the nuclide (at the moment options are 10Be and 26Al) |
Nuclide_conc_err | The instrument error in the nuclide concentration |
prod_uncert_factor | This 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_scaling | string that gives the muon scaling scheme options are Schaller, Granger and Braucher |
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
FlowInfo | the LSDFlowInfo object |
Elevation_Data | the DEM, an LSDRaster object. IMPORTANT!! This needs to contain georeferencing information for this to work!!! |
path_to_atmospheric_data | THis is a path to binary NCEP data. |
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!
filename | the name of the file: this is generally the DEM file with an extension for the basin name |
FlowInfo | The LSDFlowInfo object |
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
FlowInfo | the LSDFlowInfo object |
Elevation_Data | the DEM, an LSDRaster object. IMPORTANT!! This needs to contain georeferencing information for this to work!!! |
Topo_Shield | an LSDRaster with the topographic shielding |
path_to_atmospheric_data | THis is a path to binary NCEP data. |
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
FlowInfo | the LSDFlowInfo object |
Elevation_Data | the DEM, an LSDRaster object. IMPORTANT!! This needs to contain georeferencing information for this to work!!! |
Topo_Shield | an LSDRaster with the topographic shielding |
Snow_shield | an LSDRaster containing the snow shielding. |
path_to_atmospheric_data | THis is a path to binary NCEP data. |
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
FlowInfo | the LSDFlowInfo object |
snow_eff_depth | an LSDRaster holding the effective depths (g/cm^2) of the snow for each pixel |
self_eff_depth | an 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. |
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
FlowInfo | the LSDFlowInfo object |
snow_eff_depth | the shelding depth from snow (over the entire DEM) in g/cm^2 |
self_eff_depth | an 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. |
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
FlowInfo | the LSDFlowInfo object |
snow_eff_depth | an LSDRaster holding the effective depths (g/cm^2) of the snow for each pixel |
self_eff_depth | the self shelding depth (over the entire DEM) in g/cm^2 whereby sediment from depth is exhumed. |
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
snow_eff_depth | the shelding depth from snow (over the entire DEM) in g/cm^2 |
self_eff_depth | the self shelding depth (over the entire DEM) in g/cm^2 whereby sediment from depth is exhumed. |
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
eff_erosion | rate The erosion rate in g/cm^2/yr |
Nuclide | a string with the nuclide name. At the moment the options are: Be10 Al26 These are case sensitive |
prod_uncert_factor | production 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_scaling | a string that gives the muon scaling scheme. options are Schaller, Braucher and Granger |
production_uncertainty | this 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_production | This 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_on | a boolean that is true if the production rate uncertainty (+) is switched on |
is_production_uncertainty_minus_on | a boolean that is true if the production rate uncertainty (-) is switched on. If the + switch is true this parameter defauts to false. |
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
eff_erosion | rate The erosion rate in g/cm^2/yr |
Nuclide | a string with the nuclide name. At the moment the options are: Be10 Al26 These are case sensitive |
prod_uncert_factor | production 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_scaling | a string that gives the muon scaling scheme. options are Schaller, Braucher and Granger |
production_uncertainty | this 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_production | This 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_on | a boolean that is true if the production rate uncertainty (+) is switched on |
is_production_uncertainty_minus_on | a boolean that is true if the production rate uncertainty (-) is switched on. If the + switch is true this parameter defauts to false. |
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
eff_erosion | rate The erosion rate in g/cm^2/yr |
Nuclide | a string with the nuclide name. At the moment the options are: Be10 Al26 These are case sensitive |
prod_uncert_factor | production 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_scaling | a string that gives the muon scaling scheme. options are Schaller, Braucher and Granger |
data_from_outlet_only | boolean that is true of you want concentration calculated from the outlet only. |
production_uncertainty | this 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_rate | This 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_on | a boolean that is true if the production rate uncertainty (+) is switched on |
is_production_uncertainty_minus_on | a boolean that is true if the production rate uncertainty (-) is switched on. If the + switch is true this parameter defauts to false. |
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
eff_erosion | rate The erosion rate in g/cm^2/yr |
Nuclide | a string with the nuclide name. At the moment the options are: Be10 Al26 These are case sensitive |
prod_uncert_factor | production 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_scaling | a string that gives the muon scaling scheme. options are Schaller, Braucher and Granger. |
FlowInfo | an LSDFlowInfo object |
production_uncertainty | this 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_rate | This 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_on | a boolean that is true if the production rate uncertainty (+) is switched on |
is_production_uncertainty_minus_on | a boolean that is true if the production rate uncertainty (-) is switched on. If the + switch is true this parameter defauts to false. |
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
eff_erosion | rate The erosion rate in g/cm^2/yr |
Nuclide | a string with the nuclide name. At the moment the options are: Be10 Al26 These are case sensitive |
prod_uncert_factor | production 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_scaling | a string that gives the muon scaling scheme. options are Schaller, Braucher and Granger |
data_from_outlet_only | boolean that is true of you want concentration calculated from the outlet only. |
production_uncertainty | this 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_rate | This 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_on | a boolean that is true if the production rate uncertainty (+) is switched on |
is_production_uncertainty_minus_on | a boolean that is true if the production rate uncertainty (-) is switched on. If the + switch is true this parameter defauts to false. |
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.
eff_erosion | rate The erosion rate in g/cm^2/yr |
known_effective_erosion | a raster of known effective erosion rates (g/cm^2/yr) |
FlowInfo | the LSDFlowInfo object |
Nuclide | a string with the nuclide name. At the moment the options are: Be10 Al26 These are case sensitive |
prod_uncert_factor | production 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_scaling | a string that gives the muon scaling scheme. options are Schaller, Braucher and Granger |
production_uncertainty | this 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_rate | This 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_on | a boolean that is true if the production rate uncertainty (+) is switched on |
is_production_uncertainty_minus_on | a boolean that is true if the production rate uncertainty (-) is switched on. If the + switch is true this parameter defauts to false. |
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.
filename | the name of the file: this is generally the DEM file with an extension for the basin name |
eff_erosion_rate | the erosion rate calculated for the basin |
Nuclide | a string containing either Al26 or Be10 |
Muon_scaling | a string with either Braucher, Schaller or Granger |
FlowInfo | The LSDFlowInfo object |
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.
path_to_file | the path to the outfile. Needs a / at the end. |
filename. | This does not have an extension because .csv will be added |
FlowInfo | the LSDFlowInfo object |
Elevation_Data | the DEM, an LSDRaster object. IMPORTANT!! This needs to contain georeferencing information for this to work!!! |
Topo_Shield | an LSDRaster with the topographic shielding |
path_to_atmospheric_data | THis is a path to binary NCEP data. |
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.
filename | the name of the file: this is generally the DEM file with an extension for the basin name |
FlowInfo | The LSDFlowInfo object |
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
|
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
|
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.
|
protected |
This holds an effective depth of snow for a basin in g/cm^2