ARTS  2.3.1285(git:92a29ea9-dirty)
partial_derivatives.h
Go to the documentation of this file.
1 /* Copyright (C) 2015
2  Richard Larsson <ric.larsson@gmail.com>
3 
4  This program is free software; you can redistribute it and/or modify it
5  under the terms of the GNU General Public License as published by the
6  Free Software Foundation; either version 2, or (at your option) any
7  later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program; if not, write to the Free Software
16  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
17  USA. */
18 
27 #ifndef propmatpartials_h
28 #define propmatpartials_h
29 
30 #include "jacobian.h"
31 
85  ArrayOfMatrix& partials_attenuation,
86  ArrayOfMatrix& partials_phase,
87  ArrayOfMatrix& partials_src,
88  const ArrayOfRetrievalQuantity& flag_partials,
89  const ArrayOfIndex& flag_partials_position,
90  ConstVectorView CF_A,
91  ConstVectorView CF_B,
93  ConstVectorView dFa_dF,
94  ConstVectorView dFb_dF,
95  ConstVectorView dFa_dP,
96  ConstVectorView dFb_dP,
97  ConstVectorView f_grid,
98  const Range& this_f_grid,
99  const Numeric& temperature,
100  const Numeric& sigma,
101  const Numeric& K2,
102  const Numeric& dK2_dT,
103  const Numeric& K3,
104  const Numeric& dK3_dT,
105  const Numeric& K4,
106  const Numeric& line_frequency,
107  const Numeric& line_strength,
108  const Numeric& line_temperature,
109  const Numeric& line_E_low,
110  const Numeric& line_E_v_low,
111  const Numeric& line_E_v_upp,
112  const Numeric& line_T_v_low,
113  const Numeric& line_T_v_upp,
114  const Numeric& Y_LM,
115  const Numeric& dY_LM_dT,
116  const Numeric& G_LM,
117  const Numeric& dG_LM_dT,
118  const Numeric& DF_LM,
119  const Numeric& dDF_LM_dT,
120  const QuantumIdentifier& qi,
121  const Index& ind_ls,
122  const Index& ind_lsn,
123  const Numeric& df_0,
124  const Numeric& ddf_0_dT,
125  const Numeric& gamma,
126  const Numeric& dgamma_dT,
127  const Numeric& dQ_dT,
128  const Numeric& DF_Zeeman,
129  const Numeric& H_mag_Zeeman,
130  const bool do_zeeman,
131  const Index& pressure_level_index,
132  const bool do_partials_phase,
133  const bool do_src);
134 
145 bool line_match_line(const QuantumIdentifier& from_jac,
146  const Index& species,
147  const Index& isotopologue,
148  const QuantumNumbers& lower_qn,
149  const QuantumNumbers& upper_qn);
150 
161 void line_match_level(bool& lower_energy_level,
162  bool& upper_energy_level,
163  const QuantumIdentifier& from_jac,
164  const Index& species,
165  const Index& isotopologue,
166  const QuantumNumbers& lower_qn,
167  const QuantumNumbers& upper_qn);
168 
169 #endif
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:39
Routines for setting up the jacobian.
The range class.
Definition: matpackI.h:160
bool line_match_line(const QuantumIdentifier &from_jac, const Index &species, const Index &isotopologue, const QuantumNumbers &lower_qn, const QuantumNumbers &upper_qn)
Does this line match the identifier.
void partial_derivatives_lineshape_dependency(ArrayOfMatrix &partials_attenuation, ArrayOfMatrix &partials_phase, ArrayOfMatrix &partials_src, const ArrayOfRetrievalQuantity &flag_partials, const ArrayOfIndex &flag_partials_position, ConstVectorView CF_A, ConstVectorView CF_B, ConstVectorView C, ConstVectorView dFa_dF, ConstVectorView dFb_dF, ConstVectorView dFa_dP, ConstVectorView dFb_dP, ConstVectorView f_grid, const Range &this_f_grid, const Numeric &temperature, const Numeric &sigma, const Numeric &K2, const Numeric &dK2_dT, const Numeric &K3, const Numeric &dK3_dT, const Numeric &K4, const Numeric &line_frequency, const Numeric &line_strength, const Numeric &line_temperature, const Numeric &line_E_low, const Numeric &line_E_v_low, const Numeric &line_E_v_upp, const Numeric &line_T_v_low, const Numeric &line_T_v_upp, const Numeric &Y_LM, const Numeric &dY_LM_dT, const Numeric &G_LM, const Numeric &dG_LM_dT, const Numeric &DF_LM, const Numeric &dDF_LM_dT, const QuantumIdentifier &qi, const Index &ind_ls, const Index &ind_lsn, const Numeric &df_0, const Numeric &ddf_0_dT, const Numeric &gamma, const Numeric &dgamma_dT, const Numeric &dQ_dT, const Numeric &DF_Zeeman, const Numeric &H_mag_Zeeman, const bool do_zeeman, const Index &pressure_level_index, const bool do_partials_phase, const bool do_src)
Computes all partial derivatives in old method.
Class to identify and match lines by their quantum numbers.
Definition: quantum.h:390
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:33
Container class for Quantum Numbers.
Definition: quantum.h:222
This can be used to make arrays out of anything.
Definition: array.h:40
A constant view of a Vector.
Definition: matpackI.h:476
void line_match_level(bool &lower_energy_level, bool &upper_energy_level, const QuantumIdentifier &from_jac, const Index &species, const Index &isotopologue, const QuantumNumbers &lower_qn, const QuantumNumbers &upper_qn)
Match energy level to the identifier.