chronoflux / core /constants.py
xcenic's picture
Upload 19 files
7599506 verified
Raw
History Blame Contribute Delete
10.8 kB
"""
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."
}
}