Exemplos Python
Warning
Alterar a data para os valores exibidos na inicialização
Note
Definição de Steps
steps = <int>
Define o número de steps que serão pedidos
Ex. steps = 6
O pedido será os steps 0,1,2,3,4,5,6
steps = <list>
Define os steps que serão pedidos
Ex. steps = [0,2,4,6]
O pedido será os steps específicos pedidos 0,2,4,6
Recuperar Dados de Modelos Numéricos
# Importa a ferramenta
import cptecmodel.CPTEC_BAM as BAM
# Inicializa o construtor
bam = BAM.model()
# Data Condição Inicial (IC)
date = '2022111800'
# variaveis
vars = ['t2m', 'u', 'omega']
# Quantos passos previstos após inicialização do modelo
steps = 5
# Niveis desejados (aplicado apenas as variaveis em niveis)
levels = [1000, 850]
# Para ativar a função de escrita em disco com uma copia da resição basta alterar a função save_netcdf para True
bam.dict['save_netcdf'] = True
# # Diretorio onde serão salvas as requisições
# # Por padrão, quando não aterado, um diretorio chamado INPE será criado na pasta corrente do usuario
# bam.dict['path_to_save'] = '/home/framework/modelos'
# Requisição dos dados
f = bam.load(date=date, var=vars, level=levels, steps=steps)
# Um diretorio BAM será criado no diretorio corrente, no caso apresentado os dados serão salvos em:
# INPE/BAM/TQ0666L064/brutos/hibrido/2022/11/18/00/GPOSNMC20220818002022081906P.fct.TQ0666L064.nc4
quit()
Download get_data_oper.py
.
Recuperar Dados e Salvar em NetCDF
# Importa a ferramenta
import cptecmodel.CPTEC_WRF as WRF
# Inicializa o construtor
wrf = WRF.model()
# Data Condição Inicial (IC)
date = '2022111800'
# variaveis
vars = ['t', 'precip']
# Quantos passos previstos após inicialização do modelo
steps = 5
# Niveis desejados (aplicado apenas as variaveis em niveis)
levels = [1000, 850]
# Requisição dos dados
f = wrf.load(date=date, var=vars, level=levels, steps=steps)
# Salva arquivo com os dados solicitados
f.to_netcdf('wrf_2022111800.nc')
quit()
Download get_netcdf.py
.
Recuperar Dados e Plotar Figuras
# Importa a ferramenta
import cptecmodel.CPTEC_ETA as ETA
import matplotlib.pyplot as plt
# Inicializa o construtor
eta = ETA.model()
# Data condição inicial (IC)
date = '2022111800'
# variaveis
vars = ['u10m']
# Quantos passos previstos após inicialização do modelo
steps = 5
# O resultado da requisição dos dados são armazenados na variavel f
f = eta.load(date=date, var=vars, steps=steps)
# Para verificar as datas disponiveis, latitudes, longitudes e niveis quando presente use o exemplo abaixo
print('Horarios disponiveis:', f.time.values, '\n')
print('Latitude :', f.latitude.values, '\n')
print('Longitude:', f.longitude.values, '\n')
# print('Level:', f.level)
# Plot simples para verificação dos campos
# selecionando apenas por tempo
fig, axes = plt.subplots(nrows=1, ncols=1, figsize=(7, 7))
f.sel(time='20221118T01:00').u10m.plot.pcolormesh(
ax=axes, robust=True, add_colorbar=True, add_labels=True)
axes.set_title('Eta 2022-11-18T01:00 U10M', ha='center')
plt.show()
# Plot simples dando zoom em area
# selecionando apenas por tempo
fig, axes = plt.subplots(nrows=1, ncols=1, figsize=(7, 7))
f.sel(time='20221118T01:00', latitude=slice(-30,5), longitude=slice(280, 300)).u10m.plot.pcolormesh(
ax=axes, robust=True, add_colorbar=True, add_labels=True)
axes.set_title('Eta 2022-11-18T01:00 U10M', ha='center')
plt.show()
quit()
Download plot_figure.py
.