Está en la página 1de 6

Ejercicio 1¶

Si consideramos dos volúmenes de control con temperaturas


de T1T1 = 200 K y T2T2 = 250 K¶
 Compara las presiones a una altura z=12.5 km sobre el nivel del mar.
 Dibuja la variación de esas dos atmósferas a lo largo de todo su perfil (curva
presión-altura)(**).
 Para ambos casos, calcula la densidad del aire.

In [80]:
from __future__ import unicode_literals
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
plt.style.use('ggplot')

In [81]:
# Compara las presiones a una altura z=10km sobre el nivel del mar para dos at
mósferas cuyas temperaturas son uniformes
# y de valor T1 = 200 K y T2 = 250 K.
a = 0.0342 # K/m
T1 = 200
T2 = 250
z = np.arange(0, 12500, 0.5)
P1 = np.zeros((len(z), 1))
P2 = np.zeros((len(z), 1))

for i in range(0, len(z)):


P1[i] = 101325*np.exp((-a/T1)*i)
P2[i] = 101325*np.exp((-a/T2)*i)

# Calculamos la densidad del aire a la altura final


dens_1 = 1.2251*np.exp(-a/T1*12500)
dens_2 = 1.2251*np.exp(-a/T2*12500)

In [82]:
# Figura
plt.figure('Curva P-Z', figsize=(10, 10))
plt.plot(P1, z, 'r', label="T= 200 K")
plt.hold(True)
plt.plot(P2, z, 'b', label="T= 250 K")
plt.xlabel('presion (Pa)')
plt.ylabel('z (m)')
plt.legend()
plt.show()

Ejercicio 2¶
Encuentra la altura geopotencial y el geopotencial a 10 km
por encima del nivel del mar.¶
 Comenta los resultados en función de las alturas obtenidas.
 Estima la temperatura y presión de la atmósfera estándar a H=23 km.

In [83]:
Ro = 6356.76 # km

Z = np.arange(0, 1000) # Altura en kilometros


H = np.zeros((len(Z), 1))

for i in range(0, len(H)):


H[i] = Ro*Z[i]/(Ro+Z[i])

In [84]:
# Figuras
plt.figure('Curva de comparación H-Z', figsize=(10, 10))
plt.plot(Z, H)
plt.xlabel('Altura geométrica (km)')
plt.ylabel('Altura geopotencial (km)')
plt.show()

Ejercicio 3¶
Teniendo en cuenta la ley exponencial decreciente que
define la presión con la altura,¶
 ¿Es adecuada para representar una atmósfera estándar?.
 Compara los resultados empleando la ecuación hipsométrica considerando aire
seco.
 Comenta los resultados del apartado anterior para H=10000 y H= 20000 metros.

In [92]:
H_max = 60000 # Cambiamos este valor para poder interpretar el ejercicio /100
00 y 20000 metros
z_atm_std = np.arange(0, H_max)
P_exp = np.zeros((len(z_atm_std), 1))
P_hypso = np.zeros((len(z_atm_std), 1))
P_hypso[0, 0] = 101325
P_atm_std = np.zeros((len(z_atm_std), 1))
T_atm_std = np.zeros((len(z_atm_std), 1))
T_atm_std[0, 0] = 273 + 15

for i in range(1, len(z_atm_std)):


P_exp[i] = 101325*np.exp((-a/(273+15)*z_atm_std[i]))
if z_atm_std[i] < 11000:
T_atm_std[i] = 288.15-0.0065*z_atm_std[i]
P_atm_std[i] = 101325*(288.15/T_atm_std[i]) ** (-5.255877)
P_hypso[i] = P_hypso[i-1]*(T_atm_std[i]/T_atm_std[i-1])**(9.88/(286.9*
0.0065))
elif 11000 <= z_atm_std[i] < 20000:
T_atm_std[i] = 216.65
P_atm_std[i] = 22632*np.exp(-0.0001577*(z_atm_std[i]-11000))
P_hypso[i] = P_hypso[i-1]*(T_atm_std[i]/T_atm_std[i-1])**(9.88/(286.9*
0.0065))
elif 20000 <= z_atm_std[i] < 32000:
T_atm_std[i] = 216+0.001*(z_atm_std[i]-20000)
P_atm_std[i] = 5474.9*(216.65/T_atm_std[i]) ** (34.16319)
P_hypso[i] = P_hypso[i-1]*(T_atm_std[i]/T_atm_std[i-1])**(9.88/(286.9*
0.0065))
elif 32000 <= z_atm_std[i] < 47000:
T_atm_std[i] = 228.65+0.0028*(z_atm_std[i]-32000)
P_atm_std[i] = 868*(228.65/T_atm_std[i]) ** (12.2011)
P_hypso[i] = P_hypso[i-1]*(T_atm_std[i]/T_atm_std[i-1])**(9.88/(286.9*
0.0065))
elif z_atm_std[i] >= 47000:
T_atm_std[i] = 270
P_atm_std[i] = 110.9*np.exp(-0.1262*(z_atm_std[i]-47000))
P_hypso[i] = P_hypso[i-1]*(T_atm_std[i]/T_atm_std[i-1])**(9.88/(286.9*
0.0065))

In [86]:
# Figuras
plt.figure('Relacion Atm. estándar', figsize=(10, 10))

plt.hold(True)
plt.plot(P_exp, z_atm_std, 'r', label='Relacion exponencial')
plt.plot(P_atm_std, z_atm_std, '-.b', label='Atmósfera estandar')
plt.plot(P_hypso, z_atm_std, '--m', label='Presión hipsométrica')
plt.xlabel('P (Pa)')
plt.ylabel('H (m)')
plt.legend()

plt.show()
Podemos hacer una gráfica con el perfil de la atmósfera estándar a partir de lo
calculado previamente¶
In [88]:
plt.figure('Atmosfera estándar', figsize=(20, 10))

plt.subplot(1, 2, 1)
plt.hold(True)
plt.plot(T_atm_std, z_atm_std, 'b')
plt.xlabel('T (K)')
plt.ylabel('H (m)')

plt.subplot(1, 2, 2)
plt.hold(True)
plt.plot(P_atm_std, z_atm_std, 'b')
plt.xlabel('P (Pa)')
plt.ylabel('H (m)')

plt.show()

También podría gustarte