Modelagem de Vapor d’Água na Atmosfera

Veja como aplicar as equações hidrológicas sobre vapor d’água na atmosfera no MATLAB.

A hidrologia é a ciência que estuda a relação entre água e outros meios (saiba mais sobre o que é hidrologia clicando aqui). E um dos principais fenômenos da hidrologia presente no nosso dia a dia é a chuva (precipitação), mas ela depende da quantidade de água presente na atmosfera.

A quantidade de água presente na atmosfera desempenha papel fundamental no ciclo hidrológico, pois essa é a forma com que a água é transportada por longas distâncias, contribuindo na dinâmica energética do nosso planeta.

Ela pode ser calculada relacionando os parâmetros temperatura, pressão atmosférica, umidade específica, densidade do ar, entre outros.

Equações utilizadas neste tutorial.
Equações utilizadas neste tutorial.

No livro Applied Hidrology (dos autores Ven Te Chow; David R. Maidment e Larry W. Mays), além do detalhamento matemático para a determinação da quantidade de água precipitável, há diversos exemplos que podem ser solucionados no Matlab. Aqui, iremos apresentar um código que resolve os exercícios 3.2.5 e 3.2.6 da página 94. Os enunciados são os seguintes:

3.2.5 Calculate the precipitable water (mm) in a 10-km-high saturated atmospheric
column if the surface conditions are temperature = 20°C, pressure = 101.3 kPa,
and the lapse rate is 6.5°C/km.

3.2.6 Solve Prob. 3.2.5 for surface temperatures of 0, 10, 20, 30 and 40°C and plot a
graph showing the variation of precipitable water depth with surface temperature.

Ou seja, vamos calcular a quantidade de água precipitável (i.e. Vapor d’água) numa coluna de atmosfera de 10 km de altura, considerando diferentes temperaturas superficiais (0, 10, 20, 30 e 40°C), pressão atmosférica de 101,3 kPa e gradiente de temperatura de 6,5°C. Lembrando que o resultado será dado em altura de coluna d’água (mm – ou kg/m², que são equivalentes nessa situação).

Como temos várias situações para serem calculadas, vamos utilizar um Function Script, de forma que iremos fornecer os valores do nosso exercício e a resposta sairá automaticamente. Para criar um Function Script, clique em New e em Function.

Criando novo Function Script no Matlab

Uma nova tela irá surgir e você terá os seguintes comandos:

function [ output_args ] = Untitled2( input_args )

%UNTITLED2 Summary of this function goes here
% Detailed explanation goes here

end

Aqui, você poderá colocar uma breve descrição da sua função após os % (qualquer carácter apresentado após um %, será considerado como comentário e não será executado).

Na primeira linha, vamos substituir o [ output_args ] pela nossa variável de saída da função (resultado), quantidade de vapor d’água, que chamaremos de vp_total; substituiremos  input_args (variável de entrada) pela variável DeltaZ (que representará o nível de discretização do nosso sistema – detalhamento dele); e vamos chamar nossa função de vp_atm. Dessa forma, nosso Function Script vai ficar desse jeito:

function vp_total = vp_atm(DeltaZ)

%%% Exercicío 3.2.6: Solve Prob. 3.2.5 for surface temperatures of 0, 10, 20, 30 and 40 °C
%%% and plot agraph showing the variation of precipitable water depth with surface temperature.
%% Considerando as Temperaturas:0°C,10°C,20°C,30°C e 40°C
%% Considerando DeltaZ:100 m,500 m, 1000 m,2000 m e 2500 m
%% Considerando Pressão atmosferica: 101.3 KPa
%% Considerando Sigma: 6.5°C/Km

end

Agora vamos inserir as variáveis das equações que determinam a quantidade de vapor d’água na atmosfera (após o final da descrição da nossa função e antes do end). A definição de cada variável será colocada como comentário ao seu lado e vamos utilizar a função input() para solicitar ao usuário qual o valor daquela variável, sendo que dentro dela podemos colocar um texto que será apresentado quando executarmos a função.

[...]
%% Considerando Sigma: 6.5°C/Km

