5 #include "uiuc_ice_rates.h"
7 ///////////////////////////////////////////////////////////////////////
8 // Calculates shed rate depending on current aero loads, eta, temp, and freezing fraction
9 // Code by Leia Blumenthal
11 // 13 Feb 02 - Created basic program with dummy variables and a constant shed rate (no dependency)
14 // aero_load - aerodynamic load
16 // T - Temperature in Farenheit
17 // ff - freezing fraction
20 // rate - %eta shed/time
22 // Right now this is just a constant shed rate until we learn more...
25 double shed(double aero_load, double eta, double T, double ff, double time_step)
34 eta_new = eta-rate*eta*time_step;
42 ///////////////////////////////////////////////////////////////////////////////////////////////////
43 // Currently a simple linear approximation based on temperature and eta, but for next version,
44 // should have so that it calculates sublimation rate depending on current temp,pressure,
45 // dewpoint, radiation, and eta
47 // Code by Leia Blumenthal
48 // 12 Feb 02 - Created basic program with linear rate for values when sublimation will occur
49 // 16 May 02 - Modified so that outputs new eta as opposed to rate
51 // T - temperature and must be input in Farenheit
53 // Tdew - Dew point Temperature
55 // time_step- increment since last run
58 // rate - sublimation rate (% eta change/time)
61 // eta_new- eta after sublimation has occurred
63 // This takes a simple approximation that the rate of sublimation will decrease
64 // linearly with temperature increase.
66 // This code should be run every time step to every couple time steps
68 // If eta is less than zero, than there should be no sublimation
70 double sublimation(double T, double eta, double time_step)
74 if (eta <= 0.0) rate = 0;
77 // According to the Smithsonian Meteorological tables sublimation occurs
78 // between -40 deg F < T < 32 deg F and between pressures of 0 atm < P < 0.00592 atm
79 if (T < -40) rate = 0;
80 else if (T >= -40 && T < 32)
82 // For a simple linear approximation, assume largest value is a rate of .2% per sec
83 rate = 0.0028 * T + 0.0889;
85 else if (T >= 32) rate = 0;
88 eta_new = eta-rate*eta*time_step;