/Users/huttone/Devel/sedflux-new/sedflux/trunk/ew/sed/sed_process.h File Reference

#include <glib.h>
#include "utils/utils.h"
#include "sed_cube.h"

Go to the source code of this file.

Classes

struct  Sed_process_info
struct  Sed_process_family
struct  Sed_process_check
struct  Sed_process_init_t

Defines

#define PROCESS_ALWAYS   ( 1 << 3 )
#define PROCESS_REGULAR   ( 1 << 2 )
#define PROCESS_IRREGULAR   ( 1 << 1 )
#define PROCESS_SPECIFIED   ( 1 << 0 )
#define SED_MAX_LOG_FILES   (2)
#define SED_ERROR_MULTIPLE_PROCS   (1<<0)
#define SED_ERROR_PROC_ABSENT   (1<<1)
#define SED_ERROR_INACTIVE   (1<<2)
#define SED_ERROR_NOT_ALWAYS   (1<<3)
#define SED_ERROR_ABSENT_PARENT   (1<<4)
#define SED_ERROR_INACTIVE_PARENT   (1<<5)
#define SED_ERROR_MULTIPLE_PARENTS   (1<<6)
#define SED_ERROR_INACTIVE_CHILDREN   (1<<7)
#define SED_ERROR_DT_MISMATCH   (1<<8)
#define SED_PROC_DEFAULT   (0)
#define SED_PROC_UNIQUE   (1<<0)
#define SED_PROC_ACTIVE   (1<<1)
#define SED_PROC_ALWAYS   (1<<2)
#define SED_PROC_ACTIVE_PARENT   (1<<3)
#define SED_PROC_ACTIVE_CHILD   (1<<4)
#define SED_PROC_UNIQUE_PARENT   (1<<5)
#define SED_PROC_UNIQUE_CHILD   (1<<6)
#define SED_PROC_SAME_INTERVAL   (1<<7)
#define SED_EMPTY_INFO   __empty_info
#define SED_PROC_ERROR   sed_process_error_quark()
#define sed_process_new_user_data(p, t)   ( (t*)sed_process_malloc_user_data(p,sizeof(t)) )
#define sed_process_new(name, type, f_init, f_run)
#define sed_process_data_val(p, member, type)   ( ((type*)(sed_process_data(p)))->member )

Typedefs

typedef gboolean(*) init_func (Sed_process, Eh_symbol_table, GError **)
typedef Sed_process_info(*) run_func (Sed_process, Sed_cube)
typedef gboolean(*) destroy_func (Sed_process)
typedef gboolean( Sed_proc_init )(Sed_process, Eh_symbol_table, GError **)
typedef Sed_process_infoSed_proc_run )(Sed_process, Sed_cube)
typedef gboolean( Sed_proc_destroy )(Sed_process)
typedef gboolean(*) load_func (gpointer, FILE *)
typedef gboolean(*) dump_func (gpointer, FILE *)

Enumerations

enum  Sed_process_error { SED_PROC_ERROR_BAD_INIT_FILE, SED_PROC_ERROR_NOT_FOUND, SED_PROC_ERROR_MISSING_PARENT }

Functions

 new_handle (Sed_process)
 new_handle (Sed_process_queue)
