""" constants.py — Datos y banderas del modelo CHRONOFLUX. Copiados VERBATIM desde app_tesis_final_V3.py. No se altera ningún valor: solo se aíslan del código de interfaz para que el núcleo sea reutilizable. """ # Preset recomendado por defecto: el de mayor exactitud validada contra la obra real (error +3 días) PRESET_RECOMENDADO = "11: CFX-VAL-11-CLAY Arcillas A-7-6" # Coordenadas neutras: centro geográfico de la República Dominicana (sin sesgar al proyecto modelo) LAT_NEUTRA, LON_NEUTRA = 18.7357, -70.1627 UBIC_NEUTRA = "— Centro Geográfico RD (seleccione en el mapa) —" # [AUD-05] Neutralidad termodinámica estricta de la Ec. 6.19 (Tr=0 en partidas # resilientes: hormigón/acero, Ic_base <= 1.0). # False (por defecto): reproduce EXACTAMENTE las cifras publicadas en el Cap. 8. # True : impone Tr=0 absoluto para Ic_base <= 1.0 (Ec. 6.19 estricta). ENFORCE_TR0_RESILIENTES = False # ============================================================================== # DICCIONARIO MAESTRO DE COORDENADAS # ============================================================================== COORDENADAS_RD = { "— Centro Geográfico RD (seleccione en el mapa) —": (18.7357, -70.1627), "Santo Domingo Este - PROPACC LAS DAMAS": (18.4758, -69.7781), "Azua - Azua de Compostela (Cabecera)": (18.4532, -70.7349), "Baoruco - Neiba (Cabecera)": (18.4833, -71.4167), "Barahona - Santa Cruz de Barahona (Cabecera)": (18.2085, -71.1008), "Dajabón - Dajabón (Cabecera)": (19.5488, -71.7083), "Distrito Nacional - Santo Domingo (Centro)": (18.4861, -69.9312), "Duarte - San Francisco de Macorís (Cabecera)": (19.3009, -70.2525), "El Seibo - Santa Cruz de El Seibo (Cabecera)": (18.7656, -69.0389), "Elías Piña - Comendador (Cabecera)": (18.8767, -71.7029), "Espaillat - Moca (Cabecera)": (19.6267, -70.2764), "Hato Mayor - Hato Mayor del Rey (Cabecera)": (18.7622, -69.2565), "Hermanas Mirabal - Salcedo (Cabecera)": (19.3735, -70.4188), "Independencia - Jimaní (Cabecera)": (18.4877, -71.8515), "La Altagracia - Higüey (Cabecera)": (18.6147, -68.7171), "La Romana - La Romana (Cabecera)": (18.4273, -68.9728), "La Vega - Concepción de La Vega (Cabecera)": (19.2208, -70.5292), "María Trinidad Sánchez - Nagua (Cabecera)": (19.3667, -69.8511), "Monseñor Nouel - Bonao (Cabecera)": (18.9272, -70.3973), "Monte Cristi - San Fernando (Cabecera)": (19.8483, -71.6450), "Monte Plata - Monte Plata (Cabecera)": (18.8078, -69.7848), "Pedernales - Pedernales (Cabecera)": (18.0333, -71.7431), "Peravia - Baní (Cabecera)": (18.2796, -70.3319), "Puerto Plata - San Felipe (Cabecera)": (19.7934, -70.6884), "Samaná - Santa Bárbara (Cabecera)": (19.2056, -69.3262), "San Cristóbal - San Cristóbal (Cabecera)": (18.4162, -70.1112), "San José de Ocoa - Ocoa (Cabecera)": (18.5438, -70.5070), "San Juan - San Juan de la Maguana (Cabecera)": (18.8059, -71.2299), "San Pedro de Macorís - SPM (Cabecera)": (18.4637, -69.3041), "Sánchez Ramírez - Cotuí (Cabecera)": (19.0512, -70.1468), "Santiago - Santiago de los Caballeros (Cabecera)": (19.4517, -70.6970), "Santiago Rodríguez - Sabaneta (Cabecera)": (19.4791, -71.3457), "Valverde - Mao (Cabecera)": (19.5517, -71.0779) } # ============================================================================== # BASE DE DATOS DE ENSAYOS (PRESETS DE VALIDACIÓN - PRO ADVANCED) # ============================================================================== PRESETS_MODELOS = { "Personalizado (Ajuste Manual)": { "desc": "Modo de operación libre. Ajuste los deslizadores paramétricos según su criterio profesional forense.", }, "01: CFX-CTRL-01 Determinista Puro (Control)": { "nlp": False, "ml": False, "pr": 100, "ur": 50.0, "ut": 1.0, "temp": 27.5, "hum": 70.0, "jornada": (8, 17), "dias": ["Lun", "Mar", "Mié", "Jue", "Vie"], "desc": "Baseline determinista. IA desactivada y umbrales inalcanzables. EVB nulo: punto cero para medir desplazamientos." }, "02: CFX-STRESS-02 Temporada Ciclónica": { "nlp": True, "ml": True, "pr": 15, "ur": 1.5, "ut": 3.0, "temp": 28.5, "hum": 74.8, "jornada": (8, 17), "dias": ["Lun", "Mar", "Mié", "Jue", "Vie"], "desc": "Meses críticos Sept-Nov. Pr y Ur bajos: hiper-sensible a lluvias convectivas frecuentes. Alta humedad extiende el Tr." }, "03: CFX-STRESS-03 Temporada de Estiaje": { "nlp": True, "ml": True, "pr": 45, "ur": 5.0, "ut": 2.0, "temp": 26.4, "hum": 65.6, "jornada": (8, 17), "dias": ["Lun", "Mar", "Mié", "Jue", "Vie"], "desc": "Feb-Mar. Pr alto y baja humedad: el modelo reconoce ventanas de oportunidad y no penaliza injustificadamente." }, "04: CFX-LOG-04 OPEX Moderado": { "nlp": True, "ml": True, "pr": 25, "ur": 2.0, "ut": 5.5, "temp": 27.8, "hum": 70.0, "jornada": (8, 17), "dias": ["Lun", "Mar", "Mié", "Jue", "Vie"], "desc": "Protección de costos indirectos. Si la lluvia arruina media jornada, se descarta el día para proteger el OPEX." }, "05: CFX-TERMO-05 Evaporación Extrema": { "nlp": True, "ml": True, "pr": 20, "ur": 3.5, "ut": 2.5, "temp": 32.5, "hum": 55.0, "jornada": (8, 17), "dias": ["Lun", "Mar", "Mié", "Jue", "Vie"], "desc": "Sequía y radiación alta. El Random Forest minimiza Tr; la habilitación topológica post-lluvia se acelera." }, "06: CFX-TERMO-06 Saturación Capilar (Vaguada)": { "nlp": True, "ml": True, "pr": 15, "ur": 2.0, "ut": 4.0, "temp": 24.5, "hum": 95.0, "jornada": (8, 17), "dias": ["Lun", "Mar", "Mié", "Jue", "Vie"], "desc": "Escenario adverso: baja temperatura + 95% humedad anulan la evaporación. La terracería colapsa (Tr > 72h)." }, "07: CFX-AUDIT-07 Fallo NLP (Ceguera Semántica)": { "nlp": False, "ml": True, "pr": 25, "ur": 3.0, "ut": 3.0, "temp": 28.0, "hum": 70.0, "jornada": (8, 17), "dias": ["Lun", "Mar", "Mié", "Jue", "Vie"], "desc": "Desactiva el Transformer Zero-Shot. El sistema recurre al fallback RegEx; valida el valor de la semántica en el Ic." }, "08: CFX-AUDIT-08 Fallo PIML (Ceguera Térmica)": { "nlp": True, "ml": False, "pr": 25, "ur": 3.0, "ut": 3.0, "temp": 28.0, "hum": 70.0, "jornada": (8, 17), "dias": ["Lun", "Mar", "Mié", "Jue", "Vie"], "desc": "Desactiva el Random Forest. Tr estático (48h arcillas) ignorando el microclima; mide el aporte de la IA termodinámica." }, "09: CFX-LOG-09 Turnos Extendidos 11h (L-D)": { "nlp": True, "ml": True, "pr": 20, "ur": 4.0, "ut": 1.5, "temp": 28.2, "hum": 72.0, "jornada": (7, 18), "dias": ["Lun", "Mar", "Mié", "Jue", "Vie", "Sáb", "Dom"], "desc": "Jornada 11h, Lun-Dom. El impacto pluviométrico se diluye sobre un divisor Hw mayor. Evalúa la absorción por horas extra." }, "10: CFX-MAX-10 Colapso Sistémico (Worst-Case)": { "nlp": True, "ml": True, "pr": 10, "ur": 1.0, "ut": 6.0, "temp": 25.0, "hum": 88.0, "jornada": (8, 17), "dias": ["Lun", "Mar", "Mié", "Jue", "Vie"], "desc": "Máxima sensibilidad. Cualquier llovizna se registra; con poco remanente operativo se cancela el día. Límite superior de la deriva." }, "11: CFX-VAL-11-CLAY Arcillas A-7-6": { "nlp": True, "ml": True, "pr": 22, "ur": 2.0, "ut": 5.0, "temp": 27.0, "hum": 70.0, "jornada": (8, 17), "dias": ["Lun", "Mar", "Mié", "Jue", "Vie"], "desc": "Estratos cohesivos de alta plasticidad (Ic=3.0). El RF computa Tr asintóticamente alto por retención capilar." }, "12: CFX-VAL-12-GRAN Bases Granulares A-1-a": { "nlp": True, "ml": True, "pr": 22, "ur": 5.0, "ut": 2.0, "temp": 27.0, "hum": 70.0, "jornada": (8, 17), "dias": ["Lun", "Mar", "Mié", "Jue", "Vie"], "desc": "Permeabilidad y flujo gravitacional (Ic=2.0). Tolerancia de lámina alta: restitución rápida del Módulo Resiliente." }, "13: CFX-VAL-13-DEPR Llovizna Persistente": { "nlp": True, "ml": True, "pr": 10, "ur": 0.5, "ut": 6.5, "temp": 25.0, "hum": 85.0, "jornada": (8, 17), "dias": ["Lun", "Mar", "Mié", "Jue", "Vie"], "desc": "Baja presión sin inundación pero satura la obra. Ur muy bajo + Ut alto: las trazas constantes paralizan la terracería." }, "14: CFX-VAL-14-SHIFT Dilución Fast-Tracking 11h": { "nlp": True, "ml": True, "pr": 10, "ur": 1.9, "ut": 3.0, "temp": 27.7, "hum": 72.0, "jornada": (7, 18), "dias": ["Lun", "Mar", "Mié", "Jue", "Vie"], "desc": "Ventana operativa extendida (Hw=11h). Un evento de 2h se diluye; verifica el operador de cuantización Q." }, "15: CFX-VAL-15-HEAT Isla de Calor Estival (38°C)": { "nlp": True, "ml": True, "pr": 20, "ur": 3.5, "ut": 2.5, "temp": 38.0, "hum": 45.0, "jornada": (8, 17), "dias": ["Lun", "Mar", "Mié", "Jue", "Vie"], "desc": "Sequía extrema. El ML dictamina secado ultrarrápido (Tr→0); los frentes se habilitan casi inmediatamente." }, "16: CFX-VAL-16-HUM Saturación Atmosférica (98%)": { "nlp": True, "ml": True, "pr": 20, "ur": 3.5, "ut": 2.5, "temp": 24.0, "hum": 98.0, "jornada": (8, 17), "dias": ["Lun", "Mar", "Mié", "Jue", "Vie"], "desc": "Niebla densa: el aire no absorbe humedad, se detiene la evaporación. El RF castiga severamente la recuperación." }, "17: CFX-VAL-17-OPEX Restricción Financiera Severa": { "nlp": True, "ml": True, "pr": 18, "ur": 2.0, "ut": 7.0, "temp": 27.5, "hum": 70.0, "jornada": (8, 17), "dias": ["Lun", "Mar", "Mié", "Jue", "Vie"], "desc": "Frontera financiera. Con Ut=7.0h, una hora de lluvia encarece demasiado; se descartan días con mínimas perturbaciones." }, "18: CFX-VAL-18-FLASH Flash Floods (Torrencial)": { "nlp": True, "ml": True, "pr": 12, "ur": 15.0, "ut": 1.0, "temp": 28.0, "hum": 75.0, "jornada": (8, 17), "dias": ["Lun", "Mar", "Mié", "Jue", "Vie"], "desc": "Aísla aguaceros torrenciales (Ur=15mm), ignorando lloviznas. Solo inyecta EVB ante volúmenes masivos de agua." }, "19: CFX-VAL-19-BLIND Referencia Ciega (Ablación)": { "nlp": False, "ml": False, "pr": 25, "ur": 3.0, "ut": 3.0, "temp": 28.0, "hum": 70.0, "jornada": (8, 17), "dias": ["Lun", "Mar", "Mié", "Jue", "Vie"], "desc": "Apaga semántica y termodinámica. Penalizaciones estáticas: contraste para medir los días que salva la IA." }, "20: CFX-VAL-20-SWAN Cisne Negro (Stress Máximo)": { "nlp": True, "ml": True, "pr": 8, "ur": 0.1, "ut": 8.0, "temp": 25.0, "hum": 88.0, "jornada": (8, 17), "dias": ["Lun", "Mar", "Mié", "Jue", "Vie"], "desc": "Tensión máxima: cualquier rocío (0.1mm) paraliza. Fuerza la mutación salvaje de la Ruta Crítica y al Agente Prescriptivo." } }