icemc
 All Classes Namespaces Files Functions Variables Friends Macros Pages
Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
IceModel Class Reference

Ice thicknesses and water depth. More...

#include <icemodel.hh>

Inheritance diagram for IceModel:
EarthModel

Public Member Functions

void IceENtoLonLat (int e, int n, double &lon, double &lat)
 
void GroundENtoLonLat (int e, int n, double &lon, double &lat)
 
 IceModel (int model=0, int earth_mode=0, int WEIGHTABSORPTION_SETTING=1)
 
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, int inu)
 
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 (int inu, 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 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 IceLonLattoEN (double lon, double lat, int &e_coord, int &n_coord)
 
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 (int inu, Interaction *interaction1, IceModel *antarctica)
 
- Public Member Functions inherited from EarthModel
 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, const Position posnu, int &crust_entered, int &mantle_entered, int &core_entered)
 
int Getchord (Primaries *primary1, Settings *settings1, IceModel *antarctica1, Secondaries *sec1, double len_int_kgm2, const Position &earth_in, const Position &r_enterice, const Position &nuexitice, 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)
 

Public Attributes

double ice_thickness_array [1200][1000]
 
double ground_elevation [1068][869]
 
double water_depth [1200][1000]
 
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
 
double volume_inhorizon [NBNPOSITIONS_MAX]
 
- Public Attributes inherited from EarthModel
double radii [3]
 
double volume
 
double ice_area
 
double max_icevol_perbin
 
double max_icethk_perbin
 

Static Public Attributes

static const int NBNPOSITIONS_MAX =26000
 
- Static Public Attributes inherited from EarthModel
static constexpr double R_EARTH =6.378140E6
 

Protected Member Functions

double Area (double latitude)
 
void ENtoLonLat (int e_coord, int n_coord, double xLowerLeft, double yLowerLeft, double &lon, double &lat)
 
void WaterENtoLonLat (int e, int n, double &lon, double &lat)
 
void LonLattoEN (double lon, double lat, double xLowerLeft, double yLowerLeft, int &e_coord, int &n_coord)
 
void GroundLonLattoEN (double lon, double lat, int &e_coord, int &n_coord)
 
void WaterLonLattoEN (double lon, double lat, int &e_coord, int &n_coord)
 
void ReadIceThickness ()
 
void ReadGroundBed ()
 
void ReadWaterDepth ()
 
- Protected Member Functions inherited from EarthModel
void ReadCrust (string)
 
double SmearPhi (int ilon)
 
double SmearTheta (int ilat)
 
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)
 

Protected Attributes

int ice_model
 
int DEPTH_DEPENDENT_N
 
double volume_inhorizon_average
 
vector< int > ilon_inhorizon [NBNPOSITIONS_MAX]
 
vector< int > ilat_inhorizon [NBNPOSITIONS_MAX]
 
vector< int > easting_inhorizon [NBNPOSITIONS_MAX]
 
vector< int > northing_inhorizon [NBNPOSITIONS_MAX]
 
double maxvol_inhorizon [NBNPOSITIONS_MAX]
 
- Protected Attributes inherited from EarthModel
int EARTH_MODEL
 
int CONSTANTICETHICKNESS
 
int CONSTANTCRUST
 
int FIXEDELEVATION
 
int FLATSURFACE
 
int weightabsorption
 
double thetastep
 
double phistep
 
double surfacer [NLON][NLAT]
 
double icer [NLON][NLAT]
 
double waterr [NLON][NLAT]
 
double softsedr [NLON][NLAT]
 
double hardsedr [NLON][NLAT]
 
double uppercrustr [NLON][NLAT]
 
double middlecrustr [NLON][NLAT]
 
double lowercrustr [NLON][NLAT]
 
double geoid [NLAT]
 
double MIN_ALTITUDE_CRUST
 
double elevationarray [NLON][NLAT]
 
double waterthkarray [NLON][NLAT]
 
double icethkarray [NLON][NLAT]
 
double softsedthkarray [NLON][NLAT]
 
double hardsedthkarray [NLON][NLAT]
 
double uppercrustthkarray [NLON][NLAT]
 
double middlecrustthkarray [NLON][NLAT]
 
double lowercrustthkarray [NLON][NLAT]
 
double crustthkarray [NLON][NLAT]
 
double waterdensityarray [NLON][NLAT]
 
double icedensityarray [NLON][NLAT]
 
double softseddensityarray [NLON][NLAT]
 
double hardseddensityarray [NLON][NLAT]
 
double uppercrustdensityarray [NLON][NLAT]
 
double middlecrustdensityarray [NLON][NLAT]
 
double lowercrustdensityarray [NLON][NLAT]
 
double area [NLAT]
 
double average_iceth
 

Additional Inherited Members

- Static Public Member Functions inherited from EarthModel
static double LongtoPhi_0isPrimeMeridian (double longitude)
 
static double LongtoPhi_0is180thMeridian (double longitude)
 
- Static Protected Attributes inherited from EarthModel
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
 

Detailed Description

Ice thicknesses and water depth.

Constructor & Destructor Documentation

