/Users/huttone/Devel/sedflux-new/sedflux/trunk/ew/sed/sed_epoch.c File Reference

#include <stdio.h>
#include <glib.h>
#include "utils/utils.h"
#include "sed_epoch.h"
#include "sed_signal.h"

Go to the source code of this file.

Defines

#define SED_KEY_EPOCH_NUMBER   "number"
#define SED_KEY_EPOCH_DURATION   "duration"
#define SED_KEY_EPOCH_ACTIVE   "active"
#define SED_KEY_EPOCH_TIME_STEP   "time step"
#define SED_KEY_EPOCH_FILE   "process file"

Functions

 CLASS (Sed_epoch)
 CLASS (Sed_epoch_queue)
GQuark sed_epoch_error_quark (void)
Sed_epoch sed_epoch_new (void)
Sed_epoch sed_epoch_copy (Sed_epoch d, const Sed_epoch s)
Sed_epoch sed_epoch_dup (const Sed_epoch s)
Sed_epoch_queue sed_epoch_new_from_table (Eh_symbol_table t, GError **error)
Sed_epoch_queue sed_epoch_queue_new_sscan_old (const gchar *number_s, const gchar *time_step_s, const gchar *file_s, const gchar *duration_s, GError **error)
Sed_epoch_queue sed_epoch_queue_new_sscan (const gchar *time_s, const gchar *time_step_s, const gchar *file_s, GError **error)
Sed_epoch_queue sed_epoch_queue_new (const gchar *file, GError **error)
Sed_epoch_queue sed_epoch_queue_new_full (const gchar *file, Sed_process_init_t proc_defs[], Sed_process_family proc_family[], Sed_process_check proc_checks[], GError **error)
Sed_epoch_queue sed_epoch_queue_dup (const Sed_epoch_queue s)
Sed_epoch_queue sed_epoch_queue_concat (Sed_epoch_queue q_1, Sed_epoch_queue q_2)
gint sed_epoch_start_cmp (Sed_epoch a, Sed_epoch b)
gint sed_epoch_number_cmp (Sed_epoch a, Sed_epoch b)
Sed_epoch sed_epoch_destroy (Sed_epoch e)
Sed_epoch_queue sed_epoch_queue_destroy (Sed_epoch_queue list)
Sed_epoch epoch_set_name (Sed_epoch e, const gchar *name)
Sed_epoch sed_epoch_set_number (Sed_epoch e, gssize n)
Sed_epoch sed_epoch_sscan_filename (Sed_epoch e, const gchar *file_s, GError **error)
Sed_epoch sed_epoch_sscan_number (Sed_epoch e, const gchar *number_s, GError **error)
Sed_epoch sed_epoch_sscan_time (Sed_epoch e, const gchar *time_s, GError **error)
Sed_epoch sed_epoch_sscan_duration (Sed_epoch e, const gchar *duration_s, GError **error)
Sed_epoch sed_epoch_sscan_time_step (Sed_epoch e, const gchar *dt_s, GError **error)
Sed_epoch sed_epoch_set_active_time (Sed_epoch e, double *time)
Sed_epoch sed_epoch_set_duration (Sed_epoch e, double duration)
Sed_epoch sed_epoch_set_time_step (Sed_epoch e, double time_step)
Sed_epoch sed_epoch_set_filename (Sed_epoch e, const gchar *filename)
const gchar * sed_epoch_name (Sed_epoch e)
gssize sed_epoch_number (Sed_epoch e)
double sed_epoch_start (Sed_epoch e)
double sed_epoch_end (Sed_epoch e)
double sed_epoch_duration (Sed_epoch e)
double sed_epoch_time_step (Sed_epoch e)
const gchar * sed_epoch_filename (Sed_epoch e)
Sed_process_queue sed_epoch_proc_queue (Sed_epoch e)
gssize sed_epoch_queue_length (Sed_epoch_queue q)
Sed_epoch_queue sed_epoch_queue_order (Sed_epoch_queue q)
Sed_epoch_queue sed_epoch_queue_push_tail (Sed_epoch_queue q, Sed_epoch e)
Sed_epoch sed_epoch_queue_pop (Sed_epoch_queue q)
Sed_epoch sed_epoch_queue_nth (Sed_epoch_queue q, gssize n)
gint sed_epoch_is_in_range (Sed_epoch e, double *t)
Sed_epoch sed_epoch_queue_find (Sed_epoch_queue q, double t)
gssize sed_epoch_fprint (FILE *fp, Sed_epoch e)
gssize sed_epoch_queue_fprint (FILE *fp, Sed_epoch_queue q)
Sed_epoch sed_epoch_scan_proc_queue (Sed_epoch e, Sed_process_init_t p_list[], Sed_process_family p_family[], Sed_process_check p_check[], GError **error)
Sed_epoch_queue sed_epoch_queue_set_processes (Sed_epoch_queue q, Sed_process_init_t p_list[], Sed_process_family p_family[], Sed_process_check p_check[], GError **error)
gboolean sed_epoch_queue_test_run (const Sed_epoch_queue q, Sed_process_init_t p_list[], Sed_process_family p_family[], Sed_process_check p_check[], GError **error)
Sed_epoch_queue sed_epoch_queue_run (Sed_epoch_queue q, Sed_cube p)
Sed_epoch_queue sed_epoch_queue_tic (Sed_epoch_queue epoch_q, Sed_cube p)


