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); \ 133 const Vector& psd_size_grid,
134 const Vector& pnd_agenda_input_t,
135 const Matrix& pnd_agenda_input,
169 const Vector& pnd_agenda_input_t,
170 const Matrix& pnd_agenda_input,
174 const Index& species_index,
228 const Vector& psd_size_grid,
229 const Vector& pnd_agenda_input_t,
230 const Matrix& pnd_agenda_input,
294 const String& hydrometeor_type);
313 const Vector& diameter_max,
INDEX Index
The type to use for all integer numbers and indices.
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.
Declarations having to do with the four output streams.
Numeric n0_from_iwc_dm(Numeric iwc, Numeric dm, Numeric rho)
Derives N0star from IWC and Dm.
Header file for interpolation.cc.
This file contains the definition of Array.
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.
void psd_SB06(Vector &psd, Matrix &dpsd, const Vector &mass, const Numeric &N_tot, const Numeric &WC, const String &hydrometeor_type)
void psd_MY05(Vector &psd, Matrix &dpsd, const Vector &diameter_max, const Numeric N_tot, const Numeric WC, const String psd_type)
void psd_cloudice_MH97(Vector &psd, const Vector &diameter, const Numeric &iwc, const Numeric &t, const bool noisy)
The MH97 cloud ice PSD.
NUMERIC Numeric
The type to use for all floating point numbers.
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.
This can be used to make arrays out of anything.
Numeric dm_from_iwc_n0(Numeric iwc, Numeric n0, Numeric rho)
Derives Dm from IWC and N0star.
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...
Numeric n0_from_t(Numeric t)
Sets N0star based on temperature.
Implementation of gridded fields.
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.
Scattering database structure and functions.