¿Qué es modelamiento de la calidad de aire?
“El modelado de la contaminación del aire puede verse como un método
para proporcionar información sobre la calidad del aire sobre la base de
lo que sabemos de las emisiones y de los procesos atmosféricos que
conducen a la dispersión de contaminantes, el transporte, la conversión
química y la eliminación de la atmósfera por deposición.”
EPA Europa
Tipos de modelos de dispersión de contaminantes
- Caja fija
- Gaussianos (Distribución de probabilidad
normal)
- Modelos CFD (Resolución de ecuaciones de
Navier-Stokes)
- Eurelianos: WRF-Chem, CAMx, CMAQ
- Langrangeanos (considera efectos determinísticos y
estocásticos)
- Tipo “PUFF” (mix entre modelos gaussianos y
lagrangeanos)
Ejemplo con Perfil de velocidad del viento en una atmósfera
neutra
En un área rural, la altura de fricción es \(Z_0\) = 0.25 m y la velocidad del viento
medida a 10 m de altura es 4 \(m/s\)
bajo condiciones neutras. Dibuje el perfil de velocidad de viento
vertical.
Primeramente debe utilizarse la siguiente ecuación:
\[
\frac{u}{u_{*}}=\frac{1}{k}\cdot\ln\left(\frac{z}{z_0}\right)
\]
- Donde:
-
k: Constante de Karman (0.4 el más común)
\(Z_0\): altura de la rugosidad
superficial (m)
\(u_*\): Velocidad de fricción
\(u\): Velocidad del viento
Resolviendo tenemos:
\[
\frac{u_{*}}{k}=\frac{u_{10}}{\ln\left(\frac{z_{10}}{z_0}\right)}=1.084
\]
La ecuación resultante para generar la curva resulta:
\[
u=\frac{u_{*}}{k}\cdot\ln\left(\frac{z}{z_0}\right)=1.084\cdot\ln\left(4z\right)
\]
- Utilizando r para graficar la velocidad del viento a lo largo del
perfil de elevación obtenemos:
# Para un rango de elevación de 0 a 200 metros:
# Se crea el dataframe
z <- seq(from=0,to=200,by=10)
perfil <- data.frame(elevación=z,velocidad=1.084*log(4*z))
# Finalmente se grafica con ggplot2
library(tidyverse)
perfil %>% ggplot(aes(x=velocidad,y=elevación))+
geom_line(color="deepskyblue")+theme_bw() +
theme(plot.subtitle = element_text(size = 11,
face = "italic", hjust = 0.5),
plot.caption = element_text(size = 10,
face = "italic"), panel.grid.major = element_line(colour = "gray80",
size = 0.4), panel.grid.minor = element_line(linetype = "blank"),
axis.title = element_text(face = "bold.italic"),
axis.text = element_text(size = 12),
axis.text.x = element_text(size = 13),
plot.title = element_text(size = 14,
face = "bold", hjust = 0.5),
panel.background = element_rect(fill = "gray95",
size = 0.1),
plot.background = element_rect(fill = "gray95",
colour = "antiquewhite4", linetype = "solid")) +
labs(title = "Perfil de elevación de la velocidad del viento",
x = "Velocidad (m/s)", y = "Elevación (m)",
subtitle = "Ejemplo de ecuación para comprender el modelo gaussiano",
caption = "Curso: Introducción a rmarkdown")
Gráfico resultante
Luego de ejecutado el código y guardado como imágen se inserta con la
sintaxis aprendida para markdown:
LS0tDQp0aXRsZTogIk1vZGVsbyBnYXVzaWFubyBwYXJhIGxhIGRpc3BlcnNpw7NuIGRlIGNvbnRhbWluYW50ZXMiDQpzdWJ0aXRsZTogIkN1cnNvOiBJbnRyb2R1Y2Npw7NuIGEgcm1hcmtkb3duIg0KYXV0aG9yOiAiQnJ5YW4gQW50b255IFF1aXNwZSBSYW1vcyINCmRhdGU6ICIyOC0wNC0yMDIyIg0Kb3V0cHV0Og0KICBodG1sX2RvY3VtZW50Og0KICAgIHRoZW1lOiBkYXJrbHkNCiAgICBmaWdfY2FwdGlvbjogdHJ1ZQ0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCiAgICB0b2M6IHRydWUNCiAgICB0b2NfZmxvYXQ6IHRydWUNCmVkaXRvcl9vcHRpb25zOg0KICBjaHVua19vdXRwdXRfdHlwZTogY29uc29sZQ0KLS0tDQoNCiMgwr9RdcOpIGVzIG1vZGVsYW1pZW50byBkZSBsYSBjYWxpZGFkIGRlIGFpcmU/DQoNCj4gIkVsIG1vZGVsYWRvIGRlIGxhIGNvbnRhbWluYWNpw7NuIGRlbCBhaXJlIHB1ZWRlIHZlcnNlIGNvbW8gdW4gbcOpdG9kbyBwYXJhIHByb3BvcmNpb25hciBpbmZvcm1hY2nDs24gc29icmUgbGEgY2FsaWRhZCBkZWwgYWlyZSBzb2JyZSBsYSBiYXNlIGRlIGxvIHF1ZSBzYWJlbW9zIGRlIGxhcyBlbWlzaW9uZXMgeSBkZSBsb3MgcHJvY2Vzb3MgYXRtb3Nmw6lyaWNvcyBxdWUgY29uZHVjZW4gYSBsYSBkaXNwZXJzacOzbiBkZSBjb250YW1pbmFudGVzLCBlbCB0cmFuc3BvcnRlLCBsYSBjb252ZXJzacOzbiBxdcOtbWljYSB5IGxhIGVsaW1pbmFjacOzbiBkZSBsYSBhdG3Ds3NmZXJhIHBvciBkZXBvc2ljacOzbi4iDQo+DQo+ICoqRVBBIEV1cm9wYSoqDQoNCiMgVGlwb3MgZGUgbW9kZWxvcyBkZSBkaXNwZXJzacOzbiBkZSBjb250YW1pbmFudGVzDQoNCi0gICBDYWphIGZpamENCi0gICBHYXVzc2lhbm9zICoqKERpc3RyaWJ1Y2nDs24gZGUgcHJvYmFiaWxpZGFkIG5vcm1hbCkqKg0KLSAgIE1vZGVsb3MgQ0ZEICoqKFJlc29sdWNpw7NuIGRlIGVjdWFjaW9uZXMgZGUgTmF2aWVyLVN0b2tlcykqKg0KLSAgIEV1cmVsaWFub3M6ICoqV1JGLUNoZW0sIENBTXgsIENNQVEqKg0KLSAgIExhbmdyYW5nZWFub3MgKiooY29uc2lkZXJhIGVmZWN0b3MgZGV0ZXJtaW7DrXN0aWNvcyB5IGVzdG9jw6FzdGljb3MpKioNCi0gICBUaXBvICJQVUZGIiAqKihtaXggZW50cmUgbW9kZWxvcyBnYXVzc2lhbm9zIHkgbGFncmFuZ2Vhbm9zKSoqDQoNCiMgRWplbXBsbyBjb24gUGVyZmlsIGRlIHZlbG9jaWRhZCBkZWwgdmllbnRvIGVuIHVuYSBhdG3Ds3NmZXJhIG5ldXRyYQ0KDQpFbiB1biDDoXJlYSBydXJhbCwgbGEgYWx0dXJhIGRlIGZyaWNjacOzbiBlcyAkWl8wJCA9IDAuMjUgbSB5IGxhIHZlbG9jaWRhZCBkZWwgdmllbnRvIG1lZGlkYSBhIDEwIG0gZGUgYWx0dXJhIGVzIDQgJG0vcyQgYmFqbyBjb25kaWNpb25lcyBuZXV0cmFzLiBEaWJ1amUgZWwgcGVyZmlsIGRlIHZlbG9jaWRhZCBkZSB2aWVudG8gdmVydGljYWwuDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoxLiAgUHJpbWVyYW1lbnRlIGRlYmUgdXRpbGl6YXJzZSBsYSBzaWd1aWVudGUgZWN1YWNpw7NuOg0KDQogICAgJCQNCiAgICBcZnJhY3t1fXt1X3sqfX09XGZyYWN7MX17a31cY2RvdFxsblxsZWZ0KFxmcmFje3p9e3pfMH1ccmlnaHQpDQogICAgJCQNCg0KICAgICoqRG9uZGU6KioNCg0KICAgIDogICBrOiBDb25zdGFudGUgZGUgS2FybWFuICoqKDAuNCBlbCBtw6FzIGNvbcO6bikqKg0KDQogICAgICAgICRaXzAkOiBhbHR1cmEgZGUgbGEgcnVnb3NpZGFkIHN1cGVyZmljaWFsICoqKG0pKioNCg0KICAgICAgICAkdV8qJDogVmVsb2NpZGFkIGRlIGZyaWNjacOzbg0KDQogICAgICAgICR1JDogVmVsb2NpZGFkIGRlbCB2aWVudG8NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCjIuICBSZXNvbHZpZW5kbyB0ZW5lbW9zOg0KDQogICAgJCQNCiAgICBcZnJhY3t1X3sqfX17a309XGZyYWN7dV97MTB9fXtcbG5cbGVmdChcZnJhY3t6X3sxMH19e3pfMH1ccmlnaHQpfT0xLjA4NA0KICAgICQkDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQozLiAgTGEgZWN1YWNpw7NuIHJlc3VsdGFudGUgcGFyYSBnZW5lcmFyIGxhIGN1cnZhIHJlc3VsdGE6DQoNCiAgICAkJA0KICAgIHU9XGZyYWN7dV97Kn19e2t9XGNkb3RcbG5cbGVmdChcZnJhY3t6fXt6XzB9XHJpZ2h0KT0xLjA4NFxjZG90XGxuXGxlZnQoNHpccmlnaHQpDQogICAgJCQNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCjQuICBVdGlsaXphbmRvIHIgcGFyYSBncmFmaWNhciBsYSB2ZWxvY2lkYWQgZGVsIHZpZW50byBhIGxvIGxhcmdvIGRlbCBwZXJmaWwgZGUgZWxldmFjacOzbiBvYnRlbmVtb3M6DQoNCmBgYHtyfQ0KDQogICAgIyBQYXJhIHVuIHJhbmdvIGRlIGVsZXZhY2nDs24gZGUgMCBhIDIwMCBtZXRyb3M6DQogICAgIyBTZSBjcmVhIGVsIGRhdGFmcmFtZQ0KDQogICAgeiA8LSBzZXEoZnJvbT0wLHRvPTIwMCxieT0xMCkNCiAgICBwZXJmaWwgPC0gZGF0YS5mcmFtZShlbGV2YWNpw7NuPXosdmVsb2NpZGFkPTEuMDg0KmxvZyg0KnopKQ0KICAgICMgRmluYWxtZW50ZSBzZSBncmFmaWNhIGNvbiBnZ3Bsb3QyDQogICAgbGlicmFyeSh0aWR5dmVyc2UpDQogICAgcGVyZmlsICU+JSBnZ3Bsb3QoYWVzKHg9dmVsb2NpZGFkLHk9ZWxldmFjacOzbikpKw0KICAgICAgZ2VvbV9saW5lKGNvbG9yPSJkZWVwc2t5Ymx1ZSIpK3RoZW1lX2J3KCkgKyANCiAgICAgIHRoZW1lKHBsb3Quc3VidGl0bGUgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDExLA0KICAgICAgICBmYWNlID0gIml0YWxpYyIsIGhqdXN0ID0gMC41KSwgDQogICAgICAgIHBsb3QuY2FwdGlvbiA9IGVsZW1lbnRfdGV4dChzaXplID0gMTAsDQogICAgICAgIGZhY2UgPSAiaXRhbGljIiksIHBhbmVsLmdyaWQubWFqb3IgPSBlbGVtZW50X2xpbmUoY29sb3VyID0gImdyYXk4MCIsDQogICAgICAgIHNpemUgPSAwLjQpLCBwYW5lbC5ncmlkLm1pbm9yID0gZWxlbWVudF9saW5lKGxpbmV0eXBlID0gImJsYW5rIiksDQogICAgICAgIGF4aXMudGl0bGUgPSBlbGVtZW50X3RleHQoZmFjZSA9ICJib2xkLml0YWxpYyIpLA0KICAgICAgICBheGlzLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDEyKSwNCiAgICAgICAgYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoc2l6ZSA9IDEzKSwNCiAgICAgICAgcGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChzaXplID0gMTQsDQogICAgICAgICAgICBmYWNlID0gImJvbGQiLCBoanVzdCA9IDAuNSksDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQgPSBlbGVtZW50X3JlY3QoZmlsbCA9ICJncmF5OTUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUgPSAwLjEpLA0KICAgICAgICBwbG90LmJhY2tncm91bmQgPSBlbGVtZW50X3JlY3QoZmlsbCA9ICJncmF5OTUiLA0KICAgICAgICAgICAgY29sb3VyID0gImFudGlxdWV3aGl0ZTQiLCBsaW5ldHlwZSA9ICJzb2xpZCIpKSArDQogICAgICBsYWJzKHRpdGxlID0gIlBlcmZpbCBkZSBlbGV2YWNpw7NuIGRlIGxhIHZlbG9jaWRhZCBkZWwgdmllbnRvIiwNCiAgICAgICAgeCA9ICJWZWxvY2lkYWQgKG0vcykiLCB5ID0gIkVsZXZhY2nDs24gKG0pIiwNCiAgICAgICAgc3VidGl0bGUgPSAiRWplbXBsbyBkZSBlY3VhY2nDs24gcGFyYSBjb21wcmVuZGVyIGVsIG1vZGVsbyBnYXVzc2lhbm8iLA0KICAgICAgICBjYXB0aW9uID0gIkN1cnNvOiBJbnRyb2R1Y2Npw7NuIGEgcm1hcmtkb3duIikNCmBgYA0KDQojIEdyw6FmaWNvIHJlc3VsdGFudGUNCg0KTHVlZ28gZGUgZWplY3V0YWRvIGVsIGPDs2RpZ28geSBndWFyZGFkbyBjb21vIGltw6FnZW4gc2UgaW5zZXJ0YSBjb24gbGEgc2ludGF4aXMgYXByZW5kaWRhIHBhcmEgbWFya2Rvd246DQoNCjxjZW50ZXI+DQoNCiFbKipGaWd1cmEgMToqKiBHcsOhZmljbyBkZWwgcGVyZmlsIGRlIGVsZXZhY2nDs24gZGUgbGEgdmVsb2NpZGFkIGRlbCB2aWVudG9dKGVjdWFjaSVDMyVCM24xLnBuZykNCg0KPC9jZW50ZXI+DQoNCjxkaXYgY2xhc3M9InRvY2lmeS1leHRlbmQtcGFnZSIgZGF0YS11bmlxdWU9InRvY2lmeS1leHRlbmQtcGFnZSIgc3R5bGU9ImhlaWdodDogMDsiPjwvZGl2Pg0KDQo=