---
canonical_url: "https://risknews.com.ar/contenido/4457/ibero-risk-index-metric-monitor"
title: "El Atlas de la Resiliencia: El ranking de los 100 nodos geoeconómicos de Iberoamérica devela un mapa de dos velocidades"
article_type: "AnalysisNewsArticle"
description: "La primera cartografía integral de los 100 motores económicos de la región evalúa metrópolis, hubs logísticos y corredores industriales bajo el prisma de riesgos climáticos, estabilidad de infraestructura y gobernanza. El eje ibérico-cono sur consolida su liderazgo, mientras los nodos industriales intermedios resisten la presión global."
main_image: "https://risknews.com.ar/download/multimedia.normal.91c12012c4da4352.bm9ybWFsLndlYnA%3D.webp"
date_published: "2026-07-18T15:52:00-03:00"
date_modified: "2026-07-18T16:25:45-03:00"
tags:
  - "IBERO-RISK INDEX"
author_name: "RN"
author_url: "https://risknews.com.ar/usuario/2/rn"
category_name: "Iberoamérica"
category_url: "https://risknews.com.ar/categoria/49/iberoamerica"
category_description: "Toda la información estratégica de Iberoamérica en un solo lugar. Análisis de Gestión de Riesgo, Inversiones y regulaciones."
---

# El Atlas de la Resiliencia: El ranking de los 100 nodos geoeconómicos de Iberoamérica devela un mapa de dos velocidades

SYSTEM INTEGRATION: MONITOR DE GESTIÓN MAESTRO BY CITY RISK-70 (EDICIÓN EXCLUSIVA DE SOLO LECTURA)

PANEL DE CONTROL SOBERANO DE SOLO LECTURA

MONITOR DE VISUALIZACIÓN DE RIESGO E INVERSIÓN ESTRUCTURAL // CITY RISK-70

[TERMINAL DE MATRIZ] [DISTRIBUCIÓN JURISDICCIONAL]

STATUS: LIVE FEED MONITORED

SECCIÓN 1: TERMINAL DE DATOS CON SCROLL INDEPENDIENTE

RANK / NODOS GEOECONÓMICOS CALIFICACIÓN TCO RIESGO HIDRO (45%) RIESGO SÍSMICO (35%) RESILIENCIA URBANA (12%) RIESGO TRANSICIÓN CO2 (8%)    El script inyectará las 100 comunas correlativas aquí

SECCIÓN 2: DASHBOARD PROVINCIAL

// CONCENTRACIÓN DE PROYECTOS POR JURISDICCIÓN

// RESUMEN CRÍTICO DE ACTIVOS

0 JURISDICCIONES

100 COMUNAS AUDITADAS

**Tesis de Inversión (TCO):** Terminal informativa cerrada. Las posiciones altas representan un Costo Total de Propiedad mínimo, ideal para el despliegue de infraestructura pesada o fideicomisos tokenizados, debido al nulo presupuesto requerido para obras de mitigación física o multas climáticas.

// COMUNAS EN PROVINCIA

[VOLVER AL RESUMEN GENERAL]

ANÁLISIS METODOLÓGICO EXPLICATIVO INFERIOR

// FUNDAMENTACIÓN CIENTÍFICA Y CRITERIO DE EVALUACIÓN GEOECONÓMICA

Este spread y ranking técnico no responde a criterios político-administrativos, sino a la eficiencia en el despliegue de capital de largo plazo. El **Scoring Integrado** se ejecuta mediante una modelación estocástica multivariable ponderada bajo cuatro grandes vectores del programa **City Risk-70**:

45% **Riesgo Hidrometeorológico:** Evalúa la recurrencia de inundaciones pluviales, desbordes de cuencas macros y saturación de napas. Determina el costo de sobreelevación civil y cimientos.

35% **Riesgo Sísmico Absoluto:** Basado en las zonificaciones geofísicas del INPRES (Zonas 0 a 4). Impacta de forma directa el CAPEX inicial estructural debido a los códigos de edificación sismo-resistentes exigidos.

12% **Resiliencia y Gobernanza Urbana:** Mide la capacidad institucional local, disponibilidad de planes de contingencia (COE), redundancia energética, conectividad vial e infraestructura civil preexistente.

8% **Riesgo de Transición Climática (CO2):** Audita la huella de carbono fija local y la dependencia de combustibles fósiles. Penaliza clústeres industriales tradicionales obsoletos ante normativas ESG internacionales y favorece la inyección de energías renovables o transporte fluvial eficiente.

PANEL MODAL DE DETALLE / AUDITORÍA INDIVIDUAL (SOLO LECTURA)

AUDITORÍA HISTÓRICA DE RIESGO // CITY RISK-70

[CERRAR TICKET]

PROGRAMA CITY RISK-70 // DIAGNÓSTICO METODOLÓGICO GEOECONÓMICO Y DE RIESGO DE TRANSICIÓN

TANDIL (BA)

ÓPTIMO

// COMPOSICIÓN GEOTÉCNICA, LOGÍSTICA Y MATRIZ ENERGÉTICA

RIESGO SÍSMICO (35%):-

RIESGO HIDROMETEOROLÓGICO (45%):-

RESILIENCIA ANTRÓPICA (12%):-

RIESGO DE TRANSICIÓN CO2 (8%):-

// EVALUACIÓN DE EFICIENCIA DE CAPITAL (TCO)

-

🖨 [DESCARGAR REPORTE DE TRANSICIÓN EN PDF]

Análisis elaborado mediante ponderación sistémica multivariable. © City Risk-70 Argentina.

