Spaces:
Runtime error
Runtime error
| """ | |
| 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." | |
| } | |
| } | |