#include <stdio.h>
#include <string.h>
#include <utils/utils.h>
#include <sed/sed_sedflux.h>
#include <diffusion.h>
#include "my_processes.h"
#include <math.h>
Go to the source code of this file.
Classes | |
struct | Erosion_log_st |
struct | Erosion_lin_st |
struct | Erosion_exp_st |
Defines | |
#define | EH_LOG_DOMAIN EROSION_PROCESS_NAME_S |
#define | RIVER_SLOPE 0.001 |
#define | A_DELTA 6.1 |
#define | B_DELTA .000059 |
#define | OMEGA_DELTA 6 |
#define | H_DELTA 10 |
#define | L_DELTA 10000 |
#define | PAOLA_MEANDERING (1) |
#define | PAOLA_BRAIDED (2) |
#define | EROSION_ALGORITHM_DIFFUSION (1) |
#define | EROSION_ALGORITHM_SLOPE (2) |
#define | EROSION_KEY_REACH "reach of highest order stream" |
#define | EROSION_KEY_RELIEF "relief of highest order stream" |
#define | EROSION_KEY_METHOD "method" |
Functions | |
Sed_cell | erode_river_profile (Sed_cube p, Sed_riv r, double slope, gint method) |
Sed_process_info | run_erosion (Sed_process proc, Sed_cube p) |
gboolean | init_erosion (Sed_process p, Eh_symbol_table tab, GError **error) |
gboolean | destroy_erosion (Sed_process p) |
Sed_cell | erode_profile (Sed_cube river_profile, double slope) |
Sed_cell | diffuse_profile (Sed_cube river_profile, Sed_hydro river_data) |
double | get_paola_diffusion (Sed_hydro river_data, double basin_width, double time_fraction, int river_type) |
Erosion_lin_st | erosion_get_linear_constants (double slope) |
double | erosion_get_linear_height (double x, Erosion_lin_st c) |
Erosion_exp_st | erosion_get_exp_constants (double a, double b) |
double | erosion_get_exp_profile (double x, Erosion_exp_st c) |
Erosion_log_st | erosion_get_log_constants (double omega, double h, double l) |
double | eroion_get_log_height (double x, Erosion_log_st c) |
#define A_DELTA 6.1 |
Definition at line 37 of file run_erosion.c.
#define B_DELTA .000059 |
Definition at line 38 of file run_erosion.c.
#define EH_LOG_DOMAIN EROSION_PROCESS_NAME_S |
Definition at line 21 of file run_erosion.c.
#define EROSION_ALGORITHM_DIFFUSION (1) |
Definition at line 50 of file run_erosion.c.
Referenced by erode_river_profile(), and init_erosion().
#define EROSION_ALGORITHM_SLOPE (2) |
Definition at line 51 of file run_erosion.c.
Referenced by erode_river_profile(), and init_erosion().
#define EROSION_KEY_METHOD "method" |
#define EROSION_KEY_REACH "reach of highest order stream" |
#define EROSION_KEY_RELIEF "relief of highest order stream" |
#define H_DELTA 10 |
Definition at line 44 of file run_erosion.c.
#define L_DELTA 10000 |
Definition at line 45 of file run_erosion.c.
#define OMEGA_DELTA 6 |
Definition at line 43 of file run_erosion.c.
#define PAOLA_BRAIDED (2) |
Definition at line 48 of file run_erosion.c.
Referenced by diffuse_profile(), and get_paola_diffusion().
#define PAOLA_MEANDERING (1) |
#define RIVER_SLOPE 0.001 |
Definition at line 33 of file run_erosion.c.
gboolean destroy_erosion | ( | Sed_process | p | ) |
Sed_cell diffuse_profile | ( | Sed_cube | river_profile, | |
Sed_hydro | river_data | |||
) |
Definition at line 382 of file run_erosion.c.
References diffuse_sediment(), DIFFUSION_OPT_FILL, DIFFUSION_OPT_LAND, eh_free, eh_require, get_paola_diffusion(), PAOLA_BRAIDED, S_SECONDS_PER_DAY, sed_cell_add(), sed_cell_destroy(), sed_cell_new_env(), sed_cell_resize(), sed_cell_separate_cell(), sed_cell_size(), sed_cube_storm(), sed_cube_time_step_in_days(), sed_cube_x_res(), sed_cube_y_res(), and sed_hydro_width().
Referenced by erode_river_profile().
Sed_cell erode_profile | ( | Sed_cube | river_profile, | |
double | slope | |||
) |
Definition at line 472 of file run_erosion.c.
References eh_require, erosion_get_linear_constants(), erosion_get_linear_height(), sed_cell_add(), sed_cell_destroy(), sed_cell_new_env(), sed_cell_resize(), sed_cell_size(), sed_column_extract_top(), sed_cube_col(), sed_cube_river_mouth_1d(), sed_cube_top_height(), sed_cube_x_res(), and sed_cube_y_res().
Referenced by erode_river_profile().
Sed_cell erode_river_profile | ( | Sed_cube | p, | |
Sed_riv | r, | |||
double | slope, | |||
gint | method | |||
) |
Definition at line 325 of file run_erosion.c.
References diffuse_profile(), eh_free, eh_require, eh_require_not_reached, erode_profile(), EROSION_ALGORITHM_DIFFUSION, EROSION_ALGORITHM_SLOPE, sed_cube_cols(), sed_cube_free(), sed_cube_river_path_id(), sed_cube_set_x_res(), sed_cube_set_y_res(), sed_cube_x_res(), sed_cube_y_res(), sed_hydro_add_cell(), sed_hydro_destroy(), sed_mode_is_3d(), sed_river_hydro(), and sed_river_set_hydro().
Referenced by run_erosion().
double eroion_get_log_height | ( | double | x, | |
Erosion_log_st | c | |||
) |
Definition at line 620 of file run_erosion.c.
References Erosion_log_st::b, Erosion_log_st::H1, Erosion_log_st::Rl, Erosion_log_st::x0, and Erosion_log_st::y0.
Erosion_exp_st erosion_get_exp_constants | ( | double | a, | |
double | b | |||
) |
double erosion_get_exp_profile | ( | double | x, | |
Erosion_exp_st | c | |||
) |
Erosion_lin_st erosion_get_linear_constants | ( | double | slope | ) |
Definition at line 563 of file run_erosion.c.
References Erosion_lin_st::a.
Referenced by erode_profile().
double erosion_get_linear_height | ( | double | x, | |
Erosion_lin_st | c | |||
) |
Definition at line 571 of file run_erosion.c.
References Erosion_lin_st::a.
Referenced by erode_profile().
Erosion_log_st erosion_get_log_constants | ( | double | omega, | |
double | h, | |||
double | l | |||
) |
Definition at line 601 of file run_erosion.c.
References Erosion_log_st::b, Erosion_log_st::H1, Erosion_log_st::Rl, Erosion_log_st::x0, and Erosion_log_st::y0.
double get_paola_diffusion | ( | Sed_hydro | river_data, | |
double | basin_width, | |||
double | time_fraction, | |||
int | river_type | |||
) |
Definition at line 529 of file run_erosion.c.
References eh_require, eh_require_not_reached, PAOLA_BRAIDED, PAOLA_MEANDERING, sed_hydro_suspended_concentration(), sed_hydro_water_flux(), sed_hydro_width(), sed_rho_quartz(), and sed_rho_sea_water().
Referenced by diffuse_profile().
gboolean init_erosion | ( | Sed_process | p, | |
Eh_symbol_table | tab, | |||
GError ** | error | |||
) |
Definition at line 264 of file run_erosion.c.
References eh_check_to_s(), eh_return_val_if_fail, eh_set_error_strv(), eh_symbol_table_dbl_value(), eh_symbol_table_lookup(), eh_symbol_table_require_labels(), EROSION_ALGORITHM_DIFFUSION, EROSION_ALGORITHM_SLOPE, EROSION_KEY_METHOD, EROSION_KEY_REACH, EROSION_KEY_RELIEF, Erosion_t::method, sed_process_new_user_data, SEDFLUX_ERROR, SEDFLUX_ERROR_BAD_ALGORITHM, SEDFLUX_ERROR_BAD_PARAM, Erosion_t::slope, Erosion_t::stream_reach, and Erosion_t::stream_relief.
Sed_process_info run_erosion | ( | Sed_process | proc, | |
Sed_cube | p | |||
) |
Definition at line 56 of file run_erosion.c.
References eh_free, erode_river_profile(), Erosion_t::method, sed_cell_destroy(), sed_cube_all_leaves(), SED_EMPTY_INFO, sed_process_user_data(), sed_river_name_loc(), and Erosion_t::slope.