Sed_process sed_process_create (const char *name, init_func f_init, run_func f_run, destroy_func f_destroy)
Sed_process sed_process_copy (Sed_process d, Sed_process s)
Sed_process sed_process_dup (Sed_process s)
Sed_process sed_process_destroy (Sed_process p)
void sed_process_clean (Sed_process p)
double sed_process_next_event (Sed_process p)
Sed_process sed_process_set_next_event (Sed_process p, double new_next_event)
gboolean sed_process_is_on (Sed_process p, double time)
gboolean sed_process_array_run (GPtrArray *a, Sed_cube)
gboolean sed_process_run (Sed_process, Sed_cube)
gboolean sed_process_run_at_end (Sed_process, Sed_cube)
gboolean sed_process_run_now (Sed_process, Sed_cube)
void sed_process_init (Sed_process a, Eh_symbol_table symbol_table, GError **error)
GList * sed_process_scan (Eh_key_file k, Sed_process p, GError **error)
gssize sed_process_fprint (FILE *fp, Sed_process p)
gssize sed_process_queue_fprint (FILE *fp, Sed_process_queue q)
gssize sed_process_queue_summary (FILE *fp, Sed_process_queue q)
gssize sed_process_queue_size (Sed_process_queue q)
gssize sed_process_queue_n_active (Sed_process_queue q)
gssize sed_process_queue_n_absent (Sed_process_queue q)
gssize sed_process_queue_n_inactive (Sed_process_queue q)
gpointer sed_process_data (Sed_process p)
void sed_process_provide (Sed_process p, GQuark key, gpointer data)
void sed_process_withhold (Sed_process p, GQuark key)
gpointer sed_process_use (Sed_process p, GQuark key)
Sed_process sed_process_child (Sed_process p, const gchar *child_s)
Sed_process sed_process_append_child (Sed_process p, Sed_process c)
gboolean sed_process_is_parent (Sed_process p)
double sed_process_interval (Sed_process p)
gboolean sed_process_interval_is_always (Sed_process p)
gboolean sed_process_interval_is_at_end (Sed_process p)
gchar * sed_process_name (Sed_process p)
gint sed_process_run_count (Sed_process p)
gboolean sed_process_is_set (Sed_process p)
gpointer sed_process_user_data (Sed_process p)
gpointer sed_process_malloc_user_data (Sed_process p, gssize n_bytes)
gboolean sed_process_name_is_same (Sed_process a, Sed_process b)
gboolean sed_process_is_active (Sed_process p)
gssize sed_process_fprint_info (FILE *fp, Sed_process p)
gssize sed_process_summary (FILE *fp, Sed_process p)
gboolean sed_process_error (Sed_process p)
int sed_process_queue_check_item (Sed_process_queue, const gchar *)
int sed_process_queue_check_family (Sed_process_queue, const gchar *parent, const gchar *child)
double sed_process_queue_item_interval (Sed_process_queue q, const gchar *name)
Sed_process_queue sed_process_queue_new (void)
Sed_process_queue sed_process_queue_dup (Sed_process_queue)
Sed_process_queue sed_process_queue_copy (Sed_process_queue, Sed_process_queue)
Sed_process_queue sed_process_queue_destroy (Sed_process_queue)
Sed_process_queue sed_process_queue_init (const gchar *file, Sed_process_init_t *p_list, Sed_process_family p_family[], Sed_process_check p_check[], GError **error)
Sed_process_queue sed_process_queue_set_families (Sed_process_queue q, Sed_process_family f[], GError **error)
Sed_process_queue sed_process_queue_scan (Sed_process_queue, Eh_key_file, GError **)
Sed_process_queue sed_process_queue_remove (Sed_process_queue, gchar *)
Sed_process_queue sed_process_queue_delete (Sed_process_queue, const gchar *)
Sed_process_queue sed_process_queue_run (Sed_process_queue, Sed_cube)
Sed_process_queue sed_process_queue_run_until (Sed_process_queue q, Sed_cube p, double t_total)
Sed_process_queue sed_process_queue_run_at_end (Sed_process_queue q, Sed_cube p)
Sed_process_queue sed_process_queue_run_process_now (Sed_process_queue q, const gchar *name, Sed_cube cube)
Sed_process sed_process_queue_find_nth_obj (Sed_process_queue q, const gchar *name, gssize n)
Sed_process_queue sed_process_queue_push (Sed_process_queue q, Sed_process_init_t init)
gpointer * sed_process_queue_obj_data (Sed_process_queue q, const char *name)
Sed_process_queue sed_process_queue_activate (Sed_process_queue q, const gchar *name)
Sed_process_queue sed_process_queue_deactivate (Sed_process_queue q, const gchar *name)
Sed_process_queue sed_process_queue_set_active (Sed_process_queue q, const gchar *name, gboolean val)
gboolean sed_process_queue_validate (Sed_process_queue q, Sed_process_check check[], GError **error)


Define Documentation

#define PROCESS_ALWAYS   ( 1 << 3 )

Definition at line 29 of file sed_process.h.

#define PROCESS_IRREGULAR   ( 1 << 1 )

Definition at line 31 of file sed_process.h.

#define PROCESS_REGULAR   ( 1 << 2 )

Definition at line 30 of file sed_process.h.

#define PROCESS_SPECIFIED   ( 1 << 0 )

Definition at line 32 of file sed_process.h.

#define SED_EMPTY_INFO   __empty_info

Definition at line 85 of file sed_process.h.

Referenced by bio_run(), run_avulsion(), run_bbl(), run_bedload(), run_bioturbation(), run_compaction(), run_constants(), run_cpr(), run_data_dump(), run_debris_flow(), run_diffusion(), run_erosion(), run_failure(), run_flow(), run_isostasy(), run_met_station(), run_new_process(), run_plume(), run_plume_hyper_inflow(), run_plume_hyper_sakura(), run_plume_hypo(), run_quake(), run_river(), run_sea_level(), run_slump(), run_squall(), run_storm(), run_subsidence(), run_tide(), run_turbidity_inflow(), run_turbidity_sakura(), and run_xshore().

