19 #ifndef CREATE_XGRID_H_ 20 #define CREATE_XGRID_H_ 31 double dist_between_boxes(
const double *x1,
const double *y1,
const double *z1,
int n1,
32 const double *x2,
const double *y2,
const double *z2,
int n2);
34 int inside_edge(
double x0,
double y0,
double x1,
double y1,
double x,
double y);
43 double box_ctrlon(
double ll_lon,
double ll_lat,
double ur_lon,
double ur_lat,
double clon);
45 double box_ctrlat(
double ll_lon,
double ll_lat,
double ur_lon,
double ur_lat);
59 int clip(
const double lon_in[],
const double lat_in[],
int n_in,
double ll_lon,
double ll_lat,
62 int clip_2dx2d(
const double lon1_in[],
const double lat1_in[],
int n1_in,
63 const double lon2_in[],
const double lat2_in[],
int n2_in,
66 int create_xgrid_1dx2d_order1(
const int *nlon_in,
const int *nlat_in,
const int *nlon_out,
const int *nlat_out,
const double *lon_in,
67 const double *lat_in,
const double *
lon_out,
const double *
lat_out,
68 const double *mask_in,
int *i_in,
int *j_in,
int *i_out,
69 int *j_out,
double *xgrid_area);
72 const double *lon_in,
const double *lat_in,
const double *
lon_out,
const double *
lat_out,
73 const double *mask_in,
int *i_in,
int *j_in,
int *i_out,
int *j_out,
double *xgrid_area);
76 const double *lon_in,
const double *lat_in,
const double *
lon_out,
const double *
lat_out,
77 const double *mask_in,
int *i_in,
int *j_in,
int *i_out,
int *j_out,
78 double *xgrid_area,
double *xgrid_clon,
double *xgrid_clat);
81 const double *lon_in,
const double *lat_in,
const double *
lon_out,
const double *
lat_out,
82 const double *mask_in,
int *i_in,
int *j_in,
int *i_out,
int *j_out,
83 double *xgrid_area,
double *xgrid_clon,
double *xgrid_clat);
85 int create_xgrid_2dx1d_order1(
const int *nlon_in,
const int *nlat_in,
const int *nlon_out,
const int *nlat_out,
const double *lon_in,
86 const double *lat_in,
const double *
lon_out,
const double *
lat_out,
87 const double *mask_in,
int *i_in,
int *j_in,
int *i_out,
88 int *j_out,
double *xgrid_area);
91 const double *lon_in,
const double *lat_in,
const double *
lon_out,
const double *
lat_out,
92 const double *mask_in,
int *i_in,
int *j_in,
int *i_out,
93 int *j_out,
double *xgrid_area);
96 const double *lon_in,
const double *lat_in,
const double *
lon_out,
const double *
lat_out,
97 const double *mask_in,
int *i_in,
int *j_in,
int *i_out,
int *j_out,
98 double *xgrid_area,
double *xgrid_clon,
double *xgrid_clat);
101 const double *lon_in,
const double *lat_in,
const double *
lon_out,
const double *
lat_out,
102 const double *mask_in,
int *i_in,
int *j_in,
int *i_out,
int *j_out,
103 double *xgrid_area,
double *xgrid_clon,
double *xgrid_clat);
106 const double *lon_in,
const double *lat_in,
const double *
lon_out,
const double *
lat_out,
107 const double *mask_in,
int *i_in,
int *j_in,
int *i_out,
108 int *j_out,
double *xgrid_area);
111 const double *lon_in,
const double *lat_in,
const double *
lon_out,
const double *
lat_out,
112 const double *mask_in,
int *i_in,
int *j_in,
int *i_out,
int *j_out,
113 double *xgrid_area,
double *xgrid_clon,
double *xgrid_clat);
116 const double x2_in[],
const double y2_in[],
const double z2_in [],
int n2_in,
117 double x_out[],
double y_out[],
double z_out[]);
120 const double *lon_in,
const double *lat_in,
const double *
lon_out,
const double *
lat_out,
121 const double *mask_in,
int *i_in,
int *j_in,
int *i_out,
int *j_out,
122 double *xgrid_area,
double *xgrid_clon,
double *xgrid_clat);
126 const double *lat_in,
const double *
lon_out,
const double *
lat_out,
127 const double *mask_in,
int *i_in,
int *j_in,
int *l_out,
double *xgrid_area);
130 const double *lon_in,
const double *lat_in,
const double *
lon_out,
const double *
lat_out,
131 const double *mask_in,
int *i_in,
int *j_in,
int *l_out,
132 double *xgrid_area,
double *xgrid_clon,
double *xgrid_clat);
140 const double *lon_in,
const double *lat_in,
const double *
lon_out,
const double *
lat_out,
141 const double *mask_in,
int *i_in,
int *j_in,
int *i_out,
142 int *j_out,
double *xgrid_area);
145 const double *lon_in,
const double *lat_in,
const double *
lon_out,
const double *
lat_out,
146 const double *mask_in,
int *i_in,
int *j_in,
int *i_out,
int *j_out,
147 double *xgrid_area,
double *xgrid_clon,
double *xgrid_clat);
150 const double *lat_in,
const double *
lon_out,
const double *
lat_out,
151 const double *mask_in,
int *i_in,
int *j_in,
int *l_out,
double *xgrid_area);
154 const double *lon_in,
const double *lat_in,
const double *
lon_out,
const double *
lat_out,
155 const double *mask_in,
int *i_in,
int *j_in,
int *l_out,
156 double *xgrid_area,
double *xgrid_clon,
double *xgrid_clat);
int create_xgrid_2dx1d_order1_(const int *nlon_in, const int *nlat_in, const int *nlon_out, const int *nlat_out, const double *lon_in, const double *lat_in, const double *lon_out, const double *lat_out, const double *mask_in, int *i_in, int *j_in, int *i_out, int *j_out, double *xgrid_area)
double box_ctrlat(double ll_lon, double ll_lat, double ur_lon, double ur_lat)
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)
double box_ctrlon(double ll_lon, double ll_lat, double ur_lon, double ur_lat, double clon)
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 create_xgrid_2dx2d_order1_(const int *nlon_in, const int *nlat_in, const int *nlon_out, const int *nlat_out, const double *lon_in, const double *lat_in, const double *lon_out, const double *lat_out, const double *mask_in, int *i_in, int *j_in, int *i_out, int *j_out, double *xgrid_area)
int inside_edge(double x0, double y0, double x1, double y1, double x, double y)
real function intersect(x1, y1, x2, y2, x)
real(fvprc), dimension(:), allocatable lon
int create_xgrid_1dx2d_order1_ug(const int *nlon_in, const int *nlat_in, const int *npts_out, const double *lon_in, const double *lat_in, const double *lon_out, const double *lat_out, const double *mask_in, int *i_in, int *j_in, int *l_out, double *xgrid_area)
double dist_between_boxes(const double *x1, const double *y1, const double *z1, int n1, const double *x2, const double *y2, const double *z2, int n2)
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 create_xgrid_1dx2d_order1(const int *nlon_in, const int *nlat_in, const int *nlon_out, const int *nlat_out, const double *lon_in, const double *lat_in, const double *lon_out, const double *lat_out, const double *mask_in, int *i_in, int *j_in, int *i_out, int *j_out, double *xgrid_area)
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 line_intersect_2D_3D(double *a1, double *a2, double *q1, double *q2, double *q3, double *intersect, double *u_a, double *u_q, int *inbound)
real, dimension(1, 1) lon_out
void get_grid_area_ug(const int *npts, const double *lon, const double *lat, double *area)
int create_xgrid_great_circle_ug_(const int *nlon_in, const int *nlat_in, const int *npts_out, const double *lon_in, const double *lat_in, const double *lon_out, const double *lat_out, const double *mask_in, int *i_in, int *j_in, int *l_out, double *xgrid_area, double *xgrid_clon, double *xgrid_clat)
void get_grid_area_ug_(const int *npts, const double *lon, const double *lat, double *area)
integer nlon
No description.
real, dimension(1, 1) lat_out
real, dimension(:,:), allocatable area
int create_xgrid_1dx2d_order2_(const int *nlon_in, const int *nlat_in, const int *nlon_out, const int *nlat_out, const double *lon_in, const double *lat_in, const double *lon_out, const double *lat_out, const double *mask_in, int *i_in, int *j_in, int *i_out, int *j_out, double *xgrid_area, double *xgrid_clon, double *xgrid_clat)
int create_xgrid_2dx1d_order1(const int *nlon_in, const int *nlat_in, const int *nlon_out, const int *nlat_out, const double *lon_in, const double *lat_in, const double *lon_out, const double *lat_out, const double *mask_in, int *i_in, int *j_in, int *i_out, int *j_out, double *xgrid_area)
double poly_ctrlat(const double lon[], const double lat[], int n)
double grid_box_radius(const double *x, const double *y, const double *z, int n)
int create_xgrid_great_circle_ug(const int *nlon_in, const int *nlat_in, const int *npts_out, const double *lon_in, const double *lat_in, const double *lon_out, const double *lat_out, const double *mask_in, int *i_in, int *j_in, int *l_out, double *xgrid_area, double *xgrid_clon, double *xgrid_clat)
int create_xgrid_2dx1d_order2_(const int *nlon_in, const int *nlat_in, const int *nlon_out, const int *nlat_out, const double *lon_in, const double *lat_in, const double *lon_out, const double *lat_out, const double *mask_in, int *i_in, int *j_in, int *i_out, int *j_out, double *xgrid_area, double *xgrid_clon, double *xgrid_clat)
real(fvprc), dimension(:), allocatable lat
double poly_ctrlon(const double lon[], const double lat[], int n, double clon)
type(gsw_result_mpres) n2
integer, parameter, public npts
int create_xgrid_1dx2d_order2(const int *nlon_in, const int *nlat_in, const int *nlon_out, const int *nlat_out, const double *lon_in, const double *lat_in, const double *lon_out, const double *lat_out, const double *mask_in, int *i_in, int *j_in, int *i_out, int *j_out, double *xgrid_area, double *xgrid_clon, double *xgrid_clat)
int create_xgrid_2dx2d_order1(const int *nlon_in, const int *nlat_in, const int *nlon_out, const int *nlat_out, const double *lon_in, const double *lat_in, const double *lon_out, const double *lat_out, const double *mask_in, int *i_in, int *j_in, int *i_out, int *j_out, double *xgrid_area)
int create_xgrid_2dx2d_order2_(const int *nlon_in, const int *nlat_in, const int *nlon_out, const int *nlat_out, const double *lon_in, const double *lat_in, const double *lon_out, const double *lat_out, const double *mask_in, int *i_in, int *j_in, int *i_out, int *j_out, double *xgrid_area, double *xgrid_clon, double *xgrid_clat)
void get_grid_area_dimensionless(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)
int create_xgrid_great_circle(const int *nlon_in, const int *nlat_in, const int *nlon_out, const int *nlat_out, const double *lon_in, const double *lat_in, const double *lon_out, const double *lat_out, const double *mask_in, int *i_in, int *j_in, int *i_out, int *j_out, double *xgrid_area, double *xgrid_clon, double *xgrid_clat)
int create_xgrid_2dx2d_order2(const int *nlon_in, const int *nlat_in, const int *nlon_out, const int *nlat_out, const double *lon_in, const double *lat_in, const double *lon_out, const double *lat_out, const double *mask_in, int *i_in, int *j_in, int *i_out, int *j_out, double *xgrid_area, double *xgrid_clon, double *xgrid_clat)
void get_grid_great_circle_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)
int create_xgrid_1dx2d_order1_(const int *nlon_in, const int *nlat_in, const int *nlon_out, const int *nlat_out, const double *lon_in, const double *lat_in, const double *lon_out, const double *lat_out, const double *mask_in, int *i_in, int *j_in, int *i_out, int *j_out, double *xgrid_area)
void get_grid_area_no_adjust(const int *nlon, const int *nlat, const double *lon, const double *lat, double *area)
integer nlat
No description.
void get_grid_area(const int *nlon, const int *nlat, const double *lon, const double *lat, double *area)
int create_xgrid_2dx1d_order2(const int *nlon_in, const int *nlat_in, const int *nlon_out, const int *nlat_out, const double *lon_in, const double *lat_in, const double *lon_out, const double *lat_out, const double *mask_in, int *i_in, int *j_in, int *i_out, int *j_out, double *xgrid_area, double *xgrid_clon, double *xgrid_clat)
int create_xgrid_1dx2d_order1_ug_(const int *nlon_in, const int *nlat_in, const int *npts_out, const double *lon_in, const double *lat_in, const double *lon_out, const double *lat_out, const double *mask_in, int *i_in, int *j_in, int *l_out, double *xgrid_area)