Define Documentation

#define SED_KEY_EPOCH_ACTIVE   "active"

Definition at line 110 of file sed_epoch.c.

Referenced by sed_epoch_new_from_table().

#define SED_KEY_EPOCH_DURATION   "duration"

Definition at line 109 of file sed_epoch.c.

Referenced by sed_epoch_new_from_table().

#define SED_KEY_EPOCH_FILE   "process file"

Definition at line 112 of file sed_epoch.c.

Referenced by sed_epoch_new_from_table().

#define SED_KEY_EPOCH_NUMBER   "number"

Definition at line 108 of file sed_epoch.c.

Referenced by sed_epoch_new_from_table().

#define SED_KEY_EPOCH_TIME_STEP   "time step"

Definition at line 111 of file sed_epoch.c.

Referenced by sed_epoch_new_from_table().


Function Documentation

CLASS ( Sed_epoch_queue   ) 

Definition at line 41 of file sed_epoch.c.

CLASS ( Sed_epoch   ) 

Definition at line 28 of file sed_epoch.c.

Sed_epoch epoch_set_name ( Sed_epoch  e,
const gchar *  name 
)

Definition at line 472 of file sed_epoch.c.

References eh_free.

Sed_epoch sed_epoch_copy ( Sed_epoch  d,
const Sed_epoch  s 
)

Definition at line 73 of file sed_epoch.c.

References sed_epoch_new(), sed_process_queue_destroy(), and sed_process_queue_dup().

Referenced by sed_epoch_dup().

Sed_epoch sed_epoch_destroy ( Sed_epoch  e  ) 

Definition at line 441 of file sed_epoch.c.

References eh_free, and sed_process_queue_destroy().

Referenced by sed_epoch_queue_destroy(), and sed_epoch_queue_run().

Sed_epoch sed_epoch_dup ( const Sed_epoch  s  ) 

Definition at line 99 of file sed_epoch.c.

References sed_epoch_copy().

Referenced by sed_epoch_queue_concat(), and sed_epoch_queue_dup().

double sed_epoch_duration ( Sed_epoch  e  ) 

Definition at line 716 of file sed_epoch.c.

References eh_return_val_if_fail.

Referenced by sed_epoch_queue_tic().

double sed_epoch_end ( Sed_epoch  e  ) 

Definition at line 708 of file sed_epoch.c.

References eh_return_val_if_fail.

Referenced by sed_epoch_is_in_range(), sed_epoch_queue_run(), and sed_epoch_queue_tic().

GQuark sed_epoch_error_quark ( void   ) 

Definition at line 47 of file sed_epoch.c.

const gchar* sed_epoch_filename ( Sed_epoch  e  ) 

Definition at line 732 of file sed_epoch.c.

References eh_return_val_if_fail.

Referenced by sed_epoch_queue_test_run(), and sed_epoch_scan_proc_queue().

gssize sed_epoch_fprint ( FILE *  fp,
Sed_epoch  e 
)

Definition at line 835 of file sed_epoch.c.

Referenced by sed_epoch_queue_fprint().

gint sed_epoch_is_in_range ( Sed_epoch  e,
double *  t 
)

Definition at line 807 of file sed_epoch.c.

References sed_epoch_end(), and sed_epoch_start().

Referenced by sed_epoch_queue_find().

