Exemplos Python
Warning
Alterar para os valores exibidos na inicialização.
Inicialização comando: sub = SUB.model()
Note
#### The Brazilian Global Atmospheric Model (TQ0666L064 / Hybrid) #####
Forecast data available for reading.
2023-01-04 - 2023-01-11 - 2023-01-18 - 2023-01-25 - 2023-02-01 2023-02-08 - 2023-02-15 - 2023-02-22 - 2023-03-01 - 2023-03-08 2023-03-15 - 2023-03-22 - 2023-03-29 - 2023-04-05 - 2023-04-12 2023-04-19 - 2023-04-26 - 2023-05-03 - 2023-05-10 - 2023-05-17 2023-05-24 - 2023-05-31 - 2023-06-07 - 2023-06-14 - 2023-06-21 2023-06-28 - 2023-07-05 - 2023-07-12 - 2023-07-19 - 2023-07-26 2023-08-02 - 2023-08-09 - 2023-08-16 - 2023-08-23 - 2023-08-30 2023-09-06 - 2023-09-13 - 2023-09-20 - 2023-09-27 - 2023-10-04 2023-10-11 - 2023-10-18 - 2023-10-25 - 2023-11-01 - 2023-11-08 2023-11-15 - 2023-11-22 - 2023-11-29 - 2023-12-06 - 2023-12-13 2023-12-20 - 2023-12-27 - 2024-01-03 - 2024-01-10 - 2024-01-17 2024-01-24 - 2024-01-31 - 2024-02-07 - 2024-02-14 - 2024-02-21
Variables: {‘prec’, ‘prec_ca’, ‘t2mt’, ‘t2mt_ca’, ‘psnm’, ‘role’, ‘tp85’, ‘zg50’, ‘uv85’, ‘uv20’, ‘vv85’, ‘vv20’, ‘cr85’, ‘cr20’}
Products: {‘week’, ‘fort’, ‘3wks’, ‘mnth’}
Field: {‘anomalies’, ‘prob_positve_anomaly’, ‘prob_terciles’, ‘totals’}
Recuperar Dados do Modelos Numérico SubSazonal
# Importa a ferramenta
import subsaz.CPTEC_SUB as SUB
# Inicializa o construtor
sub = SUB.model()
# Data Condição Inicial (IC)
date = '20230104'
# variavel
var = 'prec'
# produto
product = 'week'
# campo
field = 'anomalies'
# passo depende do produto escolhido
step = '01'
# Requisição dos dados
f = sub.load(date=date, var=var, step=step, product=product ,field=field)
# Retorna um Xarray
print(f)
# <xarray.Dataset> Size: 300kB
# Dimensions: (time: 1, lat: 192, lon: 384)
# Coordinates:
# * lat (lat) float64 2kB -89.28 -88.36 -87.42 -86.49 ... 87.42 88.36 89.28
# * lon (lon) float64 3kB 0.0 0.9399 1.88 2.82 ... 357.2 358.1 359.1 360.0
# * time (time) datetime64[ns] 8B 2023-01-04
# Data variables:
# prec (time, lat, lon) float32 295kB -0.02726 -0.0294 ... 0.9935 0.9946
# Attributes:
# center: National Institute for Space Research - INPE
# model: The Brazilian Global Atmospheric Model (TQ0666L064 / Hybrid)
quit()
Download get_data_sub_oper.py
.
Recuperar Dados e Salvar em NetCDF
# Importa a ferramenta
import subsaz.CPTEC_SUB as SUB
# Inicializa o construtor
sub = SUB.model()
# Data Condição Inicial (IC)
date = '20230104'
# variavel
var = 'prec'
# produto
product = 'week'
# campo
field = 'anomalies'
# passo depende do produto escolhido
step = '01'
# Requisição dos dados
f = sub.load(date=date, var=var, step=step, product=product ,field=field)
# Salvar XArray em NetCDF
f.to_netcdf('sub_202301104.nc')
quit()
Download get_sub_netcdf.py
.
Recuperar Dados e Plotar Figura
# Importa a ferramenta
import subsaz.CPTEC_SUB as SUB
import matplotlib.pyplot as plt
# Inicializa o construtor
sub = SUB.model()
# Data Condição Inicial (IC)
date = '20230104'
# variavel
var = 'prec'
# produto
product = 'week'
# campo
field = 'anomalies'
# passo depende do produto escolhido
step = '01'
# Requisição dos dados
f = sub.load(date=date, var=var, step=step, product=product ,field=field)
# Plotar a figura com a variavel prec
f.prec.plot()
plt.show()
quit()
Download plot_sub_figure.py
.
Recuperar Dados com recorte de área
pip install cartopy
import subsaz.CPTEC_SUB as SUB
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import cartopy.feature as cfeature
# Inicializa o construtor
sub = SUB.model()
# Filtrar area definida
sub.dict['area']['reduce'] = True
sub.dict['area']['minlat'] = -34.44
sub.dict['area']['maxlat'] = -21.43
sub.dict['area']['minlon'] = 301.14
sub.dict['area']['maxlon'] = 320.57
# Requisição dos dados
f = sub.load(date='20230104', var='prec', step='01', product='week' ,field='anomalies')
# Definir tamanho da figura
fig = plt.figure(figsize=(10,8))
# Setar figura unica
ax = fig.add_subplot(111, projection=ccrs.PlateCarree())
# Colocar Linhas de Borda dos paises e linhas costeiras
ax.add_feature(cfeature.COASTLINE,color='grey')
ax.add_feature(cfeature.BORDERS,color='grey')
# Definir Regiao do Brasil
ax.set_extent([-90,-30,10,-41], ccrs.PlateCarree())
# Setar estados do Brasil
states = cfeature.NaturalEarthFeature(category='cultural',
name='admin_1_states_provinces_lines',
scale='50m', facecolor='none')
# Colocar Estados Brasil
ax.add_feature(states, edgecolor='gray')
# Plotar variavel
f.prec.plot()
plt.show()
Download plot_sub_filter.py
.
Note
Para filtrar somente os dados do Brasil existe uma configuração padrão. Utilizar somente o comando: sub.dict[‘area’][‘reduce’] = True