#define SED_ERROR_ABSENT_PARENT   (1<<4)

Definition at line 40 of file sed_process.h.

#define SED_ERROR_DT_MISMATCH   (1<<8)

Definition at line 44 of file sed_process.h.

#define SED_ERROR_INACTIVE   (1<<2)

Definition at line 38 of file sed_process.h.

#define SED_ERROR_INACTIVE_CHILDREN   (1<<7)

Definition at line 43 of file sed_process.h.

#define SED_ERROR_INACTIVE_PARENT   (1<<5)

Definition at line 41 of file sed_process.h.

#define SED_ERROR_MULTIPLE_PARENTS   (1<<6)

Definition at line 42 of file sed_process.h.

#define SED_ERROR_MULTIPLE_PROCS   (1<<0)

Definition at line 36 of file sed_process.h.

#define SED_ERROR_NOT_ALWAYS   (1<<3)

Definition at line 39 of file sed_process.h.

#define SED_ERROR_PROC_ABSENT   (1<<1)

Definition at line 37 of file sed_process.h.

#define SED_MAX_LOG_FILES   (2)

Definition at line 34 of file sed_process.h.

Referenced by sed_process_copy(), and sed_process_create().

#define SED_PROC_ACTIVE   (1<<1)

Definition at line 48 of file sed_process.h.

Referenced by sed_process_flag_str(), sed_process_queue_check_family(), sed_process_queue_check_item(), and sed_process_render_flag_str().

#define SED_PROC_ACTIVE_CHILD   (1<<4)

Definition at line 51 of file sed_process.h.

Referenced by sed_process_flag_str(), sed_process_queue_check_family(), and sed_process_render_flag_str().

#define SED_PROC_ACTIVE_PARENT   (1<<3)

Definition at line 50 of file sed_process.h.

Referenced by sed_process_flag_str(), sed_process_queue_check_family(), and sed_process_render_flag_str().

#define SED_PROC_ALWAYS   (1<<2)

Definition at line 49 of file sed_process.h.

Referenced by sed_process_queue_check_item().

#define SED_PROC_DEFAULT   (0)

Definition at line 46 of file sed_process.h.

#define SED_PROC_ERROR   sed_process_error_quark()

Definition at line 119 of file sed_process.h.

Referenced by sed_process_queue_set_families(), sed_process_queue_validate(), and sed_process_scan().

#define SED_PROC_SAME_INTERVAL   (1<<7)

Definition at line 54 of file sed_process.h.

Referenced by sed_process_flag_str(), sed_process_queue_check_family(), and sed_process_render_flag_str().

#define SED_PROC_UNIQUE   (1<<0)

Definition at line 47 of file sed_process.h.

Referenced by sed_process_flag_str(), sed_process_queue_check_family(), sed_process_queue_check_item(), and sed_process_render_flag_str().

#define SED_PROC_UNIQUE_CHILD   (1<<6)

Definition at line 53 of file sed_process.h.

Referenced by sed_process_flag_str(), sed_process_queue_check_family(), and sed_process_render_flag_str().

#define SED_PROC_UNIQUE_PARENT   (1<<5)

Definition at line 52 of file sed_process.h.

Referenced by sed_process_flag_str(), sed_process_queue_check_family(), and sed_process_render_flag_str().

#define sed_process_data_val ( p,
member,
type   )     ( ((type*)(sed_process_data(p)))->member )

Definition at line 214 of file sed_process.h.

#define sed_process_new ( name,
type,
f_init,
f_run   ) 

Value:

( \
   sed_process_create( name , sizeof(type) , f_init , f_run ) )

Definition at line 212 of file sed_process.h.

#define sed_process_new_user_data ( p,
 )     ( (t*)sed_process_malloc_user_data(p,sizeof(t)) )

Definition at line 151 of file sed_process.h.

Referenced by bio_init(), init_avulsion(), init_bbl(), init_bedload(), init_bioturbation(), init_constants(), init_cpr(), init_data_dump(), init_debris_flow(), init_diffusion(), init_erosion(), init_failure(), init_flow(), init_inflow(), init_isostasy(), init_met_station(), init_new_process(), init_plume(), init_plume_hypo(), init_quake(), init_river(), init_sea_level(), init_squall(), init_storm(), init_subsidence(), init_tide(), and init_xshore().


