Temperatura equivalente potenziale: l'algoritmo di calcoloPer calcolare la theta-E, è sufficiente dare in input i seguenti dati:Pressione (P)Temperatura (T)Punto di rugiada (D)
Per facilitare lo sviluppo dell'algoritmo, suddivideremo ogni fase dell'elaborazione in piccole parti.Il primo algoritmo da sviluppare è quello relativo alla pressione di vapore (V). Stabiliamo intanto il valore di alcune costanti che utilizzeremo:A = 19.0785 | B = 4098.025 | C = 237.3 | C1 = 18/28.96 |
V = EXP ( A - B / ( D + C ) ) |
Calcoliamo, ora, una variabile X, in cui terremo conto della pressione di vapore (V) e della pressione atmosferica:Calcoliamo la variabile Q (per il calcolo della temperatura potenziale):A questo punto, abbiamo tutto ciò che ci serve per il calcolo della theta-E:TE = 273.2 + T + 2480 * X / 1 | THETAE = TE * Q |
Per calcolare la temperatura equivalente potenziale alla saturazione, occorre introdurre qualche altra riga di programma.Calcoliamo la pressione di vapore alla saturazione (S):S = EXP ( A - B / ( T + C ) ) |
XS = S / ( P - S ) * C1 | TES = 273.2 + T+ 2480 * XS / 1 | THETAES = TES + Q |
Sulla base di questi algoritmi, ho costruito un programmino che puoi scaricare cliccando qui (3 Kb zippati).Il listato del pulsante "Calcola", così com'è, è il seguente:Sub Command1_Click () P = Val(text1.text) T = Val(text2.text) D = Val(text3.text) A = 19.0785 B = 4098.025 C = 237.3 C1 = 18 / 28.96
V = Exp(A - B / (D + C)) text5.text = Str$(V)
X = V / (P - V) * C1 If P > 0 Then Q = (1000 / P) ^ .29 Else text4.text = "Errore!" TE = 273.2 + T + 2480 * X / 1 THETAE = TE * Q text4.text = Str$(THETAE)
S = Exp(A - B / (T + C)) text6.text = Str$(S)
XS = S / (P - S) * C1 TES = 273.2 + T + 2480 * XS / 1 THETAES = TES + Q text7.text = Str$(THETAES) End Sub |
Naturalmente, nulla vieta di fare un unico "superalgoritmo":THETAE = (273.2 + T + 2480 * ((Exp(A - B / (D + C))) / (P - (Exp(A - B / (D + C)))) * C1) / 1) * ((1000 / P) ^ .29) |
|