| 1 | % | 
| 2 | %   function [TMA] = moist_adiabat(LCL,TLCL); | 
| 3 | % | 
| 4 | % Computes the temperature TMA(p) (in K) following | 
| 5 | % a moist adiabat profile from the LCL where the | 
| 6 | % temperature is TLCL (in K) | 
| 7 | % | 
| 8 |  | 
| 9 |  | 
| 10 | function [TMA] = moist_adiabat(LCL,TLCL); | 
| 11 |  | 
| 12 | % Constants | 
| 13 | RGASdry = 287.04; | 
| 14 | RGASvapor = 461.5; | 
| 15 | PREF = 1000; %in mb | 
| 16 | KM = 1000; | 
| 17 | GRAVI = 9.81; | 
| 18 |  | 
| 19 | % Pressure grid | 
| 20 | P = [987.5:-25:0]; %in mb | 
| 21 | DP = 25; %in mb | 
| 22 | NL = 40; | 
| 23 |  | 
| 24 | % Pressure integral | 
| 25 | TMA = NaN * ones(1,NL); | 
| 26 | TMA(LCL) = TLCL; | 
| 27 | for l = LCL:NL-1; | 
| 28 | %RGAS = RGASvapor * Q(l) + (1-Q(l))*RGASdry ;%if fancy!! | 
| 29 | RGAS = RGASdry; | 
| 30 | t = TMA(l) - 273.15; | 
| 31 | GAMMAs1 = 6.4 - 0.12*t + (2.5*1.e-05)*t^3; | 
| 32 | GAMMAs2 = (-2.4 + .001*(t-5)^2) * (1 - P(l)/PREF); | 
| 33 | GAMMAs = (GAMMAs1+GAMMAs2) / KM; | 
| 34 | DT = - RGAS * TMA(l) * GAMMAs * DP / (GRAVI * P(l)); | 
| 35 | TMA(l+1) = TMA(l) + DT; | 
| 36 | end |