Typedef Documentation

typedef gboolean(*) destroy_func(Sed_process)

Definition at line 89 of file sed_process.h.

typedef gboolean(*) dump_func(gpointer, FILE *)

Definition at line 100 of file sed_process.h.

typedef gboolean(*) init_func(Sed_process, Eh_symbol_table, GError **)

Definition at line 87 of file sed_process.h.

typedef gboolean(*) load_func(gpointer, FILE *)

Definition at line 99 of file sed_process.h.

typedef Sed_process_info(*) run_func(Sed_process, Sed_cube)

Definition at line 88 of file sed_process.h.

typedef gboolean( Sed_proc_destroy)(Sed_process)

Definition at line 93 of file sed_process.h.

typedef gboolean( Sed_proc_init)(Sed_process, Eh_symbol_table, GError **)

Definition at line 91 of file sed_process.h.

typedef Sed_process_info( Sed_proc_run)(Sed_process, Sed_cube)

Definition at line 92 of file sed_process.h.


Enumeration Type Documentation

enum Sed_process_error

Enumerator:
SED_PROC_ERROR_BAD_INIT_FILE 
SED_PROC_ERROR_NOT_FOUND 
SED_PROC_ERROR_MISSING_PARENT 

Definition at line 111 of file sed_process.h.


Function Documentation

new_handle ( Sed_process_queue   ) 

new_handle ( Sed_process   ) 

Sed_process sed_process_append_child ( Sed_process  p,
Sed_process  c 
)

Definition at line 348 of file sed_process.c.

References eh_require, and eh_strv_append().

Referenced by sed_process_queue_set_families().

gboolean sed_process_array_run ( GPtrArray *  a,
Sed_cube   
)

Definition at line 832 of file sed_process.c.

References sed_process_run().

Sed_process sed_process_child ( Sed_process  p,
const gchar *  child_s 
)

Definition at line 328 of file sed_process.c.

Referenced by init_failure_data(), and init_plume_data().

void sed_process_clean ( Sed_process  p  ) 

Definition at line 778 of file sed_process.c.

References eh_return_if_fail.

Sed_process sed_process_copy ( Sed_process  d,
Sed_process  s 
)

Definition at line 699 of file sed_process.c.

References eh_require, eh_return_val_if_fail, SED_MAX_LOG_FILES, and sed_process_create().

Referenced by sed_process_dup().

Sed_process sed_process_create ( const char *  name,
init_func  f_init,
run_func  f_run,
destroy_func  f_destroy 
)

Definition at line 636 of file sed_process.c.

References eh_fopen(), eh_new, eh_new0, NEW_OBJECT, and SED_MAX_LOG_FILES.

Referenced by sed_process_copy(), sed_process_link_new(), and sed_process_queue_push().

gpointer sed_process_data ( Sed_process  p  ) 

Get a pointer to the user data of a Sed_process

Return a pointer to the data member of a Sed_process. Note that this function returns a pointer to the actual data (rather than a copy of the data).

Returns:
A pointer to the data

Definition at line 1261 of file sed_process.c.

References eh_return_val_if_fail.

Sed_process sed_process_destroy ( Sed_process  p  ) 

Definition at line 755 of file sed_process.c.

References eh_free.

Referenced by sed_process_link_destroy(), and sed_process_scan().

Sed_process sed_process_dup ( Sed_process  s  ) 

Definition at line 749 of file sed_process.c.

References sed_process_copy().

Referenced by sed_process_queue_copy(), and sed_process_scan().

gboolean sed_process_error ( Sed_process  p  ) 

Definition at line 1469 of file sed_process.c.

References eh_safe_dbl_division().

Referenced by sed_process_run_now().

gssize sed_process_fprint ( FILE *  fp,
Sed_process  p 
)

Definition at line 1075 of file sed_process.c.

References eh_compare_dbl(), eh_return_val_if_fail, and sed_process_interval_is_always().

Referenced by sed_process_queue_fprint().

gssize sed_process_fprint_info ( FILE *  fp,
Sed_process  p 
)

Definition at line 1439 of file sed_process.c.

References eh_require, eh_safe_dbl_division(), Sed_real_process_info::error, Sed_real_process_info::mass_added, Sed_real_process_info::mass_after, Sed_real_process_info::mass_before, Sed_real_process_info::mass_lost, Sed_real_process_info::mass_total_added, and Sed_real_process_info::mass_total_lost.

