Index of RSL routines grouped by functionality.

Input

Radar *RSL_anyformat_to_radar(char *infile [, char *callid_or_first_file]);
Radar *RSL_kwaj_to_radar(char *infile);
Radar *RSL_lassen_to_radar(char *infile);
Radar *RSL_mcgill_to_radar(char *infile);
Radar *RSL_nsig_to_radar(char *infile);
Radar *RSL_nsig2_to_radar(char *infile);
Radar *RSL_radtec_to_radar(char *infile);
Radar *RSL_read_radar(char *infile);
Radar *RSL_toga_to_radar(char *infile);
Radar *RSL_uf_to_radar(char *infile);
Radar *RSL_uf_to_radar_fp(FILE *fp);
Radar *RSL_wsr88d_to_radar(char *infile, char *callid_or_first_file);
Volume *RSL_read_volume(FILE *fp);
Sweep *RSL_read_sweep (FILE *fp);
Ray *RSL_read_ray (FILE *fp);
void RSL_read_these_sweeps(char *sweep#, ..., NULL);
void RSL_select_fields(char *field_type, ..., NULL);
void RSL_set_kwaj_parameters(float mds, float calibr_slope, float calibr_intercept);
void RSL_radar_verbose_off(void);
void RSL_radar_verbose_on(void);
void RSL_wsr88d_keep_short_refl(void);

Output

void RSL_radar_to_uf(Radar *r, char *outfile);
void RSL_radar_to_uf_fp(Radar *r, FILE *fp);
void RSL_radar_to_uf_gzip(Radar *r, char *outfile);
int RSL_write_histogram(Histogram *histogram, char *outfile);
int RSL_write_ray(Ray *r, FILE *fp);
int RSL_write_sweep(Sweep *s, FILE *fp);
int RSL_write_volume(Volume *v, FILE *fp);
int RSL_write_histogram(Histogram *histogram, char *outfile);
int RSL_write_radar(Radar *radar, char *outfile);
int RSL_write_radar_fp(Radar *radar, FILE *fp);
int RSL_write_radar_gzip(Radar *radar, char *outfile);
void RSL_print_version(void);

Memory management

Radar *RSL_new_radar(int nvolumes);
Radar *RSL_prune_radar(Radar *radar);
Radar *RSL_sort_radar(Radar *r);
Volume *RSL_clear_volume(Volume *v);
Volume *RSL_copy_volume(Volume *v);
Volume *RSL_new_volume(int max_sweeps);
Volume *RSL_prune_volume(Volume *v);
Sweep *RSL_clear_sweep(Sweep *s);
Sweep *RSL_copy_sweep(Sweep *s);
Sweep *RSL_new_sweep(int max_rays);
Sweep *RSL_prune_sweep(Sweep *s);
Ray *RSL_clear_ray(Ray *r);
Ray *RSL_copy_ray(Ray *r);
Ray *RSL_new_ray(int max_bins);
Ray *RSL_prune_ray(Ray *ray);
Cappi *RSL_new_cappi(Sweep *sweep, float height);
Carpi *RSL_new_carpi(int xdim, int ydim);
void RSL_free_cappi(Cappi *c);
void RSL_free_histogram(Histogram *histogram);
void RSL_free_radar(Radar *r);
void RSL_free_ray(Ray *r);
void RSL_free_sweep(Sweep *s);
void RSL_free_volume(Volume *v);

Image generation

void RSL_bscan_ray(Ray *r, FILE *fp);
void RSL_bscan_sweep(Sweep *s, char *outfile);
void RSL_bscan_volume(Volume *v, char *basename);
void RSL_get_color_table(int icolor, char buffer[256], int *ncolors);
void RSL_set_color_table(int icolor, char buffer[256], int *ncolors);
void RSL_load_color_table(char *infile, char buffer[256], int *ncolors);
void RSL_load_green_table(char *infile);
void RSL_load_blue_table(char *infile);
void RSL_load_height_color_table();
void RSL_load_rainfall_color_table();
void RSL_load_red_table(char *infile);
void RSL_load_refl_color_table();
void RSL_load_sw_color_table();
void RSL_load_vel_color_table();
void RSL_load_zdr_color_table();
void RSL_rebin_velocity_ray(Ray *r);
void RSL_rebin_velocity_sweep(Sweep *s);
void RSL_rebin_velocity_volume(Volume *v);
void RSL_rebin_ray(Ray *r);
void RSL_rebin_sweep(Sweep *s);
void RSL_rebin_volume(Volume *v);
void RSL_sweep_to_gif(Sweep *s, char *outfile, int xdim, int ydim, float range);
void RSL_sweep_to_pgm(Sweep *s, char *outfile, int xdim, int ydim, float range);
void RSL_sweep_to_pict(Sweep *s, char *outfile, int xdim, int ydim, float range);
void RSL_sweep_to_ppm(Sweep *s, char *outfile, int xdim, int ydim, float range);
void RSL_volume_to_gif(Volume *v, char *basename, int xdim, int ydim, float range);
void RSL_volume_to_pgm(Volume *v, char *basename, int xdim, int ydim, float range);
void RSL_volume_to_pict(Volume *v, char *basename, int xdim, int ydim, float range) ;
void RSL_volume_to_ppm(Volume *v, char *basename, int xdim, int ydim, float range);
void RSL_write_gif(char *outfile, unsigned char *image, int xdim, int ydim, char c_t able[256][3]);
void RSL_write_pict(char *outfile, unsigned char *image, int xdim, int ydim, char c_ table[256][3]);
void RSL_write_pgm(char *outfile, unsigned char *image, int xdim, int ydim);
void RSL_write_ppm(char *outfile, unsigned char *image, int xdim, int ydim, char c_t able[256][3]);
unsigned char *RSL_sweep_to_cart(Sweep *s, int xdim, int ydim, float range);

Get something from objects

Volume *RSL_get_volume(Radar *r, int type_wanted);
Volume *RSL_get_window_from_volume(Volume *v, float min_range, float max_range, float low_azim, float hi_azim);
Volume *RSL_reverse_sweep_order(Volume *v);
Sweep *RSL_get_closest_sweep(Volume *v,float sweep_angle,float limit);
Sweep *RSL_get_first_sweep_of_volume(Volume *v);
Sweep *RSL_get_sweep(Volume *v, float elev);
Sweep *RSL_get_window_from_sweep(Sweep *s, float min_range, float max_range, float low_azim, float hi_azim);
Ray *RSL_get_closest_ray_from_sweep(Sweep *s,float ray_angle,float limit);
Ray *RSL_get_first_ray_of_sweep(Sweep *s);
Ray *RSL_get_first_ray_of_volume(Volume *v);
Ray *RSL_get_next_ccwise_ray(Sweep *s, Ray *ray);
Ray *RSL_get_next_cwise_ray(Sweep *s, Ray *ray);
Ray *RSL_get_ray(Volume *v, float elev, float azimuth);
Ray *RSL_get_ray_from_sweep(Sweep *s, float azim);
Ray *RSL_get_ray_above(Volume *v, Ray *current_ray);
Ray *RSL_get_ray_below(Volume *v, Ray *current_ray);
Ray *RSL_get_window_from_ray(Ray *r, float min_range, float max_range, float low_azim, float hi_azim);
float RSL_get_linear_value(Volume *v,float srange,float azim,float elev,float limit);
float RSL_get_nyquist_from_radar(Radar *radar);
float RSL_get_range_of_range_index(Ray *ray, int index);
float RSL_get_value(Volume *v, float elev, float azimuth, float range);
float RSL_get_value_at_h(Volume *v, float azim, float grnd_r, float h);
float RSL_get_value_from_cappi(Cappi *cappi, float rng, float azm);
float RSL_get_value_from_ray(Ray *ray, float r);
float RSL_get_value_from_sweep(Sweep *s, float elev, float azim, float r);
Radar *RSL_get_window_from_radar(Radar *r, float min_range, float max_range, float low_azim, float hi_azim);
int RSL_get_sweep_index_from_volume(Volume *v, float elev,int *next_closest);

Sorting

Volume *RSL_sort_rays_in_volume(Volume *v);
Volume *RSL_sort_sweeps_in_volume(Volume *v);
Volume *RSL_sort_volume(Volume *v);
Sweep *RSL_sort_rays_in_sweep(Sweep *s);
Sweep *RSL_sort_rays_by_time(Sweep *s);

Math

Volume *RSL_volume_z_to_r(Volume *z_volume, float k, float a);
Sweep *RSL_sweep_z_to_r(Sweep *z_sweep, float k, float a);
Ray *RSL_ray_z_to_r(Ray *z_ray, float k, float a);
float RSL_z_to_r(float z, float k, float a);
float RSL_area_of_ray(Ray *r, float lo, float hi, float max_range);
float RSL_fraction_of_ray(Ray *r, float lo, float hi, float range);
float RSL_fraction_of_sweep(Sweep *s, float lo, float hi, float range);
float RSL_fraction_of_volume(Volume *v, float lo, float hi, float range);
float RSL_fractional_area_of_sweep(Sweep *s, float lo, float hi, float max_rng);
void RSL_add_dbz_offset_to_ray(Ray *r, float dbz_offset);
void RSL_add_dbz_offset_to_sweep(Sweep *s, float dbz_offset);
void RSL_add_dbz_offset_to_volume(Volume *v, float dbz_offset);
void RSL_find_rng_azm(float *r, float *ang, float x, float y);
void RSL_fix_time(Ray *ray);
void RSL_get_groundr_and_h(float slant_r, float elev, float *gr, float *h);
void RSL_get_gr_slantr_h(Ray *ray, int i, float *gr, float *slantr, float *h)
void RSL_get_slantr_and_elev(float gr, float h, float *slant_r, float *elev);
void RSL_get_slantr_and_h(float gr, float elev, float *slant_r, float *h);

Cappi/Carpi

Cappi *RSL_cappi_at_h(Volume *v, float h, float grnd_range);
Carpi *RSL_cappi_to_carpi(Cappi *cappi, float dx, float dy, float lat, float lon, int nx, int ny, int radar_x, int radar_y);
Carpi *RSL_volume_to_carpi(Volume *v, float h, float grnd_r, float dx, float dy, int nx, int ny, int radar_x, int radar_y, float lat, float lon);
int RSL_fill_cappi(Volume *v, Cappi *cap, int method);

Cube

Cube *RSL_volume_to_cube(Volume *v, float dx, float dy, float dz, int nx, int ny, int nz, float grnd_r, int radar_x, int radar_y, int radar_z);

Slice *RSL_get_slice_from_cube(Cube *cube, int x, int y, int z);

Histogram

Histogram *RSL_allocate_histogram(int low, int hi);
Histogram *RSL_get_histogram_from_ray(Ray *ray, Histogram *histogram, int low, int hi, int min_range, int max_range);
Histogram *RSL_get_histogram_from_sweep(Sweep *sweep, Histogram *histogram, int low, int hi, int min_range, int max_range);
Histogram *RSL_get_histogram_from_volume(Volume *volume, Histogram *histogram, int low, int hi, int min_range, int max_range);
void RSL_print_histogram(Histogram *histogram, int min_range, int max_range, char *filename);
Histogram *RSL_read_histogram(char *infile);

Author: John H. Merritt.