Go to the documentation of this file.
45 #define START_OF_PSD_METHODS() \
46 const Index nin = pnd_agenda_input_names.nelem(); \
47 const Index ndx = dpnd_data_dx_names.nelem(); \
48 const Index np = pnd_agenda_input.nrows(); \
49 const Index nsi = psd_size_grid.nelem(); \
50 ArrayOfIndex dx2in(ndx); \
52 if (pnd_agenda_input.ncols() != nin) \
53 throw runtime_error( \
54 "Length of *pnd_agenda_input_names* and number of " \
55 "columns in *pnd_agenda_input* must be equal."); \
58 throw runtime_error( \
59 "The length of *dpnd_data_dx_names* can not " \
60 "exceed the one of *pnd_agenda_input_names*."); \
61 for (Index i = 0; i < ndx; i++) { \
62 dx2in[i] = find_first(pnd_agenda_input_names, dpnd_data_dx_names[i]); \
65 os << "dpnd_data_dx_names[" << i << "] is " << dpnd_data_dx_names[i] \
66 << "\nThis string could not be found in *pnd_agenda_input_names*."; \
67 throw std::runtime_error(os.str()); \
72 psd_data.resize(np, nsi); \
75 dpsd_data_dx.resize(ndx, np, nsi); \
78 dpsd_data_dx.resize(0, 0, 0); \
174 const Index& species_index,
294 const String& hydrometeor_type);
313 const Vector& diameter_max,
Numeric n0_from_t(Numeric t)
Sets N0star based on temperature.
Implementation of gridded fields.
void psd_cloudice_MH97(Vector &psd, const Vector &diameter, const Numeric &iwc, const Numeric &t, const bool noisy)
The MH97 cloud ice PSD.
ArrayOfArrayOfScatteringMetaData scat_meta(Workspace &ws) noexcept
Numeric scat_species_a(Workspace &ws) noexcept
void psd_SB06(Vector &psd, Matrix &dpsd, const Vector &mass, const Numeric &N_tot, const Numeric &WC, const String &hydrometeor_type)
Header file for interpolation.cc.
Vector psd_size_grid(Workspace &ws) noexcept
Numeric n0_from_iwc_dm(Numeric iwc, Numeric dm, Numeric rho)
Derives N0star from IWC and Dm.
void psd_rain_W16(Vector &psd, const Vector &diameter, const Numeric &rwc)
The Wang16 rain DSD DEPRECATED BY NEW MGD_SMM_COMMON Only included for compatibility with "old" pnd_f...
This file contains the definition of Array.
ArrayOfString dpnd_data_dx_names(Workspace &ws) noexcept
void psd_snow_F07(Vector &psd, const Vector &diameter, const Numeric &swc, const Numeric &t, const Numeric alpha, const Numeric beta, const String ®ime)
The F07 snow PSD.
Tensor3 dpsd_data_dx(Workspace &ws) noexcept
Declarations having to do with the four output streams.
Scattering database structure and functions.
NUMERIC Numeric
The type to use for all floating point numbers.
Numeric dm_from_iwc_n0(Numeric iwc, Numeric n0, Numeric rho)
Derives Dm from IWC and N0star.
void psd_mgd_smm_common(Matrix &psd_data, Tensor3 &dpsd_data_dx, const String &psd_name, const Vector &psd_size_grid, const Vector &pnd_agenda_input_t, const Matrix &pnd_agenda_input, const ArrayOfString &pnd_agenda_input_names, const ArrayOfString &dpnd_data_dx_names, const Numeric &scat_species_a, const Numeric &scat_species_b, const Numeric &n_alpha_in, const Numeric &n_b_in, const Numeric &mu_in, const Numeric &gamma_in, const Numeric &t_min, const Numeric &t_max, const Index &picky, const Verbosity &)
Code common to a number of modified gamma PSDs used with single-moment mass schemes.
Numeric scat_species_b(Workspace &ws) noexcept
void psd_mono_common(Matrix &psd_data, Tensor3 &dpsd_data_dx, const String &type, const Vector &pnd_agenda_input_t, const Matrix &pnd_agenda_input, const ArrayOfString &pnd_agenda_input_names, const ArrayOfString &dpnd_data_dx_names, const ArrayOfArrayOfScatteringMetaData &scat_meta, const Index &species_index, const Numeric &t_min, const Numeric &t_max, const Index &picky, const Verbosity &)
Code common to PSDs of mono type.
Propagation path structure and functions.
Vector pnd_agenda_input_t(Workspace &ws) noexcept
ArrayOfString pnd_agenda_input_names(Workspace &ws) noexcept
void psd_mgd_mass_and_something(Matrix &psd_data, Tensor3 &dpsd_data_dx, const String &something, const Vector &psd_size_grid, const Vector &pnd_agenda_input_t, const Matrix &pnd_agenda_input, const ArrayOfString &pnd_agenda_input_names, const ArrayOfString &dpnd_data_dx_names, const Numeric &scat_species_a, const Numeric &scat_species_b, const Numeric &n0, const Numeric &mu, const Numeric &la, const Numeric &ga, const Numeric &t_min, const Numeric &t_max, const Index &picky, const Verbosity &)
Code common to MGD PSD involving the integrated mass.
INDEX Index
The type to use for all integer numbers and indices.
Matrix pnd_agenda_input(Workspace &ws) noexcept
Matrix psd_data(Workspace &ws) noexcept
void psd_MY05(Vector &psd, Matrix &dpsd, const Vector &diameter_max, const Numeric N_tot, const Numeric WC, const String psd_type)