Ice Sheet System Model  4.18
Code documentation
Functions
NyeCO2.cpp File Reference
#include "../io/io.h"
#include <math.h>
#include "../Numerics/types.h"

Go to the source code of this file.

Functions

IssmDouble NyeCO2 (IssmDouble temperature)
 

Function Documentation

◆ NyeCO2()

IssmDouble NyeCO2 ( IssmDouble  temperature)

Definition at line 11 of file NyeCO2.cpp.

11  {
12 
13  /*Coefficients*/
14  const IssmPDouble Rg = 8.3144598; /* J mol^-1 K^-1 */
15  const IssmPDouble A_const = pow(10.,13.0); /* s^-1 MPa */
16  const IssmPDouble Q = 66900.; /* J mol^-1 */
17  const IssmPDouble n = 8.; /* Glen's exponent */
18 
19  /*Arrhenius Law*/
20  IssmDouble A = A_const *exp(-Q/(temperature*Rg)); /* s^-1 MPa */
21  IssmDouble B = 1e6*pow(A,-1/n); /* s^(1/n) Pa */
22 
23  /*Beyond-melting-point cases*/
24  if((temperature>200.)&&(temperature<220.)) _printf0_("CO2 ICE - POSSIBLE MELTING. Some temperature values are between 200K and 220K.\n");
25  else if(temperature>=220.) _printf0_("CO2 ICE - GUARANTEED MELTING. Some temperature values are beyond 220K.\n");
26 
27  /*Return output*/
28  return B;
29 }
IssmDouble
double IssmDouble
Definition: types.h:37
_printf0_
#define _printf0_(StreamArgs)
Definition: Print.h:29
IssmPDouble
IssmDouble IssmPDouble
Definition: types.h:38