const gchar* sed_epoch_name ( Sed_epoch  e  ) 

Definition at line 684 of file sed_epoch.c.

References eh_return_val_if_fail.

Sed_epoch sed_epoch_new ( void   ) 

Definition at line 53 of file sed_epoch.c.

References NEW_OBJECT.

Referenced by sed_epoch_copy(), sed_epoch_queue_new_sscan(), and sed_epoch_queue_new_sscan_old().

Sed_epoch_queue sed_epoch_new_from_table ( Eh_symbol_table  t,
GError **  error 
)

Definition at line 132 of file sed_epoch.c.

References eh_free, eh_require, eh_return_val_if_fail, eh_symbol_table_has_labels(), eh_symbol_table_require_labels(), eh_symbol_table_value(), sed_epoch_queue_destroy(), sed_epoch_queue_new_sscan(), sed_epoch_queue_new_sscan_old(), SED_KEY_EPOCH_ACTIVE, SED_KEY_EPOCH_DURATION, SED_KEY_EPOCH_FILE, SED_KEY_EPOCH_NUMBER, and SED_KEY_EPOCH_TIME_STEP.

Referenced by sed_epoch_queue_new().

gssize sed_epoch_number ( Sed_epoch  e  ) 

Definition at line 692 of file sed_epoch.c.

References eh_return_val_if_fail.

Referenced by sed_epoch_queue_order().

gint sed_epoch_number_cmp ( Sed_epoch  a,
Sed_epoch  b 
)

Definition at line 425 of file sed_epoch.c.

Referenced by sed_epoch_queue_order().

Sed_process_queue sed_epoch_proc_queue ( Sed_epoch  e  ) 

Definition at line 740 of file sed_epoch.c.

References eh_return_val_if_fail.

Referenced by sed_epoch_queue_run(), and sed_epoch_queue_tic().

Sed_epoch_queue sed_epoch_queue_concat ( Sed_epoch_queue  q_1,
Sed_epoch_queue  q_2 
)

Definition at line 389 of file sed_epoch.c.

References sed_epoch_dup(), and sed_epoch_queue_dup().

Referenced by sed_epoch_queue_new().

Sed_epoch_queue sed_epoch_queue_destroy ( Sed_epoch_queue  list  ) 

Definition at line 455 of file sed_epoch.c.

References eh_free, and sed_epoch_destroy().

Referenced by sed_epoch_new_from_table(), sed_epoch_queue_new(), sed_epoch_queue_new_sscan(), sed_epoch_queue_test_run(), and sedflux_finalize().

Sed_epoch_queue sed_epoch_queue_dup ( const Sed_epoch_queue  s  ) 

Definition at line 369 of file sed_epoch.c.

References NEW_OBJECT, and sed_epoch_dup().

Referenced by sed_epoch_queue_concat(), and sed_epoch_queue_test_run().

Sed_epoch sed_epoch_queue_find ( Sed_epoch_queue  q,
double  t 
)

Definition at line 819 of file sed_epoch.c.

References sed_epoch_is_in_range().

Referenced by sed_epoch_queue_tic().

gssize sed_epoch_queue_fprint ( FILE *  fp,
Sed_epoch_queue  q 
)

Definition at line 860 of file sed_epoch.c.

References sed_epoch_fprint().

gssize sed_epoch_queue_length ( Sed_epoch_queue  q  ) 

Definition at line 748 of file sed_epoch.c.

References eh_return_val_if_fail.

Sed_epoch_queue sed_epoch_queue_new ( const gchar *  file,
GError **  error 
)

Definition at line 293 of file sed_epoch.c.

References eh_free, eh_key_file_destroy(), eh_key_file_get_symbol_tables(), eh_key_file_scan(), eh_require, eh_return_val_if_fail, eh_symbol_table_destroy(), NEW_OBJECT, sed_epoch_new_from_table(), sed_epoch_queue_concat(), sed_epoch_queue_destroy(), and sed_epoch_queue_order().

Referenced by sed_epoch_queue_new_full().

Sed_epoch_queue sed_epoch_queue_new_full ( const gchar *  file,
Sed_process_init_t  proc_defs[],
Sed_process_family  proc_family[],
Sed_process_check  proc_checks[],
GError **  error 
)

Definition at line 345 of file sed_epoch.c.

