FMS 2025.01-dev
Flexible Modeling System
|
Error handling and other general utilities for mosaic_mod. More...
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <string.h>
#include "grid_utils.h"
#include "tree_utils.h"
#include "constant.h"
Go to the source code of this file.
Functions | |
double | avgval_double (int size, const double *data) |
int | clip (const double lon_in[], const double lat_in[], int n_in, double ll_lon, double ll_lat, double ur_lon, double ur_lat, double lon_out[], double lat_out[]) |
int | clip_2dx2d (const double lon1_in[], const double lat1_in[], int n1_in, const double lon2_in[], const double lat2_in[], int n2_in, double lon_out[], double lat_out[]) |
int | clip_2dx2d_great_circle (const double x1_in[], const double y1_in[], const double z1_in[], int n1_in, const double x2_in[], const double y2_in[], const double z2_in[], int n2_in, double x_out[], double y_out[], double z_out[]) |
int | delete_vtx (double x[], double y[], int n, int n_del) |
double | dot (const double *p1, const double *p2) |
void | error_handler (const char *msg) |
int | fix_lon (double x[], double y[], int n, double tlon) |
double | get_global_area (void) |
double | get_global_area_ (void) |
void | get_grid_area (const int *nlon, const int *nlat, const double *lon, const double *lat, double *area) |
void | get_grid_area_ (const int *nlon, const int *nlat, const double *lon, const double *lat, double *area) |
void | get_grid_area_dimensionless (const int *nlon, const int *nlat, const double *lon, const double *lat, double *area) |
void | get_grid_area_no_adjust (const int *nlon, const int *nlat, const double *lon, const double *lat, double *area) |
void | get_grid_area_ug (const int *npts, const double *lon, const double *lat, double *area) |
void | get_grid_area_ug_ (const int *npts, const double *lon, const double *lat, double *area) |
void | get_grid_great_circle_area (const int *nlon, const int *nlat, const double *lon, const double *lat, double *area) |
void | get_grid_great_circle_area_ (const int *nlon, const int *nlat, const double *lon, const double *lat, double *area) |
void | get_grid_great_circle_area_ug (const int *npts, const double *lon, const double *lat, double *area) |
void | get_grid_great_circle_area_ug_ (const int *npts, const double *lon, const double *lat, double *area) |
double | great_circle_area (int n, const double *x, const double *y, const double *z) |
double | great_circle_distance (double *p1, double *p2) |
int | insert_vtx (double x[], double y[], int n, int n_ins, double lon_in, double lat_in) |
int | inside_a_polygon (double *lon1, double *lat1, int *npts, double *lon2, double *lat2) |
int | inside_a_polygon_ (double *lon1, double *lat1, int *npts, double *lon2, double *lat2) |
int | inside_edge (double x0, double y0, double x1, double y1, double x, double y) |
int | intersect_tri_with_line (const double *plane, const double *l1, const double *l2, double *p, double *t) |
int | invert_matrix_3x3 (long double m[], long double m_inv[]) |
void | latlon2xyz (int size, const double *lon, const double *lat, double *x, double *y, double *z) |
int | line_intersect_2D_3D (double *a1, double *a2, double *q1, double *q2, double *q3, double *intersect, double *u_a, double *u_q, int *inbound) |
double | maxval_double (int size, const double *data) |
double | metric (const double *p) |
double | minval_double (int size, const double *data) |
void | mult (long double m[], long double v[], long double out_v[]) |
void | normalize_vect (double *e) |
double | poly_area (const double x[], const double y[], int n) |
double | poly_area_dimensionless (const double x[], const double y[], int n) |
double | poly_area_no_adjust (const double x[], const double y[], int n) |
double | poly_ctrlat (const double x[], const double y[], int n) |
double | poly_ctrlon (const double x[], const double y[], int n, double clon) |
double | spherical_angle (const double *v1, const double *v2, const double *v3) |
double | spherical_excess_area (const double *p_ll, const double *p_ul, const double *p_lr, const double *p_ur, double radius) |
void | unit_vect_latlon (int size, const double *lon, const double *lat, double *vlon, double *vlat) |
void | v_print (double x[], double y[], int n) |
void | vect_cross (const double *p1, const double *p2, double *e) |
void | xyz2latlon (int np, const double *x, const double *y, const double *z, double *lon, double *lat) |
Error handling and other general utilities for mosaic_mod.
Definition in file grid_utils.c.
double avgval_double | ( | int | size, |
const double * | data | ||
) |
Definition at line 93 of file grid_utils.c.
int clip | ( | const double | lon_in[], |
const double | lat_in[], | ||
int | n_in, | ||
double | ll_lon, | ||
double | ll_lat, | ||
double | ur_lon, | ||
double | ur_lat, | ||
double | lon_out[], | ||
double | lat_out[] | ||
) |
Definition at line 929 of file grid_utils.c.
int clip_2dx2d | ( | const double | lon1_in[], |
const double | lat1_in[], | ||
int | n1_in, | ||
const double | lon2_in[], | ||
const double | lat2_in[], | ||
int | n2_in, | ||
double | lon_out[], | ||
double | lat_out[] | ||
) |
Definition at line 1036 of file grid_utils.c.
int clip_2dx2d_great_circle | ( | const double | x1_in[], |
const double | y1_in[], | ||
const double | z1_in[], | ||
int | n1_in, | ||
const double | x2_in[], | ||
const double | y2_in[], | ||
const double | z2_in[], | ||
int | n2_in, | ||
double | x_out[], | ||
double | y_out[], | ||
double | z_out[] | ||
) |
Definition at line 1115 of file grid_utils.c.
int delete_vtx | ( | double | x[], |
double | y[], | ||
int | n, | ||
int | n_del | ||
) |
Definition at line 154 of file grid_utils.c.
double dot | ( | const double * | p1, |
const double * | p2 | ||
) |
Definition at line 346 of file grid_utils.c.
void error_handler | ( | const char * | msg | ) |
Definition at line 41 of file grid_utils.c.
int fix_lon | ( | double | x[], |
double | y[], | ||
int | n, | ||
double | tlon | ||
) |
Definition at line 187 of file grid_utils.c.
double get_global_area | ( | void | ) |
Definition at line 536 of file grid_utils.c.
double get_global_area_ | ( | void | ) |
Definition at line 544 of file grid_utils.c.
void get_grid_area | ( | const int * | nlon, |
const int * | nlat, | ||
const double * | lon, | ||
const double * | lat, | ||
double * | area | ||
) |
Definition at line 727 of file grid_utils.c.
void get_grid_area_ | ( | const int * | nlon, |
const int * | nlat, | ||
const double * | lon, | ||
const double * | lat, | ||
double * | area | ||
) |
Definition at line 722 of file grid_utils.c.
void get_grid_area_dimensionless | ( | const int * | nlon, |
const int * | nlat, | ||
const double * | lon, | ||
const double * | lat, | ||
double * | area | ||
) |
Definition at line 874 of file grid_utils.c.
void get_grid_area_no_adjust | ( | const int * | nlon, |
const int * | nlat, | ||
const double * | lon, | ||
const double * | lat, | ||
double * | area | ||
) |
Definition at line 900 of file grid_utils.c.
void get_grid_area_ug | ( | const int * | npts, |
const double * | lon, | ||
const double * | lat, | ||
double * | area | ||
) |
Definition at line 761 of file grid_utils.c.
void get_grid_area_ug_ | ( | const int * | npts, |
const double * | lon, | ||
const double * | lat, | ||
double * | area | ||
) |
Definition at line 756 of file grid_utils.c.
void get_grid_great_circle_area | ( | const int * | nlon, |
const int * | nlat, | ||
const double * | lon, | ||
const double * | lat, | ||
double * | area | ||
) |
Definition at line 791 of file grid_utils.c.
void get_grid_great_circle_area_ | ( | const int * | nlon, |
const int * | nlat, | ||
const double * | lon, | ||
const double * | lat, | ||
double * | area | ||
) |
Definition at line 785 of file grid_utils.c.
void get_grid_great_circle_area_ug | ( | const int * | npts, |
const double * | lon, | ||
const double * | lat, | ||
double * | area | ||
) |
Definition at line 837 of file grid_utils.c.
void get_grid_great_circle_area_ug_ | ( | const int * | npts, |
const double * | lon, | ||
const double * | lat, | ||
double * | area | ||
) |
Definition at line 831 of file grid_utils.c.
double great_circle_area | ( | int | n, |
const double * | x, | ||
const double * | y, | ||
const double * | z | ||
) |
Definition at line 649 of file grid_utils.c.
double great_circle_distance | ( | double * | p1, |
double * | p2 | ||
) |
Definition at line 266 of file grid_utils.c.
int insert_vtx | ( | double | x[], |
double | y[], | ||
int | n, | ||
int | n_ins, | ||
double | lon_in, | ||
double | lat_in | ||
) |
Definition at line 164 of file grid_utils.c.
int inside_a_polygon | ( | double * | lon1, |
double * | lat1, | ||
int * | npts, | ||
double * | lon2, | ||
double * | lat2 | ||
) |
Definition at line 481 of file grid_utils.c.
int inside_a_polygon_ | ( | double * | lon1, |
double * | lat1, | ||
int * | npts, | ||
double * | lon2, | ||
double * | lat2 | ||
) |
Definition at line 525 of file grid_utils.c.
int inside_edge | ( | double | x0, |
double | y0, | ||
double | x1, | ||
double | y1, | ||
double | x, | ||
double | y | ||
) |
Definition at line 1729 of file grid_utils.c.
int intersect_tri_with_line | ( | const double * | plane, |
const double * | l1, | ||
const double * | l2, | ||
double * | p, | ||
double * | t | ||
) |
Definition at line 404 of file grid_utils.c.
int invert_matrix_3x3 | ( | long double | m[], |
long double | m_inv[] | ||
) |
Definition at line 455 of file grid_utils.c.
void latlon2xyz | ( | int | size, |
const double * | lon, | ||
const double * | lat, | ||
double * | x, | ||
double * | y, | ||
double * | z | ||
) |
Definition at line 111 of file grid_utils.c.
int line_intersect_2D_3D | ( | double * | a1, |
double * | a2, | ||
double * | q1, | ||
double * | q2, | ||
double * | q3, | ||
double * | intersect, | ||
double * | u_a, | ||
double * | u_q, | ||
int * | inbound | ||
) |
Definition at line 1494 of file grid_utils.c.
double maxval_double | ( | int | size, |
const double * | data | ||
) |
Definition at line 56 of file grid_utils.c.
double metric | ( | const double * | p | ) |
Definition at line 354 of file grid_utils.c.
double minval_double | ( | int | size, |
const double * | data | ||
) |
Definition at line 75 of file grid_utils.c.
void mult | ( | long double | m[], |
long double | v[], | ||
long double | out_v[] | ||
) |
Definition at line 445 of file grid_utils.c.
void normalize_vect | ( | double * | e | ) |
Definition at line 358 of file grid_utils.c.
double poly_area | ( | const double | x[], |
const double | y[], | ||
int | n | ||
) |
Definition at line 552 of file grid_utils.c.
double poly_area_dimensionless | ( | const double | x[], |
const double | y[], | ||
int | n | ||
) |
Definition at line 616 of file grid_utils.c.
double poly_area_no_adjust | ( | const double | x[], |
const double | y[], | ||
int | n | ||
) |
Definition at line 584 of file grid_utils.c.
double poly_ctrlat | ( | const double | x[], |
const double | y[], | ||
int | n | ||
) |
Definition at line 1641 of file grid_utils.c.
double poly_ctrlon | ( | const double | x[], |
const double | y[], | ||
int | n, | ||
double | clon | ||
) |
Definition at line 1672 of file grid_utils.c.
double spherical_angle | ( | const double * | v1, |
const double * | v2, | ||
const double * | v3 | ||
) |
Definition at line 290 of file grid_utils.c.
double spherical_excess_area | ( | const double * | p_ll, |
const double * | p_ul, | ||
const double * | p_lr, | ||
const double * | p_ur, | ||
double | radius | ||
) |
Definition at line 682 of file grid_utils.c.
void unit_vect_latlon | ( | int | size, |
const double * | lon, | ||
const double * | lat, | ||
double * | vlon, | ||
double * | vlat | ||
) |
Definition at line 374 of file grid_utils.c.
void v_print | ( | double | x[], |
double | y[], | ||
int | n | ||
) |
Definition at line 178 of file grid_utils.c.
void vect_cross | ( | const double * | p1, |
const double * | p2, | ||
double * | e | ||
) |
Definition at line 331 of file grid_utils.c.
void xyz2latlon | ( | int | np, |
const double * | x, | ||
const double * | y, | ||
const double * | z, | ||
double * | lon, | ||
double * | lat | ||
) |
Definition at line 127 of file grid_utils.c.