#include "matpackVII.h"
#include "interpolation.h"
#include "optproperties.h"
#include "array.h"
#include "gridded_fields.h"
Go to the source code of this file.
Functions | |
void | chk_if_pnd_zero_p (const Index &i_p, const GField3 &pnd_field_raw, const String &pnd_field_file) |
Check whether particle number density is zero at a specified pressure level. | |
void | chk_if_pnd_zero_lat (const Index &i_lat, const GField3 &pnd_field_raw, const String &pnd_field_file) |
Check whether particle number density is zero at a specified latitude. | |
void | chk_if_pnd_zero_lon (const Index &i_lon, const GField3 &pnd_field_raw, const String &pnd_field_file) |
Check whether particle number density is zero at a specified longitude. | |
void | chk_pnd_data (const GField3 &pnd_field_raw, const String &pnd_field_file, const Index &atmosphere_dim, ConstVectorView p_grid, ConstVectorView lat_grid, ConstVectorView lon_grid, const ArrayOfIndex &cloudbox_limits) |
Check particle number density files. | |
void | chk_pnd_raw_data (const ArrayOfGField3 &pnd_field_raw, const String &pnd_field_file, const Index &atmosphere_dim, ConstVectorView p_grid, ConstVectorView lat_grid, ConstVectorView lon_grid, const ArrayOfIndex &cloudbox_limits) |
Check particle number density files (pnd_field_raw). | |
void | chk_single_scattering_data (const SingleScatteringData &scat_data_raw, const String &scat_data_file, ConstVectorView f_grid) |
Check single scattering data files. | |
void | iy_interp_cloudbox_field (Matrix &iy, const Tensor7 &scat_i_p, const Tensor7 &scat_i_lat, const Tensor7 &scat_i_lon, const Tensor4 &doit_i_field1D_spectrum, const GridPos &rte_gp_p, const GridPos &rte_gp_lat, const GridPos &rte_gp_lon, const Vector &rte_los, const Index &cloudbox_on, const ArrayOfIndex &cloudbox_limits, const Index &atmosphere_dim, const Index &stokes_dim, const Vector &scat_za_grid, const Vector &scat_aa_grid, const Vector &f_grid, const String &interpmeth) |
Interpolation of cloud box intensity field. |
Definition in file cloudbox.h.
void chk_if_pnd_zero_lat | ( | const Index & | i_lat, | |
const GField3 & | pnd_field_raw, | |||
const String & | pnd_field_file | |||
) |
Check whether particle number density is zero at a specified latitude.
i_lat | Latitude index | |
pnd_field_raw | Particle number density data | |
pnd_field_file | pnd field filename |
Definition at line 105 of file cloudbox.cc.
References GField::get_numeric_grid(), GFIELD3_LAT_GRID, GFIELD3_LON_GRID, GFIELD3_P_GRID, ConstVectorView::nelem(), and out1.
Referenced by chk_pnd_data().
void chk_if_pnd_zero_lon | ( | const Index & | i_lon, | |
const GField3 & | pnd_field_raw, | |||
const String & | pnd_field_file | |||
) |
Check whether particle number density is zero at a specified longitude.
i_lon | Latitude index | |
pnd_field_raw | Particle number density data | |
pnd_field_file | pnd field filename |
Definition at line 151 of file cloudbox.cc.
References GField::get_numeric_grid(), GFIELD3_LAT_GRID, GFIELD3_LON_GRID, GFIELD3_P_GRID, ConstVectorView::nelem(), and out1.
Referenced by chk_pnd_data().
void chk_if_pnd_zero_p | ( | const Index & | i_p, | |
const GField3 & | pnd_field_raw, | |||
const String & | pnd_field_file | |||
) |
Check whether particle number density is zero at a specified pressure level.
i_p | Pressure index | |
pnd_field_raw | Particle number density data | |
pnd_field_file | pnd field filename |
Definition at line 59 of file cloudbox.cc.
References GField::get_numeric_grid(), GFIELD3_LAT_GRID, GFIELD3_LON_GRID, GFIELD3_P_GRID, ConstVectorView::nelem(), and out1.
Referenced by chk_pnd_data().
void chk_pnd_data | ( | const GField3 & | pnd_field_raw, | |
const String & | pnd_field_file, | |||
const Index & | atmosphere_dim, | |||
ConstVectorView | p_grid, | |||
ConstVectorView | lat_grid, | |||
ConstVectorView | lon_grid, | |||
const ArrayOfIndex & | cloudbox_limits | |||
) |
Check particle number density files.
This function checks, whether the particle number density file has the right atmospheric dimension and whether the cloudbox includes all points where the particle number density is non-zero.
pnd_field_raw | pnd field data | |
pnd_field_file | pnd field filename | |
atmosphere_dim | Atmospheric dimension | |
p_grid | Pressure grid | |
lat_grid | Latitude grid | |
lon_grid | Longitude grid | |
cloudbox_limits | Cloudbox limits |
Definition at line 207 of file cloudbox.cc.
References chk_if_pnd_zero_lat(), chk_if_pnd_zero_lon(), chk_if_pnd_zero_p(), GField::get_numeric_grid(), GFIELD3_LAT_GRID, GFIELD3_LON_GRID, GFIELD3_P_GRID, ConstVectorView::nelem(), and out3.
Referenced by chk_pnd_raw_data(), and ParticleTypeAdd().
void chk_pnd_raw_data | ( | const ArrayOfGField3 & | pnd_field_raw, | |
const String & | pnd_field_file, | |||
const Index & | atmosphere_dim, | |||
ConstVectorView | p_grid, | |||
ConstVectorView | lat_grid, | |||
ConstVectorView | lon_grid, | |||
const ArrayOfIndex & | cloudbox_limits | |||
) |
Check particle number density files (pnd_field_raw).
pnd_field_raw | pnd field raw data (array for all particle types) | |
pnd_field_file | pnd field filename | |
atmosphere_dim | Atmospheric dimension | |
p_grid | Pressure grid | |
lat_grid | Latitude grid | |
lon_grid | Longitude grid | |
cloudbox_limits | Cloudbox limits |
Definition at line 316 of file cloudbox.cc.
References chk_pnd_data(), Array< base >::nelem(), and out3.
Referenced by ParticleTypeAddAll().
void chk_single_scattering_data | ( | const SingleScatteringData & | scat_data_raw, | |
const String & | scat_data_file, | |||
ConstVectorView | f_grid | |||
) |
Check single scattering data files.
This function checks, whether a datafile containing the single scattering properties of a particle type includes the required frequencies and temperatures and whether the angular grids are defined correctly. Furthermore it checks the self consistency of the data by checking the dimensions of pha_mat, ext_mat and abs_vec depening on the ptype case.
scat_data_raw | Single scattering data | |
scat_data_file | Filename of the data to be checked. | |
f_grid | Frequency grid |
Definition at line 350 of file cloudbox.cc.
References SingleScatteringData::aa_grid, SingleScatteringData::abs_vec_data, chk_size(), SingleScatteringData::ext_mat_data, SingleScatteringData::f_grid, last(), ConstVectorView::nelem(), out2, SingleScatteringData::pha_mat_data, SingleScatteringData::ptype, PTYPE_GENERAL, PTYPE_HORIZ_AL, PTYPE_MACROS_ISO, PTYPE_SPHERICAL, SingleScatteringData::T_grid, and SingleScatteringData::za_grid.
Referenced by ParticleTypeAdd(), and ParticleTypeAddAll().
void iy_interp_cloudbox_field | ( | Matrix & | iy, | |
const Tensor7 & | scat_i_p, | |||
const Tensor7 & | scat_i_lat, | |||
const Tensor7 & | scat_i_lon, | |||
const Tensor4 & | doit_i_field1D_spectrum, | |||
const GridPos & | rte_gp_p, | |||
const GridPos & | rte_gp_lat, | |||
const GridPos & | rte_gp_lon, | |||
const Vector & | rte_los, | |||
const Index & | cloudbox_on, | |||
const ArrayOfIndex & | cloudbox_limits, | |||
const Index & | atmosphere_dim, | |||
const Index & | stokes_dim, | |||
const Vector & | scat_za_grid, | |||
const Vector & | scat_aa_grid, | |||
const Vector & | f_grid, | |||
const String & | interpmeth | |||
) |
Interpolation of cloud box intensity field.
Definition at line 558 of file cloudbox.cc.
References DEBUG_ONLY, fractional_gp(), gridpos(), GridPos::idx, interp(), interp_poly(), interpweights(), is_gridpos_at_index_i(), is_size(), joker, ConstTensor7View::nbooks(), ConstVectorView::nelem(), Array< base >::nelem(), ConstTensor7View::nshelves(), ConstTensor7View::nvitrines(), out3, and Matrix::resize().
Referenced by iyInterpCloudboxField(), and iyInterpPolyCloudboxField().