References eh_return_val_if_fail, sed_epoch_queue_new(), and sed_epoch_queue_set_processes().

Referenced by sedflux_init().

Sed_epoch_queue sed_epoch_queue_new_sscan ( const gchar *  time_s,
const gchar *  time_step_s,
const gchar *  file_s,
GError **  error 
)

Definition at line 224 of file sed_epoch.c.

References eh_return_val_if_fail, NEW_OBJECT, SED_EPOCH_ERROR, SED_EPOCH_ERROR_BAD_TIME_STEP, sed_epoch_new(), sed_epoch_queue_destroy(), sed_epoch_queue_push_tail(), sed_epoch_sscan_filename(), sed_epoch_sscan_time(), and sed_epoch_sscan_time_step().

Referenced by sed_epoch_new_from_table().

Sed_epoch_queue sed_epoch_queue_new_sscan_old ( const gchar *  number_s,
const gchar *  time_step_s,
const gchar *  file_s,
const gchar *  duration_s,
GError **  error 
)

Definition at line 187 of file sed_epoch.c.

References eh_return_val_if_fail, NEW_OBJECT, sed_epoch_new(), sed_epoch_queue_push_tail(), sed_epoch_sscan_duration(), sed_epoch_sscan_filename(), sed_epoch_sscan_number(), and sed_epoch_sscan_time_step().

Referenced by sed_epoch_new_from_table().

Sed_epoch sed_epoch_queue_nth ( Sed_epoch_queue  q,
gssize  n 
)

Definition at line 794 of file sed_epoch.c.

Sed_epoch_queue sed_epoch_queue_order ( Sed_epoch_queue  q  ) 

Definition at line 756 of file sed_epoch.c.

References sed_epoch_number(), sed_epoch_number_cmp(), and sed_epoch_start_cmp().

Referenced by sed_epoch_queue_new().

Sed_epoch sed_epoch_queue_pop ( Sed_epoch_queue  q  ) 

Definition at line 779 of file sed_epoch.c.

Referenced by sed_epoch_queue_run(), and sed_epoch_queue_test_run().

Sed_epoch_queue sed_epoch_queue_push_tail ( Sed_epoch_queue  q,
Sed_epoch  e 
)

Definition at line 770 of file sed_epoch.c.

Referenced by sed_epoch_queue_new_sscan(), and sed_epoch_queue_new_sscan_old().

Sed_epoch_queue sed_epoch_queue_run ( Sed_epoch_queue  q,
Sed_cube  p 
)

Definition at line 964 of file sed_epoch.c.

References eh_require, eh_require_not_reached, sed_cube_set_time_step(), sed_epoch_destroy(), sed_epoch_end(), sed_epoch_proc_queue(), sed_epoch_queue_pop(), sed_epoch_time_step(), sed_process_queue_run_at_end(), sed_process_queue_run_until(), sed_process_queue_summary(), SED_SIG_QUIT, and sed_signal_is_pending().

Referenced by sedflux_run().

Sed_epoch_queue sed_epoch_queue_set_processes ( Sed_epoch_queue  q,
Sed_process_init_t  p_list[],
Sed_process_family  p_family[],
Sed_process_check  p_check[],
GError **  error 
)

Definition at line 902 of file sed_epoch.c.

References eh_require, eh_return_val_if_fail, and sed_epoch_scan_proc_queue().

Referenced by sed_epoch_queue_new_full().

gboolean sed_epoch_queue_test_run ( const Sed_epoch_queue  q,
Sed_process_init_t  p_list[],
Sed_process_family  p_family[],
Sed_process_check  p_check[],
GError **  error 
)

Definition at line 925 of file sed_epoch.c.

References eh_require, eh_return_val_if_fail, sed_epoch_filename(), sed_epoch_queue_destroy(), sed_epoch_queue_dup(), sed_epoch_queue_pop(), and sed_process_queue_init().

Sed_epoch_queue sed_epoch_queue_tic ( Sed_epoch_queue  epoch_q,
Sed_cube  p 
)

Definition at line 1001 of file sed_epoch.c.

References eh_require, sed_cube_age(), sed_cube_set_time_step(), sed_epoch_duration(), sed_epoch_end(), sed_epoch_proc_queue(), sed_epoch_queue_find(), sed_epoch_time_step(), sed_process_queue_run_at_end(), sed_process_queue_run_until(), and sed_process_queue_summary().

