ARTS  2.0.49
special_interp.h
Go to the documentation of this file.
1 /* Copyright (C) 2002-2008 Patrick Eriksson <Patrick.Eriksson@rss.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  Matrix& itw,
73  ArrayOfGridPos& gp_p_out,
74  ArrayOfGridPos& gp_lat_out,
75  ArrayOfGridPos& gp_lon_out,
76  const ArrayOfGridPos& gp_p,
77  const ArrayOfGridPos& gp_lat,
78  const ArrayOfGridPos& gp_lon,
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 interp_gfield3(
110  Numeric& value,
111  const GriddedField3& gfield3,
112  const Index& effective_dim,
113  const Numeric& x,
114  const Numeric& y,
115  const Numeric& z,
116  const String& dim0,
117  const String& dim1,
118  const String& dim2 );
119 
120 void itw2p(
121  VectorView p_values,
122  ConstVectorView p_grid,
123  const ArrayOfGridPos& gp,
124  ConstMatrixView itw );
125 
126 void p2gridpos(
127  ArrayOfGridPos& gp,
128  ConstVectorView old_pgrid,
129  ConstVectorView new_pgrid,
130  const Numeric& extpolfac=0.5 );
131 
132 void p2gridpos_poly(
133  ArrayOfGridPosPoly& gp,
134  ConstVectorView old_pgrid,
135  ConstVectorView new_pgrid,
136  const Index order,
137  const Numeric& extpolfac=0.5 );
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 
156 #endif // special_interp_h
Matrix
The Matrix class.
Definition: matpackI.h:767
gridded_fields.h
Implementation of gridded fields.
interp_atmsurface_by_gp
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
Definition: special_interp.cc:506
interpolation.h
Header file for interpolation.cc.
itw2p
void itw2p(VectorView p_values, ConstVectorView p_grid, const ArrayOfGridPos &gp, ConstMatrixView itw)
itw2p
Definition: special_interp.cc:763
p2gridpos
void p2gridpos(ArrayOfGridPos &gp, ConstVectorView old_pgrid, ConstVectorView new_pgrid, const Numeric &extpolfac=0.5)
p2gridpos
Definition: special_interp.cc:810
interp_atmfield_gp2itw
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
Definition: special_interp.cc:99
interp_gfield3
void interp_gfield3(Numeric &value, const GriddedField3 &gfield3, const Index &effective_dim, const Numeric &x, const Numeric &y, const Numeric &z, const String &dim0, const String &dim1, const String &dim2)
interp_gfield3
Definition: special_interp.cc:581
GriddedField3
Definition: gridded_fields.h:274
interp_cloudfield_gp2itw
void interp_cloudfield_gp2itw(Matrix &itw, ArrayOfGridPos &gp_p_out, ArrayOfGridPos &gp_lat_out, ArrayOfGridPos &gp_lon_out, const ArrayOfGridPos &gp_p, const ArrayOfGridPos &gp_lat, const ArrayOfGridPos &gp_lon, const Index &atmosphere_dim, const ArrayOfIndex &cloudbox_limits)
interp_cloudfield_gp2itw
Definition: special_interp.cc:300
Array< GridPos >
z_at_latlon
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
Definition: special_interp.cc:934
my_basic_string
The implementation for String, the ARTS string class.
Definition: mystring.h:62
VectorView
The VectorView class.
Definition: matpackI.h:373
Numeric
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:33
interpolation_poly.h
Header file for interpolation_poly.cc.
ConstMatrixView
A constant view of a Matrix.
Definition: matpackI.h:591
GridPos
Structure to store a grid position.
Definition: interpolation.h:74
interp_atmfield_by_gp
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
Definition: special_interp.cc:215
ConstTensor3View
A constant view of a Tensor3.
Definition: matpackIII.h:147
interp_atmsurface_by_itw
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
Definition: special_interp.cc:452
z_at_lat_2d
void z_at_lat_2d(VectorView z, ConstVectorView p_grid, ConstVectorView lat_grid, ConstMatrixView z_field, const GridPos &gp_lat)
z_at_lat_2d
Definition: special_interp.cc:882
Index
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:39
interp_atmsurface_gp2itw
void interp_atmsurface_gp2itw(Matrix &itw, const Index &atmosphere_dim, const ArrayOfGridPos &gp_lat, const ArrayOfGridPos &gp_lon)
interp_atmsurface_gp2itw
Definition: special_interp.cc:396
ConstVectorView
A constant view of a Vector.
Definition: matpackI.h:300
p2gridpos_poly
void p2gridpos_poly(ArrayOfGridPosPoly &gp, ConstVectorView old_pgrid, ConstVectorView new_pgrid, const Index order, const Numeric &extpolfac=0.5)
p2gridpos_poly
Definition: special_interp.cc:843
interp_atmfield_by_itw
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
Definition: special_interp.cc:159