ARTS  2.4.0(git:4fb77825)
disort.h
Go to the documentation of this file.
1 /* Copyright (C) 2006-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 
27 #ifndef disort_h
28 #define disort_h
29 
30 #include "agenda_class.h"
31 #include "matpackIV.h"
32 #include "mystring.h"
33 #include "optproperties.h"
34 
52 void check_disort_input( // Input
53  const Index& cloudbox_on,
54  const Index& atmfields_checked,
55  const Index& atmgeom_checked,
56  const Index& cloudbox_checked,
57  const Index& scat_data_checked,
58  const Index& atmosphere_dim,
59  const Index& stokes_dim,
63  const Index& nstreams,
64  const String& pfct_method);
65 
79 void init_ifield( // Output
81  // Input
82  const Vector& f_grid,
84  const Index& nang,
85  const Index& stokes_dim);
86 
107 void get_disortsurf_props( // Output
108  Vector& albedo,
109  Numeric& btemp,
110  // Input
112  const Numeric& surface_skin_t,
114 
150 void run_cdisort(Workspace& ws,
151  // Output
153  // Input
156  ConstVectorView z_profile,
157  const Numeric& z_surface,
158  ConstVectorView t_profile,
159  ConstMatrixView vmr_profiles,
160  ConstMatrixView pnd_profiles,
164  const Numeric& surface_skin_t,
167  const Index& nstreams,
168  const Index& Npfct,
169  const Index& quiet,
170  const Verbosity& verbosity);
171 
187 void get_gasoptprop(Workspace& ws,
188  MatrixView ext_bulk_gas,
190  ConstVectorView t_profile,
191  ConstMatrixView vmr_profiles,
194 
212 void get_paroptprop(MatrixView ext_bulk_par,
213  MatrixView abs_bulk_par,
215  ConstMatrixView pnd_profiles,
216  ConstVectorView t_profile,
220 
237 void get_dtauc_ssalb(MatrixView dtauc,
238  MatrixView ssalb,
239  ConstMatrixView ext_bulk_gas,
240  ConstMatrixView ext_bulk_par,
241  ConstMatrixView abs_bulk_par,
242  ConstVectorView z_profile);
243 
259 void get_angs(Vector& pfct_angs,
261  const Index& Npfct);
262 
287 void get_parZ(Tensor3& pha_bulk_par,
289  ConstMatrixView pnd_profiles,
290  ConstVectorView t_profile,
291  ConstVectorView pfct_angs,
293 
309 void get_pfct(Tensor3& pfct_bulk_par,
310  ConstTensor3View& pha_bulk_par,
311  ConstMatrixView ext_bulk_par,
312  ConstMatrixView abs_bulk_par,
314 
329 void get_pmom(Tensor3View pmom,
330  ConstTensor3View pfct_bulk_par,
331  ConstVectorView pfct_angs,
332  const Index& Nlegendre);
333 
357 void reduced_1datm(Vector& p,
358  Vector& z,
359  Vector& t,
360  Matrix& vmr,
361  Matrix& pnd,
362  ArrayOfIndex& cboxlims,
363  Index& ncboxremoved,
365  ConstVectorView z_profile,
366  const Numeric& z_surface,
367  ConstVectorView t_profile,
368  ConstMatrixView vmr_profiles,
369  ConstMatrixView pnd_profiles,
371 
388 void surf_albedoCalc(Workspace& ws,
389  //Output
390  VectorView albedo,
391  Numeric& btemp,
392  //Input
395  ConstVectorView scat_za_grid,
396  const Numeric& surf_alt,
397  const Verbosity& verbosity);
398 #endif /* disort_h */
Matrix
The Matrix class.
Definition: matpackI.h:1193
ARTS::Var::atmosphere_dim
Index atmosphere_dim(Workspace &ws) noexcept
Definition: autoarts.h:2510
MatrixView
The MatrixView class.
Definition: matpackI.h:1093
ARTS::Var::atmgeom_checked
Index atmgeom_checked(Workspace &ws) noexcept
Definition: autoarts.h:2489
Tensor3
The Tensor3 class.
Definition: matpackIII.h:339
run_cdisort
void run_cdisort(Workspace &ws, Tensor7 &cloudbox_field, ConstVectorView f_grid, ConstVectorView p_grid, ConstVectorView z_profile, const Numeric &z_surface, ConstVectorView t_profile, ConstMatrixView vmr_profiles, ConstMatrixView pnd_profiles, const ArrayOfArrayOfSingleScatteringData &scat_data, const Agenda &propmat_clearsky_agenda, const ArrayOfIndex &cloudbox_limits, const Numeric &surface_skin_t, const Vector &surface_scalar_reflectivity, ConstVectorView za_grid, const Index &nstreams, const Index &Npfct, const Index &quiet, const Verbosity &verbosity)
Calculate doit_i_feild with Disort.
Definition: disort.cc:769
ARTS::Var::verbosity
Verbosity verbosity(Workspace &ws) noexcept
Definition: autoarts.h:7112
init_ifield
void init_ifield(Tensor7 &cloudbox_field, const Vector &f_grid, const ArrayOfIndex &cloudbox_limits, const Index &nang, const Index &stokes_dim)
init_ifield.
Definition: disort.cc:207
get_pmom
void get_pmom(Tensor3View pmom, ConstTensor3View pfct_bulk_par, ConstVectorView pfct_angs, const Index &Nlegendre)
get_pmom
Definition: disort.cc:551
ARTS::Var::cloudbox_limits
ArrayOfIndex cloudbox_limits(Workspace &ws) noexcept
Definition: autoarts.h:2762
check_disort_input
void check_disort_input(const Index &cloudbox_on, const Index &atmfields_checked, const Index &atmgeom_checked, const Index &cloudbox_checked, const Index &scat_data_checked, const Index &atmosphere_dim, const Index &stokes_dim, const ArrayOfIndex &cloudbox_limits, const ArrayOfArrayOfSingleScatteringData &scat_data, ConstVectorView za_grid, const Index &nstreams, const String &pfct_method)
check_disort_input.
Definition: disort.cc:55
ARTS::Var::stokes_dim
Index stokes_dim(Workspace &ws) noexcept
Definition: autoarts.h:6650
ARTS::Var::surface_rtprop_agenda
Agenda surface_rtprop_agenda(Workspace &ws) noexcept
Definition: autoarts.h:6807
Agenda
The Agenda class.
Definition: agenda_class.h:44
matpackIV.h
reduced_1datm
void reduced_1datm(Vector &p, Vector &z, Vector &t, Matrix &vmr, Matrix &pnd, ArrayOfIndex &cboxlims, Index &ncboxremoved, ConstVectorView p_grid, ConstVectorView z_profile, const Numeric &z_surface, ConstVectorView t_profile, ConstMatrixView vmr_profiles, ConstMatrixView pnd_profiles, const ArrayOfIndex &cloudbox_limits)
reduced_1datm
Definition: disort.cc:693
Tensor3View
The Tensor3View class.
Definition: matpackIII.h:239
Array
This can be used to make arrays out of anything.
Definition: array.h:108
agenda_class.h
Declarations for agendas.
my_basic_string< char >
VectorView
The VectorView class.
Definition: matpackI.h:610
ARTS::Var::atmfields_checked
Index atmfields_checked(Workspace &ws) noexcept
Definition: autoarts.h:2473
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
get_dtauc_ssalb
void get_dtauc_ssalb(MatrixView dtauc, MatrixView ssalb, ConstMatrixView ext_bulk_gas, ConstMatrixView ext_bulk_par, ConstMatrixView abs_bulk_par, ConstVectorView z_profile)
get_dtauc_ssalb
Definition: disort.cc:396
ARTS::Var::surface_scalar_reflectivity
Vector surface_scalar_reflectivity(Workspace &ws) noexcept
Definition: autoarts.h:6864
surf_albedoCalc
void surf_albedoCalc(Workspace &ws, VectorView albedo, Numeric &btemp, const Agenda &surface_rtprop_agenda, ConstVectorView f_grid, ConstVectorView scat_za_grid, const Numeric &surf_alt, const Verbosity &verbosity)
Surface albed.
Definition: disort.cc:960
ARTS::Var::f_grid
Vector f_grid(Workspace &ws) noexcept
Definition: autoarts.h:3449
get_gasoptprop
void get_gasoptprop(Workspace &ws, MatrixView ext_bulk_gas, const Agenda &propmat_clearsky_agenda, ConstVectorView t_profile, ConstMatrixView vmr_profiles, ConstVectorView p_grid, ConstVectorView f_grid)
get_gasoptprop.
Definition: disort.cc:268
get_parZ
void get_parZ(Tensor3 &pha_bulk_par, const ArrayOfArrayOfSingleScatteringData &scat_data, ConstMatrixView pnd_profiles, ConstVectorView t_profile, ConstVectorView pfct_angs, const ArrayOfIndex &cloudbox_limits)
get_parZ.
Definition: disort.cc:464
ARTS::Var::scat_data
ArrayOfArrayOfSingleScatteringData scat_data(Workspace &ws) noexcept
Definition: autoarts.h:5840
ARTS::Var::za_grid
Vector za_grid(Workspace &ws) noexcept
Definition: autoarts.h:7771
ConstMatrixView
A constant view of a Matrix.
Definition: matpackI.h:982
get_angs
void get_angs(Vector &pfct_angs, const ArrayOfArrayOfSingleScatteringData &scat_data, const Index &Npfct)
get_angs.
Definition: disort.cc:432
ARTS::Var::scat_data_checked
Index scat_data_checked(Workspace &ws) noexcept
Definition: autoarts.h:5850
Workspace
Workspace class.
Definition: workspace_ng.h:40
ConstTensor3View
A constant view of a Tensor3.
Definition: matpackIII.h:132
ARTS::Var::cloudbox_field
Tensor7 cloudbox_field(Workspace &ws) noexcept
Definition: autoarts.h:2676
ARTS::Var::propmat_clearsky_agenda
Agenda propmat_clearsky_agenda(Workspace &ws) noexcept
Definition: autoarts.h:5405
Index
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:39
get_disortsurf_props
void get_disortsurf_props(Vector &albedo, Numeric &btemp, ConstVectorView f_grid, const Numeric &surface_skin_t, ConstVectorView surface_scalar_reflectivity)
get_disortsurf_props.
Definition: disort.cc:223
ARTS::Var::surface_skin_t
Numeric surface_skin_t(Workspace &ws) noexcept
Definition: autoarts.h:6877
Vector
The Vector class.
Definition: matpackI.h:860
ConstVectorView
A constant view of a Vector.
Definition: matpackI.h:476
ARTS::Var::cloudbox_checked
Index cloudbox_checked(Workspace &ws) noexcept
Definition: autoarts.h:2650
ARTS::Var::z_surface
Matrix z_surface(Workspace &ws) noexcept
Definition: autoarts.h:7754
mystring.h
This file contains the definition of String, the ARTS string class.
Tensor7
The Tensor7 class.
Definition: matpackVII.h:2382
ARTS::Var::cloudbox_on
Index cloudbox_on(Workspace &ws) noexcept
Definition: autoarts.h:2782
get_paroptprop
void get_paroptprop(MatrixView ext_bulk_par, MatrixView abs_bulk_par, const ArrayOfArrayOfSingleScatteringData &scat_data, ConstMatrixView pnd_profiles, ConstVectorView t_profile, ConstVectorView p_grid, const ArrayOfIndex &cloudbox_limits, ConstVectorView f_grid)
get_paroptprop.
get_pfct
void get_pfct(Tensor3 &pfct_bulk_par, ConstTensor3View &pha_bulk_par, ConstMatrixView ext_bulk_par, ConstMatrixView abs_bulk_par, const ArrayOfIndex &cloudbox_limits)
get_pfct.
Definition: disort.cc:516