Referenced by sed_process_run_now().

void sed_process_init ( Sed_process  a,
Eh_symbol_table  symbol_table,
GError **  error 
)

Definition at line 923 of file sed_process.c.

Referenced by sed_process_scan().

double sed_process_interval ( Sed_process  p  ) 

Get the time interval of a Sed_process

Parameters:
p A Sed_process
Returns:
The process interval in years

Definition at line 1366 of file sed_process.c.

References eh_return_val_if_fail.

Referenced by sed_process_queue_item_interval().

gboolean sed_process_interval_is_always ( Sed_process  p  ) 

Is the time interval set to 'always'

If the interval of a process is 'always', it will be run for every sedflux time step.

Parameters:
p A Sed_process
Returns:
Returns true if the interval is 'always'

Definition at line 1382 of file sed_process.c.

References eh_return_val_if_fail.

Referenced by sed_process_fprint(), sed_process_is_on(), and sed_process_queue_check_item().

gboolean sed_process_interval_is_at_end ( Sed_process  p  ) 

Is the time interval set to 'at-end'

If the interval of a process is 'at-end', it will only be run for at the end of an epoch.

Parameters:
p A Sed_process
Returns:
Returns true if the interval is 'at-end'

Definition at line 1398 of file sed_process.c.

References eh_return_val_if_fail.

Referenced by sed_process_is_on(), and sed_process_run_at_end().

gboolean sed_process_is_active ( Sed_process  p  ) 

Is the Sed_process turned on

Parameters:
p A Sed_process
Returns:
TRUE if the process is turned on.

Definition at line 1411 of file sed_process.c.

Referenced by sed_process_queue_check_item(), sed_process_queue_item_interval(), sed_process_queue_n_active(), sed_process_queue_set_families(), and sed_process_run_at_end().

gboolean sed_process_is_on ( Sed_process  p,
double  time 
)

Definition at line 802 of file sed_process.c.

References eh_return_val_if_fail, eh_round(), sed_process_interval_is_always(), sed_process_interval_is_at_end(), and sed_process_next_event().

Referenced by sed_process_run().

gboolean sed_process_is_parent ( Sed_process  p  ) 

Definition at line 364 of file sed_process.c.

Referenced by sed_process_run(), and sed_process_run_at_end().

gboolean sed_process_is_set ( Sed_process  p  ) 

Definition at line 1312 of file sed_process.c.

References eh_return_val_if_fail.

gpointer sed_process_malloc_user_data ( Sed_process  p,
gssize  n_bytes 
)

Definition at line 1325 of file sed_process.c.

References eh_new.

gchar* sed_process_name ( Sed_process  p  ) 

Get the name of a process

Obtain a copy of the name of a process. The pointer should be freed after use.

Parameters:
p A Sed_process
Returns:
A newly-allocated string containing the name of the process

Definition at line 1298 of file sed_process.c.

References eh_return_val_if_fail.

gboolean sed_process_name_is_same ( Sed_process  a,
Sed_process  b 
)

Compare the names of two processes

Parameters:
a A Sed_process
b A Sed_process
Returns:
TRUE if the process names are the same, FALSE otherwise.

Definition at line 1347 of file sed_process.c.

double sed_process_next_event ( Sed_process  p  ) 

Definition at line 789 of file sed_process.c.

Referenced by sed_process_is_on().

void sed_process_provide ( Sed_process  p,
GQuark  key,
gpointer  data 
)

Definition at line 1268 of file sed_process.c.

Referenced by run_failure(), and run_plume().

Sed_process_queue sed_process_queue_activate ( Sed_process_queue  q,
const gchar *  name 
)

Definition at line 1624 of file sed_process.c.

References sed_process_queue_set_active().

int sed_process_queue_check_family ( Sed_process_queue  ,
const gchar *  parent,
const gchar *  child 
)

Definition at line 1534 of file sed_process.c.

References eh_compare_dbl(), eh_require, eh_require_not_reached, SED_PROC_ACTIVE, SED_PROC_ACTIVE_CHILD, SED_PROC_ACTIVE_PARENT, SED_PROC_SAME_INTERVAL, SED_PROC_UNIQUE, SED_PROC_UNIQUE_CHILD, SED_PROC_UNIQUE_PARENT, sed_process_queue_check_item(), and sed_process_queue_item_interval().

Referenced by sed_process_queue_validate().

int sed_process_queue_check_item ( Sed_process_queue  ,
const gchar *   
)

Definition at line 1492 of file sed_process.c.

