Precipitación mensual del Atacama

El modelo de datos · 13 tablas · 3 vistas · PPM_DB3 + homog_v5 + chirps_v2 + era5_land

Cómo está guardada la base

Un valor de precipitación nunca viaja solo: lleva de qué estación y de qué fuente salió, qué versión del cálculo lo produjo, si es medición o estimación y si alguien sospechó de él. Este es el esquema que lo garantiza, dibujado directamente desde la base que se descarga.

294.271
filas en observacion
13
tablas, 3 vistas
23,8 MB
la base SQLite
5,9 MB
el paquete descargable

El diagrama

Desliza el diagrama hacia los lados para recorrerlo; debajo está la misma información como lista.

Las flechas van de la columna que referencia (FK) a la clave que identifica (PK). Pasa el cursor o toca una tabla para ver solo sus relaciones; un clic lleva a su ficha.

La medición y su procedencia

fuente14 filas

Quién dio el dato: primaria (quien opera el instrumento) o redistribuidor. Esa distinción resuelve sola las discrepancias.

  • idintegerPK
  • nombretext
  • tipotext
  • aportatext
  • urltext
  • accesotext
  • consultada_entext

posicion_estacion790 filas

Una fila por posición conocida, con la fuente que la declara. Una estación trasladada agrega fila; la discrepancia entre fuentes se guarda en vez de perderse.

  • idintegerPK
  • estaciontext→ estacion
  • latreal
  • lonreal
  • altitud_mreal
  • dem_mreal
  • fuente_idinteger→ fuente
  • es_vigenteinteger
  • dist_a_vigente_kmreal

institucion12 filas

DGA, DMC, CEAZA, INIA, SENAMHI y las demás redes.

  • idintegerPK
  • nombretext
  • paistext

estacion530 filas

Identidad de cada serie: código, nombre, institución. Sin coordenadas, que cambian y tienen su propia procedencia. Incluye los píxeles de ERA5-Land que climatol usó como referencia, marcados con es_referencia.

  • codigotextPK
  • nombretext
  • institucion_idinteger→ institucion
  • paistext
  • nombre_climatoltext
  • origentext
  • es_referenciainteger
  • notatext

accion_limpieza36 filas

Cada decisión de limpieza con su motivo y cuántas celdas tocó.

  • idintegerPK
  • version_idinteger→ version_dataset
  • etapatext
  • operaciontext
  • detalletext
  • estaciones_afectadasinteger
  • celdas_afectadasinteger

marca_calidad157 filas

Sospechas y exclusiones, separadas del valor. Un JOIN la trae y un WHERE la excluye, pero el dato medido no se borra.

El hecho central

producto4 filas

Observado, homogeneizado, CHIRPS y ERA5, cada uno con su escala: cuántas unidades enteras hay en 1 mm.

  • idintegerPK
  • codigotext
  • nombretext
  • unidadtext
  • escalainteger
  • es_medicioninteger

conteo_estacion1.089 filas

Cuántos meses tiene cada estación en cada producto, con sus ceros y su periodo. Se calcula al construir la base; la API lo lee en vez de recorrer observacion.

  • estaciontextPK
  • producto_idintegerPK
  • version_idintegerPK
  • filasinteger
  • cerosinteger
  • desdetext
  • hastatext

observacion294.271 filas

La tabla de hechos: estación × mes × producto × versión → valor y bandera. Formato largo. El valor es un entero; un mes sin medición no tiene fila y un mes medido en 0 mm sí la tiene.

  • estaciontextPK
  • mestextPK
  • producto_idintegerPK
  • version_idintegerPK
  • valorinteger
  • banderainteger

version_dataset5 filas

Cada reconstrucción, con su padre: la obsolescencia se propaga sola y se consulta con WITH RECURSIVE.

La homogeneización

segmento_regimen316 filas

Qué estación fue a qué régimen, si lo estimó ella misma o lo heredó de una vecina fiable, y las que quedaron fuera por cortas.

  • estaciontextPK
  • version_idintegerPK
  • regimentext
  • f_veranoreal
  • mm_anoreal
  • n_mesesinteger
  • min_obs_mesinteger
  • fiableinteger
  • regimen_origentext
  • vecina_origentext→ estacion
  • dist_vecina_kmreal
  • regimen_v4text

corrida_climatol8 filas

Una fila por régimen y escala, con los parámetros tal como climatol registró haberlos usado, inht incluido.

  • idintegerPK
  • version_idinteger→ version_dataset
  • regimentext
  • escalatext
  • anyiinteger
  • anyfinteger
  • n_seriesinteger
  • n_referenciainteger
  • parametrostext
  • inhttext
  • metadinteger
  • version_climatoltext
  • scripttext
  • ejecutada_entext

salto_climatol8 filas

Los quiebres detectados, con su mes y su SNHT.

Las vistas: por dónde empezar

v_estacion_vigente

Cada estación con su posición vigente y su régimen.

v_medicion_limpia

Solo medición vigente, sin relleno, sin corrección y sin celdas marcadas. La que sostiene cualquier tendencia.

v_observacion

El valor ya en milímetros (valor_mm = valor / escala), con el nombre del producto y de la versión. La consulta por defecto.

Un valor es un entero

La columna observacion.valor guarda milímetros multiplicados por la escala de su producto, y la vista v_observacion los devuelve ya divididos. Así el cero medido —el 65 % de la medición— compara exacto siempre, ocupa cero bytes y las sumas no acumulan error.

productoescala1 mm se guarda como
observado100100
homogeneizado100100
chirps10.00010.000
era510.00010.000

Una consulta de ejemplo

-- la medición de una estación, en mm, sin relleno ni celdas marcadas
SELECT mes, valor_mm
FROM v_medicion_limpia
WHERE estacion = '3450004'
ORDER BY mes;

Descargar y consultar

La base completa se abre con R, Python o DB Browser for SQLite sin instalar nada más. La misma base responde en línea por la API.