(function() { const matrixData = [ { rank: "01", name: "Andorra la Vella (AND)", score: "Optimo", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Muy Bajo (Serrano)", antro: "Máxima", co2: "Muy Bajo", diag: "Máxima eficiencia de capital. Geología de basamento alpino estable; nulos costos de mitigación." }, { rank: "02", name: "Coímbra (PRT)", score: "Optimo", class: "bb-safe", sismo: "Zona 1 (Reducido)", hidro: "Bajo", antro: "Alta", co2: "Muy Bajo", diag: "Red de servicios integrada y matriz descarbonizada. Mínimo impacto transicional." }, { rank: "03", name: "Segovia (ESP)", score: "Optimo", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Bajo", antro: "Alta", co2: "Bajo", diag: "Suelo granítico estable. Costos de CAPEX base mínimos por ausencia de amenazas hídricas." }, { rank: "04", name: "Tandil (BA - ARG)", score: "Optimo", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Muy Bajo (Serrano)", antro: "Muy Alto", co2: "Muy Bajo", diag: "Cero riesgo de sismicidad. El cinturón serrano actúa como amortiguador hídrico y sumidero ecológico regional." }, { rank: "05", name: "Punta Delgada (PRT)", score: "Optimo", class: "bb-safe", sismo: "Zona 1 (Reducido)", hidro: "Moderado", antro: "Alta", co2: "Muy Bajo", diag: "Nodo insular con robustos protocolos de contingencia y transición renovable acelerada." }, { rank: "06", name: "Oviedo (ESP)", score: "Optimo", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Bajo", antro: "Alta", co2: "Bajo", diag: "Escorrentía natural eficiente en el norte peninsular. Infraestructura civil robusta." }, { rank: "07", name: "General Pico (LP - ARG)", score: "Optimo", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Bajo (Infiltración)", antro: "Alto", co2: "Bajo (Eficiencia)", diag: "Llanura de transición alta libre de la saturación de napas. Baja fricción regulatoria." }, { rank: "08", name: "Tres Arroyos (BA - ARG)", score: "Optimo", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Bajo (Planicie)", antro: "Alto", co2: "Bajo", diag: "Suelo pampeano elevado de alta resistencia mecánica. CAPEX civil base mínimo." }, { rank: "09", name: "Évora (PRT)", score: "Optimo", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Bajo", antro: "Alta", co2: "Bajo", diag: "Planicie alentejana geológicamente estable. Reto menor centrado en el estrés hídrico estival." }, { rank: "10", name: "Viedma (RN - ARG)", score: "Optimo", class: "bb-safe", sismo: "Zona 1 (Reducido)", hidro: "Bajo (Río Regulado)", antro: "Alto", co2: "Muy Bajo (Eólico)", diag: "Caudal fluvial rígidamente administrado por represas. Integración nativa de energía eólica." }, { rank: "11", name: "Chivilcoy (BA - ARG)", score: "Optimo", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Mod-Bajo (Elevado)", antro: "Alto", co2: "Bajo", diag: "Suelo firme localizado completamente fuera del área de depresión de la cuenca del Salado." }, { rank: "12", name: "Rafaela (SF - ARG)", score: "Optimo", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Moderado", antro: "Muy Alto (Gobernanza)", co2: "Moderado", diag: "Polo industrial de alta resiliencia. Inversión pluvial interna absorbe riesgos de la llanura." }, { rank: "13", name: "Puerto Madryn (CH - ARG)", score: "Optimo", class: "bb-safe", sismo: "Zona 1 (Reducido)", hidro: "Muy Bajo (Aridez)", antro: "Alto", co2: "Moderado (Eólico)", diag: "Cero riesgo de inundación fluvial por clima desértico. Huella equilibrada por parques eólicos." }, { rank: "14", name: "Crespo (ER - ARG)", score: "Optimo", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Bajo (Lomadas)", antro: "Alto", co2: "Bajo (Bioenergía)", diag: "Ubicación geoespacial privilegiada en lomadas altas. Mitigación de CO2 mediante biogás." }, { rank: "15", name: "General Roca (RN - ARG)", score: "Optimo", class: "bb-safe", sismo: "Zona 1 (Reducido)", hidro: "Bajo (Valle alto)", antro: "Alto", co2: "Bajo", diag: "Protección física contra aluviones en el Alto Valle. Bajas emisiones industriales fijas." }, { rank: "16", name: "Villa Carlos Paz (CBA)", score: "Optimo", class: "bb-safe", sismo: "Zona 1 (Reducido)", hidro: "Bajo (Escorrentía)", antro: "Alto", co2: "Bajo", diag: "Geotecnia serrana que evacua excesos pluviales de inmediato. Ausencia de plantas fabriles CO2." }, { rank: "17", name: "Rivera (URY)", score: "Optimo", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Bajo", antro: "Alto", co2: "Muy Bajo", diag: "Cero sismicidad, suelo firme en penillanura norte. Sólida estabilidad institucional y cambiaria." }, { rank: "18", name: "Colonia del Sacramento (URY)", score: "Optimo", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Moderado (Costero)", antro: "Alto", co2: "Muy Bajo", diag: "Ribera geológicamente inerte con defensas costeras maduras e infraestructura estable de conectividad." }, { rank: "19", name: "Tacuarembó (URY)", score: "Optimo", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Bajo", antro: "Alto", co2: "Muy Bajo", diag: "Centro geográfico uruguayo. Alta resiliencia del suelo y matriz energética limpia." }, { rank: "20", name: "San José de Mayo (URY)", score: "Optimo", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Moderado", antro: "Alto", co2: "Muy Bajo", diag: "Despliegue industrial eficiente apoyado en topografía estable y gobernanza de bajo riesgo." }, { rank: "21", name: "Maldonado (URY)", score: "Seguro", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Moderado (Costero)", antro: "Alto", co2: "Bajo", diag: "Zona costera premium de baja exposure climática extrema y alta capacidad institucional." }, { rank: "22", name: "Salto (URY)", score: "Seguro", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Mod-Alto (Río)", antro: "Alto", co2: "Muy Bajo", diag: "Expuesto a crecidas del Río Uruguay mitigadas por la represa de Salto Grande. Matriz limpia." }, { rank: "23", name: "Las Piedras (URY)", score: "Seguro", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Moderado", antro: "Alto", co2: "Bajo", diag: "Región metropolitana de suelo firme, con requisitos de CAPEX estándar para drenajes urbanos." }, { rank: "24", name: "Curitiba (BRA)", score: "Seguro", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Moderado", antro: "Muy Alto", co2: "Moderado", diag: "Modelo global de planificación urbana. Infraestructura verde que amortigua excesos pluviales." }, { rank: "25", name: "Belo Horizonte (BRA)", score: "Seguro", class: "bb-safe", sismo: "Zona 1 (Bajo)", hidro: "Moderado", antro: "Alto", co2: "Moderado", diag: "Cimientos firmes en escudo geológico antiguo, requiere control de escorrentía en laderas." }, { rank: "26", name: "Ribeirão Preto (BRA)", score: "Seguro", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Bajo", antro: "Alto", co2: "Moderado", diag: "Hub agroindustrial de alta estabilidad física. Perfil transicional CO2 estable y regulado." }, { rank: "27", name: "Florianópolis (BRA)", score: "Seguro", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Moderado (Costero)", antro: "Alto", co2: "Bajo", diag: "Dinámica insular controlada con baja huella de carbono fija pesada y alta gobernanza turística." }, { rank: "28", name: "Campinas (BRA)", score: "Seguro", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Moderado", antro: "Alto", co2: "Alto", diag: "Polo tecnológico de alta resiliencia en servicios, penalizado por emisiones logísticas de transporte." }, { rank: "29", name: "San José (CRI)", score: "Seguro", class: "bb-safe", sismo: "Zona 3 (Elevado)", hidro: "Alto (Pluvial)", antro: "Alto", co2: "Muy Bajo", diag: "Alta sismicidad centroamericana compensada por normas de construcción estrictas y matriz verde." }, { rank: "30", name: "Cartago (CRI)", score: "Seguro", class: "bb-safe", sismo: "Zona 3 (Elevado)", hidro: "Moderado", antro: "Alto", co2: "Muy Bajo", diag: "Exposición tectónica mitigada por llanuras estables y baja huella ecológica corporativa." }, { rank: "31", name: "Alajuela (CRI)", score: "Seguro", class: "bb-safe", sismo: "Zona 3 (Elevado)", hidro: "Moderado", antro: "Alto", co2: "Bajo", diag: "Cercanía a infraestructura logística clave. Resiliencia institucional madura ante eventos hídricos." }, { rank: "32", name: "Heredia (CRI)", score: "Seguro", class: "bb-safe", sismo: "Zona 3 (Elevado)", hidro: "Moderado", antro: "Alto", co2: "Muy Bajo", diag: "Clúster de servicios globales de alta continuidad operativa y nula fricción regulatoria CO2." }, { rank: "33", name: "Viña del Mar (CHL)", score: "Seguro", class: "bb-safe", sismo: "Zona 4 (Máximo)", hidro: "Moderado (Costero)", antro: "Alto", co2: "Bajo", diag: "Exposición sísmica y de tsunamis crítica, neutralizada por estándares de ingeniería antisísmica premium." }, { rank: "34", name: "Antofagasta (CHL)", score: "Seguro", class: "bb-safe", sismo: "Zona 4 (Máximo)", hidro: "Muy Bajo (Aridez)", antro: "Alto", co2: "Alto", diag: "Desierto absoluto que anula riesgos hídricos, pero penalizado por emisiones de minería pesada." }, { rank: "35", name: "Concepción (CHL)", score: "Seguro", class: "bb-safe", sismo: "Zona 4 (Máximo)", hidro: "Alto (Fluvial)", antro: "Muy Alto", co2: "Moderado", diag: "Historial sísmico extremo superado gracias a la infraestructura urbana y civil más resiliente." }, { rank: "36", name: "Punta Arenas (CHL)", score: "Seguro", class: "bb-safe", sismo: "Zona 2 (Moderado)", hidro: "Bajo", antro: "Alto", co2: "Bajo (Eólico)", diag: "Aislado de sismos mayores del norte. Hub de hidrógeno verde en expansión transicional regulada." }, { rank: "37", name: "Añelo (NQN - ARG)", score: "Seguro", class: "bb-safe", sismo: "Zona 1 (Bajo)", hidro: "Muy Bajo (Aridez)", antro: "Alto", co2: "Muy Alto (Shale Gas)", diag: "Epicentro de Vaca Muerta. Libre de riesgos hídricos; penalizado por la huella de carbono fósil." }, { rank: "38", name: "Pto. Gral. San Martín (SF)", score: "Seguro", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Moderado (Ribera)", antro: "Alto", co2: "Alto (Crushing)", diag: "Hub agroexportador global sobre el Paraná. Alta concentración de emisiones de transporte pesado." }, { rank: "39", name: "San Lorenzo (SF - ARG)", score: "Seguro", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Moderado", antro: "Alto", co2: "Alto (Químico)", diag: "Conectividad fluvial de primer nivel, requiriendo planes de descarbonización corporativos a mediano plazo." }, { rank: "40", name: "Olavarría (BA - ARG)", score: "Seguro", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Bajo (Canales)", antro: "Alto", co2: "Alto (Cementero)", diag: "Infraestructura de canalización del Tapalqué robusta. Riesgo de transición en polo de cemento." }, { rank: "41", name: "Luján de Cuyo (MZ - ARG)", score: "Seguro", class: "bb-safe", sismo: "Zona 3 (Elevado)", hidro: "Muy Bajo", antro: "Alto", co2: "Alto (Refinería)", diag: "Inmune a inundaciones pluviales, exige cimientos sismorresistentes y mitigación ambiental corporativa." }, { rank: "42", name: "Bragado (BA - ARG)", score: "Seguro", class: "bb-safe", sismo: "Zona 0 (Inerte)", hidro: "Bajo (Estable)", antro: "Alto", co2: "Bajo (Agro)", diag: "Suelo pampeano alto de gran firmeza geotécnica. Exento de anegamientos sistémicos del Salado. CAPEX de mitigación mínimo." }, { rank: "43", name: "David (PAN)", score: "Seguro", class: "bb-safe", sismo: "Zona 2 (Moderado)", hidro: "Alto (Pluvial)", antro: "Moderado", co2: "Bajo", diag: "Protegido de huracanes caribeños. Requiere inversiones estándar en redes de drenaje pluvial urbano." }, { rank: "44", name: "Santiago de Veraguas (PAN)", score: "Seguro", class: "bb-safe", sismo: "Zona 1 (Bajo)", hidro: "Moderado", antro: "Moderado", co2: "Bajo", diag: "Localización interior estable con baja actividad tectónica y huella ambiental corporativa reducida." }, { rank: "45", name: "Chone (ECU)", score: "Seguro", class: "bb-safe", sismo: "Zona 3 (Elevado)", hidro: "Alto", antro: "Moderado", co2: "Bajo", diag: "Historial hídrico complejo controlado por obras multipropósito de control de inundaciones recientes." }, { rank: "46", name: "Madrid (ESP)", score: "Moderado", class: "bb-mod", sismo: "Zona 0 (Inerte)", hidro: "Bajo", antro: "Máxima", co2: "Alto (Vehicular)", diag: "Riesgo físico mínimo. El riesgo operativo se centra en regulaciones de zonas de bajas emisiones." }, { rank: "47", name: "Barcelona (ESP)", score: "Moderado", class: "bb-mod", sismo: "Zona 1 (Bajo)", hidro: "Moderado (Costero)", antro: "Máxima", co2: "Alto", diag: "Riesgos climáticos acotados a olas de calor y estrés hídrico. Infraestructura de servicios de clase mundial." }, { rank: "48", name: "Valencia (ESP)", score: "Moderado", class: "bb-mod", sismo: "Zona 1 (Bajo)", hidro: "Alto (Torrencial)", antro: "Máxima", co2: "Moderado", diag: "Expuesta a eventos de gota fría (DANA) severos. Plan de desvío del río Turia mitiga el casco central urbano." }, { rank: "49", name: "Lisboa (PRT)", score: "Moderado", class: "bb-mod", sismo: "Zona 2 (Moderado)", hidro: "Moderado (Costero)", antro: "Máxima", co2: "Moderado", diag: "Riesgo sísmico histórico latente. Infraestructura de servicios públicos altamente redundante y resiliente." }, { origin: "50", rank: "50", name: "Oporto (PRT)", score: "Moderado", class: "bb-mod", sismo: "Zona 1 (Bajo)", hidro: "Moderado", antro: "Máxima", co2: "Moderado", diag: "Configuración estuarina que exige control pluvial. Excelente gobernanza y estabilidad de activos fijos." }, { rank: "51", name: "Santiago (CHL)", score: "Moderado", class: "bb-mod", sismo: "Zona 3 (Elevado)", hidro: "Bajo (Aridez)", antro: "Muy Alto", co2: "Alto (Smog)", diag: "Infraestructura antisísmica total. Vulnerabilidad concentrada en la cuenca por estrés hídrico severo." }, { rank: "52", name: "São Paulo (BRA)", score: "Moderado", class: "bb-mod", sismo: "Zona 0 (Inerte)", hidro: "Alto (Inundaciones)", antro: "Muy Alto", co2: "Alto", diag: "Megaurbe con islas de calor e inundaciones pluviales recurrentes. Consumo energético e hídrico masivo." }, { rank: "53", name: "CABA (ARG)", score: "Moderado", class: "bb-mod", sismo: "Zona 0 (Inerte)", hidro: "Mod-Alto (Pluvial)", antro: "Máximo", co2: "Alto (Vehicular)", diag: "Gran presupuesto en túneles aliviadores hidráulicos. Suelo impermeable y alta huella de transporte." }, { rank: "54", name: "Godoy Cruz (MZ - ARG)", score: "Moderado", class: "bb-mod", sismo: "Zona 3 (Elevado)", hidro: "Muy Bajo", antro: "Muy Alto", co2: "Muy Bajo (Bioclim)", diag: "Compensa el costo de edificación sísmica con una gobernanza climática y urbanismo bioclimático modelo." }, { rank: "55", name: "Bucaramanga (COL)", score: "Moderado", class: "bb-mod", sismo: "Zona 3 (Elevado)", hidro: "Moderado", antro: "Alto", co2: "Bajo", diag: "Meseta geológicamente firme dentro de una región de alta sismicidad nacional (Nido de Bucaramanga)." }, { rank: "56", name: "Pereira (COL)", score: "Moderado", class: "bb-mod", sismo: "Zona 3 (Elevado)", hidro: "Alto (Laderas)", antro: "Alto", co2: "Bajo", diag: "Eje cafetero. Exige control estricto de ingeniería en laderas por riesgos de deslizamientos en masa." }, { rank: "57", name: "Manizales (COL)", score: "Moderado", class: "bb-mod", sismo: "Zona 3 (Elevado)", hidro: "Alto (Laderas)", antro: "Alto", co2: "Bajo", diag: "Alta vulnerabilidad a sismos y aluviones, contrarrestada por un sistema de gestión del riesgo modelo." }, { rank: "58", name: "Cuenca (ECU)", score: "Moderado", class: "bb-mod", sismo: "Zona 2 (Moderado)", hidro: "Moderado", antro: "Alto", co2: "Bajo", diag: "Topografía andina alta y estable. Riesgo hidrológico limitado a cuencas de ríos internos menores." }, { rank: "59", name: "Querétaro (MEX)", score: "Moderado", class: "bb-mod", sismo: "Zona 1 (Bajo)", hidro: "Bajo", antro: "Alto", co2: "Alto (Industrial)", diag: "Destino industrial seguro libre de sismos mayores y huracanes. Penalizado por huella de carbono fabril." }, { rank: "60", name: "Monterrey (MEX)", score: "Moderado", class: "bb-mod", sismo: "Zona 1 (Bajo)", hidro: "Alto (Huracán/Sec)", antro: "Alto", co2: "Muy Alto (Industrial)", diag: "Expuesto a sequías extremas e inundaciones por remanentes de huracanes. Alta huella de carbono industrial." }, { rank: "61", name: "Guadalajara (MEX)", score: "Moderado", class: "bb-mod", sismo: "Zona 2 (Moderado)", hidro: "Moderado (Pluvial)", antro: "Alto", co2: "Alto", diag: "Crecimiento urbano veloz exige renovación en colectores pluviales para evitar colapsos transitorios." }, { rank: "62", name: "Aguascalientes (MEX)", score: "Moderado", class: "bb-mod", sismo: "Zona 1 (Bajo)", hidro: "Bajo", antro: "Alto", co2: "Alto", diag: "Alta estabilidad geológica y resiliencia ante desastres naturales. Dependencia de generación fósil." }, { rank: "63", name: "Ciudad de Panamá (PAN)", score: "Moderado", class: "bb-mod", sismo: "Zona 2 (Moderado)", hidro: "Alto (Pluvial)", antro: "Alto", co2: "Moderado", diag: "Gran desarrollo de infraestructura. Vulnerable a saturación estacional de sistemas de drenaje urbano." }, { rank: "64", name: "Trujillo (PER)", score: "Moderado", class: "bb-mod", sismo: "Zona 3 (Elevado)", hidro: "Alto (El Niño)", antro: "Moderado", co2: "Bajo", diag: "Expuesta crónicamente a lluvias torrenciales y aluviones (huaicos) provocados por El Niño." }, { rank: "65", name: "Arequipa (PER)", score: "Moderado", class: "bb-mod", sismo: "Zona 3 (Elevado)", hidro: "Muy Bajo (Aridez)", antro: "Moderado", co2: "Bajo", diag: "Riesgo sísmico y volcánico (Misti) activo. Su clima árido elimina problemas pluviales destructivos." }, { rank: "66", name: "Santa Cruz de la Sierra (BOL)", score: "Moderado", class: "bb-mod", sismo: "Zona 0 (Inerte)", hidro: "Alto (Pluvial)", antro: "Moderado", co2: "Moderado", diag: "Llanura geológicamente estable, pero rezagada en colectores pluviales ante lluvias monzónicas severas." }, { rank: "67", name: "Córdoba (CBA - ARG)", score: "Moderado", class: "bb-mod", sismo: "Zona 1 (Reducido)", hidro: "Moderado", antro: "Alto", co2: "Moderado", diag: "Riesgo hídrico acotado a crecidas del río Suquía. Infraestructura urbana y de servicios mediana." }, { rank: "68", name: "Rosario (SF - ARG)", score: "Moderado", class: "bb-mod", sismo: "Zona 0 (Inerte)", hidro: "Alto (Fluvial)", antro: "Alto", co2: "Alto", diag: "Ubicación portuaria premium sobre el eje del Paraná, sujeta a oscilaciones de caudal severas del río." }, { rank: "69", name: "Montevideo (URY)", score: "Moderado", class: "bb-mod", sismo: "Zona 0 (Inerte)", hidro: "Moderado", antro: "Alto", co2: "Bajo", diag: "Sólida infraestructura de servicios públicos, expuesta a sudestadas y erosión costera moderada." }, { rank: "70", name: "Asunción (PRY)", score: "Moderado", class: "bb-mod", sismo: "Zona 0 (Inerte)", hidro: "Alto (Pluvial/Fluv)", antro: "Moderado", co2: "Moderado", diag: "Inerte a sismos, pero con alta vulnerabilidad pluvial por falta de alcantarillado integral moderno." }, { rank: "71", name: "Ciudad de México (MEX)", score: "Alerta", class: "bb-risk", sismo: "Zona 4 (Máximo)", hidro: "Alto (Inundación)", antro: "Alto", co2: "Muy Alto (Urbano)", diag: "Desafío de ingeniería extremo: subsidencia del suelo (hundimiento), sismos mayores y estrés hídrico masivo." }, { rank: "72", name: "Bogotá (COL)", score: "Alerta", class: "bb-risk", sismo: "Zona 3 (Elevado)", hidro: "Alto (Pluvial)", antro: "Alto", co2: "Moderado", diag: "Sabana andina densa sujeta a inundaciones por fallas de drenaje urbano e inestabilidad sísmica latente." }, { rank: "73", name: "Cali (COL)", score: "Alerta", class: "bb-risk", sismo: "Zona 3 (Elevado)", hidro: "Alto", antro: "Moderado", co2: "Moderado", diag: "Alta vulnerabilidad tectónica por fallas cercanas del Pacífico combinada con inundaciones del río Cauca." }, { rank: "74", name: "Medellín (COL)", score: "Alerta", class: "bb-risk", sismo: "Zona 2 (Moderado)", hidro: "Alto (Laderas)", antro: "Alto", co2: "Moderado", diag: "Valle estrecho altamente vulnerable a deslizamientos en masa en distritos periféricos de alta densidad." }, { rank: "75", name: "Lima (PER)", score: "Alerta", class: "bb-risk", sismo: "Zona 4 (Máximo)", hidro: "Muy Bajo (Aridez)", antro: "Moderado", co2: "Alto (Vehicular)", diag: "Riesgo sísmico extremo (silencio geológico histórico masivo). Megaciudad vulnerable al desabasto de agua." }, { rank: "76", name: "Quito (ECU)", score: "Alerta", class: "bb-risk", sismo: "Zona 4 (Máximo)", hidro: "Moderado", antro: "Alto", co2: "Bajo", diag: "Construida sobre fallas ciegas activas y flancos de volcanes (Pichincha). Alto CAPEX estructural." }, { rank: "77", name: "Guayaquil (ECU)", score: "Alerta", class: "bb-risk", sismo: "Zona 3 (Elevado)", hidro: "Muy Alto (Fluv/Est)", antro: "Moderado", co2: "Moderado", diag: "Vulnerabilidad extrema a inundaciones concurrentes por mareas altas y crecidas fluviales de El Niño." }, { rank: "78", name: "Veracruz (MEX)", score: "Alerta", class: "bb-risk", sismo: "Zona 2 (Moderado)", hidro: "Muy Alto (Huracán)", antro: "Moderado", co2: "Alto", diag: "Puerto estratégico expuesto directamente al impacto de ciclones tropicales severos en el Golfo de México." }, { rank: "79", name: "Acapulco (MEX)", score: "Alerta", class: "bb-risk", sismo: "Zona 4 (Máximo)", hidro: "Muy Alto (Huracán)", antro: "Bajo", co2: "Moderado", diag: "Vulnerabilidad destructiva severa confirmada ante huracanes de rápida intensificación y sismos destructivos." }, { rank: "80", name: "San Salvador (SLV)", score: "Alerta", class: "bb-risk", sismo: "Zona 4 (Máximo)", hidro: "Alto (Pluvial)", antro: "Moderado", co2: "Bajo", diag: "Alta densidad sísmica estructural histórica. Avances en gobernanza frenados por vulnerabilidad física." }, { rank: "81", name: "Ciudad de Guatemala (GTM)", score: "Alerta", class: "bb-risk", sismo: "Zona 4 (Máximo)", hidro: "Alto", antro: "Moderado", co2: "Moderado", diag: "Asentada sobre fallas geológicas mayores y rodeada de volcanes activos. Alto riesgo de deslaves." }, { rank: "82", name: "San Pedro Sula (HND)", score: "Alerta", class: "bb-risk", sismo: "Zona 2 (Moderado)", hidro: "Muy Alto (Inundación)", antro: "Bajo", co2: "Moderado", diag: "Expuesto crónicamente a catastróficas inundaciones fluviales en el Valle de Sula por huracanes." }, { rank: "83", name: "Tegucigalpa (HND)", score: "Alerta", class: "bb-risk", sismo: "Zona 1 (Bajo)", hidro: "Alto (Deslaves)", antro: "Bajo", co2: "Moderado", diag: "Topografía montañosa inestable propensa a deslizamientos generalizados de suelo ante lluvias intensas." }, { rank: "84", name: "Managua (NIC)", score: "Alerta", class: "bb-risk", sismo: "Zona 4 (Máximo)", hidro: "Alto (Inundación)", antro: "Bajo", co2: "Bajo", diag: "Historial destructivo por fallas sísmicas superficiales activas que cruzan el casco urbano central." }, { rank: "85", name: "Maracaibo (VEN)", score: "Alerta", class: "bb-risk", sismo: "Zona 2 (Moderado)", hidro: "Moderado", antro: "Bajo", co2: "Muy Alto (Fósil)", diag: "Estabilidad natural aceptable, penalizada por el colapso operativo prolongado de la red eléctrica e hídrica." }, { rank: "86", name: "Caracas (VEN)", score: "Alerta", class: "bb-risk", sismo: "Zona 3 (Elevado)", hidro: "Alto (Laderas)", antro: "Bajo", co2: "Moderado", diag: "Alta densidad en laderas inestables expuestas a flujos de lodo, sumado a obsolescencia de redes básicas." }, { rank: "87", name: "Valencia (VEN)", score: "Alerta", class: "bb-risk", sismo: "Zona 3 (Elevado)", hidro: "Alto", antro: "Bajo", co2: "Alto", diag: "Complejo industrial inactivo con severas deficiencias en el suministro eléctrico y agua de respaldo." }, { rank: "88", name: "La Habana (CUB)", score: "Alerta", class: "bb-risk", sismo: "Zona 1 (Bajo)", hidro: "Muy Alto (Huracán)", antro: "Moderado", co2: "Alto", diag: "Excelente organización de evacuación, con colapso edilicio urbano recurrente por falta de inversión edilicia." }, { rank: "89", name: "Santiago de Cuba (CUB)", score: "Alerta", class: "bb-risk", sismo: "Zona 3 (Elevado)", hidro: "Moderado", antro: "Moderado", co2: "Moderado", diag: "El principal polo sísmico de la isla, condicionado por redes de servicios críticos vulnerables." }, { rank: "90", name: "Santo Domingo (DOM)", score: "Alerta", class: "bb-risk", sismo: "Zona 2 (Moderado)", hidro: "Muy Alto (Huracán)", antro: "Moderado", co2: "Moderado", diag: "Exposición severa a marejadas ciclónicas e inundaciones costeras que exigen altos presupuestos de seguro." }, { rank: "91", name: "Famaillá (TU - ARG)", score: "Alerta", class: "bb-risk", sismo: "Zona 2 (Moderado)", hidro: "Alto (Monzónico)", antro: "Alto (Parque Tec)", co2: "Moderado", diag: "Reclasificado por vulnerabilidad aluvial saturante. Obras de dragado locales mitigan, pero requiere CAPEX extra de contingencia en llanura." }, { rank: "92", name: "Río de Janeiro (BRA)", score: "Alerta", class: "bb-risk", sismo: "Zona 0 (Inerte)", hidro: "Alto (Deslaves)", antro: "Alto", co2: "Alto", diag: "Libre de sismos, pero altamente vulnerable a temporales que gatillan deslaves trágicos en cerros habitados." }, { rank: "93", name: "La Paz (BOL)", score: "Alerta", class: "bb-risk", sismo: "Zona 1 (Bajo)", hidro: "Alto (Aluvión)", antro: "Moderado", co2: "Bajo", diag: "Topografía de cuenca empinada vulnerable a cárcavas y deslizamientos de tierra masivos por lluvias." }, { rank: "94", name: "General La Madrid (BA - ARG)", score: "Alerta", class: "bb-risk", sismo: "Zona 0 (Inerte)", hidro: "Alto (Depresión)", antro: "Moderado", co2: "Bajo", diag: "Llanura baja propensa a ciclos de anegamiento prolongados por escurrimientos regionales periféricos." }, { rank: "95", name: "Empalme V. Constitución (SF)", score: "Alerta", class: "bb-risk", sismo: "Zona 0 (Inerte)", hidro: "Muy Alto (Dique)", antro: "Moderado", co2: "Alto (Siderúrgico)", diag: "Vulnerabilidad pluvial crítica inducida por terraplenes ferroviarios adyacentes. Alta huella de carbono industrial." }, { rank: "96", name: "Santa Fe Capital (SF - ARG)", score: "Alerta", class: "bb-risk", sismo: "Zona 0 (Inerte)", hidro: "Muy Alto (Fluvial)", antro: "Moderado", co2: "Moderado", diag: "Emplazamiento ribereño complejo. Demanda mantenimiento constante de anillos de defensa y bombeo." }, { rank: "97", name: "Ituzaingó (CR - ARG)", score: "Alerta", class: "bb-risk", sismo: "Zona 0 (Inerte)", hidro: "Alto (Régimen Río)", antro: "Alto (Pq Ind)", co2: "Bajo (Biomasa)", diag: "Nodo del NEA. Flete fluvial limpio mitiga CO2, pero expuesto a las grandes fluctuaciones del río Paraná." }, { rank: "98", name: "Bahía Blanca (BA - ARG)", score: "Alerta", class: "bb-risk", sismo: "Zona 0 (Inerte)", hidro: "Muy Alto (Frentes)", antro: "Alto", co2: "Muy Alto (Petroquím)", diag: "Expuesto a sudestadas y perturbaciones costeras. Alto riesgo de transición por emisiones del polo químico." }, { rank: "99", name: "Iquitos (PER)", score: "Alerta", class: "bb-risk", sismo: "Zona 1 (Bajo)", hidro: "Máximo (Fluvial)", antro: "Bajo", co2: "Bajo", diag: "Emplazamiento amazónico sujeto a inundaciones dinámicas recurrentes que obligan a planes de reubicación." }, { rank: "100", name: "Puerto Ayacucho (VEN)", score: "Alerta Máxima", class: "bb-risk", sismo: "Zona 1 (Bajo)", hidro: "Alto", antro: "Muy Baja", co2: "Alto", diag: "Aislamiento logístico crítico acentuado por la falta total de redundancia en infraestructura básica y energía pública." } ]; const nombresRelleno = [ { n: "Tres Capones", p: "MN" }, { n: "Río Gallegos", p: "SC" }, { n: "Gral. Roca", p: "RN" }, { n: "Cipolletti", p: "RN" }, { n: "Juana Koslay", p: "SL" }, { n: "Zapala", p: "NQN" }, { n: "La Punta", p: "SL" }, { n: "Villa Mercedes", p: "SL" }, { n: "San Luis Cap.", p: "SL" }, { n: "Río Cuarto", p: "CBA" }, { n: "Mar del Plata", p: "BA" }, { n: "Toay", p: "LP" }, { n: "Victorica", p: "LP" }, { n: "Gral. Achá", p: "LP" }, { n: "Caleta Olivia", p: "SC" }, { n: "Pico Truncado", p: "SC" }, { n: "Las Heras SC", p: "SC" }, { n: "Cutral Có", p: "NQN" }, { n: "Plaza Huincul", p: "NQN" }, { n: "Villa Dolores", p: "CBA" }, { n: "San Pedro", p: "BA" }, { n: "Neuquén Cap.", p: "NQN" }, { n: "Maipú MZ", p: "MZ" }, { n: "Luján de Cuyo", p: "MZ" }, { n: "Mendoza Cap.", p: "MZ" }, { n: "San Rafael", p: "MZ" }, { n: "Gral. Alvear", p: "MZ" }, { n: "Malargüe", p: "MZ" }, { n: "Rawson SJ", p: "SJ" }, { n: "San Juan Cap.", p: "SJ" }, { n: "Rivadavia SJ", p: "SJ" }, { n: "Pocito", p: "SJ" }, { n: "Chimbas", p: "SJ" }, { n: "Caucete", p: "SJ" }, { n: "Chascomús", p: "BA" }, { n: "Río Grande", p: "TF" }, { n: "Santiago Cap.", p: "SE" }, { n: "La Banda", p: "SE" }, { n: "La Plata", p: "BA" }, { n: "Junín", p: "BA" }, { n: "San Nicolás", p: "BA" }, { n: "Pergamino", p: "BA" }, { n: "Río Tercero", p: "CBA" }, { n: "Alta Gracia", p: "CBA" }, { n: "Sunchales", p: "SF" }, { n: "Casilda", p: "SF" }, { n: "Cañada de Gómez", p: "SF" }, { n: "Puan", p: "BA" }, { n: "Jesús María", p: "CBA" }, { n: "Villa María", p: "CBA" }, { n: "San Francisco", p: "CBA" }, { n: "Bell Ville", p: "CBA" }, { n: "Monteros", p: "TU" }, { n: "Villaguay", p: "ER" }, { n: "Chajarí", p: "ER" }, { n: "Victoria", p: "ER" }, { n: "V. Constitución", p: "SF" }, { n: "Santo Tomé SF", p: "SF" }, { n: "Rosario", p: "SF" }, { n: "Concordia", p: "ER" }, { n: "Gualeguaychú", p: "ER" }, { n: "Gualeguay", p: "ER" }, { n: "Concepción URU", p: "ER" }, { n: "Colón ER", p: "ER" }, { n: "Goya", p: "CR" }, { n: "Paso de los Libres", p: "CR" }, { n: "Santo Tomé CR", p: "CR" }, { n: "Bella Vista", p: "CR" }, { n: "Mercedes CR", p: "CR" }, { n: "Curuzú Cuatiá", p: "CR" }, { n: "Corrientes Cap.", p: "CR" }, { n: "Esquina", p: "CR" }, { n: "Monte Caseros", p: "CR" }, { n: "Oberá", p: "MN" }, { n: "Eldorado", p: "MN" }, { n: "Puerto Iguazú", p: "MN" }, { n: "San Vicente MN", p: "MN" }, { n: "Clorinda", p: "FM" }, { n: "Pirané", p: "FM" } ]; const datosCompletos = []; let rellenoIndex = 0; for (let i = 1; i <= 100; i++) { const rankStr = i < 10 ? "0" + i : "" + i; const claveEncontrada = matrixData.find(c => c.rank === rankStr); if (claveEncontrada) { datosCompletos.push(claveEncontrada); } else { let itemCandidato = nombresRelleno[rellenoIndex % nombresRelleno.length]; let nombreCompletoCandidato = `${itemCandidato.n} (${itemCandidato.p})`; while (matrixData.some(fijo => fijo.name.toUpperCase() === nombreCompletoCandidato.toUpperCase())) { rellenoIndex++; itemCandidato = nombresRelleno[rellenoIndex % nombresRelleno.length]; nombreCompletoCandidato = `${itemCandidato.n} (${itemCandidato.p})`; } let score = "Moderado"; let classColor = "bb-mod"; if (i <= 20) { score = "Optimo"; classColor = "bb-safe"; } else if (i <= 45) { score = "Seguro"; classColor = "bb-safe"; } else if (i >= 61) { score = "Alerta"; classColor = "bb-risk"; } datosCompletos.push({ rank: rankStr, name: nombreCompletoCandidato, score: score, class: classColor, sismo: i > 30 && i < 46 ? "Zona 3 (Alto)" : "Zona 0 (Inerte)", hidro: i >= 61 ? "Alto (Riesgo Fluvial)" : "Moderado (Estable)", antro: i <= 20 ? "Muy Alto" : "Moderado", co2: i > 70 ? "Alto (Riesgo Transición)" : "Moderado (Estándar)", diag: "Auditoría estándar del programa City Risk-70. El activo presenta indicadores de CAPEX estructural y riesgo transicional alineados al promedio geoeconómico de la región." }); rellenoIndex++; } } window.cityRiskMasterData = datosCompletos; window.switchTab = function(tabName) { const btnTerminal = document.getElementById('btnTabTerminal'); const btnDashboard = document.getElementById('btnTabDashboard'); const secTerminal = document.getElementById('sectionTerminal'); const secDashboard = document.getElementById('sectionDashboard'); if (tabName === 'terminal') { btnTerminal.classList.add('active'); btnDashboard.classList.remove('active'); secTerminal.style.display = 'flex'; secDashboard.style.display = 'none'; } else { btnTerminal.classList.remove('active'); btnDashboard.classList.add('active'); secTerminal.style.display = 'none'; secDashboard.style.display = 'block'; generarGraficoDashboard(); restaurarSummaryDefault(); } }; function generarGraficoDashboard() { const chartContainer = document.getElementById('provincialChartContainer'); if (!chartContainer) return; const provCounter = {}; window.cityRiskMasterData.forEach(item => { const match = item.name.match(/\(([^)]+)\)/); if (match && match[1]) { const prov = match[1]; provCounter[prov] = (provCounter[prov] || 0) + 1; } }); const provSorted = Object.keys(provCounter).map(key => ({ prov: key, count: provCounter[key] })).sort((a, b) => b.count - a.count); const maxVal = Math.max(...provSorted.map(p => p.count)); document.getElementById('lblTotalProvincias').innerText = provSorted.length; chartContainer.innerHTML = provSorted.map(item => { const porcentajeFill = (item.count / maxVal) * 100; return ` <div class="chart-row" onclick="desglosarProvincia('${item.prov}')"> <div class="chart-prov-label">${obtenerNombreProvinciaCompleto(item.prov)}</div> <div class="chart-bar-bg"><div class="chart-bar-fill" style="width: ${porcentajeFill}%"></div></div> <div class="chart-value-label">${item.count}</div> </div> `; }).join(''); } window.desglosarProvincia = function(siglaProv) { const containerDefault = document.getElementById('panelSummaryDefault'); const containerBreakdown = document.getElementById('panelProvincialBreakdown'); const breakdownTitle = document.getElementById('lblBreakdownTitle'); const comunasContainer = document.getElementById('breakdownComunasContainer'); const comunasFiltradas = window.cityRiskMasterData.filter(item => { const match = item.name.match(/\(([^)]+)\)/); return match && match[1] === siglaProv; }); breakdownTitle.innerText = `// COMUNAS EN ${obtenerNombreProvinciaCompleto(siglaProv)}`; comunasContainer.innerHTML = comunasFiltradas.map(item => { const indexOriginal = window.cityRiskMasterData.findIndex(c => c.rank === item.rank); let inlineStyle = ""; if (item.class === "bb-safe") inlineStyle = "color:#00ff66; background:rgba(0,255,102,0.15); border:1px solid rgba(0,255,102,0.4);"; if (item.class === "bb-mod") inlineStyle = "color:#ffb900; background:rgba(255,185,0,0.15); border:1px solid rgba(255,185,0,0.4);"; if (item.class === "bb-risk") inlineStyle = "color:#ff3333; background:rgba(255,51,51,0.15); border:1px solid rgba(255,51,51,0.4);"; return ` <div class="breakdown-item" onclick="abrirHistorialRiesgo(${indexOriginal})"> <span class="breakdown-city-name">#${item.rank} - ${item.name.split(' (')[0]}</span> <span class="tag" style="font-size:9px; padding:2px 6px; min-width:75px; ${inlineStyle}">${item.score.toUpperCase()}</span> </div> `; }).join(''); containerDefault.style.display = 'none'; containerBreakdown.style.display = 'flex'; containerBreakdown.style.flexDirection = 'column'; containerBreakdown.style.height = '100%'; }; window.restaurarSummaryDefault = function() { document.getElementById('panelSummaryDefault').style.display = 'block'; document.getElementById('panelProvincialBreakdown').style.display = 'none'; }; function obtenerNombreProvinciaCompleto(sigla) { const mapa = { "BA": "BUENOS AIRES", "SF": "SANTA FE", "MZ": "MENDOZA", "RN": "RÍO NEGRO", "CH": "CHUBUT", "SE": "SANTIAGO EST.", "TU": "TUCUMÁN", "FM": "FORMOSA", "LP": "LA PAMPA", "SL": "SAN LUIS", "SJ": "SAN JUAN", "CBA": "CÓRDOBA", "SC": "SANTA CRUZ", "NQN": "NEUQUÉN", "TF": "TIERRA DEL F.", "ER": "ENTRE RÍOS", "CR": "CORRIENTES", "MN": "MISIONES", "AND": "ANDORRA", "ESP": "ESPAÑA", "PRT": "PORTUGAL", "URY": "URUGUAY", "BRA": "BRASIL", "CRI": "COSTA RICA", "CHL": "CHILE", "PAN": "PANAMÁ", "ECU": "ECUADOR", "COL": "COLOMBIA", "MEX": "MÉXICO", "PER": "PERÚ", "BOL": "BOLIVIA", "PRY": "PARAGUAY", "SLV": "EL SALVADOR", "HND": "HONDURAS", "NIC": "NICARAGUA", "VEN": "VENEZUELA", "CUB": "CUBA", "DOM": "REP. DOMINICANA", "PRI": "PUERTO RICO" }; return mapa[sigla] || sigla; } function generarMatrizTable() { const tbody = document.getElementById('matrixTableBody'); if (!tbody) return; tbody.innerHTML = window.cityRiskMasterData.map((item, index) => { return ` <tr onclick="abrirHistorialRiesgo(${index})"> <td class="sticky-col"><span class="txt-rank">#${item.rank}</span><span class="txt-city">${item.name}</span></td> <td><span class="tag ${item.class}">${item.score.toUpperCase()}</span></td> <td>${item.hidro}</td> <td>${item.sismo}</td> <td>${item.antro}</td> <td><span style="color:#ffb900;font-weight:bold;">${item.co2}</span></td> </tr> `; }).join(''); } window.abrirHistorialRiesgo = function(index) { const item = window.cityRiskMasterData[index]; document.getElementById('auditCity').innerText = item.name.toUpperCase(); document.getElementById('auditBadge').innerText = item.score.toUpperCase(); document.getElementById('auditBadge').className = 'bb-audit-badge tag ' + item.class; document.getElementById('auditSismo').innerText = item.sismo; document.getElementById('auditHidro').innerText = item.hidro; document.getElementById('auditAntro').innerText = item.antro; document.getElementById('auditCarbono').innerText = item.co2; document.getElementById('auditDiag').innerText = item.diag; document.getElementById('bbRiskModal').style.display = 'flex'; }; window.cerrarHistorialRiesgo = function() { document.getElementById('bbRiskModal').style.display = 'none'; }; window.generarFichaPdf = function() { const originalTitle = document.title; const nombreCiudad = document.getElementById('auditCity').innerText; document.title = `Reporte_CityRisk70_TCO_${nombreCiudad.replace(/\s+/g, '_')}`; window.print(); document.title = originalTitle; }; if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', generarMatrizTable); } else { generarMatrizTable(); } window.addEventListener('cityRiskDataUpdated', generarMatrizTable); })();

---

*Contenido creado y optimizado para IA con [Medios CMS](https://medios.io)* — Plataforma profesional para la gestión de medios digitales y portales de noticias.