References SED_PROC_ACTIVE, SED_PROC_ALWAYS, SED_PROC_UNIQUE, sed_process_interval_is_always(), sed_process_is_active(), SED_PROCESS_LINK, and sed_process_queue_find().

Referenced by sed_process_queue_check_family().

Sed_process_queue sed_process_queue_copy ( Sed_process_queue  ,
Sed_process_queue   
)

Definition at line 135 of file sed_process.c.

References sed_process_dup(), sed_process_queue_destroy(), and sed_process_queue_new().

Referenced by sed_process_queue_dup().

Sed_process_queue sed_process_queue_deactivate ( Sed_process_queue  q,
const gchar *  name 
)

Definition at line 1630 of file sed_process.c.

References sed_process_queue_set_active().

Sed_process_queue sed_process_queue_delete ( Sed_process_queue  ,
const gchar *   
)

Definition at line 529 of file sed_process.c.

References sed_process_link_destroy(), and sed_process_queue_find().

Sed_process_queue sed_process_queue_destroy ( Sed_process_queue   ) 

Definition at line 191 of file sed_process.c.

References eh_free, and sed_process_link_destroy().

Referenced by sed_epoch_copy(), sed_epoch_destroy(), sed_process_queue_copy(), and sed_process_queue_init().

Sed_process_queue sed_process_queue_dup ( Sed_process_queue   ) 

Definition at line 129 of file sed_process.c.

References sed_process_queue_copy().

Referenced by sed_epoch_copy().

Sed_process sed_process_queue_find_nth_obj ( Sed_process_queue  q,
const gchar *  name,
gssize  n 
)

Definition at line 492 of file sed_process.c.

References SED_PROCESS_LINK, and sed_process_queue_find().

Referenced by my_hook(), and sed_process_queue_set_families().

gssize sed_process_queue_fprint ( FILE *  fp,
Sed_process_queue  q 
)

Definition at line 1147 of file sed_process.c.

References __Sed_process_link::obj_list, sed_process_fprint(), sed_process_queue_n_absent(), sed_process_queue_n_active(), sed_process_queue_n_inactive(), and sed_process_queue_size().

Sed_process_queue sed_process_queue_init ( const gchar *  file,
Sed_process_init_t p_list,
Sed_process_family  p_family[],
Sed_process_check  p_check[],
GError **  error 
)

double sed_process_queue_item_interval ( Sed_process_queue  q,
const gchar *  name 
)

Definition at line 1573 of file sed_process.c.

References sed_process_interval(), sed_process_is_active(), SED_PROCESS_LINK, and sed_process_queue_find().

Referenced by sed_process_queue_check_family().

gssize sed_process_queue_n_absent ( Sed_process_queue  q  ) 

Definition at line 1209 of file sed_process.c.

References SED_PROCESS_LINK.

Referenced by sed_process_queue_fprint(), and sed_process_queue_n_inactive().

gssize sed_process_queue_n_active ( Sed_process_queue  q  ) 

Definition at line 1179 of file sed_process.c.

References sed_process_is_active(), and SED_PROCESS_LINK.

Referenced by sed_process_queue_fprint(), and sed_process_queue_n_inactive().

gssize sed_process_queue_n_inactive ( Sed_process_queue  q  ) 

Definition at line 1233 of file sed_process.c.

References eh_require, sed_process_queue_n_absent(), sed_process_queue_n_active(), and sed_process_queue_size().

Referenced by sed_process_queue_fprint().

Sed_process_queue sed_process_queue_new ( void   ) 

Definition at line 117 of file sed_process.c.

References NEW_OBJECT.

Referenced by sed_process_queue_copy(), and sed_process_queue_init().

gpointer* sed_process_queue_obj_data ( Sed_process_queue  q,
const char *  name 
)

Definition at line 506 of file sed_process.c.

References eh_new, SED_PROCESS, SED_PROCESS_LINK, and sed_process_queue_find().

Referenced by my_hook().

Sed_process_queue sed_process_queue_push ( Sed_process_queue  q,
Sed_process_init_t  init 
)

Definition at line 476 of file sed_process.c.

References Sed_process_init_t::destroy_f, eh_new, Sed_process_init_t::init_f, Sed_process_init_t::name, __Sed_process_link::obj_list, __Sed_process_link::p, Sed_process_init_t::run_f, sed_process_create(), and sed_process_queue_append().

Referenced by sed_process_queue_init().

Sed_process_queue sed_process_queue_remove ( Sed_process_queue  ,
gchar *   
)

