#include <stdio.h>
#include <string.h>
#include <math.h>
#include <utils/utils.h>
#include <sed/sed_sedflux.h>
#include <plume_types.h>
#include <plumeinput.h>
#include "my_processes.h"
Go to the source code of this file.
Defines | |
#define | EH_LOG_DOMAIN PLUME_PROCESS_NAME_S |
#define | LEFT 0 |
#define | RIGHT 1 |
#define | PLUME_KEY_HYPO_MODEL "Hypopycnal plume model" |
#define | PLUME_KEY_HYPER_MODEL "Hyperpycnal plume model" |
#define | HYPO_KEY_CONCENTRATION "background ocean concentration" |
#define | HYPO_KEY_CURRENT_VEL "velocity of coastal current" |
#define | HYPO_KEY_WIDTH "maximum plume width" |
#define | HYPO_KEY_X_SHORE_NODES "number of grid nodes in cross-shore" |
#define | HYPO_KEY_RIVER_NODES "number of grid nodes in river mouth" |
Functions | |
gboolean | plume3d (Plume_inputs *plume_const , Plume_river river, int n_grains, Plume_sediment *sedload, Eh_dbl_grid *deposit, Plume_data *data) |
gboolean | compare_river (Plume_river *r1, Plume_river *r2, int n_grains) |
int | copy_river (Plume_river *r1, Plume_river *r2, int n_grains) |
gboolean | init_plume_data (Sed_process proc, Sed_cube prof, GError **error) |
gboolean | init_plume_hypo_data (Sed_process proc, Sed_cube prof, GError **error) |
GQuark | plume_hydro_data_quark (void) |
Sed_process_info | run_plume (Sed_process proc, Sed_cube p) |
Sed_process_info | run_plume_hypo (Sed_process proc, Sed_cube prof) |
gboolean | init_plume (Sed_process p, Eh_symbol_table t, GError **error) |
gboolean | destroy_plume (Sed_process p) |
gboolean | init_plume_hypo (Sed_process p, Eh_symbol_table tab, GError **error) |
gboolean | destroy_plume_hypo (Sed_process p) |
gboolean | dump_plume_data (gpointer ptr, FILE *fp) |
#define EH_LOG_DOMAIN PLUME_PROCESS_NAME_S |
Definition at line 21 of file run_plume.c.
#define HYPO_KEY_CONCENTRATION "background ocean concentration" |
#define HYPO_KEY_CURRENT_VEL "velocity of coastal current" |
#define HYPO_KEY_RIVER_NODES "number of grid nodes in river mouth" |
#define HYPO_KEY_WIDTH "maximum plume width" |
#define HYPO_KEY_X_SHORE_NODES "number of grid nodes in cross-shore" |
#define LEFT 0 |
Definition at line 33 of file run_plume.c.
#define PLUME_KEY_HYPER_MODEL "Hyperpycnal plume model" |
#define PLUME_KEY_HYPO_MODEL "Hypopycnal plume model" |
#define RIGHT 1 |
Definition at line 34 of file run_plume.c.
gboolean compare_river | ( | Plume_river * | r1, | |
Plume_river * | r2, | |||
int | n_grains | |||
) |
Definition at line 557 of file run_plume.c.
References Plume_river::b0, Plume_river::Cs, Plume_river::d0, Plume_river::Q, Plume_river::rdirection, Plume_river::rma, and Plume_river::u0.
Referenced by run_plume_hypo().
int copy_river | ( | Plume_river * | r1, | |
Plume_river * | r2, | |||
int | n_grains | |||
) |
Definition at line 588 of file run_plume.c.
References Plume_river::b0, Plume_river::Cs, Plume_river::d0, Plume_river::Q, Plume_river::rdirection, Plume_river::rma, and Plume_river::u0.
Referenced by run_plume_hypo().
gboolean destroy_plume | ( | Sed_process | p | ) |
Definition at line 383 of file run_plume.c.
References eh_free, Plume_t::hyper_name, Plume_t::hypo_name, and sed_process_user_data().
gboolean destroy_plume_hypo | ( | Sed_process | p | ) |
Definition at line 516 of file run_plume.c.
References Plume_river::Cs, Plume_hypo_t::current_velocity, Plume_hypo_t::deposit_grid, destroy_plume_data(), eh_free, eh_grid_destroy(), eh_input_val_destroy(), Plume_hypo_t::last_deposit_grid, Plume_hypo_t::last_river_data, Plume_hypo_t::plume_data, sed_cell_grid_free(), and sed_process_user_data().
gboolean dump_plume_data | ( | gpointer | ptr, | |
FILE * | fp | |||
) |
Definition at line 541 of file run_plume.c.
gboolean init_plume | ( | Sed_process | p, | |
Eh_symbol_table | t, | |||
GError ** | error | |||
) |
Definition at line 363 of file run_plume.c.
References eh_symbol_table_require_labels(), eh_symbol_table_value(), Plume_t::hyper_name, Plume_t::hypo_name, PLUME_KEY_HYPER_MODEL, PLUME_KEY_HYPO_MODEL, Plume_t::plume_proc_hyper, Plume_t::plume_proc_hypo, and sed_process_new_user_data.
gboolean init_plume_data | ( | Sed_process | proc, | |
Sed_cube | prof, | |||
GError ** | error | |||
) |
Definition at line 401 of file run_plume.c.
References Plume_t::hyper_name, Plume_t::hypo_name, Plume_t::plume_proc_hyper, Plume_t::plume_proc_hypo, sed_process_child(), and sed_process_user_data().
Referenced by run_plume().
gboolean init_plume_hypo | ( | Sed_process | p, | |
Eh_symbol_table | tab, | |||
GError ** | error | |||
) |
Definition at line 440 of file run_plume.c.
References Plume_river::Cs, Plume_hypo_t::current_velocity, Plume_hypo_t::deposit, Plume_hypo_t::deposit_grid, Plume_hypo_t::deposit_size, eh_check_to_s(), eh_input_val_set(), eh_return_val_if_fail, eh_set_error_strv(), eh_symbol_table_dbl_value(), eh_symbol_table_input_value(), eh_symbol_table_int_value(), eh_symbol_table_require_labels(), HYPO_KEY_CONCENTRATION, HYPO_KEY_CURRENT_VEL, HYPO_KEY_RIVER_NODES, HYPO_KEY_WIDTH, HYPO_KEY_X_SHORE_NODES, Plume_hypo_t::last_deposit, Plume_hypo_t::last_deposit_grid, Plume_hypo_t::last_river_data, Plume_hypo_t::ndx, Plume_hypo_t::ndy, Plume_hypo_t::ocean_concentration, Plume_hypo_t::plume_data, Plume_hypo_t::plume_deposit, Plume_hypo_t::plume_width, sed_mode_is_3d(), sed_process_new_user_data, SEDFLUX_ERROR, and SEDFLUX_ERROR_BAD_PARAM.
gboolean init_plume_hypo_data | ( | Sed_process | proc, | |
Sed_cube | prof, | |||
GError ** | error | |||
) |
Definition at line 493 of file run_plume.c.
References Plume_river::Cs, Plume_hypo_t::deposit_grid, eh_new, eh_new0, Plume_hypo_t::last_deposit_grid, Plume_hypo_t::last_river_data, Plume_hypo_t::plume_data, plume_data_init(), sed_cell_grid_init(), sed_cell_grid_new(), sed_cube_n_x(), sed_cube_n_y(), sed_process_user_data(), and sed_sediment_env_n_types().
Referenced by run_plume_hypo().
gboolean plume3d | ( | Plume_inputs * | plume_const, | |
Plume_river | river, | |||
int | n_grains, | |||
Plume_sediment * | sedload, | |||
Eh_dbl_grid * | deposit, | |||
Plume_data * | data | |||
) |
GQuark plume_hydro_data_quark | ( | void | ) |
Definition at line 48 of file run_plume.c.
Sed_process_info run_plume | ( | Sed_process | proc, | |
Sed_cube | p | |||
) |
Definition at line 54 of file run_plume.c.
References init_plume_data(), Sed_process_info::mass_added, PLUME_HYDRO_DATA, Plume_t::plume_proc_hyper, Plume_t::plume_proc_hypo, sed_cube_age_in_years(), sed_cube_all_leaves(), SED_EMPTY_INFO, sed_process_provide(), sed_process_run_count(), sed_process_run_now(), sed_process_user_data(), sed_process_withhold(), sed_river_concentration(), sed_river_is_hyperpycnal(), sed_river_name_loc(), and sed_river_suspended_load().
Sed_process_info run_plume_hypo | ( | Sed_process | proc, | |
Sed_cube | prof | |||
) |
Definition at line 101 of file run_plume.c.
References Plume_river::b0, compare_river(), copy_river(), Plume_river::Cs, Plume_hypo_t::current_velocity, Plume_inputs::current_velocity, Plume_river::d0, Plume_hypo_t::deposit_grid, Plume_sediment::diff_coef, eh_dbl_array_min(), eh_dbl_grid_data(), eh_free, eh_grid_destroy(), eh_grid_n_x(), eh_grid_n_y(), eh_grid_new, eh_grid_reindex(), eh_grid_set_x_lin(), eh_grid_set_y_lin(), eh_input_val_eval(), eh_new, eh_note_block, Plume_sediment::grainsize, init_plume_hypo_data(), Plume_hypo_t::last_deposit_grid, Plume_hypo_t::last_river_data, Sed_process_info::mass_added, Sed_process_info::mass_lost, Plume_hypo_t::ndx, Plume_inputs::ndx, Plume_hypo_t::ndy, Plume_inputs::ndy, Plume_hypo_t::ocean_concentration, Plume_inputs::ocean_concentration, plume3d(), Plume_hypo_t::plume_data, PLUME_HYDRO_DATA, Plume_hypo_t::plume_width, Plume_inputs::plume_width, Plume_river::Q, Plume_river::rdirection, Plume_sediment::rho, Plume_river::rma, S_FACIES_PLUME, sed_cell_add_amount(), sed_cell_clear(), sed_cell_grid_add(), sed_cell_grid_clear(), sed_cell_grid_copy_data(), sed_cell_grid_data(), sed_cell_grid_mass(), sed_cell_set_facies(), sed_cube_age(), sed_cube_age_in_years(), sed_cube_in_suspension(), sed_cube_n_x(), sed_cube_n_y(), sed_cube_slope_dir(), sed_cube_time_step_in_days(), sed_cube_time_step_in_seconds(), sed_cube_x_res(), sed_cube_y_res(), SED_EMPTY_INFO, sed_hydro_copy_concentration(), sed_hydro_depth(), sed_hydro_destroy(), sed_hydro_nth_concentration(), sed_hydro_suspended_flux(), sed_hydro_suspended_load(), sed_hydro_velocity(), sed_hydro_water_flux(), sed_hydro_width(), sed_mode_is_2d(), sed_mode_is_3d(), sed_process_run_count(), sed_process_use(), sed_process_user_data(), sed_river_angle(), sed_river_hinge(), sed_river_hydro(), sed_sediment_env_n_types(), sed_sediment_property(), sed_type_diff_coef(), sed_type_grain_size(), sed_type_lambda_in_per_seconds(), sed_type_rho_sat(), and Plume_river::u0.