Referenced by sedflux_run_time_step().

Sed_epoch sed_epoch_scan_proc_queue ( Sed_epoch  e,
Sed_process_init_t  p_list[],
Sed_process_family  p_family[],
Sed_process_check  p_check[],
GError **  error 
)

Definition at line 879 of file sed_epoch.c.

References eh_require, eh_return_val_if_fail, sed_epoch_filename(), and sed_process_queue_init().

Referenced by sed_epoch_queue_set_processes().

Sed_epoch sed_epoch_set_active_time ( Sed_epoch  e,
double *  time 
)

Definition at line 637 of file sed_epoch.c.

References eh_require.

Referenced by sed_epoch_sscan_time().

Sed_epoch sed_epoch_set_duration ( Sed_epoch  e,
double  duration 
)

Definition at line 652 of file sed_epoch.c.

Referenced by sed_epoch_sscan_duration().

Sed_epoch sed_epoch_set_filename ( Sed_epoch  e,
const gchar *  filename 
)

Definition at line 671 of file sed_epoch.c.

References eh_free.

Referenced by sed_epoch_sscan_filename().

Sed_epoch sed_epoch_set_number ( Sed_epoch  e,
gssize  n 
)

Definition at line 485 of file sed_epoch.c.

References eh_require.

Referenced by sed_epoch_sscan_number().

Sed_epoch sed_epoch_set_time_step ( Sed_epoch  e,
double  time_step 
)

Definition at line 663 of file sed_epoch.c.

Referenced by sed_epoch_sscan_time_step().

Sed_epoch sed_epoch_sscan_duration ( Sed_epoch  e,
const gchar *  duration_s,
GError **  error 
)

Definition at line 573 of file sed_epoch.c.

References eh_require, eh_return_val_if_fail, eh_str_to_time_in_years(), SED_EPOCH_ERROR, SED_EPOCH_ERROR_NEGATIVE_DURATION, and sed_epoch_set_duration().

Referenced by sed_epoch_queue_new_sscan_old().

Sed_epoch sed_epoch_sscan_filename ( Sed_epoch  e,
const gchar *  file_s,
GError **  error 
)

Definition at line 498 of file sed_epoch.c.

References eh_return_val_if_fail, eh_try_open(), SED_EPOCH_ERROR, SED_EPOCH_ERROR_OPEN_FILE, and sed_epoch_set_filename().

Referenced by sed_epoch_queue_new_sscan(), and sed_epoch_queue_new_sscan_old().

Sed_epoch sed_epoch_sscan_number ( Sed_epoch  e,
const gchar *  number_s,
GError **  error 
)

Definition at line 521 of file sed_epoch.c.

References eh_require, eh_return_val_if_fail, eh_str_to_dbl(), and sed_epoch_set_number().

Referenced by sed_epoch_queue_new_sscan_old().

Sed_epoch sed_epoch_sscan_time ( Sed_epoch  e,
const gchar *  time_s,
GError **  error 
)

Definition at line 546 of file sed_epoch.c.

References eh_free, eh_require, eh_return_val_if_fail, eh_str_to_time_range(), and sed_epoch_set_active_time().

Referenced by sed_epoch_queue_new_sscan().

Sed_epoch sed_epoch_sscan_time_step ( Sed_epoch  e,
const gchar *  dt_s,
GError **  error 
)

Definition at line 605 of file sed_epoch.c.

References eh_require, eh_return_val_if_fail, eh_str_to_time_in_years(), SED_EPOCH_ERROR, SED_EPOCH_ERROR_NEGATIVE_TIME_STEP, and sed_epoch_set_time_step().

Referenced by sed_epoch_queue_new_sscan(), and sed_epoch_queue_new_sscan_old().

double sed_epoch_start ( Sed_epoch  e  ) 

Definition at line 700 of file sed_epoch.c.

References eh_return_val_if_fail.

Referenced by sed_epoch_is_in_range().

gint sed_epoch_start_cmp ( Sed_epoch  a,
Sed_epoch  b 
)

Definition at line 409 of file sed_epoch.c.

Referenced by sed_epoch_queue_order().

double sed_epoch_time_step ( Sed_epoch  e  ) 

Definition at line 724 of file sed_epoch.c.

References eh_return_val_if_fail.

Referenced by sed_epoch_queue_run(), and sed_epoch_queue_tic().


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