
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Oct 27 08:46:57 2023

@author: tiagomandu
"""

import netCDF4 as nc
import numpy as np
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import geopandas as gpd


dir_glm = '/oper/share/goes/goes16/goes16_web/glm_acumulado_nc/2019/12/'
arq = 'S11635949_201912131925.nc'
# Abra o arquivo NetCDF
arquivo_nc = nc.Dataset(dir_glm+arq, 'r')  # Substitua pelo nome do seu arquivo

# Acesse as variáveis de latitude e longitude
lat = arquivo_nc.variables['lat'][:]
lon = arquivo_nc.variables['lon'][:]

# Acesse a variável 'event'
event = arquivo_nc.variables['flash'][0, :, :]  # Substitua 0 pelo índice de tempo desejado, se houver mais de um intervalo de tempo

# Defina a extensão da América do Sul (ajuste os valores conforme necessário)
extensao_americadosul=[-75, -34, -33, 7 ]  # [lon_min, lon_max, lat_min, lata__031_001_americaDoSul.shpa__031_001_americaDoSul.shp_max]
#[-64.31, -38.34, -11.92, -32.7633 ]  #BOX
#[-75, -34, -33, 7] #BR
#[-85, -35, -60, 10]  #America do Sul

#     -56.8944     -52.0438
#     -22.5153     -18.0174

# Carregue o contorno da costa da América do Sul a partir de um shapefile (ou GeoJSON)
shapefile_path = '/home/tiago.mandu/estados_2010/estados_2010.shp'  # Substitua pelo caminho do seu shapefile
gdf = gpd.read_file(shapefile_path)

# Crie a figura e os eixos usando cartopy com a extensão da América do Sul
fig = plt.figure(figsize=(12, 8))
ax = fig.add_subplot(1, 1, 1, projection=ccrs.PlateCarree(), extent=extensao_americadosul)

# Adicione o contorno da costa da América do Sul como fundo
ax.add_geometries(gdf['geometry'], crs=ccrs.PlateCarree(), facecolor='none', edgecolor='black')

# Adicione os dados da variável 'event' como um mapa de calor
pcm = ax.pcolormesh(lon, lat, event, cmap='plasma', transform=ccrs.PlateCarree())

# Adicione uma barra de cores com rótulo
plt.colorbar(pcm, label='Event Count')

# Adicione linhas de grade e rótulos de latitude/longitude
ax.gridlines(draw_labels=True, dms=True, x_inline=False, y_inline=False)

# Adicione rótulos de eixos e um título
plt.xlabel('Longitude')
plt.ylabel('Latitude')
#plt.title('Mapa de Event Count')

# Mostre o gráfico
plt.savefig('/share/apgmet/dist/Tiago/'+'aaaaaaaaa.png', dpi=300, bbox_inches='tight')
plt.show()
