FV3 Bundle
interp.h
Go to the documentation of this file.
1 /***********************************************************************
2  * GNU Lesser General Public License
3  *
4  * This file is part of the GFDL Flexible Modeling System (FMS).
5  *
6  * FMS is free software: you can redistribute it and/or modify it under
7  * the terms of the GNU Lesser General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or (at
9  * your option) any later version.
10  *
11  * FMS is distributed in the hope that it will be useful, but WITHOUT
12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14  * for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with FMS. If not, see <http://www.gnu.org/licenses/>.
18  **********************************************************************/
19 #ifndef INTERP_H_
20 #define INTERP_H_
21 /*********************************************************************
22  interp.h
23  This header files contains defition of some interpolation routine (1-D or 2-D).
24  contact: Zhi.Liang@noaa.gov
25 *********************************************************************/
26 void cubic_spline_sp(int size1, int size2, const double *grid1, const double *grid2, const double *data1,
27  double *data2 );
28 
29 void cubic_spline(int size1, int size2, const double *grid1, const double *grid2, const double *data1,
30  double *data2, double yp1, double ypn );
31 
32 void conserve_interp(int nx_src, int ny_src, int nx_dst, int ny_dst, const double *x_src,
33  const double *y_src, const double *x_dst, const double *y_dst,
34  const double *mask_src, const double *data_src, double *data_dst );
35 
36 void conserve_interp_great_circle(int nx_src, int ny_src, int nx_dst, int ny_dst, const double *x_src,
37  const double *y_src, const double *x_dst, const double *y_dst,
38  const double *mask_src, const double *data_src, double *data_dst );
39 
40 void linear_vertical_interp(int nx, int ny, int nk1, int nk2, const double *grid1, const double *grid2,
41  double *data1, double *data2);
42 
43 #endif
void cubic_spline_sp(int size1, int size2, const double *grid1, const double *grid2, const double *data1, double *data2)
Definition: interp.c:45
integer, parameter nx
integer, parameter ny
void conserve_interp(int nx_src, int ny_src, int nx_dst, int ny_dst, const double *x_src, const double *y_src, const double *x_dst, const double *y_dst, const double *mask_src, const double *data_src, double *data_dst)
Definition: interp.c:256
void linear_vertical_interp(int nx, int ny, int nk1, int nk2, const double *grid1, const double *grid2, double *data1, double *data2)
Definition: interp.c:354
void cubic_spline(int size1, int size2, const double *grid1, const double *grid2, const double *data1, double *data2, double yp1, double ypn)
Definition: interp.c:170
void conserve_interp_great_circle(int nx_src, int ny_src, int nx_dst, int ny_dst, const double *x_src, const double *y_src, const double *x_dst, const double *y_dst, const double *mask_src, const double *data_src, double *data_dst)
Definition: interp.c:306