¿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.


  1. 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


  1. Resolviendo tenemos:

    \[ \frac{u_{*}}{k}=\frac{u_{10}}{\ln\left(\frac{z_{10}}{z_0}\right)}=1.084 \]


  1. 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) \]


  1. 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:

Figura 1: Gráfico del perfil de elevación de la velocidad del viento

LS0tDQp0aXRsZTogIk1vZGVsbyBnYXVzaWFubyBwYXJhIGxhIGRpc3BlcnNpw7NuIGRlIGNvbnRhbWluYW50ZXMiDQpzdWJ0aXRsZTogIkN1cnNvOiBJbnRyb2R1Y2Npw7NuIGEgcm1hcmtkb3duIg0KYXV0aG9yOiAiQnJ5YW4gQW50b255IFF1aXNwZSBSYW1vcyINCmRhdGU6ICIyOC0wNC0yMDIyIg0Kb3V0cHV0Og0KICBodG1sX2RvY3VtZW50Og0KICAgIHRoZW1lOiBkYXJrbHkNCiAgICBmaWdfY2FwdGlvbjogdHJ1ZQ0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCiAgICB0b2M6IHRydWUNCiAgICB0b2NfZmxvYXQ6IHRydWUNCmVkaXRvcl9vcHRpb25zOg0KICBjaHVua19vdXRwdXRfdHlwZTogY29uc29sZQ0KLS0tDQoNCiMgwr9RdcOpIGVzIG1vZGVsYW1pZW50byBkZSBsYSBjYWxpZGFkIGRlIGFpcmU/DQoNCj4gIkVsIG1vZGVsYWRvIGRlIGxhIGNvbnRhbWluYWNpw7NuIGRlbCBhaXJlIHB1ZWRlIHZlcnNlIGNvbW8gdW4gbcOpdG9kbyBwYXJhIHByb3BvcmNpb25hciBpbmZvcm1hY2nDs24gc29icmUgbGEgY2FsaWRhZCBkZWwgYWlyZSBzb2JyZSBsYSBiYXNlIGRlIGxvIHF1ZSBzYWJlbW9zIGRlIGxhcyBlbWlzaW9uZXMgeSBkZSBsb3MgcHJvY2Vzb3MgYXRtb3Nmw6lyaWNvcyBxdWUgY29uZHVjZW4gYSBsYSBkaXNwZXJzacOzbiBkZSBjb250YW1pbmFudGVzLCBlbCB0cmFuc3BvcnRlLCBsYSBjb252ZXJzacOzbiBxdcOtbWljYSB5IGxhIGVsaW1pbmFjacOzbiBkZSBsYSBhdG3Ds3NmZXJhIHBvciBkZXBvc2ljacOzbi4iDQo+DQo+ICoqRVBBIEV1cm9wYSoqDQoNCiMgVGlwb3MgZGUgbW9kZWxvcyBkZSBkaXNwZXJzacOzbiBkZSBjb250YW1pbmFudGVzDQoNCi0gICBDYWphIGZpamENCi0gICBHYXVzc2lhbm9zICoqKERpc3RyaWJ1Y2nDs24gZGUgcHJvYmFiaWxpZGFkIG5vcm1hbCkqKg0KLSAgIE1vZGVsb3MgQ0ZEICoqKFJlc29sdWNpw7NuIGRlIGVjdWFjaW9uZXMgZGUgTmF2aWVyLVN0b2tlcykqKg0KLSAgIEV1cmVsaWFub3M6ICoqV1JGLUNoZW0sIENBTXgsIENNQVEqKg0KLSAgIExhbmdyYW5nZWFub3MgKiooY29uc2lkZXJhIGVmZWN0b3MgZGV0ZXJtaW7DrXN0aWNvcyB5IGVzdG9jw6FzdGljb3MpKioNCi0gICBUaXBvICJQVUZGIiAqKihtaXggZW50cmUgbW9kZWxvcyBnYXVzc2lhbm9zIHkgbGFncmFuZ2Vhbm9zKSoqDQoNCiMgRWplbXBsbyBjb24gUGVyZmlsIGRlIHZlbG9jaWRhZCBkZWwgdmllbnRvIGVuIHVuYSBhdG3Ds3NmZXJhIG5ldXRyYQ0KDQpFbiB1biDDoXJlYSBydXJhbCwgbGEgYWx0dXJhIGRlIGZyaWNjacOzbiBlcyAkWl8wJCA9IDAuMjUgbSB5IGxhIHZlbG9jaWRhZCBkZWwgdmllbnRvIG1lZGlkYSBhIDEwIG0gZGUgYWx0dXJhIGVzIDQgJG0vcyQgYmFqbyBjb25kaWNpb25lcyBuZXV0cmFzLiBEaWJ1amUgZWwgcGVyZmlsIGRlIHZlbG9jaWRhZCBkZSB2aWVudG8gdmVydGljYWwuDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoxLiAgUHJpbWVyYW1lbnRlIGRlYmUgdXRpbGl6YXJzZSBsYSBzaWd1aWVudGUgZWN1YWNpw7NuOg0KDQogICAgJCQNCiAgICBcZnJhY3t1fXt1X3sqfX09XGZyYWN7MX17a31cY2RvdFxsblxsZWZ0KFxmcmFje3p9e3pfMH1ccmlnaHQpDQogICAgJCQNCg0KICAgICoqRG9uZGU6KioNCg0KICAgIDogICBrOiBDb25zdGFudGUgZGUgS2FybWFuICoqKDAuNCBlbCBtw6FzIGNvbcO6bikqKg0KDQogICAgICAgICRaXzAkOiBhbHR1cmEgZGUgbGEgcnVnb3NpZGFkIHN1cGVyZmljaWFsICoqKG0pKioNCg0KICAgICAgICAkdV8qJDogVmVsb2NpZGFkIGRlIGZyaWNjacOzbg0KDQogICAgICAgICR1JDogVmVsb2NpZGFkIGRlbCB2aWVudG8NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCjIuICBSZXNvbHZpZW5kbyB0ZW5lbW9zOg0KDQogICAgJCQNCiAgICBcZnJhY3t1X3sqfX17a309XGZyYWN7dV97MTB9fXtcbG5cbGVmdChcZnJhY3t6X3sxMH19e3pfMH1ccmlnaHQpfT0xLjA4NA0KICAgICQkDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQozLiAgTGEgZWN1YWNpw7NuIHJlc3VsdGFudGUgcGFyYSBnZW5lcmFyIGxhIGN1cnZhIHJlc3VsdGE6DQoNCiAgICAkJA0KICAgIHU9XGZyYWN7dV97Kn19e2t9XGNkb3RcbG5cbGVmdChcZnJhY3t6fXt6XzB9XHJpZ2h0KT0xLjA4NFxjZG90XGxuXGxlZnQoNHpccmlnaHQpDQogICAgJCQNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCjQuICBVdGlsaXphbmRvIHIgcGFyYSBncmFmaWNhciBsYSB2ZWxvY2lkYWQgZGVsIHZpZW50byBhIGxvIGxhcmdvIGRlbCBwZXJmaWwgZGUgZWxldmFjacOzbiBvYnRlbmVtb3M6DQoNCmBgYHtyfQ0KDQogICAgIyBQYXJhIHVuIHJhbmdvIGRlIGVsZXZhY2nDs24gZGUgMCBhIDIwMCBtZXRyb3M6DQogICAgIyBTZSBjcmVhIGVsIGRhdGFmcmFtZQ0KDQogICAgeiA8LSBzZXEoZnJvbT0wLHRvPTIwMCxieT0xMCkNCiAgICBwZXJmaWwgPC0gZGF0YS5mcmFtZShlbGV2YWNpw7NuPXosdmVsb2NpZGFkPTEuMDg0KmxvZyg0KnopKQ0KICAgICMgRmluYWxtZW50ZSBzZSBncmFmaWNhIGNvbiBnZ3Bsb3QyDQogICAgbGlicmFyeSh0aWR5dmVyc2UpDQogICAgcGVyZmlsICU+JSBnZ3Bsb3QoYWVzKHg9dmVsb2NpZGFkLHk9ZWxldmFjacOzbikpKw0KICAgICAgZ2VvbV9saW5lKGNvbG9yPSJkZWVwc2t5Ymx1ZSIpK3RoZW1lX2J3KCkgKyANCiAgICAgIHRoZW1lKHBsb3Quc3VidGl0bGUgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDExLA0KICAgICAgICBmYWNlID0gIml0YWxpYyIsIGhqdXN0ID0gMC41KSwgDQogICAgICAgIHBsb3QuY2FwdGlvbiA9IGVsZW1lbnRfdGV4dChzaXplID0gMTAsDQogICAgICAgIGZhY2UgPSAiaXRhbGljIiksIHBhbmVsLmdyaWQubWFqb3IgPSBlbGVtZW50X2xpbmUoY29sb3VyID0gImdyYXk4MCIsDQogICAgICAgIHNpemUgPSAwLjQpLCBwYW5lbC5ncmlkLm1pbm9yID0gZWxlbWVudF9saW5lKGxpbmV0eXBlID0gImJsYW5rIiksDQogICAgICAgIGF4aXMudGl0bGUgPSBlbGVtZW50X3RleHQoZmFjZSA9ICJib2xkLml0YWxpYyIpLA0KICAgICAgICBheGlzLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDEyKSwNCiAgICAgICAgYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoc2l6ZSA9IDEzKSwNCiAgICAgICAgcGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChzaXplID0gMTQsDQogICAgICAgICAgICBmYWNlID0gImJvbGQiLCBoanVzdCA9IDAuNSksDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQgPSBlbGVtZW50X3JlY3QoZmlsbCA9ICJncmF5OTUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUgPSAwLjEpLA0KICAgICAgICBwbG90LmJhY2tncm91bmQgPSBlbGVtZW50X3JlY3QoZmlsbCA9ICJncmF5OTUiLA0KICAgICAgICAgICAgY29sb3VyID0gImFudGlxdWV3aGl0ZTQiLCBsaW5ldHlwZSA9ICJzb2xpZCIpKSArDQogICAgICBsYWJzKHRpdGxlID0gIlBlcmZpbCBkZSBlbGV2YWNpw7NuIGRlIGxhIHZlbG9jaWRhZCBkZWwgdmllbnRvIiwNCiAgICAgICAgeCA9ICJWZWxvY2lkYWQgKG0vcykiLCB5ID0gIkVsZXZhY2nDs24gKG0pIiwNCiAgICAgICAgc3VidGl0bGUgPSAiRWplbXBsbyBkZSBlY3VhY2nDs24gcGFyYSBjb21wcmVuZGVyIGVsIG1vZGVsbyBnYXVzc2lhbm8iLA0KICAgICAgICBjYXB0aW9uID0gIkN1cnNvOiBJbnRyb2R1Y2Npw7NuIGEgcm1hcmtkb3duIikNCmBgYA0KDQojIEdyw6FmaWNvIHJlc3VsdGFudGUNCg0KTHVlZ28gZGUgZWplY3V0YWRvIGVsIGPDs2RpZ28geSBndWFyZGFkbyBjb21vIGltw6FnZW4gc2UgaW5zZXJ0YSBjb24gbGEgc2ludGF4aXMgYXByZW5kaWRhIHBhcmEgbWFya2Rvd246DQoNCjxjZW50ZXI+DQoNCiFbKipGaWd1cmEgMToqKiBHcsOhZmljbyBkZWwgcGVyZmlsIGRlIGVsZXZhY2nDs24gZGUgbGEgdmVsb2NpZGFkIGRlbCB2aWVudG9dKGVjdWFjaSVDMyVCM24xLnBuZykNCg0KPC9jZW50ZXI+DQoNCjxkaXYgY2xhc3M9InRvY2lmeS1leHRlbmQtcGFnZSIgZGF0YS11bmlxdWU9InRvY2lmeS1leHRlbmQtcGFnZSIgc3R5bGU9ImhlaWdodDogMDsiPjwvZGl2Pg0KDQo=