T = input('Temperatura Superficial (°C):');
P = input('Pressão Superficial (KPa):');
Alt_max = input('Altitude Máxima (m):');
Sigma = 6.5; % Gradiente Adiabático (°C/Km)
g = 9.8; % Gravidade (m/s2)
Ra = 287; % Constante dos Gases (J/Kg.K)
Rho_air = (P*1000)/(Ra*(T+273)); % Densidade do Ar (Kg/m3)
es = 611*exp((17.27*T)/(237.3+T)); % Pressão de Vapor Saturado (Pa)
qv = 0.622*(es/(P*1000)); % Umidade Específica (Kg H2O/Kg Ar)
area = 1; % Área da Coluna de Ar (m2)

end

Adicionaremos então as equações abaixo no nosso script. Lembrando que usaremos um loop FOR para preenchermos as variáveis T, P, Rho_air, es e qv nas diversas altitudes (n), por isso dividiremos a altitude máxima pelo DeltaZ para fornecer quais altitudes utilizaremos (iniciamos o loop pelo 2 pois o índice 1 é usado para os valores que adicionamos anteriormente – parâmetros de entrada, e somamos +1 no final para que índice seja par).

[...]
area = 1; % Área da Coluna de Ar (m2)

for n = 2:((Alt_max/DeltaZ)+1)
 T(n) = T(n-1)- Sigma*(DeltaZ/1000);
 P(n) = P(n-1)*(((T(n) + 273)/(T(n-1)+273))^(g/((Sigma/1000)*Ra)));
 Rho_air(n) = (P(n)*1000)/(Ra*(T(n)+273));
 es(n) = 611*exp((17.27*T(n))/(237.3+T(n)));
 qv(n) = 0.622*(es(n)/(P(n)*1000)); 
end

end

A partir dos dados anteriores, iremos calcular os valores médios para plota-los posteriormente.

[...]
 qv(n) = 0.622*(es(n)/(P(n)*1000)); 
end

%%% Médias:
for n = 1:((Alt_max/DeltaZ))
 med_qv(n)=(qv(n)+qv(n+1))/2;
 med_Rho(n)=(Rho_air(n)+Rho_air(n+1))/2;
 delta_vp(n)= med_qv(n)*med_Rho(n)*area*DeltaZ;
end

end

E finalmente, vamos usar os comandos linspace() para determinar o intervalo da variável e o plot() para gerar nossa figura. Os comandos title(), xlabel() e ylabel() são usados para definir, respectivamente o título, rótulo do eixo x e do eixo y. E vamos usar o comando sum() para somar todos os valores e saber qual é a quantidade total de água precipitável na nossa coluna de ar.

[...]
  delta_vp(n)= med_qv(n)*med_Rho(n)*area*DeltaZ;
end

vp_total = sum(delta_vp)
hold on
y = linspace(0,Alt_max,(Alt_max/DeltaZ));
plot(delta_vp,y)
title ('Exericio 3.2.6 - 2Engenheiros')
xlabel('Altura de Água Precipitável (mm)')
ylabel('Altitude (m)')

end

Rodando esse código (digite vp_atm(100) na linha de comando do Matlab) e utilizando as seguintes variáveis:

Temperatura superficial = 0 °C

Pressão Superficial = 101,3 kPa

Altitude Máxima = 10.000 m

Delta Z = 100

Você irá obter um gráfico semelhante ao da figura abaixo, além da quantidade total de água precipitável (9,64 mm):

Resultado Gráfico MATLAB - Altura de Água Precipitável

Com o código pronto, você pode completar o exercício proposto para as outras condições, basta alterar os valores de temperatura, pressão e altitude.



Clique na figura abaixo e assine nossa lista de emails para receber nosso ebook "Como criar mapas de localização com ArcGIS 10.x".


Author: Fernando BS

Engenheiro Ambiental e de Segurança do Trabalho. Atua nas áreas de recuperação ambiental, geoprocessamento e ciência do solo. Busca soluções utilizando softwares como ArcGIS, R e MATLAB.

One thought on “Modelagem de Vapor d’Água na Atmosfera”

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *