/**
* AEMET: API REST from the Spanish Meteorological Service.
* For more information about the service, please visit:
* https://opendata.aemet.es/dist/index.html?#!/observacion-convencional/Datos_de_observaci%C3%B3n_Tiempo_actual_1
* Note: Different data sources may have different limitations
* -> E.g., they may limit the # of queries per unit time
* AEMET requires registration to get KEY and must be included in parameters.
* The API KEY has format 'api_key'.
* Dates in format YYYY-MM-DDThh:mm:ss
* @type {Object}
* @name AEMET
* @memberof datasources
*/
export default {
// --- Observation (Observación Convencional) ---
stations: {
endpoint: "https://opendata.aemet.es/opendata/api/observacion/convencional/datos/estacion/",
params: { idema: null },
methods: { type: "json", method: "GET" },
},
"stations-all": {
endpoint: "https://opendata.aemet.es/opendata/api/observacion/convencional/todas",
params: {},
methods: { type: "json", method: "GET" },
},
messages: {
endpoint: "https://opendata.aemet.es/opendata/api/observacion/convencional/mensajes/tipomensaje/",
params: { tipomensaje: null },
methods: { type: "json", method: "GET" },
},
// --- Forecasts (Predicciones Específicas) ---
"forecast-municipality-daily": {
endpoint: "https://opendata.aemet.es/opendata/api/prediccion/especifica/municipio/diaria/",
params: { municipio: null },
methods: { type: "json", method: "GET" },
},
"forecast-municipality-hourly": {
endpoint: "https://opendata.aemet.es/opendata/api/prediccion/especifica/municipio/horaria/",
params: { municipio: null },
methods: { type: "json", method: "GET" },
},
"forecast-beach": {
endpoint: "https://opendata.aemet.es/opendata/api/prediccion/especifica/playa/",
params: { playa: null },
methods: { type: "json", method: "GET" },
},
"forecast-uv": {
endpoint: "https://opendata.aemet.es/opendata/api/prediccion/especifica/uvi/",
params: { dia: null },
methods: { type: "json", method: "GET" },
},
"forecast-mountain-area": {
endpoint: "https://opendata.aemet.es/opendata/api/prediccion/especifica/montaña/pasada/area/",
params: { area: null },
methods: { type: "json", method: "GET" },
},
// --- Climatology (Valores Climatológicos) ---
"daily-station": {
endpoint: "https://opendata.aemet.es/opendata/api/valores/climatologicos/diarios/datos/fechaini/",
params: { fechaIniStr: null, fechaFinStr: null, idema: null },
methods: { type: "json", method: "GET" },
},
"clima-daily-all": {
endpoint: "https://opendata.aemet.es/opendata/api/valores/climatologicos/diarios/datos/fechaini/",
params: { fechaIniStr: null, fechaFinStr: null, suffix: "todasestaciones" }, // suffix handled in logic or manual URL construction
methods: { type: "json", method: "GET" },
},
"clima-inventory-station": {
endpoint: "https://opendata.aemet.es/opendata/api/valores/climatologicos/inventarioestaciones/estaciones/",
params: { estaciones: null },
methods: { type: "json", method: "GET" },
},
"clima-inventory-all": {
endpoint: "https://opendata.aemet.es/opendata/api/valores/climatologicos/inventarioestaciones/todasestaciones",
params: {},
methods: { type: "json", method: "GET" },
},
"clima-monthly-annual": {
endpoint: "https://opendata.aemet.es/opendata/api/valores/climatologicos/mensualesanuales/datos/anioini/",
params: { anioIniStr: null, anioFinStr: null, idema: null },
methods: { type: "json", method: "GET" },
},
"clima-normals": {
endpoint: "https://opendata.aemet.es/opendata/api/valores/climatologicos/normales/estacion/",
params: { idema: null },
methods: { type: "json", method: "GET" },
},
"clima-extremes": {
endpoint: "https://opendata.aemet.es/opendata/api/valores/climatologicos/valoresextremos/parametro/",
params: { parametro: null, idema: null },
methods: { type: "json", method: "GET" },
},
// --- Satellite (Información Satélite) ---
"sat-ndvi": {
endpoint: "https://opendata.aemet.es/opendata/api/satelites/producto/nvdi",
params: {},
methods: { type: "json", method: "GET" },
},
"sat-sst": {
endpoint: "https://opendata.aemet.es/opendata/api/satelites/producto/sst",
params: {},
methods: { type: "json", method: "GET" },
},
// --- Maps & Graphs (Mapas y Gráficos) ---
"map-analysis": {
endpoint: "https://opendata.aemet.es/opendata/api/mapasygraficos/analisis",
params: {},
methods: { type: "json", method: "GET" },
},
"map-significant": {
endpoint: "https://opendata.aemet.es/opendata/api/mapasygraficos/mapassignificativos/fecha/",
params: { fecha: null, ambito: null, dia: null },
methods: { type: "json", method: "GET" },
},
// --- Master Data (Maestro) ---
"master-municipality": {
endpoint: "https://opendata.aemet.es/opendata/api/maestro/municipio/",
params: { municipio: null },
methods: { type: "json", method: "GET" },
},
"master-municipalities": {
endpoint: "https://opendata.aemet.es/opendata/api/maestro/municipios",
params: {},
methods: { type: "json", method: "GET" },
},
// --- Climate Products (Productos Climatológicos) ---
"product-water-balance": {
endpoint: "https://opendata.aemet.es/opendata/api/productos/climatologicos/balancehidrico/",
params: { anio: null, decena: null },
methods: { type: "json", method: "GET" },
},
"product-climate-summary": {
endpoint: "https://opendata.aemet.es/opendata/api/productos/climatologicos/resumenclimatologico/nacional/",
params: { anio: null, mes: null },
methods: { type: "json", method: "GET" },
},
// --- Configuration ---
requirements: {
needProxy: true,
requireskey: true,
keyname: "api_key",
},
info: {
returnFormats: "json",
MoreInfo: "https://opendata.aemet.es/dist/index.html",
About: "AEMET: API REST from the Spanish Meteorological Service. Requires API key."
},
"endpoint-info": {
stations: {
paramFormat: { idema: "String - Station identifier (e.g., '3195')" },
infoSource: "https://opendata.aemet.es/dist/index.html?#!/observacion-convencional/Datos_de_observaci%C3%B3n_Tiempo_actual_1",
example: { idema: "3195" }
},
"stations-all": {
paramFormat: {},
infoSource: "https://opendata.aemet.es/dist/index.html?#!/observacion-convencional/Datos_de_observaci%C3%B3n_Tiempo_actual_1",
example: {}
},
messages: {
paramFormat: { tipomensaje: "String - Message type (e.g., 'synop', 'temp', 'climat')" },
infoSource: "https://opendata.aemet.es/dist/index.html?#!/observacion-convencional/Mensajes_de_observaci%C3%B3n_1",
example: { tipomensaje: "synop" }
},
"forecast-municipality-daily": {
paramFormat: { municipio: "String - Municipality code (e.g., '28079' for Madrid)" },
infoSource: "https://opendata.aemet.es/dist/index.html?#!/predicciones-especificas/Predicci_n_por_municipios_diaria_1",
example: { municipio: "28079" }
},
"forecast-municipality-hourly": {
paramFormat: { municipio: "String - Municipality code (e.g., '28079')" },
infoSource: "https://opendata.aemet.es/dist/index.html?#!/predicciones-especificas/Predicci_n_por_municipios_horaria_1",
example: { municipio: "28079" }
},
"forecast-beach": {
paramFormat: { playa: "String - Beach code (e.g., '1100101')" },
infoSource: "https://opendata.aemet.es/dist/index.html?#!/predicciones-especificas/Predicci_n_mar_tima_de_playas_1",
example: { playa: "1100101" }
},
"forecast-uv": {
paramFormat: { dia: "Integer - Day offset (0=today, 1=tomorrow, etc.)" },
infoSource: "https://opendata.aemet.es/dist/index.html?#!/predicciones-especificas/Predicci_n_de_radiaci_n_ultravioleta_UVI_1",
example: { dia: "0" }
},
"forecast-mountain-area": {
paramFormat: { area: "String - Mountain area code (e.g., 'py1' for Pirineo Aragonés)" },
infoSource: "https://opendata.aemet.es/dist/index.html?#!/predicciones-especificas/Predicci_n_de_monta_a_pasada_1",
example: { area: "py1" }
},
"daily-station": {
paramFormat: {
fechaIniStr: "String - Start date (YYYY-MM-DDTHH:MM:SSUTC)",
fechaFinStr: "String - End date (YYYY-MM-DDTHH:MM:SSUTC)",
idema: "String - Station ID"
},
infoSource: "https://opendata.aemet.es/dist/index.html?#!/valores-climatologicos/Climatolog_as_diarias_1",
example: { fechaIniStr: "2020-01-01T00:00:00UTC", fechaFinStr: "2020-01-31T23:59:59UTC", idema: "3195" }
},
"clima-daily-all": {
paramFormat: {
fechaIniStr: "String - Start date (YYYY-MM-DDTHH:MM:SSUTC)",
fechaFinStr: "String - End date (YYYY-MM-DDTHH:MM:SSUTC)"
},
infoSource: "https://opendata.aemet.es/dist/index.html?#!/valores-climatologicos/Climatolog_as_diarias_1",
example: { fechaIniStr: "2020-01-01T00:00:00UTC", fechaFinStr: "2020-01-02T23:59:59UTC" }
},
"clima-inventory-station": {
paramFormat: { estaciones: "String - Station ID" },
infoSource: "https://opendata.aemet.es/dist/index.html?#!/valores-climatologicos/Inventario_de_estaciones_1",
example: { estaciones: "3195" }
},
"clima-inventory-all": {
paramFormat: {},
infoSource: "https://opendata.aemet.es/dist/index.html?#!/valores-climatologicos/Inventario_de_estaciones_1",
example: {}
},
"clima-monthly-annual": {
paramFormat: {
anioIniStr: "String - Start Year (YYYY)",
anioFinStr: "String - End Year (YYYY)",
idema: "String - Station ID"
},
infoSource: "https://opendata.aemet.es/dist/index.html?#!/valores-climatologicos/Climatolog_as_mensuales_anuales_1",
example: { anioIniStr: "2015", anioFinStr: "2020", idema: "3195" }
},
"clima-normals": {
paramFormat: { idema: "String - Station ID" },
infoSource: "https://opendata.aemet.es/dist/index.html?#!/valores-climatologicos/Valores_normales_1",
example: { idema: "3195" }
},
"clima-extremes": {
paramFormat: { parametro: "String - Parameter (P, T, V)", idema: "String - Station ID" },
infoSource: "https://opendata.aemet.es/dist/index.html?#!/valores-climatologicos/Valores_extremos_1",
example: { parametro: "T", idema: "3195" }
},
"sat-ndvi": {
paramFormat: {},
infoSource: "https://opendata.aemet.es/dist/index.html?#!/informacion-satelite/Producto_NDVI_1",
example: {}
},
"sat-sst": {
paramFormat: {},
infoSource: "https://opendata.aemet.es/dist/index.html?#!/informacion-satelite/Producto_SST_1",
example: {}
},
"map-analysis": {
paramFormat: {},
infoSource: "https://opendata.aemet.es/dist/index.html?#!/mapas-y-graficos/Mapas_de_an_lisis_1",
example: {}
},
"map-significant": {
paramFormat: {
fecha: "String - Date (YYYY-MM-DD)",
ambito: "String - Scope (esp, eur)",
dia: "String - Day offset (a, b, c...)"
},
infoSource: "https://opendata.aemet.es/dist/index.html?#!/mapas-y-graficos/Mapas_significativos_1",
example: { fecha: "2024-01-01", ambito: "esp", dia: "a" }
},
"master-municipality": {
paramFormat: { municipio: "String - Municipality ID" },
infoSource: "https://opendata.aemet.es/dist/index.html?#!/maestro/Municipios_1",
example: { municipio: "28079" }
},
"master-municipalities": {
paramFormat: {},
infoSource: "https://opendata.aemet.es/dist/index.html?#!/maestro/Municipios_1",
example: {}
},
"product-water-balance": {
paramFormat: { anio: "String - Year", decena: "String - Decad (01-36)" },
infoSource: "https://opendata.aemet.es/dist/index.html?#!/productos-climatologicos/Balance_h_drico_nacional_por_decenas_1",
example: { anio: "2024", decena: "01" }
},
"product-climate-summary": {
paramFormat: { anio: "String - Year", mes: "String - Month (01-12)" },
infoSource: "https://opendata.aemet.es/dist/index.html?#!/productos-climatologicos/Resumen_climatol_gico_mensual_nacional_1",
example: { anio: "2024", mes: "01" }
}
}
};