Temperatura equivalente potenziale: l'algoritmo di calcolo
Per 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)
|
|