FMS  2025.01.02-dev
Flexible Modeling System
grid_utils.c File Reference

(e9c5e6753a7201f93c5eff9d51fb52943777c210)

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"
Include dependency graph for grid_utils.c:

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)
 

Detailed Description

Error handling and other general utilities for mosaic_mod.

Definition in file grid_utils.c.