ARTS 2.5.11 (git: 6827797f)
sun.h
Go to the documentation of this file.
1
10#ifndef star_h
11#define star_h
12
13/*===========================================================================
14 === External declarations
15 ===========================================================================*/
16
17
18#include "arts.h"
19#include "gridded_fields.h"
20#include "matpack_concepts.h"
21#include "transmissionmatrix.h"
22#include "energylevelmap.h"
23#include "optproperties.h"
24
25
26class Agenda;
27class Workspace;
28
29/*===========================================================================
30 === structs/classes in sun.h
31 ===========================================================================*/
32
38struct Sun {
42 Matrix spectrum;
44 Numeric radius;
46 Numeric distance;
48 Numeric latitude;
50 Numeric longitude;
51
52 friend std::ostream& operator<<(std::ostream& os, const Sun& sun);
53};
54
55
56
59
60
61/*===========================================================================
62 === Functions in sun.h
63 ===========================================================================*/
64
85 RadiationVector& scattered_sunlight,
86 const Vector& f_grid,
87 const Numeric& p,
88 const Numeric& T,
89 const Vector& vmr,
90 const Matrix& transmitted_sunlight,
91 const Vector& gas_scattering_los_in,
92 const Vector& gas_scattering_los_out,
93 const Agenda& gas_scattering_agenda);
94
108void get_sun_background(Matrix& iy,
109 Index& suns_visible,
110 const ArrayOfSun& suns,
111 const Ppath& ppath,
112 const Vector& f_grid,
113 const Index& stokes_dim,
114 const Index& atmosphere_dim,
115 const Vector& refellipsoid);
116
126void get_sun_radiation(Matrix& iy,
127 Index& suns_visible,
128 const Sun& sun,
129 const Vector& rtp_pos,
130 const Vector& rtp_los,
131 const Vector& refellipsoid);
132
180 ArrayOfMatrix& direct_radiation,
181 ArrayOfArrayOfTensor3& ddirect_radiation_dx,
182 const Index& stokes_dim,
183 const Vector& f_grid,
184 const Index& atmosphere_dim,
185 const Vector& p_grid,
186 const Vector& lat_grid,
187 const Vector& lon_grid,
188 const Tensor3& t_field,
189 const EnergyLevelMap& nlte_field,
190 const Tensor4& vmr_field,
191 const ArrayOfArrayOfSpeciesTag& abs_species,
192 const Tensor3& wind_u_field,
193 const Tensor3& wind_v_field,
194 const Tensor3& wind_w_field,
195 const Tensor3& mag_u_field,
196 const Tensor3& mag_v_field,
197 const Tensor3& mag_w_field,
198 const Index& cloudbox_on,
199 const ArrayOfIndex& cloudbox_limits,
200 const Index& gas_scattering_do,
201 const Index& irradiance_flag,
202 const ArrayOfPpath& sun_ppaths,
203 const ArrayOfSun& suns,
204 const ArrayOfIndex& suns_visible,
205 const Vector& refellipsoid,
206 const Tensor4& pnd_field,
207 const ArrayOfTensor4& dpnd_field_dx,
208 const ArrayOfString& scat_species,
209 const ArrayOfArrayOfSingleScatteringData& scat_data,
210 const Index& jacobian_do,
211 const ArrayOfRetrievalQuantity& jacobian_quantities,
212 const Agenda& propmat_clearsky_agenda,
213 const Agenda& water_p_eq_agenda,
214 const Agenda& gas_scattering_agenda,
215 const Numeric& rte_alonglos_v,
216 const Verbosity& verbosity);
217
242 ArrayOfPpath& sun_ppaths,
243 ArrayOfIndex& suns_visible,
244 ArrayOfVector& sun_rte_los,
245 const Vector& rte_pos,
246 const ArrayOfSun& suns,
247 const Vector& f_grid,
248 const Index& atmosphere_dim,
249 const Vector& p_grid,
250 const Vector& lat_grid,
251 const Vector& lon_grid,
252 const Tensor3& z_field,
253 const Matrix& z_surface,
254 const Vector& refellipsoid,
255 const Numeric& ppath_lmax,
256 const Numeric& ppath_lraytrace,
257 const Agenda& ppath_step_agenda,
258 const Verbosity& verbosity);
259
279Matrix regrid_sun_spectrum(const GriddedField2& sun_spectrum_raw,
280 const Vector &f_grid,
281 const Index &stokes_dim,
282 const Numeric &temperature,
283 const Verbosity &verbosity);
284
285#endif /* star_h */
The global header file for ARTS.
The Agenda class.
Definition: agenda_class.h:52
This can be used to make arrays out of anything.
Definition: array.h:31
Workspace class.
Definition: workspace_ng.h:36
Class to map energy levels.
Implementation of gridded fields.
Scattering database structure and functions.
The structure to describe a propagation path and releated quantities.
Definition: ppath_struct.h:17
Radiation Vector for Stokes dimension 1-4.
The structure to describe a propagation path and releated quantities.
Definition: sun.h:38
String description
Sun description.
Definition: sun.h:40
friend std::ostream & operator<<(std::ostream &os, const Sun &sun)
Definition: sun.cc:35
Matrix spectrum
Sun spectrum, monochrmatic radiance spectrum at the surface of the sun.
Definition: sun.h:42
Numeric latitude
latitude of the sun in the sky of the planet
Definition: sun.h:48
Numeric longitude
longitude of the sun in the sky of the planet
Definition: sun.h:50
Numeric distance
distance from center of planet to center of sun
Definition: sun.h:46
Numeric radius
Sun radius.
Definition: sun.h:44
void get_direct_radiation(Workspace &ws, ArrayOfMatrix &direct_radiation, ArrayOfArrayOfTensor3 &ddirect_radiation_dx, const Index &stokes_dim, const Vector &f_grid, const Index &atmosphere_dim, const Vector &p_grid, const Vector &lat_grid, const Vector &lon_grid, const Tensor3 &t_field, const EnergyLevelMap &nlte_field, const Tensor4 &vmr_field, const ArrayOfArrayOfSpeciesTag &abs_species, const Tensor3 &wind_u_field, const Tensor3 &wind_v_field, const Tensor3 &wind_w_field, const Tensor3 &mag_u_field, const Tensor3 &mag_v_field, const Tensor3 &mag_w_field, const Index &cloudbox_on, const ArrayOfIndex &cloudbox_limits, const Index &gas_scattering_do, const Index &irradiance_flag, const ArrayOfPpath &sun_ppaths, const ArrayOfSun &suns, const ArrayOfIndex &suns_visible, const Vector &refellipsoid, const Tensor4 &pnd_field, const ArrayOfTensor4 &dpnd_field_dx, const ArrayOfString &scat_species, const ArrayOfArrayOfSingleScatteringData &scat_data, const Index &jacobian_do, const ArrayOfRetrievalQuantity &jacobian_quantities, const Agenda &propmat_clearsky_agenda, const Agenda &water_p_eq_agenda, const Agenda &gas_scattering_agenda, const Numeric &rte_alonglos_v, const Verbosity &verbosity)
Calculates the transmitted sun radiation at the end position of the ppath.
Definition: sun.cc:195
void get_sun_ppaths(Workspace &ws, ArrayOfPpath &sun_ppaths, ArrayOfIndex &suns_visible, ArrayOfVector &sun_rte_los, const Vector &rte_pos, const ArrayOfSun &suns, const Vector &f_grid, const Index &atmosphere_dim, const Vector &p_grid, const Vector &lat_grid, const Vector &lon_grid, const Tensor3 &z_field, const Matrix &z_surface, const Vector &refellipsoid, const Numeric &ppath_lmax, const Numeric &ppath_lraytrace, const Agenda &ppath_step_agenda, const Verbosity &verbosity)
Calculates the ppath towards the suns from a given position and indicates if sun is visible or not.
Definition: sun.cc:371
void get_sun_radiation(Matrix &iy, Index &suns_visible, const Sun &sun, const Vector &rtp_pos, const Vector &rtp_los, const Vector &refellipsoid)
Checks and adds sun radiance if sun is in line of sight.
Definition: sun.cc:126
Matrix regrid_sun_spectrum(const GriddedField2 &sun_spectrum_raw, const Vector &f_grid, const Index &stokes_dim, const Numeric &temperature, const Verbosity &verbosity)
regrid_sun_spectrum
Definition: sun.cc:446
void get_scattered_sunsource(Workspace &ws, RadiationVector &scattered_sunlight, const Vector &f_grid, const Numeric &p, const Numeric &T, const Vector &vmr, const Matrix &transmitted_sunlight, const Vector &gas_scattering_los_in, const Vector &gas_scattering_los_out, const Agenda &gas_scattering_agenda)
Calculates the radiance spectrum of sun which is scattered by the atmospheric gases.
Definition: sun.cc:45
void get_sun_background(Matrix &iy, Index &suns_visible, const ArrayOfSun &suns, const Ppath &ppath, const Vector &f_grid, const Index &stokes_dim, const Index &atmosphere_dim, const Vector &refellipsoid)
Gets the sun background for a given ppath.
Definition: sun.cc:96
Stuff related to the transmission matrix.