Menú

domingo, 28 de octubre de 2018

Leer los archivos del Hidroestimador Nesdis usando R


La técnica Hidroestimador es empleada para estimar lluvia a través de satélites, esta técnica fue desarrollada por la Administración Nacional Oceánica y Atmosférica / Servicio Nacional de Satélites Ambientales, Datos e Información. (NOAA/NESDIS).  

NESDIS trabaja con las imágenes del canal infrarrojo del satélite GOES e información de variables meteorológicas pronosticadas por el modelo NAM.  
  • Los píxeles de lluvia y no lluvia, se separan de acuerdo a un valor construido con la media y la desviación estándar de la temperatura de brillo en un área centrada en el píxel de interés. 
  • Las nubes en un determinado píxel, producen precipitación si poseen topes más fríos que la media de los píxeles circundantes. 
  • La tasa de precipitación, se ajusta teniendo en cuenta la humedad del entorno, a partir de datos de humedad relativa y agua precipitable de los modelos de pronóstico numérico. 


Los datos para la región centroamericana están disponibles  en:
https://www.star.nesdis.noaa.gov/smcd/emb/ff/HEcentralAmerica.php

Esta página proporciona estimaciones de la tasa de lluvia en tiempo real:
  • Los promedios de la tasa de lluvia de 1 hora y las estimaciones acumuladas de 3 horas están disponibles cada hora a partir de las 00:00 h con actualizaciones cada 15 minutos después de la hora. 
  • Las estimaciones de 6 horas acumuladas se actualizan a las 00: 15Z, 06: 15Z, 12: 15Z y 18: 15Z y la acumulación de 24 horas cada 12: 15Z. 
  • Las estimaciones pueden ser demasiado altas para las nubes frías y demasiado bajas para las nubes cálidas. El uso de este producto es a discreción del usuario.

Esta información puede servir para generar información en regiones donde no se tiene el monitoreo o para mejorar lo métodos de interpolación empleados en la actualidad. 

Al leer los datos en R y guardarlos como raster en formato geotif se pueden abrir en qgis u otro software gis.


############################################################################
#
#       Leer archivos de hydroestimador Nesdis con R
#       Walter Bardales (bardaleswa@gmail.com)
#
#


# Configuración del archivo Nesdis para Centro América
#DSET K20053141609
#UNDEF -1.0
#TITLE Rain Rate Estimates (mm)
#XDEF 1464 LINEAR 245 0.0382513
#YDEF 667 LINEAR 6 0.0359477
#ZDEF 01 LEVELS 1
#TDEF 1 LINEAR 16:09Z10NOV2005 1hr
#VARS 1
#rr 0 99 Goes Data
#ENDVARS

# Cargar librerias
library(raster)
library(tibble)
library(stats)

# Directorio de trabajo
setwd("D:/Documents/Nesdis")

# Leer archivo binario y almacenarlo en objeto
archivo.nesdis = file("N20182631200", "rb")

# Salir
on.exit(close(archivo.nesdis))


# Cantidad de bits del archivo XDEF * YDEF * 2 bits
bites = (667*1464*2)


# Coordenadas de inicio, informacion extraidad de XDEF y YDEF
longitud = seq(-115, length.out = 1464, by=0.0382513)
latitud = seq(6, length.out = 667, by=0.0359477)


# Leer datos binarios
temporal = readBin(archivo.nesdis, numeric(), n = bites, size = 4, endian = "little")
temporal = temporal[seq_len(bites/2)] * 0.1

# hacer data.frame de las coordenadas y cantidad de lluvia
datanesdis = as_data_frame(
  setNames(
    cbind(expand.grid(longitud, latitud), temporal),
    c('lon', 'lat', 'lluvia_mm')
  )
)


# Convertir el dataframe en puntos
coordinates(datanesdis) = ~lon+lat

# Asignar el valor True para realizar una grilla con los puntos
gridded(datanesdis) = TRUE

# Convertir los puntos a raster, valores negativos como NA
rasnesdis = raster(datanesdis)
rasnesdis[rasnesdis < 0] = NA

# ASignarle la proyección al raster
crs(rasnesdis) = "+proj=longlat +datum=WGS84"

# Guardar el raster
writeRaster(rasnesdis, "nesdis.tif", format="GTiff", overwrite=TRUE)

No hay comentarios:

Publicar un comentario