Sed_process_queue sed_process_queue_run ( Sed_process_queue  ,
Sed_cube   
)

Definition at line 544 of file sed_process.c.

References SED_PROCESS_LINK, and sed_process_run().

Referenced by sed_process_queue_run_until().

Sed_process_queue sed_process_queue_run_at_end ( Sed_process_queue  q,
Sed_cube  p 
)

Definition at line 602 of file sed_process.c.

References SED_PROCESS_LINK, and sed_process_run_at_end().

Referenced by sed_epoch_queue_run(), and sed_epoch_queue_tic().

Sed_process_queue sed_process_queue_run_process_now ( Sed_process_queue  q,
const gchar *  name,
Sed_cube  cube 
)

Definition at line 618 of file sed_process.c.

References SED_PROCESS_LINK, sed_process_queue_find(), and sed_process_run_now().

Referenced by sed_process_queue_run_until().

Sed_process_queue sed_process_queue_run_until ( Sed_process_queue  q,
Sed_cube  p,
double  t_total 
)

Definition at line 560 of file sed_process.c.

References eh_require, sed_cube_increment_age(), sed_cube_set_age(), sed_cube_time_step(), sed_process_queue_run(), sed_process_queue_run_process_now(), SED_SIG_DUMP, SED_SIG_NEXT, SED_SIG_QUIT, sed_signal_is_pending(), and sed_signal_reset().

Referenced by sed_epoch_queue_run(), and sed_epoch_queue_tic().

Sed_process_queue sed_process_queue_scan ( Sed_process_queue  ,
Eh_key_file  ,
GError **   
)

Definition at line 374 of file sed_process.c.

References eh_return_val_if_fail, __Sed_process_link::obj_list, __Sed_process_link::p, SED_PROC_ERROR_NOT_FOUND, and sed_process_scan().

Referenced by sed_process_queue_init().

Sed_process_queue sed_process_queue_set_active ( Sed_process_queue  q,
const gchar *  name,
gboolean  val 
)

Definition at line 1636 of file sed_process.c.

References sed_process_activate(), sed_process_deactivate(), SED_PROCESS_LINK, sed_process_queue_find(), and sed_process_queue_set_active().

Referenced by sed_process_queue_activate(), sed_process_queue_deactivate(), and sed_process_queue_set_active().

Sed_process_queue sed_process_queue_set_families ( Sed_process_queue  q,
Sed_process_family  f[],
GError **  error 
)

Definition at line 283 of file sed_process.c.

References eh_return_val_if_fail, eh_set_error_strv(), eh_strv_append(), Sed_process_family::parent, SED_PROC_ERROR, SED_PROC_ERROR_MISSING_PARENT, sed_process_append_child(), sed_process_is_active(), and sed_process_queue_find_nth_obj().

Referenced by sed_process_queue_init().

gssize sed_process_queue_size ( Sed_process_queue  q  ) 

Definition at line 1173 of file sed_process.c.

Referenced by sed_process_queue_fprint(), and sed_process_queue_n_inactive().

gssize sed_process_queue_summary ( FILE *  fp,
Sed_process_queue  q 
)

Definition at line 1125 of file sed_process.c.

References __Sed_process_link::obj_list, and sed_process_summary().

Referenced by sed_epoch_queue_run(), and sed_epoch_queue_tic().

gboolean sed_process_queue_validate ( Sed_process_queue  q,
Sed_process_check  check[],
GError **  error 
)

Definition at line 1745 of file sed_process.c.

References eh_free, eh_require, eh_return_val_if_fail, eh_strv_append(), Sed_process_check::parent, SED_PROC_ERROR, SED_PROC_ERROR_BAD_INIT_FILE, sed_process_queue_check_family(), and sed_process_render_flag_str().

Referenced by sed_process_queue_init().

gboolean sed_process_run ( Sed_process  ,
Sed_cube   
)

Definition at line 842 of file sed_process.c.

References sed_cube_age(), sed_process_is_on(), sed_process_is_parent(), and sed_process_run_now().

Referenced by sed_process_array_run(), and sed_process_queue_run().

gboolean sed_process_run_at_end ( Sed_process  ,
Sed_cube   
)

Definition at line 851 of file sed_process.c.

References sed_process_interval_is_at_end(), sed_process_is_active(), sed_process_is_parent(), and sed_process_run_now().

Referenced by sed_process_queue_run_at_end().

gint sed_process_run_count ( Sed_process  p  ) 

Definition at line 1305 of file sed_process.c.

References eh_return_val_if_fail.

