00001 #if !defined( SED_WAVE_H )
00002 #define SED_WAVE_H
00003
00004 #include <glib.h>
00005
00006 #include "utils/eh_types.h"
00007
00008 new_handle( Sed_wave );
00009 new_handle( Sed_ocean_storm );
00010
00011 Sed_wave sed_wave_new ( double h , double k , double w );
00012 Sed_wave sed_wave_copy ( Sed_wave dest , Sed_wave src );
00013 Sed_wave sed_wave_dup ( Sed_wave src );
00014 gboolean sed_wave_is_same( Sed_wave w_1 , Sed_wave w_2 );
00015 Sed_wave sed_wave_destroy( Sed_wave w );
00016
00017 double sed_wave_height ( Sed_wave w );
00018 double sed_wave_number ( Sed_wave w );
00019 double sed_wave_length ( Sed_wave w );
00020 double sed_wave_frequency ( Sed_wave w );
00021 double sed_wave_period ( Sed_wave w );
00022 double sed_wave_phase_velocity ( Sed_wave w );
00023 gboolean sed_wave_is_bad ( Sed_wave w );
00024
00025 Sed_wave sed_gravity_wave_new ( Sed_wave w_infinity , double h , Sed_wave new_wave );
00026 Sed_wave sed_gravity_wave_set_frequency ( Sed_wave a , double w , double h);
00027 Sed_wave sed_gravity_wave_set_number ( Sed_wave w , double k , double h);
00028 Sed_wave sed_gravity_wave_set_height ( Sed_wave w , Sed_wave w_infinity , double h );
00029 double sed_gravity_wave_deep_water_height ( Sed_wave w );
00030 double sed_gravity_wave_deep_water_wave_number( Sed_wave w );
00031
00032 gboolean sed_wave_is_breaking( Sed_wave w , double h );
00033
00034 double sed_wave_break_depth( Sed_wave w );
00035
00036 double sed_dispersion_relation_frequency ( double water_depth , double wave_number );
00037 double sed_dispersion_relation_wave_number( double water_depth , double frequency );
00038
00039 Sed_ocean_storm sed_ocean_storm_new ( void );
00040 Sed_ocean_storm sed_ocean_storm_destroy( Sed_ocean_storm s );
00041
00042 gssize sed_ocean_storm_index ( Sed_ocean_storm s );
00043 double sed_ocean_storm_val ( Sed_ocean_storm s );
00044 double sed_ocean_storm_duration ( Sed_ocean_storm s );
00045 double sed_ocean_storm_duration_in_seconds( Sed_ocean_storm s );
00046 double sed_ocean_storm_wave_height ( Sed_ocean_storm s );
00047 double sed_ocean_storm_wave_number ( Sed_ocean_storm s );
00048 double sed_ocean_storm_wave_length ( Sed_ocean_storm s );
00049 double sed_ocean_storm_wave_freq ( Sed_ocean_storm s );
00050 double sed_ocean_storm_wave_period ( Sed_ocean_storm s );
00051 double sed_ocean_storm_phase_velocity ( Sed_ocean_storm s );
00052
00053 Sed_ocean_storm sed_ocean_storm_set_wave ( Sed_ocean_storm s , Sed_wave w );
00054 Sed_ocean_storm sed_ocean_storm_set_index ( Sed_ocean_storm s , gssize ind );
00055 Sed_ocean_storm sed_ocean_storm_set_duration ( Sed_ocean_storm s , double dt_in_days );
00056 Sed_ocean_storm sed_ocean_storm_set_val ( Sed_ocean_storm s , double val );
00057
00058 gssize sed_ocean_storm_fprint( FILE* fp , Sed_ocean_storm s );
00059
00060 #endif