ARTS  2.4.0(git:4fb77825)
cloudbox.h
Go to the documentation of this file.
1 /* Copyright (C) 2002-2012 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 "array.h"
32 #include "gridded_fields.h"
33 #include "interpolation.h"
34 #include "matpackVII.h"
35 #include "messages.h"
36 #include "optproperties.h"
37 #include "ppath.h"
38 
40  const String& pnd_field_file,
41  const Index& atmosphere_dim,
42  const Verbosity& verbosity);
43 
45  const String& pnd_field_file,
46  const Index& atmosphere_dim,
47  const Verbosity& verbosity);
48 
50  const Index& dim,
56 
57 void chk_scat_species(const ArrayOfString& scat_species, const String& delim);
58 
61  const Verbosity& verbosity);
62 
64  const String& scat_meta_file,
65  const Verbosity& verbosity);
66 
68  const Verbosity& verbosity);
69 
70 bool is_gp_inside_cloudbox(const GridPos& gp_p,
71  const GridPos& gp_lat,
72  const GridPos& gp_lon,
74  const bool& include_boundaries,
75  const Index& atmosphere_dim = 3);
76 
79  const bool include_boundaries);
80 
81 void bin_quadweights(Vector& w, const Vector& x, const Index& order = 1);
82 
83 void chk_scat_species_field(bool& empty_flag,
84  const Tensor3& scat_species_field,
85  const String& fieldname,
86  const Index& dim,
87  const Vector& p_grid,
88  const Vector& lat_grid,
89  const Vector& lon_grid);
90 
91 void find_cloudlimits(Index& lower,
92  Index& upper,
93  const Tensor3& scat_species_field,
94  const Index& atmosphere_dim,
95  const Numeric& cloudbox_margin);
96 
97 void parse_atmcompact_speciestype(String& species_type,
98  const String& field_name,
99  const String& delim);
100 
101 void parse_atmcompact_speciesname(String& species_name,
102  const String& field_name,
103  const String& delim);
104 
105 void parse_atmcompact_scattype(String& scat_type,
106  const String& field_name,
107  const String& delim);
108 
109 void parse_partfield_name(String& partfield_name,
110  const String& part_string,
111  const String& delim);
112 
113 #endif //cloudbox_h
ARTS::Var::atmosphere_dim
Index atmosphere_dim(Workspace &ws) noexcept
Definition: autoarts.h:2510
gridded_fields.h
Implementation of gridded fields.
ARTS::Var::ppath_step
Ppath ppath_step(Workspace &ws) noexcept
Definition: autoarts.h:5213
chk_scat_species_field
void chk_scat_species_field(bool &empty_flag, const Tensor3 &scat_species_field, const String &fieldname, const Index &dim, const Vector &p_grid, const Vector &lat_grid, const Vector &lon_grid)
Check whether field of a specific scattering species zero everywhere.
Definition: cloudbox.cc:646
ARTS::Var::scat_meta
ArrayOfArrayOfScatteringMetaData scat_meta(Workspace &ws) noexcept
Definition: autoarts.h:5983
chk_scattering_meta_data
void chk_scattering_meta_data(const ScatteringMetaData &scat_meta_single, const String &scat_meta_file, const Verbosity &verbosity)
Check scattering data meta.
Definition: cloudbox.cc:281
w
Complex w(Complex z) noexcept
The Faddeeva function.
Definition: linefunctions.cc:42
Tensor3
The Tensor3 class.
Definition: matpackIII.h:339
ARTS::Var::lat_grid
Vector lat_grid(Workspace &ws) noexcept
Definition: autoarts.h:3962
interpolation.h
Header file for interpolation.cc.
ARTS::Var::pnd_field_raw
ArrayOfGriddedField3 pnd_field_raw(Workspace &ws) noexcept
Definition: autoarts.h:5105
ARTS::Var::verbosity
Verbosity verbosity(Workspace &ws) noexcept
Definition: autoarts.h:7112
ARTS::Var::cloudbox_limits
ArrayOfIndex cloudbox_limits(Workspace &ws) noexcept
Definition: autoarts.h:2762
parse_partfield_name
void parse_partfield_name(String &partfield_name, const String &part_string, const String &delim)
Definition: cloudbox.cc:944
array.h
This file contains the definition of Array.
Ppath
The structure to describe a propagation path and releated quantities.
Definition: ppath.h:48
GriddedField3
Definition: gridded_fields.h:284
SingleScatteringData
Definition: optproperties.h:80
Array
This can be used to make arrays out of anything.
Definition: array.h:108
messages.h
Declarations having to do with the four output streams.
my_basic_string< char >
ScatteringMetaData
Definition: optproperties.h:109
chk_pnd_field_raw_only_in_cloudbox
void chk_pnd_field_raw_only_in_cloudbox(const Index &dim, const ArrayOfGriddedField3 &pnd_field_raw, ConstVectorView p_grid, ConstVectorView lat_grid, ConstVectorView lon_grid, const ArrayOfIndex &cloudbox_limits)
chk_pnd_field_raw_only_in_cloudbox
Definition: cloudbox.cc:146
ARTS::Var::p_grid
Vector p_grid(Workspace &ws) noexcept
Definition: autoarts.h:4763
optproperties.h
Scattering database structure and functions.
Numeric
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:33
Verbosity
Definition: messages.h:49
ARTS::Var::scat_meta_single
ScatteringMetaData scat_meta_single(Workspace &ws) noexcept
Definition: autoarts.h:6048
chk_pnd_raw_data
void chk_pnd_raw_data(const ArrayOfGriddedField3 &pnd_field_raw, const String &pnd_field_file, const Index &atmosphere_dim, const Verbosity &verbosity)
Check particle number density files (pnd_field_raw)
Definition: cloudbox.cc:116
ARTS::Var::scat_data
ArrayOfArrayOfSingleScatteringData scat_data(Workspace &ws) noexcept
Definition: autoarts.h:5840
ARTS::Var::lon_grid
Vector lon_grid(Workspace &ws) noexcept
Definition: autoarts.h:4090
bin_quadweights
void bin_quadweights(Vector &w, const Vector &x, const Index &order=1)
Definition: cloudbox.cc:611
GridPos
Structure to store a grid position.
Definition: interpolation.h:73
parse_atmcompact_scattype
void parse_atmcompact_scattype(String &scat_type, const String &field_name, const String &delim)
Definition: cloudbox.cc:912
ppath.h
Propagation path structure and functions.
chk_scattering_data
void chk_scattering_data(const ArrayOfSingleScatteringData &scat_data, const ArrayOfScatteringMetaData &scat_meta, const Verbosity &verbosity)
Check scattering data general.
Definition: cloudbox.cc:259
is_inside_cloudbox
bool is_inside_cloudbox(const Ppath &ppath_step, const ArrayOfIndex &cloudbox_limits, const bool include_boundaries)
Definition: cloudbox.cc:579
chk_scat_data
void chk_scat_data(const SingleScatteringData &scat_data, const Verbosity &verbosity)
Check single scattering data.
Definition: cloudbox.cc:313
chk_scat_species
void chk_scat_species(const ArrayOfString &scat_species, const String &delim)
Check validity of scat_species setting.
Definition: cloudbox.cc:230
find_cloudlimits
void find_cloudlimits(Index &lower, Index &upper, const Tensor3 &scat_species_field, const Index &atmosphere_dim, const Numeric &cloudbox_margin)
Adjust uppermost and lowermost cloudy level for one scat_species_*_*_field.
Definition: cloudbox.cc:714
parse_atmcompact_speciestype
void parse_atmcompact_speciestype(String &species_type, const String &field_name, const String &delim)
Definition: cloudbox.cc:848
ARTS::Var::x
Vector x(Workspace &ws) noexcept
Definition: autoarts.h:7346
Index
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:39
ARTS::Var::scat_species
ArrayOfString scat_species(Workspace &ws) noexcept
Definition: autoarts.h:6086
parse_atmcompact_speciesname
void parse_atmcompact_speciesname(String &species_name, const String &field_name, const String &delim)
Definition: cloudbox.cc:880
Vector
The Vector class.
Definition: matpackI.h:860
chk_pnd_data
void chk_pnd_data(const GriddedField3 &pnd_field_raw, const String &pnd_field_file, const Index &atmosphere_dim, const Verbosity &verbosity)
Check particle number density files.
Definition: cloudbox.cc:67
ConstVectorView
A constant view of a Vector.
Definition: matpackI.h:476
matpackVII.h
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, const Index &atmosphere_dim=3)
Definition: cloudbox.cc:499