Ice Sheet System Model  4.18
Code documentation
SurfaceMassBalancex.h
Go to the documentation of this file.
1 
5 #ifndef _SurfaceMassBalancex_H
6 #define _SurfaceMassBalancex_H
7 
8 #include "../../classes/classes.h"
9 
10 /* local prototypes: */
24 /* SEMIC: */
26 /*GEMB: */
27 void Gembx(FemModel* femmodel);
28 void GembgridInitialize(IssmDouble** pdz, int* psize, IssmDouble zTop, IssmDouble dzTop, IssmDouble zMax, IssmDouble zY);
30 void grainGrowth(IssmDouble** pre, IssmDouble** pgdn, IssmDouble** pgsp, IssmDouble* T,IssmDouble* dz,IssmDouble* d, IssmDouble* W,IssmDouble smb_dt,int m,int aIdx, int sid);
31 void albedo(IssmDouble** a,int aIdx, IssmDouble* re, IssmDouble* dz, IssmDouble* d, IssmDouble cldFrac, IssmDouble aIce, IssmDouble aSnow, IssmDouble aValue, IssmDouble adThresh, IssmDouble* T, IssmDouble* W, IssmDouble P, IssmDouble EC, IssmDouble Msurf, IssmDouble t0wet, IssmDouble t0dry, IssmDouble K, IssmDouble dt, IssmDouble dIce, int m, int sid);
32 void shortwave(IssmDouble** pswf, int swIdx, int aIdx, IssmDouble dsw, IssmDouble as, IssmDouble* d, IssmDouble* dz, IssmDouble* re, IssmDouble dIce, int m, int sid);
33 void thermo(IssmDouble* pEC, IssmDouble** T, IssmDouble* pulwrf, IssmDouble* dz, IssmDouble* d, IssmDouble* swf, IssmDouble dlw, IssmDouble Ta, IssmDouble V, IssmDouble eAir, IssmDouble pAir, IssmDouble teValue, IssmDouble Ws, IssmDouble dt0, int m, IssmDouble Vz, IssmDouble Tz, IssmDouble thermo_scaling, IssmDouble dIce, int sid, bool isconstrainsurfaceT);
34 void accumulation(IssmDouble** pT, IssmDouble** pdz, IssmDouble** pd, IssmDouble** pW, IssmDouble** pa, IssmDouble** pre, IssmDouble** pgdn, IssmDouble** pgsp, int* pm, int aIdx, int dsnowIdx, IssmDouble Tmean, IssmDouble Ta, IssmDouble P, IssmDouble dzMin, IssmDouble aSnow, IssmDouble C, IssmDouble V, IssmDouble Vmean, IssmDouble dIce, int sid);
35 void melt(IssmDouble* pM, IssmDouble* pMs, IssmDouble* pR, IssmDouble* pmAdd, IssmDouble* pdz_add, IssmDouble** pT, IssmDouble** pd, IssmDouble** pdz, IssmDouble** pW, IssmDouble** pa, IssmDouble** pre, IssmDouble** pgdn, IssmDouble** pgsp, int* pn, IssmDouble dzMin, IssmDouble zMax, IssmDouble zMin, IssmDouble zTop, IssmDouble zY, IssmDouble dIce, int sid);
36 void densification(IssmDouble** pd,IssmDouble** pdz, IssmDouble* T, IssmDouble* re, int denIdx, IssmDouble C, IssmDouble dt, IssmDouble Tmean, IssmDouble dIce, int m, int sid);
37 void turbulentFlux(IssmDouble* pshf, IssmDouble* plhf, IssmDouble* pEC, IssmDouble Ta, IssmDouble Ts, IssmDouble V, IssmDouble eAir, IssmDouble pAir, IssmDouble ds, IssmDouble Ws, IssmDouble Vz, IssmDouble Tz, IssmDouble dIce, int sid);
38 #endif /* _SurfaceMassBalancex_H*/
shortwave
void shortwave(IssmDouble **pswf, int swIdx, int aIdx, IssmDouble dsw, IssmDouble as, IssmDouble *d, IssmDouble *dz, IssmDouble *re, IssmDouble dIce, int m, int sid)
Definition: Gembx.cpp:991
IssmDouble
double IssmDouble
Definition: types.h:37
densification
void densification(IssmDouble **pd, IssmDouble **pdz, IssmDouble *T, IssmDouble *re, int denIdx, IssmDouble C, IssmDouble dt, IssmDouble Tmean, IssmDouble dIce, int m, int sid)
Definition: Gembx.cpp:1951
Marbouty
IssmDouble Marbouty(IssmDouble T, IssmDouble d, IssmDouble dT)
Definition: Gembx.cpp:166
SmbComponentsx
void SmbComponentsx(FemModel *femmodel)
Definition: SurfaceMassBalancex.cpp:404
MungsmtpParameterizationx
void MungsmtpParameterizationx(FemModel *femmodel)
Definition: SurfaceMassBalancex.cpp:207
SmbForcingx
void SmbForcingx(FemModel *femmodel)
Definition: SurfaceMassBalancex.cpp:11
SmbGradientsElax
void SmbGradientsElax(FemModel *femmodel)
Definition: SurfaceMassBalancex.cpp:133
PositiveDegreeDayx
void PositiveDegreeDayx(FemModel *femmodel)
Definition: SurfaceMassBalancex.cpp:223
turbulentFlux
void turbulentFlux(IssmDouble *pshf, IssmDouble *plhf, IssmDouble *pEC, IssmDouble Ta, IssmDouble Ts, IssmDouble V, IssmDouble eAir, IssmDouble pAir, IssmDouble ds, IssmDouble Ws, IssmDouble Vz, IssmDouble Tz, IssmDouble dIce, int sid)
Definition: Gembx.cpp:2131
grainGrowth
void grainGrowth(IssmDouble **pre, IssmDouble **pgdn, IssmDouble **pgsp, IssmDouble *T, IssmDouble *dz, IssmDouble *d, IssmDouble *W, IssmDouble smb_dt, int m, int aIdx, int sid)
Definition: Gembx.cpp:199
SmbGradientsx
void SmbGradientsx(FemModel *femmodel)
Definition: SurfaceMassBalancex.cpp:70
SurfaceMassBalancex
void SurfaceMassBalancex(FemModel *femmodel)
albedo
void albedo(IssmDouble **a, int aIdx, IssmDouble *re, IssmDouble *dz, IssmDouble *d, IssmDouble cldFrac, IssmDouble aIce, IssmDouble aSnow, IssmDouble aValue, IssmDouble adThresh, IssmDouble *T, IssmDouble *W, IssmDouble P, IssmDouble EC, IssmDouble Msurf, IssmDouble t0wet, IssmDouble t0dry, IssmDouble K, IssmDouble dt, IssmDouble dIce, int m, int sid)
Definition: Gembx.cpp:404
SmbGradientsComponentsx
void SmbGradientsComponentsx(FemModel *femmodel)
Definition: SurfaceMassBalancex.cpp:620
Gembx
void Gembx(FemModel *femmodel)
Definition: Gembx.cpp:34
FemModel
Definition: FemModel.h:31
SmbHenningx
void SmbHenningx(FemModel *femmodel)
Definition: SurfaceMassBalancex.cpp:336
PositiveDegreeDaySicopolisx
void PositiveDegreeDaySicopolisx(FemModel *femmodel)
Definition: SurfaceMassBalancex.cpp:325
accumulation
void accumulation(IssmDouble **pT, IssmDouble **pdz, IssmDouble **pd, IssmDouble **pW, IssmDouble **pa, IssmDouble **pre, IssmDouble **pgdn, IssmDouble **pgsp, int *pm, int aIdx, int dsnowIdx, IssmDouble Tmean, IssmDouble Ta, IssmDouble P, IssmDouble dzMin, IssmDouble aSnow, IssmDouble C, IssmDouble V, IssmDouble Vmean, IssmDouble dIce, int sid)
Definition: Gembx.cpp:1190
thermo
void thermo(IssmDouble *pEC, IssmDouble **T, IssmDouble *pulwrf, IssmDouble *dz, IssmDouble *d, IssmDouble *swf, IssmDouble dlw, IssmDouble Ta, IssmDouble V, IssmDouble eAir, IssmDouble pAir, IssmDouble teValue, IssmDouble Ws, IssmDouble dt0, int m, IssmDouble Vz, IssmDouble Tz, IssmDouble thermo_scaling, IssmDouble dIce, int sid, bool isconstrainsurfaceT)
Definition: Gembx.cpp:617
Delta18opdParameterizationx
void Delta18opdParameterizationx(FemModel *femmodel)
Definition: SurfaceMassBalancex.cpp:215
Delta18oParameterizationx
void Delta18oParameterizationx(FemModel *femmodel)
Definition: SurfaceMassBalancex.cpp:199
GembgridInitialize
void GembgridInitialize(IssmDouble **pdz, int *psize, IssmDouble zTop, IssmDouble dzTop, IssmDouble zMax, IssmDouble zY)
Definition: Gembx.cpp:87
SmbSemicx
void SmbSemicx(FemModel *femmodel)
Definition: SurfaceMassBalancex.cpp:638
melt
void melt(IssmDouble *pM, IssmDouble *pMs, IssmDouble *pR, IssmDouble *pmAdd, IssmDouble *pdz_add, IssmDouble **pT, IssmDouble **pd, IssmDouble **pdz, IssmDouble **pW, IssmDouble **pa, IssmDouble **pre, IssmDouble **pgdn, IssmDouble **pgsp, int *pn, IssmDouble dzMin, IssmDouble zMax, IssmDouble zMin, IssmDouble zTop, IssmDouble zY, IssmDouble dIce, int sid)
Definition: Gembx.cpp:1374
SmbMeltComponentsx
void SmbMeltComponentsx(FemModel *femmodel)
Definition: SurfaceMassBalancex.cpp:503
femmodel
FemModel * femmodel
Definition: esmfbinders.cpp:16