ARTS 2.5.0 (git: 9ee3ac6c)
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
39void chk_pnd_data(const GriddedField3& pnd_field_raw,
40 const String& pnd_field_file,
41 const Index& atmosphere_dim,
42 const Verbosity& verbosity);
43
44void chk_pnd_raw_data(const ArrayOfGriddedField3& pnd_field_raw,
45 const String& pnd_field_file,
46 const Index& atmosphere_dim,
47 const Verbosity& verbosity);
48
50 const Index& dim,
51 const ArrayOfGriddedField3& pnd_field_raw,
52 ConstVectorView p_grid,
53 ConstVectorView lat_grid,
54 ConstVectorView lon_grid,
55 const ArrayOfIndex& cloudbox_limits);
56
57void chk_scat_species(const ArrayOfString& scat_species, const String& delim);
58
60 const ArrayOfScatteringMetaData& scat_meta,
61 const Verbosity& verbosity);
62
63void chk_scattering_meta_data(const ScatteringMetaData& scat_meta_single,
64 const String& scat_meta_file,
65 const Verbosity& verbosity);
66
67void chk_scat_data(const SingleScatteringData& scat_data,
68 const Verbosity& verbosity);
69
70bool is_gp_inside_cloudbox(const GridPos& gp_p,
71 const GridPos& gp_lat,
72 const GridPos& gp_lon,
73 const ArrayOfIndex& cloudbox_limits,
74 const bool& include_boundaries,
75 const Index& atmosphere_dim = 3);
76
77bool is_inside_cloudbox(const Ppath& ppath_step,
78 const ArrayOfIndex& cloudbox_limits,
79 const bool include_boundaries);
80
81void bin_quadweights(Vector& w, const Vector& x, const Index& order = 1);
82
83void 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
91void find_cloudlimits(Index& lower,
92 Index& upper,
93 const Tensor3& scat_species_field,
94 const Index& atmosphere_dim,
95 const Numeric& cloudbox_margin);
96
97void parse_atmcompact_speciestype(String& species_type,
98 const String& field_name,
99 const String& delim);
100
101void parse_atmcompact_speciesname(String& species_name,
102 const String& field_name,
103 const String& delim);
104
105void parse_atmcompact_scattype(String& scat_type,
106 const String& field_name,
107 const String& delim);
108
109void parse_partfield_name(String& partfield_name,
110 const String& part_string,
111 const String& delim);
112
113#endif //cloudbox_h
This file contains the definition of Array.
This can be used to make arrays out of anything.
Definition: array.h:107
A constant view of a Vector.
Definition: matpackI.h:489
The Tensor3 class.
Definition: matpackIII.h:339
The Vector class.
Definition: matpackI.h:876
void parse_atmcompact_speciesname(String &species_name, const String &field_name, const String &delim)
Definition: cloudbox.cc:829
void chk_scat_species(const ArrayOfString &scat_species, const String &delim)
Check validity of scat_species setting.
Definition: cloudbox.cc:215
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:607
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:460
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:260
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:666
void bin_quadweights(Vector &w, const Vector &x, const Index &order=1)
Definition: cloudbox.cc:572
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:140
void parse_partfield_name(String &partfield_name, const String &part_string, const String &delim)
Definition: cloudbox.cc:891
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:110
void parse_atmcompact_speciestype(String &species_type, const String &field_name, const String &delim)
Definition: cloudbox.cc:798
bool is_inside_cloudbox(const Ppath &ppath_step, const ArrayOfIndex &cloudbox_limits, const bool include_boundaries)
Definition: cloudbox.cc:540
void parse_atmcompact_scattype(String &scat_type, const String &field_name, const String &delim)
Definition: cloudbox.cc:860
void chk_scattering_data(const ArrayOfSingleScatteringData &scat_data, const ArrayOfScatteringMetaData &scat_meta, const Verbosity &verbosity)
Check scattering data general.
Definition: cloudbox.cc:241
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
void chk_scat_data(const SingleScatteringData &scat_data, const Verbosity &verbosity)
Check single scattering data.
Definition: cloudbox.cc:292
Implementation of gridded fields.
Header file for interpolation.cc.
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:39
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:33
Declarations having to do with the four output streams.
Scattering database structure and functions.
Propagation path structure and functions.
#define w
Structure to store a grid position.
Definition: interpolation.h:73
The structure to describe a propagation path and releated quantities.
Definition: ppath.h:48