icemc
|
Ice thicknesses and water depth. More...
#include <icemodel.hh>
Public Member Functions | |
void | IceENtoLonLat (int e, int n, double &lon, double &lat) |
void | GroundENtoLonLat (int e, int n, double &lon, double &lat) |
void | WaterENtoLonLat (int e, int n, double &lon, double &lat) |
IceModel (int model=0, int earth_mode=0, int WEIGHTABSORPTION_SETTING=1) | |
virtual | ~IceModel () |
double | IceThickness (double lon, double lat) |
double | IceThickness (const Position &pos) |
double | Surface (double lon, double lat) |
double | Surface (const Position &pos) |
double | SurfaceAboveGeoid (double lon, double lat) |
double | SurfaceAboveGeoid (const Position &pos) |
double | WaterDepth (double lon, double lat) |
double | WaterDepth (const Position &pos) |
Position | PickInteractionLocation (int ibnposition, Settings *settings1, const Position &rbn, Interaction *interaction1) |
Position | PickBalloonPosition () |
void | GetMAXHORIZON (Balloon *bn1) |
int | RossIceShelf (const Position &position) |
int | IceOnWater (const Position &postition) |
int | RossExcept (const Position &position) |
int | RonneIceShelf (const Position &position) |
int | WestLand (const Position &pos) |
int | AcceptableRfexit (const Vector &nsurf_rfexit, const Position &rfexit, const Vector &n_exit2rx) |
double | GetBalloonPositionWeight (int ibnpos) |
int | OutsideAntarctica (const Position &pos) |
int | OutsideAntarctica (double lat) |
int | WhereDoesItEnterIce (const Position &posnu, const Vector &nnu, double stepsize, Position &r_enterice) |
int | WhereDoesItExitIce (const Position &posnu, const Vector &nnu, double stepsize, Position &r_enterice) |
int | WhereDoesItExitIceForward (const Position &posnu, const Vector &nnu, double stepsize, Position &r_enterice) |
void | CreateCartesianTopAndBottom (int resolution, bool force_new=false) |
const TH2 * | GetCartesianTop () const |
const TH2 * | GetCartesianBottom () const |
bool | CartesianIsInIce (double x, double y, double z) |
int | GetIceIntersectionsCartesian (const Position &posnu, const Vector &nnu, std::vector< std::pair< double, double > > &intersections, double initial_step_size=50, int map_resolution=1000) |
void | CreateHorizons (Settings *settings1, Balloon *bn1, double theta_bn, double phi_bn, double altitude_bn, ofstream &foutput) |
Vector | GetSurfaceNormal (const Position &r_out) |
double | GetN (double depth) |
double | GetN (const Position &pos) |
double | EffectiveAttenuationLength (Settings *settings1, const Position &pos, const int &whichray) |
void | FillArraysforTree (double lon_ground[1068][869], double lat_ground[1068][869], double lon_ice[1200][1000], double lat_ice[1200][1000], double lon_water[1200][1000], double lat_water[1200][1000]) |
int | PickUnbiased (Interaction *interaction1, double len_int_kgm2, double &position_weight, double chord_step, Vector *force_dir=0) |
int | PickUnbiasedPointSourceNearBalloon (Interaction *interaction1, const Position *balloon_position, double max_ps_distance, double chord_step, double len_int_kgm2, const Vector *force_dir=0) |
double | getSampleX () const |
double | getSampleY () const |
void | LonLattoEN (double lon, double lat, double &E, double &N) |
![]() | |
EarthModel (int model=0, int WEIGHTABSORPTION_SETTING=1) | |
virtual | ~EarthModel () |
virtual double | Geoid (double latitude) |
virtual double | Geoid (const Position &pos) |
virtual int | InFirn (const Position &pos) |
virtual double | SurfaceDeepIce (const Position &pos) |
virtual double | RockSurface (double lon, double lat) |
virtual double | RockSurface (const Position &pos) |
double | GetDensity (double altitude, const Position earth_in, int &crust_entered, bool *inice=0) |
int | Getchord (Settings *settings1, double len_int_kgm2, const Position &earth_in, double distance_in_ice, bool include_ice_absorption, const Position &posnu, int inu, double &chord, double &probability_tmp, double &weight1_tmp, double &nearthlayers, double myair, double &total_kgm2, int &crust_entered, int &mantle_entered, int &core_entered) |
Vector | GetSurfaceNormal (const Position &r_out) |
void | EarthCurvature (double *array, double depth_temp) |
Position | WhereDoesItEnter (const Position &posnu, const Vector &nnu) |
int | GeoidIntersection (Vector x0, Vector p0, Position *int1, Position *int2, double extra_height=5500, double *ds=0) const |
Public Attributes | |
TH2D | h_ice_thickness |
TH2D | h_ground_elevation |
TH2D | h_water_depth |
double | bedmap_R |
double | bedmap_nu |
int | nCols_ice |
int | nRows_ice |
int | cellSize |
int | xLowerLeft_ice |
int | yLowerLeft_ice |
int | nCols_ground |
int | nRows_ground |
int | xLowerLeft_ground |
int | yLowerLeft_ground |
int | nCols_water |
int | nRows_water |
int | xLowerLeft_water |
int | yLowerLeft_water |
int | NODATA |
vector< double > | volume_inhorizon |
![]() | |
double | radii [3] |
double | volume |
double | ice_area |
double | max_icevol_perbin |
double | max_icethk_perbin |
Protected Member Functions | |
double | Area (double latitude) |
void | ENtoLonLat (int e_coord, int n_coord, double xLowerLeft, double yLowerLeft, double &lon, double &lat) |
void | ReadIceThickness () |
void | ReadGroundBed () |
void | ReadWaterDepth () |
![]() | |
void | ReadCrust (string) |
double | SmearPhi (int ilon, double rand) |
double | SmearTheta (int ilat, double rand) |
double | dGetTheta (int itheta) |
double | dGetPhi (int ilon) |
void | GetILonILat (const Position &, int &ilon, int &ilat) |
double | GetLat (double theta) |
double | GetLon (double phi) |
Vector | PickPosnuForaLonLat (double lon, double lat, double theta, double phi) |
Private Attributes | |
double | d_sheetup [N_sheetup] |
double | l_sheetup [N_sheetup] |
double | d_shelfup [N_shelfup] |
double | l_shelfup [N_shelfup] |
double | d_westlandup [N_westlandup] |
double | l_westlandup [N_westlandup] |
double | d_sheetdown [N_sheetup] |
double | l_sheetdown [N_sheetdown] |
double | d_shelfdown [N_shelfdown] |
double | l_shelfdown [N_shelfdown] |
double | d_westlanddown [N_westlanddown] |
double | l_westlanddown [N_westlanddown] |
Static Private Attributes | |
static const int | N_sheetup =2810 |
static const int | N_shelfup =420 |
static const int | N_westlandup =420 |
static const int | N_sheetdown =2810 |
static const int | N_shelfdown =420 |
static const int | N_westlanddown =420 |
Additional Inherited Members | |
![]() | |
static double | LongtoPhi_0isPrimeMeridian (double longitude) |
static double | LongtoPhi_0is180thMeridian (double longitude) |
![]() | |
static constexpr double | R_EARTH =6.378140E6 |
![]() | |
static constexpr int | getchord_method =2 |
static const double | GEOID_MAX |
static const double | GEOID_MIN |
static const double | COASTLINE |
static constexpr int | NLON =180 |
static constexpr int | NLAT =90 |
static constexpr int | NPHI =180 |
static const double | MAXTHETA |
static const int | ILAT_COASTLINE |
Ice thicknesses and water depth.
IceModel::IceModel | ( | int | model = 0 , |
int | earth_mode = 0 , |
||
int | WEIGHTABSORPTION_SETTING = 1 |
||
) |
|
virtual |
int IceModel::AcceptableRfexit | ( | const Vector & | nsurf_rfexit, |
const Position & | rfexit, | ||
const Vector & | n_exit2rx | ||
) |
|
protected |
bool IceModel::CartesianIsInIce | ( | double | x, |
double | y, | ||
double | z | ||
) |
void IceModel::CreateCartesianTopAndBottom | ( | int | resolution, |
bool | force_new = false |
||
) |
void IceModel::CreateHorizons | ( | Settings * | settings1, |
Balloon * | bn1, | ||
double | theta_bn, | ||
double | phi_bn, | ||
double | altitude_bn, | ||
ofstream & | foutput | ||
) |
double IceModel::EffectiveAttenuationLength | ( | Settings * | settings1, |
const Position & | pos, | ||
const int & | whichray | ||
) |
|
protected |
void IceModel::FillArraysforTree | ( | double | lon_ground[1068][869], |
double | lat_ground[1068][869], | ||
double | lon_ice[1200][1000], | ||
double | lat_ice[1200][1000], | ||
double | lon_water[1200][1000], | ||
double | lat_water[1200][1000] | ||
) |
double IceModel::GetBalloonPositionWeight | ( | int | ibnpos | ) |
|
inline |
|
inline |
int IceModel::GetIceIntersectionsCartesian | ( | const Position & | posnu, |
const Vector & | nnu, | ||
std::vector< std::pair< double, double > > & | intersections, | ||
double | initial_step_size = 50 , |
||
int | map_resolution = 1000 |
||
) |
void IceModel::GetMAXHORIZON | ( | Balloon * | bn1 | ) |
double IceModel::GetN | ( | double | depth | ) |
double IceModel::GetN | ( | const Position & | pos | ) |
|
inline |
|
inline |
void IceModel::GroundENtoLonLat | ( | int | e, |
int | n, | ||
double & | lon, | ||
double & | lat | ||
) |
void IceModel::IceENtoLonLat | ( | int | e, |
int | n, | ||
double & | lon, | ||
double & | lat | ||
) |
int IceModel::IceOnWater | ( | const Position & | postition | ) |
|
virtual |
Reimplemented from EarthModel.
|
virtual |
Reimplemented from EarthModel.
void IceModel::LonLattoEN | ( | double | lon, |
double | lat, | ||
double & | E, | ||
double & | N | ||
) |
int IceModel::OutsideAntarctica | ( | const Position & | pos | ) |
int IceModel::OutsideAntarctica | ( | double | lat | ) |
Position IceModel::PickBalloonPosition | ( | ) |
Position IceModel::PickInteractionLocation | ( | int | ibnposition, |
Settings * | settings1, | ||
const Position & | rbn, | ||
Interaction * | interaction1 | ||
) |
int IceModel::PickUnbiased | ( | Interaction * | interaction1, |
double | len_int_kgm2, | ||
double & | position_weight, | ||
double | chord_step, | ||
Vector * | force_dir = 0 |
||
) |
int IceModel::PickUnbiasedPointSourceNearBalloon | ( | Interaction * | interaction1, |
const Position * | balloon_position, | ||
double | max_ps_distance, | ||
double | chord_step, | ||
double | len_int_kgm2, | ||
const Vector * | force_dir = 0 |
||
) |
|
protected |
|
protected |
|
protected |
int IceModel::RonneIceShelf | ( | const Position & | position | ) |
int IceModel::RossExcept | ( | const Position & | position | ) |
int IceModel::RossIceShelf | ( | const Position & | position | ) |
|
virtual |
Reimplemented from EarthModel.
|
virtual |
Reimplemented from EarthModel.
|
virtual |
Reimplemented from EarthModel.
|
virtual |
Reimplemented from EarthModel.
|
virtual |
Reimplemented from EarthModel.
|
virtual |
Reimplemented from EarthModel.
void IceModel::WaterENtoLonLat | ( | int | e, |
int | n, | ||
double & | lon, | ||
double & | lat | ||
) |
int IceModel::WestLand | ( | const Position & | pos | ) |
int IceModel::WhereDoesItEnterIce | ( | const Position & | posnu, |
const Vector & | nnu, | ||
double | stepsize, | ||
Position & | r_enterice | ||
) |
int IceModel::WhereDoesItExitIce | ( | const Position & | posnu, |
const Vector & | nnu, | ||
double | stepsize, | ||
Position & | r_enterice | ||
) |
int IceModel::WhereDoesItExitIceForward | ( | const Position & | posnu, |
const Vector & | nnu, | ||
double | stepsize, | ||
Position & | r_enterice | ||
) |
double IceModel::bedmap_nu |
double IceModel::bedmap_R |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
int IceModel::cellSize |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
protected |
|
protected |
TH2D IceModel::h_ground_elevation |
TH2D IceModel::h_ice_thickness |
TH2D IceModel::h_water_depth |
|
protected |
|
protected |
|
protected |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
protected |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
int IceModel::nCols_ground |
int IceModel::nCols_ice |
int IceModel::nCols_water |
int IceModel::NODATA |
|
protected |
int IceModel::nRows_ground |
int IceModel::nRows_ice |
int IceModel::nRows_water |
|
protected |
|
protected |
vector<double> IceModel::volume_inhorizon |
|
protected |
int IceModel::xLowerLeft_ground |
int IceModel::xLowerLeft_ice |
int IceModel::xLowerLeft_water |
int IceModel::yLowerLeft_ground |
int IceModel::yLowerLeft_ice |
int IceModel::yLowerLeft_water |