ARTS  2.0.49
cloudbox.h
Go to the documentation of this file.
1 /* Copyright (C) 2002-2008 Claudia Emde <claudia.emde@dlr.de>
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 */
18 
28 #ifndef cloudbox_h
29 #define cloudbox_h
30 
31 #include "matpackVII.h"
32 #include "interpolation.h"
33 #include "optproperties.h"
34 #include "array.h"
35 #include "gridded_fields.h"
36 #include "ppath.h"
37 #include "messages.h"
38 
39 void chk_if_pnd_zero_p (const Index& i_p,
40  const GriddedField3& pnd_field_raw,
41  const String& pnd_field_file,
42  const Verbosity& verbosity);
43 
44 void chk_if_pnd_zero_lat (const Index& i_lat,
45  const GriddedField3& pnd_field_raw,
46  const String& pnd_field_file,
47  const Verbosity& verbosity);
48 
49 void chk_if_pnd_zero_lon (const Index& i_lon,
50  const GriddedField3& pnd_field_raw,
51  const String& pnd_field_file,
52  const Verbosity& verbosity);
53 
54 void chk_pnd_data (const GriddedField3& pnd_field_raw,
55  const String& pnd_field_file,
56  const Index& atmosphere_dim,
57  ConstVectorView p_grid,
58  ConstVectorView lat_grid,
59  ConstVectorView lon_grid,
60  const ArrayOfIndex& cloudbox_limits,
61  const Verbosity& verbosity);
62 
63 void chk_pnd_raw_data (const ArrayOfGriddedField3& pnd_field_raw,
64  const String& pnd_field_file,
65  const Index& atmosphere_dim,
66  ConstVectorView p_grid,
67  ConstVectorView lat_grid,
68  ConstVectorView lon_grid,
69  const ArrayOfIndex& cloudbox_limits,
70  const Verbosity& verbosity);
71 
72 void chk_scattering_data (const ArrayOfSingleScatteringData& scat_data_raw,
73  const ArrayOfScatteringMetaData& scat_data_meta_array,
74  const Verbosity& verbosity);
75 
76 void chk_scattering_meta_data (const ScatteringMetaData& scat_data_meta,
77  const String& scat_data_meta_file,
78  const Verbosity& verbosity);
79 
80 void chk_single_scattering_data (const SingleScatteringData& scat_data_raw,
81  const String& scat_data_file,
82  ConstVectorView f_grid,
83  const Verbosity& verbosity);
84 
85 bool is_gp_inside_cloudbox (const GridPos& gp_p,
86  const GridPos& gp_lat,
87  const GridPos& gp_lon,
88  const ArrayOfIndex& cloudbox_limits,
89  const bool include_boundaries);
90 
91 bool is_inside_cloudbox (const Ppath& ppath_step,
92  const ArrayOfIndex& cloudbox_limits,
93  const bool include_boundaries);
94 
95 
97  const Numeric& dh);
98 
99 Numeric IWCtopnd_MH97 (const Numeric iwc,
100  Numeric dm,
101  const Numeric t,
102  const Numeric density);
103 
104 Numeric psd_H11 (const Numeric xwc,
105  const Numeric d,
106  const Numeric t);
107 
108 Numeric LWCtopnd (const Numeric lwc,
109  //const Numeric density,
110  const Numeric r);
111 
112 // ONLY FOR TESTING PURPOSES
113 Numeric LWCtopnd2 (//const Numeric density,
114  const Numeric r);
115 
116 
117 void scale_pnd (Vector& w,
118  const Vector& x,
119  const Vector& y);
120 
121 void chk_pndsum (Vector& pnd,
122  const Numeric xwc,
123  const Vector& vol,
124  const Vector& density,
125  const Index& p,
126  const Index& lat,
127  const Index& lon,
128  const Verbosity& verbosity);
129 
130 void scale_H11 (Vector& pnd,
131  const Numeric xwc,
132  const Vector& density,
133  const Vector& vol);
134 
135 void chk_massdensity_field(bool& x,
136  const Index& dim,
137  const Tensor3& massdensity,
138  const Vector& p_grid,
139  const Vector& lat_grid,
140  const Vector& lon_grid);
141 
142 void parse_part_type (String& part_type,
143  const String& part_string);
144 
145 void parse_psd_param (String& psd_param,
146  const String& part_string);
147 
148 void parse_part_size (Numeric& sizemin,
149  Numeric& sizemax,
150  const String& part_string);
151 
152 #endif //cloudbox_h
153 
chk_pnd_raw_data
void chk_pnd_raw_data(const ArrayOfGriddedField3 &pnd_field_raw, const String &pnd_field_file, const Index &atmosphere_dim, ConstVectorView p_grid, ConstVectorView lat_grid, ConstVectorView lon_grid, const ArrayOfIndex &cloudbox_limits, const Verbosity &verbosity)
Check particle number density files (pnd_field_raw)
Definition: cloudbox.cc:394
gridded_fields.h
Implementation of gridded fields.
is_gp_inside_cloudbox
bool is_gp_inside_cloudbox(const GridPos &gp_p, const GridPos &gp_lat, const GridPos &gp_lon, const ArrayOfIndex &cloudbox_limits, const bool include_boundaries)
Definition: cloudbox.cc:689
chk_single_scattering_data
void chk_single_scattering_data(const SingleScatteringData &scat_data_raw, const String &scat_data_file, ConstVectorView f_grid, const Verbosity &verbosity)
Check single scattering data files.
Definition: cloudbox.cc:486
scale_H11
void scale_H11(Vector &pnd, const Numeric xwc, const Vector &density, const Vector &vol)
Definition: cloudbox.cc:1158
IWCtopnd_MH97
Numeric IWCtopnd_MH97(const Numeric iwc, Numeric dm, const Numeric t, const Numeric density)
Definition: cloudbox.cc:828
Tensor3
The Tensor3 class.
Definition: matpackIII.h:340
psd_H11
Numeric psd_H11(const Numeric xwc, const Numeric d, const Numeric t)
Definition: cloudbox.cc:927
barometric_heightformula
Numeric barometric_heightformula(const Numeric &p, const Numeric &dh)
Definition: cloudbox.cc:786
interpolation.h
Header file for interpolation.cc.
chk_massdensity_field
void chk_massdensity_field(bool &x, const Index &dim, const Tensor3 &massdensity, const Vector &p_grid, const Vector &lat_grid, const Vector &lon_grid)
Check whether hydromet grid size is equal to atmospheric grid size and if hydromet profile is zero (n...
Definition: cloudbox.cc:62
parse_part_size
void parse_part_size(Numeric &sizemin, Numeric &sizemax, const String &part_string)
Definition: cloudbox.cc:1270
array.h
This file contains the definition of Array.
Ppath
The structure to describe a propagation path and releated quantities.
Definition: ppath.h:59
chk_if_pnd_zero_lon
void chk_if_pnd_zero_lon(const Index &i_lon, const GriddedField3 &pnd_field_raw, const String &pnd_field_file, const Verbosity &verbosity)
Check whether particle number density is zero at a specified longitude.
Definition: cloudbox.cc:227
GriddedField3
Definition: gridded_fields.h:274
SingleScatteringData
Structure which describes the single scattering properties of a.
Definition: optproperties.h:74
chk_pndsum
void chk_pndsum(Vector &pnd, const Numeric xwc, const Vector &vol, const Vector &density, const Index &p, const Index &lat, const Index &lon, const Verbosity &verbosity)
Definition: cloudbox.cc:1080
Array< Index >
chk_pnd_data
void chk_pnd_data(const GriddedField3 &pnd_field_raw, const String &pnd_field_file, const Index &atmosphere_dim, ConstVectorView p_grid, ConstVectorView lat_grid, ConstVectorView lon_grid, const ArrayOfIndex &cloudbox_limits, const Verbosity &verbosity)
Check particle number density files.
Definition: cloudbox.cc:283
chk_scattering_meta_data
void chk_scattering_meta_data(const ScatteringMetaData &scat_data_meta, const String &scat_data_meta_file, const Verbosity &verbosity)
Check scattering data meta files.
Definition: cloudbox.cc:454
messages.h
Declarations having to do with the four output streams.
parse_part_type
void parse_part_type(String &part_type, const String &part_string)
Definition: cloudbox.cc:1205
my_basic_string
The implementation for String, the ARTS string class.
Definition: mystring.h:62
ScatteringMetaData
Definition: optproperties.h:99
optproperties.h
Scattering database structure and functions.
chk_scattering_data
void chk_scattering_data(const ArrayOfSingleScatteringData &scat_data_raw, const ArrayOfScatteringMetaData &scat_data_meta_array, const Verbosity &verbosity)
Check scattering data general.
Definition: cloudbox.cc:427
Numeric
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:33
Verbosity
Definition: messages.h:50
LWCtopnd
Numeric LWCtopnd(const Numeric lwc, const Numeric r)
Definition: cloudbox.cc:983
parse_psd_param
void parse_psd_param(String &psd_param, const String &part_string)
Definition: cloudbox.cc:1240
chk_if_pnd_zero_lat
void chk_if_pnd_zero_lat(const Index &i_lat, const GriddedField3 &pnd_field_raw, const String &pnd_field_file, const Verbosity &verbosity)
Check whether particle number density is zero at a specified latitude.
Definition: cloudbox.cc:181
GridPos
Structure to store a grid position.
Definition: interpolation.h:74
ppath.h
Propagation path structure and functions.
LWCtopnd2
Numeric LWCtopnd2(const Numeric r)
Definition: cloudbox.cc:1008
is_inside_cloudbox
bool is_inside_cloudbox(const Ppath &ppath_step, const ArrayOfIndex &cloudbox_limits, const bool include_boundaries)
Definition: cloudbox.cc:764
chk_if_pnd_zero_p
void chk_if_pnd_zero_p(const Index &i_p, const GriddedField3 &pnd_field_raw, const String &pnd_field_file, const Verbosity &verbosity)
Check whether particle number density is zero at a specified pressure level.
Definition: cloudbox.cc:135
scale_pnd
void scale_pnd(Vector &w, const Vector &x, const Vector &y)
Definition: cloudbox.cc:1040
Index
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:39
Vector
The Vector class.
Definition: matpackI.h:555
ConstVectorView
A constant view of a Vector.
Definition: matpackI.h:300
matpackVII.h