ARTS  2.2.66
special_interp.h
Go to the documentation of this file.
1 /* Copyright (C) 2002-2012 Patrick Eriksson <Patrick.Eriksson@chalmers.se>
2 
3  This program is free software; you can redistribute it and/or modify it
4  under the terms of the GNU General Public License as published by the
5  Free Software Foundation; either version 2, or (at your option) any
6  later version.
7 
8  This program is distributed in the hope that it will be useful,
9  but WITHOUT ANY WARRANTY; without even the implied warranty of
10  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  GNU General Public License for more details.
12 
13  You should have received a copy of the GNU General Public License
14  along with this program; if not, write to the Free Software
15  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
16  USA. */
17 
26 #ifndef special_interp_h
27 #define special_interp_h
28 
29 #include "interpolation.h"
30 #include "interpolation_poly.h"
31 #include "gridded_fields.h"
32 
33 
34 
35 
36 /*===========================================================================
37  === Interpolation functions for atmospheric grids, fields and surfaces
38  ===========================================================================*/
39 
41  Matrix& itw,
42  const Index& atmosphere_dim,
43  const ArrayOfGridPos& gp_p,
44  const ArrayOfGridPos& gp_lat,
45  const ArrayOfGridPos& gp_lon );
46 
48  VectorView x,
49  const Index& atmosphere_dim,
50  ConstTensor3View x_field,
51  const ArrayOfGridPos& gp_p,
52  const ArrayOfGridPos& gp_lat,
53  const ArrayOfGridPos& gp_lon,
54  ConstMatrixView itw );
55 
57  VectorView x,
58  const Index& atmosphere_dim,
59  ConstTensor3View x_field,
60  const ArrayOfGridPos& gp_p,
61  const ArrayOfGridPos& gp_lat,
62  const ArrayOfGridPos& gp_lon );
63 
65  const Index& atmosphere_dim,
66  ConstTensor3View x_field,
67  const GridPos& gp_p,
68  const GridPos& gp_lat,
69  const GridPos& gp_lon );
70 
72  VectorView itw,
73  GridPos& gp_p_out,
74  GridPos& gp_lat_out,
75  GridPos& gp_lon_out,
76  const GridPos& gp_p_in,
77  const GridPos& gp_lat_in,
78  const GridPos& gp_lon_in,
79  const Index& atmosphere_dim,
80  const ArrayOfIndex& cloudbox_limits );
81 
83  Matrix& itw,
84  const Index& atmosphere_dim,
85  const ArrayOfGridPos& gp_lat,
86  const ArrayOfGridPos& gp_lon );
87 
89  VectorView x,
90  const Index& atmosphere_dim,
91  ConstMatrixView x_surface,
92  const ArrayOfGridPos& gp_lat,
93  const ArrayOfGridPos& gp_lon,
94  ConstMatrixView itw );
95 
97  VectorView x,
98  const Index& atmosphere_dim,
99  ConstMatrixView x_field,
100  const ArrayOfGridPos& gp_lat,
101  const ArrayOfGridPos& gp_lon );
102 
104  const Index& atmosphere_dim,
105  ConstMatrixView x_field,
106  const GridPos& gp_lat,
107  const GridPos& gp_lon );
108 
109 void itw2p(
110  VectorView p_values,
111  ConstVectorView p_grid,
112  const ArrayOfGridPos& gp,
113  ConstMatrixView itw );
114 
115 void p2gridpos(
116  ArrayOfGridPos& gp,
117  ConstVectorView old_pgrid,
118  ConstVectorView new_pgrid,
119  const Numeric& extpolfac=0.5 );
120 
121 void p2gridpos_poly(
122  ArrayOfGridPosPoly& gp,
123  ConstVectorView old_pgrid,
124  ConstVectorView new_pgrid,
125  const Index order,
126  const Numeric& extpolfac=0.5 );
127 
128 void rte_pos2gridpos(
129  GridPos& gp_p,
130  GridPos& gp_lat,
131  GridPos& gp_lon,
132  const Index& atmosphere_dim,
133  ConstVectorView p_grid,
134  ConstVectorView lat_grid,
135  ConstVectorView lon_grid,
136  ConstTensor3View z_field,
137  ConstVectorView rte_pos );
138 
139 void z_at_lat_2d(
140  VectorView z,
141  ConstVectorView p_grid,
142  ConstVectorView lat_grid,
143  ConstMatrixView z_field,
144  const GridPos& gp_lat );
145 
146 void z_at_latlon(
147  VectorView z,
148  ConstVectorView p_grid,
149  ConstVectorView lat_grid,
150  ConstVectorView lon_grid,
151  ConstTensor3View z_field,
152  const GridPos& gp_lat,
153  const GridPos& gp_lon );
154 
155 void complex_n_interp(
156  MatrixView n_real,
157  MatrixView n_imag,
158  const GriddedField3& complex_n,
159  const String& varname,
160  ConstVectorView f_grid,
161  ConstVectorView t_grid );
162 
163 #endif // special_interp_h
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:35
The VectorView class.
Definition: matpackI.h:372
void z_at_latlon(VectorView z, ConstVectorView p_grid, ConstVectorView lat_grid, ConstVectorView lon_grid, ConstTensor3View z_field, const GridPos &gp_lat, const GridPos &gp_lon)
z_at_latlon
void rte_pos2gridpos(GridPos &gp_p, GridPos &gp_lat, GridPos &gp_lon, const Index &atmosphere_dim, ConstVectorView p_grid, ConstVectorView lat_grid, ConstVectorView lon_grid, ConstTensor3View z_field, ConstVectorView rte_pos)
rte_pos2gridpos
The MatrixView class.
Definition: matpackI.h:679
void complex_n_interp(MatrixView n_real, MatrixView n_imag, const GriddedField3 &complex_n, const String &varname, ConstVectorView f_grid, ConstVectorView t_grid)
complex_n_interp
void interp_atmfield_by_gp(VectorView x, const Index &atmosphere_dim, ConstTensor3View x_field, const ArrayOfGridPos &gp_p, const ArrayOfGridPos &gp_lat, const ArrayOfGridPos &gp_lon)
interp_atmfield_by_gp
void interp_cloudfield_gp2itw(VectorView itw, GridPos &gp_p_out, GridPos &gp_lat_out, GridPos &gp_lon_out, const GridPos &gp_p_in, const GridPos &gp_lat_in, const GridPos &gp_lon_in, const Index &atmosphere_dim, const ArrayOfIndex &cloudbox_limits)
interp_cloudfield_gp2itw
Header file for interpolation.cc.
void interp_atmsurface_gp2itw(Matrix &itw, const Index &atmosphere_dim, const ArrayOfGridPos &gp_lat, const ArrayOfGridPos &gp_lon)
interp_atmsurface_gp2itw
Structure to store a grid position.
Definition: interpolation.h:74
The implementation for String, the ARTS string class.
Definition: mystring.h:63
void p2gridpos(ArrayOfGridPos &gp, ConstVectorView old_pgrid, ConstVectorView new_pgrid, const Numeric &extpolfac=0.5)
p2gridpos
void interp_atmsurface_by_gp(VectorView x, const Index &atmosphere_dim, ConstMatrixView x_field, const ArrayOfGridPos &gp_lat, const ArrayOfGridPos &gp_lon)
interp_atmsurface_by_gp
void p2gridpos_poly(ArrayOfGridPosPoly &gp, ConstVectorView old_pgrid, ConstVectorView new_pgrid, const Index order, const Numeric &extpolfac=0.5)
p2gridpos_poly
void interp_atmsurface_by_itw(VectorView x, const Index &atmosphere_dim, ConstMatrixView x_surface, const ArrayOfGridPos &gp_lat, const ArrayOfGridPos &gp_lon, ConstMatrixView itw)
interp_atmsurface_by_itw
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:29
The Matrix class.
Definition: matpackI.h:788
void z_at_lat_2d(VectorView z, ConstVectorView p_grid, ConstVectorView lat_grid, ConstMatrixView z_field, const GridPos &gp_lat)
z_at_lat_2d
Header file for interpolation_poly.cc.
void interp_atmfield_gp2itw(Matrix &itw, const Index &atmosphere_dim, const ArrayOfGridPos &gp_p, const ArrayOfGridPos &gp_lat, const ArrayOfGridPos &gp_lon)
interp_atmfield_gp2itw
void itw2p(VectorView p_values, ConstVectorView p_grid, const ArrayOfGridPos &gp, ConstMatrixView itw)
itw2p
A constant view of a Tensor3.
Definition: matpackIII.h:139
A constant view of a Vector.
Definition: matpackI.h:292
void interp_atmfield_by_itw(VectorView x, const Index &atmosphere_dim, ConstTensor3View x_field, const ArrayOfGridPos &gp_p, const ArrayOfGridPos &gp_lat, const ArrayOfGridPos &gp_lon, ConstMatrixView itw)
interp_atmfield_by_itw
A constant view of a Matrix.
Definition: matpackI.h:596
Implementation of gridded fields.