Referenced by run_avulsion(), run_bbl(), run_cpr(), run_failure(), run_isostasy(), run_met_station(), run_plume(), run_plume_hypo(), run_quake(), run_river(), run_sea_level(), run_storm(), run_subsidence(), and run_xshore().

gboolean sed_process_run_now ( Sed_process  ,
Sed_cube   
)

Definition at line 860 of file sed_process.c.

References DEFAULT_LOG, eh_redirect_log(), eh_reset_log(), Sed_process_info::error, Sed_process_info::mass_added, Sed_process_info::mass_lost, sed_cube_age_in_years(), sed_cube_mass(), sed_cube_mass_in_suspension(), sed_process_error(), and sed_process_fprint_info().

Referenced by run_failure(), run_plume(), sed_process_queue_run_process_now(), sed_process_run(), and sed_process_run_at_end().

GList* sed_process_scan ( Eh_key_file  k,
Sed_process  p,
GError **  error 
)

Definition at line 943 of file sed_process.c.

References eh_free, eh_key_file_get_all_values(), eh_key_file_get_bool_values(), eh_key_file_get_str_values(), eh_key_file_get_symbol_tables(), eh_key_file_group_size(), eh_key_file_has_group(), eh_logger(), eh_open_log_file(), eh_require, eh_return_val_if_fail, eh_str_is_boolean(), eh_str_to_boolean(), eh_str_to_time_in_years(), eh_str_to_time_range(), eh_symbol_table_destroy(), eh_symbol_table_require_labels(), SED_KEY_ACTIVE, SED_KEY_INTERVAL, SED_KEY_LOGGING, SED_KEY_TAG, SED_PROC_ERROR, SED_PROC_ERROR_NOT_FOUND, sed_process_destroy(), sed_process_dup(), and sed_process_init().

Referenced by sed_process_link_new(), and sed_process_queue_scan().

Sed_process sed_process_set_next_event ( Sed_process  p,
double  new_next_event 
)

Definition at line 795 of file sed_process.c.

gssize sed_process_summary ( FILE *  fp,
Sed_process  p 
)

Definition at line 1422 of file sed_process.c.

References eh_render_time_str().

Referenced by sed_process_queue_summary().

gpointer sed_process_use ( Sed_process  p,
GQuark  key 
)

Definition at line 1280 of file sed_process.c.

Referenced by run_debris_flow(), run_plume_hyper_inflow(), run_plume_hyper_sakura(), run_plume_hypo(), run_slump(), run_turbidity_inflow(), and run_turbidity_sakura().

gpointer sed_process_user_data ( Sed_process  p  ) 

Definition at line 1318 of file sed_process.c.

References eh_return_val_if_fail.

Referenced by bio_destroy(), bio_run(), destroy_avulsion(), destroy_bbl(), destroy_bedload(), destroy_bioturbation(), destroy_constants(), destroy_cpr(), destroy_data_dump(), destroy_debris_flow(), destroy_diffusion(), destroy_erosion(), destroy_failure(), destroy_flow(), destroy_inflow(), destroy_isostasy(), destroy_met_station(), destroy_new_process(), destroy_plume(), destroy_plume_hypo(), destroy_quake(), destroy_river(), destroy_sea_level(), destroy_squall(), destroy_storm(), destroy_subsidence(), destroy_tide(), destroy_xshore(), init_avulsion_data(), init_bbl_data(), init_cpr_data(), init_failure_data(), init_isostasy_data(), init_met_station_data(), init_plume_data(), init_plume_hypo_data(), init_quake_data(), init_river_data(), init_sea_level_data(), init_storm_data(), init_subsidence_data(), init_xshore_data(), run_avulsion(), run_bbl(), run_bedload(), run_bioturbation(), run_constants(), run_cpr(), run_data_dump(), run_debris_flow(), run_diffusion(), run_erosion(), run_failure(), run_flow(), run_isostasy(), run_met_station(), run_new_process(), run_plume(), run_plume_hyper_inflow(), run_plume_hyper_sakura(), run_plume_hypo(), run_quake(), run_river(), run_sea_level(), run_slump(), run_squall(), run_storm(), run_subsidence(), run_tide(), run_turbidity_inflow(), run_turbidity_sakura(), and run_xshore().

void sed_process_withhold ( Sed_process  p,
GQuark  key 
)

Definition at line 1274 of file sed_process.c.

Referenced by run_failure(), and run_plume().


Generated on Fri Jan 4 18:04:18 2008 for sedflux by  doxygen 1.5.2