ARTS 2.5.9 (git: 825fa5f2)
star.h
Go to the documentation of this file.
1/* Copyright (C) 2021
2 Jon Petersen <jon.petersen@studium.uni-hamburg.de>
3 Manfred Brath <manfred.brath@uni-hamburg.de>
4
5 This program is free software; you can redistribute it and/or modify it
6 under the terms of the GNU General Public License as published by the
7 Free Software Foundation; either version 2, or (at your option) any
8 later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
18 USA.
19*/
20
30#ifndef star_h
31#define star_h
32
33/*===========================================================================
34 === External declarations
35 ===========================================================================*/
36
37
38#include "arts.h"
39#include "gridded_fields.h"
40#include "matpack.h"
41#include "transmissionmatrix.h"
42#include "energylevelmap.h"
43#include "optproperties.h"
44
45
46class Agenda;
47class Workspace;
48
49/*===========================================================================
50 === structs/classes in star.h
51 ===========================================================================*/
52
58struct Star {
71
72 friend std::ostream& operator<<(std::ostream& os, const Star& star);
73};
74
75
76
79
80
81/*===========================================================================
82 === Functions in star.h
83 ===========================================================================*/
84
105 RadiationVector& scattered_starlight,
106 const Vector& f_grid,
107 const Numeric& p,
108 const Numeric& T,
109 const Vector& vmr,
110 const Matrix& transmitted_starlight,
111 const Vector& gas_scattering_los_in,
112 const Vector& gas_scattering_los_out,
113 const Agenda& gas_scattering_agenda);
114
129 Index& stars_visible,
130 const ArrayOfStar& stars,
131 const Ppath& ppath,
132 const Vector& f_grid,
133 const Index& stokes_dim,
134 const Index& atmosphere_dim,
135 const Vector& refellipsoid);
136
147 Index& stars_visible,
148 const Star& star,
149 const Vector& rtp_pos,
150 const Vector& rtp_los,
151 const Vector& refellipsoid);
152
200 ArrayOfMatrix& direct_radiation,
201 ArrayOfArrayOfTensor3& ddirect_radiation_dx,
202 const Index& stokes_dim,
203 const Vector& f_grid,
204 const Index& atmosphere_dim,
205 const Vector& p_grid,
206 const Vector& lat_grid,
207 const Vector& lon_grid,
208 const Tensor3& t_field,
209 const EnergyLevelMap& nlte_field,
210 const Tensor4& vmr_field,
211 const ArrayOfArrayOfSpeciesTag& abs_species,
212 const Tensor3& wind_u_field,
213 const Tensor3& wind_v_field,
214 const Tensor3& wind_w_field,
215 const Tensor3& mag_u_field,
216 const Tensor3& mag_v_field,
217 const Tensor3& mag_w_field,
218 const Index& cloudbox_on,
219 const ArrayOfIndex& cloudbox_limits,
220 const Index& gas_scattering_do,
221 const Index& irradiance_flag,
222 const ArrayOfPpath& star_ppaths,
223 const ArrayOfStar& stars,
224 const ArrayOfIndex& stars_visible,
225 const Vector& refellipsoid,
226 const Tensor4& pnd_field,
227 const ArrayOfTensor4& dpnd_field_dx,
228 const ArrayOfString& scat_species,
229 const ArrayOfArrayOfSingleScatteringData& scat_data,
230 const Index& jacobian_do,
231 const ArrayOfRetrievalQuantity& jacobian_quantities,
232 const Agenda& propmat_clearsky_agenda,
233 const Agenda& water_p_eq_agenda,
234 const Agenda& gas_scattering_agenda,
235 const Numeric& rte_alonglos_v,
236 const Verbosity& verbosity);
237
262 ArrayOfPpath& star_ppaths,
263 ArrayOfIndex& stars_visible,
264 ArrayOfVector& star_rte_los,
265 const Vector& rte_pos,
266 const ArrayOfStar& stars,
267 const Vector& f_grid,
268 const Index& atmosphere_dim,
269 const Vector& p_grid,
270 const Vector& lat_grid,
271 const Vector& lon_grid,
272 const Tensor3& z_field,
273 const Matrix& z_surface,
274 const Vector& refellipsoid,
275 const Numeric& ppath_lmax,
276 const Numeric& ppath_lraytrace,
277 const Agenda& ppath_step_agenda,
278 const Verbosity& verbosity);
279
299Matrix regrid_star_spectrum(const GriddedField2& star_spectrum_raw,
300 const Vector &f_grid,
301 const Index &stokes_dim,
302 const Numeric &temperature,
303 const Verbosity &verbosity);
304
305#endif /* star_h */
The global header file for ARTS.
The Agenda class.
Definition: agenda_class.h:69
This can be used to make arrays out of anything.
Definition: array.h:48
The Matrix class.
Definition: matpackI.h:1285
The Tensor3 class.
Definition: matpackIII.h:352
The Tensor4 class.
Definition: matpackIV.h:435
The Vector class.
Definition: matpackI.h:910
Workspace class.
Definition: workspace_ng.h:53
Class to map energy levels.
Implementation of gridded fields.
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:33
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:39
Scattering database structure and functions.
void get_star_background(Matrix &iy, Index &stars_visible, const ArrayOfStar &stars, const Ppath &ppath, const Vector &f_grid, const Index &stokes_dim, const Index &atmosphere_dim, const Vector &refellipsoid)
Gets the star background for a given ppath.
Definition: star.cc:116
Matrix regrid_star_spectrum(const GriddedField2 &star_spectrum_raw, const Vector &f_grid, const Index &stokes_dim, const Numeric &temperature, const Verbosity &verbosity)
regrid_star_spectrum
Definition: star.cc:466
void get_star_radiation(Matrix &iy, Index &stars_visible, const Star &star, const Vector &rtp_pos, const Vector &rtp_los, const Vector &refellipsoid)
Checks and adds star radiance if star is in line of sight.
Definition: star.cc:146
void get_star_ppaths(Workspace &ws, ArrayOfPpath &star_ppaths, ArrayOfIndex &stars_visible, ArrayOfVector &star_rte_los, const Vector &rte_pos, const ArrayOfStar &stars, 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 stars from a given position and indicates if star is visible or not.
Definition: star.cc:391
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 &star_ppaths, const ArrayOfStar &stars, const ArrayOfIndex &stars_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 star radiation at the end position of the ppath.
Definition: star.cc:215
void get_scattered_starsource(Workspace &ws, RadiationVector &scattered_starlight, const Vector &f_grid, const Numeric &p, const Numeric &T, const Vector &vmr, const Matrix &transmitted_starlight, const Vector &gas_scattering_los_in, const Vector &gas_scattering_los_out, const Agenda &gas_scattering_agenda)
Calculates the radiance spectrum of star which is scattered by the atmospheric gases.
Definition: star.cc:65
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: star.h:58
friend std::ostream & operator<<(std::ostream &os, const Star &star)
Definition: star.cc:55
Numeric latitude
latitude of the star in the sky of the planet
Definition: star.h:68
String description
star description
Definition: star.h:60
Numeric radius
Star radius.
Definition: star.h:64
Matrix spectrum
Star spectrum, monochrmatic radiance spectrum at the surface of the star.
Definition: star.h:62
Numeric distance
star distance from center of planet to center of star
Definition: star.h:66
Numeric longitude
longitude of the star in the sky of the planet
Definition: star.h:70
Stuff related to the transmission matrix.