IceModel::IceModel ( int  model = 0,
int  earth_mode = 0,
int  WEIGHTABSORPTION_SETTING = 1 
)

Member Function Documentation

int IceModel::AcceptableRfexit ( const Vector nsurf_rfexit,
const Position rfexit,
const Vector n_exit2rx 
)
double IceModel::Area ( double  latitude)
protected
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 
)
void IceModel::ENtoLonLat ( int  e_coord,
int  n_coord,
double  xLowerLeft,
double  yLowerLeft,
double &  lon,
double &  lat 
)
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)
void IceModel::GetMAXHORIZON ( Balloon bn1)
double IceModel::GetN ( double  depth)
double IceModel::GetN ( const Position pos)
Vector IceModel::GetSurfaceNormal ( const Position r_out)
void IceModel::GroundENtoLonLat ( int  e,
int  n,
double &  lon,
double &  lat 
)
void IceModel::GroundLonLattoEN ( double  lon,
double  lat,
int &  e_coord,
int &  n_coord 
)
protected
void IceModel::IceENtoLonLat ( int  e,
int  n,
double &  lon,
double &  lat 
)
void IceModel::IceLonLattoEN ( double  lon,
double  lat,
int &  e_coord,
int &  n_coord 
)
int IceModel::IceOnWater ( const Position postition)
double IceModel::IceThickness ( double  lon,
double  lat 
)
virtual

Reimplemented from EarthModel.

double IceModel::IceThickness ( const Position pos)
virtual

Reimplemented from EarthModel.

void IceModel::LonLattoEN ( double  lon,
double  lat,
double  xLowerLeft,
double  yLowerLeft,
int &  e_coord,
int &  n_coord 
)
protected
int IceModel::OutsideAntarctica ( const Position pos)
int IceModel::OutsideAntarctica ( double  lat)
Position IceModel::PickBalloonPosition ( )
Position IceModel::PickInteractionLocation ( int  ibnposition,
int  inu 
)
int IceModel::PickUnbiased ( int  inu,
Interaction interaction1,
IceModel antarctica 
)
void IceModel::ReadGroundBed ( )
protected
void IceModel::ReadIceThickness ( )
protected
void IceModel::ReadWaterDepth ( )
protected
int IceModel::RonneIceShelf ( const Position position)
int IceModel::RossExcept ( const Position position)
int IceModel::RossIceShelf ( const Position position)
double IceModel::Surface ( double  lon,
double  lat 
)
virtual

Reimplemented from EarthModel.

double IceModel::Surface ( const Position pos)
virtual

Reimplemented from EarthModel.

double IceModel::SurfaceAboveGeoid ( double  lon,
double  lat 
)
virtual

Reimplemented from EarthModel.

double IceModel::SurfaceAboveGeoid ( const Position pos)
virtual

Reimplemented from EarthModel.

double IceModel::WaterDepth ( double  lon,
double  lat 
)
virtual

Reimplemented from EarthModel.

double IceModel::WaterDepth ( const Position pos)
virtual

Reimplemented from EarthModel.

void IceModel::WaterENtoLonLat ( int  e,
int  n,
double &  lon,
double &  lat 
)
protected
void IceModel::WaterLonLattoEN ( double  lon,
double  lat,
int &  e_coord,
int &  n_coord 
)
protected
int IceModel::WestLand ( const Position pos)
int IceModel::WhereDoesItEnterIce ( const Position posnu,
const Vector nnu,
double  stepsize,
Position r_enterice 
)
int IceModel::WhereDoesItExitIce ( int  inu,
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 
)

Member Data Documentation

double IceModel::bedmap_nu
double IceModel::bedmap_R
int IceModel::cellSize
int IceModel::DEPTH_DEPENDENT_N
protected
vector<int> IceModel::easting_inhorizon[NBNPOSITIONS_MAX]
protected
double IceModel::ground_elevation[1068][869]
int IceModel::ice_model
protected
double IceModel::ice_thickness_array[1200][1000]
vector<int> IceModel::ilat_inhorizon[NBNPOSITIONS_MAX]
protected
vector<int> IceModel::ilon_inhorizon[NBNPOSITIONS_MAX]
protected
double IceModel::maxvol_inhorizon[NBNPOSITIONS_MAX]
protected
const int IceModel::NBNPOSITIONS_MAX =26000
static
int IceModel::nCols_ground
int IceModel::nCols_ice
int IceModel::nCols_water
int IceModel::NODATA
vector<int> IceModel::northing_inhorizon[NBNPOSITIONS_MAX]
protected
int IceModel::nRows_ground
int IceModel::nRows_ice
int IceModel::nRows_water
double IceModel::volume_inhorizon[NBNPOSITIONS_MAX]
double IceModel::volume_inhorizon_average
protected
double IceModel::water_depth[1200][1000]
int IceModel::xLowerLeft_ground
int IceModel::xLowerLeft_ice
int IceModel::xLowerLeft_water
int IceModel::yLowerLeft_ground
int IceModel::yLowerLeft_ice
int IceModel::yLowerLeft_water

The documentation for this class was generated from the following files: