ARTS 2.5.11 (git: 725533f0)
disort.h
Go to the documentation of this file.
1
12#ifndef disort_h
13#define disort_h
14
15#include "agenda_class.h"
16#include "matpack_data.h"
17#include "mystring.h"
18#include "optproperties.h"
19#include "sun.h"
20
21
31void add_normed_phase_functions(Tensor3View pftc1,
32 const MatrixView& sca1,
33 const MatrixView& pftc2,
34 const MatrixView& sca2);
35
52void 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,
60 const ArrayOfIndex& cloudbox_limits,
62 ConstVectorView za_grid,
63 const Index& nstreams);
64
80 const Index& atmfields_checked,
81 const Index& atmgeom_checked,
82 const Index& scat_data_checked,
83 const Index& atmosphere_dim,
84 const Index& stokes_dim,
86 const Index& nstreams);
87
102void init_ifield( // Output
103 Tensor7& cloudbox_field,
104 // Input
105 const Vector& f_grid,
106 const ArrayOfIndex& cloudbox_limits,
107 const Index& n_za,
108 const Index& n_aa,
109 const Index& stokes_dim);
110
131void get_disortsurf_props( // Output
132 Vector& albedo,
133 Numeric& btemp,
134 // Input
135 ConstVectorView f_grid,
136 const Numeric& surface_skin_t,
137 ConstVectorView surface_scalar_reflectivity);
138
189void run_cdisort(Workspace& ws,
190 Tensor7& cloudbox_field,
191 ArrayOfMatrix& disort_aux,
192 ConstVectorView f_grid,
193 ConstVectorView p_grid,
194 ConstVectorView z_profile,
195 const Numeric& z_surface,
196 ConstVectorView t_profile,
197 ConstMatrixView vmr_profiles,
198 ConstMatrixView pnd_profiles,
199 const ArrayOfArrayOfSingleScatteringData& scat_data,
200 const ArrayOfSun& suns,
201 const Agenda& propmat_clearsky_agenda,
202 const Agenda& gas_scattering_agenda,
203 const ArrayOfIndex& cloudbox_limits,
204 const Numeric& surface_skin_t,
205 const Vector& surface_scalar_reflectivity,
206 ConstVectorView za_grid,
207 ConstVectorView aa_grid,
208 ConstVectorView sun_rte_los,
209 const Index& gas_scattering_do,
210 const Index& suns_do,
211 const ArrayOfString& disort_aux_vars,
212 const Numeric& scale_factor,
213 const Index& nstreams,
214 const Index& Npfct,
215 const Index& only_tro,
216 const Index& quiet,
217 const Index& emission,
218 const Index& intensity_correction,
219 const Verbosity& verbosity);
220
270 Tensor5& spectral_irradiance_field,
271 ArrayOfMatrix& disort_aux,
272 ConstVectorView f_grid,
273 ConstVectorView p_grid,
274 ConstVectorView z_profile,
275 const Numeric& z_surface,
276 ConstVectorView t_profile,
277 ConstMatrixView vmr_profiles,
278 ConstMatrixView pnd_profiles,
279 const ArrayOfArrayOfSingleScatteringData& scat_data,
280 const ArrayOfSun& suns,
281 const Agenda& propmat_clearsky_agenda,
282 const Agenda& gas_scattering_agenda,
283 const ArrayOfIndex& cloudbox_limits,
284 const Numeric& surface_skin_t,
285 const Vector& surface_scalar_reflectivity,
286 ConstVectorView sun_rte_los,
287 const Index& gas_scattering_do,
288 const Index& suns_do,
289 const ArrayOfString& disort_aux_vars,
290 const Numeric& scale_factor,
291 const Index& nstreams,
292 const Index& Npfct,
293 const Index& only_tro,
294 const Index& quiet,
295 const Index& emission,
296 const Index& intensity_correction,
297 const Verbosity& verbosity);
298
315 MatrixView ext_bulk_gas,
316 const Agenda& propmat_clearsky_agenda,
317 ConstVectorView t_profile,
318 ConstMatrixView vmr_profiles,
319 ConstVectorView p_grid,
320 ConstVectorView f_grid);
321
341 MatrixView sca_coeff_gas,
342 MatrixView sca_coeff_gas_level,
343 MatrixView pfct_gas,
344 const ConstVectorView& f_grid,
345 const VectorView& p,
346 const VectorView& t,
347 const MatrixView& vmr,
348 const Agenda& gas_scattering_agenda);
349
367void get_paroptprop(MatrixView ext_bulk_par,
368 MatrixView abs_bulk_par,
369 const ArrayOfArrayOfSingleScatteringData& scat_data,
370 ConstMatrixView pnd_profiles,
371 ConstVectorView t_profile,
372 ConstVectorView DEBUG_ONLY(p_grid),
373 const ArrayOfIndex& cloudbox_limits,
374 const Index f_index);
375
392void get_dtauc_ssalb(MatrixView dtauc,
393 MatrixView ssalb,
394 ConstMatrixView ext_bulk_gas,
395 ConstMatrixView ext_bulk_par,
396 ConstMatrixView abs_bulk_par,
397 ConstVectorView z_profile);
398
414void get_angs(Vector& pfct_angs,
415 const ArrayOfArrayOfSingleScatteringData& scat_data,
416 const Index& Npfct);
417
442void get_parZ(Tensor3& pha_bulk_par,
443 const ArrayOfArrayOfSingleScatteringData& scat_data,
444 ConstMatrixView pnd_profiles,
445 ConstVectorView t_profile,
446 ConstVectorView pfct_angs,
447 const ArrayOfIndex& cloudbox_limits,
448 const Index f_index);
449
465void get_pfct(Tensor3& pfct_bulk_par,
466 ConstTensor3View pha_bulk_par,
467 ConstMatrixView ext_bulk_par,
468 ConstMatrixView abs_bulk_par,
469 const ArrayOfIndex& cloudbox_limits);
470
485void get_pmom(Tensor3View pmom,
486 ConstTensor3View pfct_bulk_par,
487 ConstVectorView pfct_angs,
488 const Index& Nlegendre);
489
501void get_scat_bulk_layer(MatrixView sca_bulk_layer,
502 const MatrixView& ext_bulk,
503 const MatrixView& abs_bulk);
504
528void reduced_1datm(Vector& p,
529 Vector& z,
530 Vector& t,
531 Matrix& vmr,
532 Matrix& pnd,
533 ArrayOfIndex& cboxlims,
534 Index& ncboxremoved,
535 ConstVectorView p_grid,
536 ConstVectorView z_profile,
537 const Numeric& z_surface,
538 ConstVectorView t_profile,
539 ConstMatrixView vmr_profiles,
540 ConstMatrixView pnd_profiles,
541 const ArrayOfIndex& cloudbox_limits);
542
562 //Output
563 VectorView albedo,
564 Numeric& btemp,
565 //Input
566 const Agenda& surface_rtprop_agenda,
567 ConstVectorView f_grid,
568 ConstVectorView scat_za_grid,
569 const Numeric& surf_alt,
570 const Verbosity& verbosity);
571
591 //Output
592 VectorView albedo,
593 Numeric& btemp,
594 //Input
595 const Agenda& surface_rtprop_agenda,
596 ConstVectorView f_grid,
597 const Numeric& surf_alt,
598 const Numeric& inc_angle);
599
600#endif /* disort_h */
Declarations for agendas.
The Agenda class.
Workspace class.
#define DEBUG_ONLY(...)
Definition debug.h:55
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)
surf_albedoCalc
Definition disort.cc:1836
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:637
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:856
void run_cdisort(Workspace &ws, Tensor7 &cloudbox_field, ArrayOfMatrix &disort_aux, 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 ArrayOfSun &suns, const Agenda &propmat_clearsky_agenda, const Agenda &gas_scattering_agenda, const ArrayOfIndex &cloudbox_limits, const Numeric &surface_skin_t, const Vector &surface_scalar_reflectivity, ConstVectorView za_grid, ConstVectorView aa_grid, ConstVectorView sun_rte_los, const Index &gas_scattering_do, const Index &suns_do, const ArrayOfString &disort_aux_vars, const Numeric &scale_factor, const Index &nstreams, const Index &Npfct, const Index &only_tro, const Index &quiet, const Index &emission, const Index &intensity_correction, const Verbosity &verbosity)
Calculate doit_i_field with Disort including a sun source.
Definition disort.cc:932
void get_gas_scattering_properties(Workspace &ws, MatrixView sca_coeff_gas, MatrixView sca_coeff_gas_level, MatrixView pfct_gas, const ConstVectorView &f_grid, const VectorView &p, const VectorView &t, const MatrixView &vmr, const Agenda &gas_scattering_agenda)
get_gas_scattering_properties
Definition disort.cc:375
void run_cdisort_flux(Workspace &ws, Tensor5 &spectral_irradiance_field, ArrayOfMatrix &disort_aux, 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 ArrayOfSun &suns, const Agenda &propmat_clearsky_agenda, const Agenda &gas_scattering_agenda, const ArrayOfIndex &cloudbox_limits, const Numeric &surface_skin_t, const Vector &surface_scalar_reflectivity, ConstVectorView sun_rte_los, const Index &gas_scattering_do, const Index &suns_do, const ArrayOfString &disort_aux_vars, const Numeric &scale_factor, const Index &nstreams, const Index &Npfct, const Index &only_tro, const Index &quiet, const Index &emission, const Index &intensity_correction, const Verbosity &verbosity)
Calculate spectral_irradiance_field with Disort including a sun source.
Definition disort.cc:1371
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:286
void get_paroptprop(MatrixView ext_bulk_par, MatrixView abs_bulk_par, const ArrayOfArrayOfSingleScatteringData &scat_data, ConstMatrixView pnd_profiles, ConstVectorView t_profile, ConstVectorView DEBUG_ONLY(p_grid), const ArrayOfIndex &cloudbox_limits, const Index f_index)
get_paroptprop.
Definition disort.cc:438
void get_scat_bulk_layer(MatrixView sca_bulk_layer, const MatrixView &ext_bulk, const MatrixView &abs_bulk)
get_scat_bulk_layer
Definition disort.cc:758
void surf_albedoCalcSingleAngle(Workspace &ws, VectorView albedo, Numeric &btemp, const Agenda &surface_rtprop_agenda, ConstVectorView f_grid, const Numeric &surf_alt, const Numeric &inc_angle)
surf_albedoCalcSingleAngle
Definition disort.cc:2016
void check_disort_irradiance_input(const Index &atmfields_checked, const Index &atmgeom_checked, const Index &scat_data_checked, const Index &atmosphere_dim, const Index &stokes_dim, const ArrayOfArrayOfSingleScatteringData &scat_data, const Index &nstreams)
check_disort_input.
Definition disort.cc:202
void get_parZ(Tensor3 &pha_bulk_par, const ArrayOfArrayOfSingleScatteringData &scat_data, ConstMatrixView pnd_profiles, ConstVectorView t_profile, ConstVectorView pfct_angs, const ArrayOfIndex &cloudbox_limits, const Index f_index)
get_parZ.
Definition disort.cc:584
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:510
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)
check_disort_input.
Definition disort.cc:76
void init_ifield(Tensor7 &cloudbox_field, const Vector &f_grid, const ArrayOfIndex &cloudbox_limits, const Index &n_za, const Index &n_aa, const Index &stokes_dim)
init_ifield.
Definition disort.cc:269
void get_angs(Vector &pfct_angs, const ArrayOfArrayOfSingleScatteringData &scat_data, const Index &Npfct)
get_angs.
Definition disort.cc:552
void get_pmom(Tensor3View pmom, ConstTensor3View pfct_bulk_par, ConstVectorView pfct_angs, const Index &Nlegendre)
get_pmom
Definition disort.cc:672
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:331
void add_normed_phase_functions(Tensor3View pftc1, const MatrixView &sca1, const MatrixView &pftc2, const MatrixView &sca2)
add_normed_phase_functions
Definition disort.cc:52
This file contains the definition of String, the ARTS string class.
Scattering database structure and functions.
Declaration of functions in star.cc.