¿Cómo funciona la propagación de errores con ecuaciones diferenciales (y GCM): Watts Up With That?

publicación invitada de Nick Stokes

Últimamente se ha debatido mucho sobre la propagación de errores en los modelos climáticos, por ejemplo, aquí y aquí. He pasado gran parte de mi vida profesional en dinámica de fluidos computacional, lidiando exactamente con ese problema. Los GCM son un tipo especial de CFD y ambos son aplicaciones de la solución numérica de ecuaciones diferenciales (DE). La propagación de errores en DE es una preocupación central. Por lo general, se describe bajo el título de inestabilidad, que es lo que sucede cuando los errores crecen rápidamente, generalmente debido a una falla de diseño en el programa.

Entonces, primero debo decir qué significa error aquí. Es solo una discrepancia entre un número que surge en el cálculo y lo que crees que es el número verdadero. No importa para la solución DE por qué cree que está mal; todo lo que importa es qué hace el cálculo iterativo con la diferencia. Esa es la propagación del error.

Una ecuación lineal general en el tiempo se puede formular como

y’ = A

Comenzaré con algunos fragmentos de la teoría DE que puede omitir (seré más específico pronto). Si tiene otra solución z que es la solución después de un error, entonces la diferencia satisface

(yz)’=A*(yz)
La dependencia de f

Puedes escribir las soluciones de esta ecuación explícitamente:

y

Puede recorrer un largo camino simplemente analizando un solo error, porque el sistema es lineal y las instancias se pueden agregar (superponer). Pero, ¿y si hay una serie de errores secuenciales? Eso corresponde a la ecuación no homogénea original, donde f

y

Para el caso particular donde A=0, W es la identidad y la solución es un paseo aleatorio. Pero solo en ese caso en particular. En general, es algo muy diferente. Describiré algunos casos especiales, en una o pocas variables. En cada caso, muestro un gráfico con una solución en negro, una solución perturbada en rojo y algunas soluciones aleatorias en gris pálido para el contexto.

Caso especial 1: y’=0

1662982253 764 ¿Como funciona la propagacion de errores con ecuaciones diferenciales y

Esta es la ecuación diferencial más simple que puede tener. Dice que no hay cambio; todo se mantiene constante. Cada error que comete continúa en la solución, pero no crece ni se reduce. Es interesante, sin embargo, que si sigues cometiendo errores, el resultado es un paseo aleatorio.

Caso especial 2: y”=0

1662982254 764 ¿Como funciona la propagacion de errores con ecuaciones diferenciales y

El caso de no aceleración. Ahora bien, si hay un error en la velocidad, el error en la ubicación seguirá creciendo. Ya es diferente, y la solución simple de caminata aleatoria para errores sucesivos no funciona. Los pasos de la caminata se expandirían con el tiempo.

Caso especial 3: y’=c*y

donde c es una constante. Si c>0, las soluciones son exponenciales crecientes. Los errores también son soluciones, por lo que crecen exponencialmente. Este es un caso muy importante para la práctica de ED, porque es el modo de inestabilidad. Para ecuaciones verdaderamente lineales, los errores aumentan en proporción a la solución, por lo que tal vez no importen mucho. Pero para CFD suele ser una explosión.

1662982254 265 ¿Como funciona la propagacion de errores con ecuaciones diferenciales y

Pero también hay simplificaciones. Para el caso de errores continuos, los primeros han crecido mucho para cuando se inician los posteriores, y realmente son los únicos que cuentan. Por lo tanto, pierde el carácter de caminata aleatoria debido a la ponderación sesgada.

Si c

Este caso especial es importante porque corresponde al comportamiento de los valores propios en la matriz de solución general W. Un solo valor propio positivo de A puede producir soluciones crecientes que, partiendo de cualquier error, crecerán y se volverán dominantes. Por el contrario, las muchas soluciones que corresponden a valores propios negativos disminuirán y no tendrán un efecto continuo.

Caso especial 4: No lineal y’=1-y2

El simple hecho de mirar las ecuaciones lineales brinda una vista simplificada en la que los errores y las soluciones cambian en proporción. Las soluciones de esta ecuación son las funciones tanh(t+a) y coth(t+a), para a arbitraria. Tienden a 1 cuando t→∞ ya -1 cuando t→-∞. La convergencia es exponencial. Entonces, un error cometido cerca de t = -1 crecerá rápidamente por un tiempo, luego se estabilizará, luego disminuirá, eventualmente rápidamente y llegará a cero.

1662982254 417 ¿Como funciona la propagacion de errores con ecuaciones diferenciales y

Caso especial 5: la mariposa de Lorenz

Este es el ejemplo de la vigorosa propagación de errores. Conduce al caos, del cual hablaré más. Pero hay mucho que aprender del análisis. He escrito sobre el atractor de Lorenz. aquí y en las publicaciones vinculadas allí. En ese enlace puedes ver un gadget que te permitirá generar trayectorias desde puntos de inicio y tiempos de finalización arbitrarios, y ver los resultados en 3D usando webGL. Una vista típica es así

1662982255 450 ¿Como funciona la propagacion de errores con ecuaciones diferenciales y

Lorenz derivó sus ecuaciones para representar un modelo climático muy simple. Están:

1662982255 161 ¿Como funciona la propagacion de errores con ecuaciones diferenciales y

Los parámetros son convencionalmente σ=10, β=8/3, ρ=28. Mi vista de arriba está en el plano xz y enfatiza la simetría. Hay tres puntos estacionarios de las ecuaciones, 1 en (0,0,0), (a, a, 27) y (-a, -a, 27) donde a = sqrt (72). Los dos últimos son centros de las alas. Cerca de los centros, las ecuaciones se linealizan para dar una solución que es una espiral logarítmica. Puede considerarlo como una versión de y’=a*y, donde a es complejo con una pequeña parte real positiva. Entonces, las trayectorias giran en espiral hacia afuera y, en esta etapa, los errores se propagarán con un aumento exponencial. He mostrado las trayectorias en el gráfico con los colores del arcoíris, para que puedas ver dónde se repiten las bandas y cómo los colores se separan gradualmente entre sí. Los caminos cerca del ala pero no sobre ella se dibujan rápidamente hacia el ala.

A medida que las trayectorias se alejan de los centros, la relación lineal se erosiona, pero realmente falla al acercarse a z=0. Entonces los caminos pasan alrededor de ese eje, también buzándose hacia z=0. Esto los lleva a la región de atracción de la otra ala y caen sobre ella. Aquí es donde ocurre mucha mezcla, porque los caminos que estaban solo moderadamente separados caen en bandas muy diferentes de la espiral de troncos de esa ala. Si uno cae más cerca del centro que el otro, estará varias vueltas por detrás y, lo que es peor, las velocidades caerán a cero hacia el centro. Una vez en la otra ala, los caminos gradualmente giran en espiral hacia z=0 y repiten.

¿El caos es malo?

¿El Papa es Católico? podrías preguntar. Pero el caos no es malo y vivimos con él todo el tiempo. Hay mucha estructura en el atractor de Lorenz, y si vieras un montón de puntos y caminos aleatorios clasificándose en esta forma, creo que no te maravillarías del caos sino del orden.

De hecho, tratamos con información en ausencia de caminos de solución todo el tiempo. Una tienda funciona perfectamente aunque no pueda rastrear qué monedas provienen de qué cliente. Más científicamente, piense en un cilindro de moléculas de gas. Computacionalmente, es imposible seguir sus caminos. Pero sabemos mucho sobre el comportamiento de los gases y podemos diseñar ICE eficientes, por ejemplo, sin rastrear moléculas. De hecho, podemos inferir casi todo lo que queremos saber de la mecánica estadística que comenzó con Maxwell/Boltzmann.

CFD encarna el caos, y es parte de la forma en que funciona. La gente normalmente piensa en turbulencias allí, pero sería caótico incluso sin ellas. Las soluciones CFD pierden rápidamente la memoria detallada de las condiciones iniciales, pero eso es positivo, porque en el flujo práctico nunca las conocimos de todos modos. El flujo real tiene la misma característica que su análogo computacional, como uno desearía. Si dependiera de condiciones iniciales que nunca podríamos saber, eso sería un problema.

Por lo tanto, puede realizar pruebas en el túnel de viento para determinar la sustentación y la resistencia del diseño de un ala. Nunca se saben las condiciones iniciales en túnel o en vuelo, pero no importa. En CFD, comenzaría con las condiciones iniciales, pero pronto se olvidan. Igual de bien.

GCM y caos

Los GCM son CFD y tampoco pueden rastrear rutas. La misma pérdida de información inicial se produce a otra escala. Los GCM, que funcionan como pronósticos del tiempo, pueden rastrear la escala de cosas que llamamos clima durante unos días, pero no más, esencialmente por las mismas razones. Pero, como CFD, pueden generar soluciones a más largo plazo que representan la respuesta al equilibrio de masa, cantidad de movimiento y energía en el mismo plazo más largo. Estas son las soluciones climáticas. Así como podemos tener una ley de los gases que proporcione propiedades generales de las moléculas que se mueven de formas que no podemos predecir, los GCM brindan información sobre el clima con el clima que no podemos predecir.

¿Qué se hace en la práctica? ¡Conjuntos!

El análisis de error en CFD y GCM normalmente se realiza para diseñar para la estabilidad. Se vuelve demasiado complicado para el seguimiento cuantitativo del error, por lo que se utiliza una solución más rigurosa y completa, que es… simplemente hazlo. Si quiere saber cómo responde un sistema al error, haga uno y vea. En CFD, donde una de las principales fuentes de error es la discretización espacial, una técnica común es buscar la invariancia de la cuadrícula. Es decir, resuelva con cuadrículas más finas hasta que el refinamiento no haga ninguna diferencia.

Con el pronóstico del tiempo, un método estándar es el uso de conjuntos. Si no está seguro de los valores de entrada, pruebe con un rango y vea qué rango de salida obtiene. Y esto se hace con GCM. Por supuesto, allí las carreras son más costosas y, por lo tanto, no pueden hacer una gama completa de variaciones con cada carrera. Por otro lado, los GCM generalmente analizan el mismo clima futuro con solo diferentes escenarios. Por lo tanto, cualquier grado moderado de uso del conjunto acumulará la información necesaria.

Otra cosa para recordar sobre el uso de conjuntos en GCM es esto. No tiene que preocuparse por probar un millón de posibles errores diferentes. El motivo está relacionado con la pérdida de información inicial. Muy rápidamente, un error comienza a parecerse mucho a otro. Este es el filtrado que resulta del gran espacio propio variable de modos que son amortiguados por la viscosidad y otra difusión. Lo único que importa es el efecto del error en un espacio bastante pequeño de posibles soluciones.

Si miras el Tabla KNMI CMIP 5 de los resultados de GCM, verá una gran cantidad de modelos, escenarios y tipos de resultados. Pero si observa el pequeño número al lado de cada botón de opción, es el rango del conjunto. A veces es solo uno, no tienes que hacer un conjunto en todos los casos. Pero muy a menudo es 5,6 o incluso 10, solo para 1 programa. CMIP tiene una notación especial para registrar si los conjuntos están variando solo las condiciones iniciales o algún parámetro.

Conclusión

La propagación de errores es muy importante en las ecuaciones diferenciales y es en gran medida una propiedad de la ecuación. No se puede analizar sin tener eso en cuenta. Los errores de crecimiento rápido son la causa principal de la inestabilidad y deben ser atendidos. La mejor manera de probar la propagación de errores, si los recursos informáticos son adecuados, es mediante un método de conjunto, en el que se realiza una serie de perturbaciones. Esto se hace con modelos terrestres, tanto de predicción como de clima.

Apéndice: emulación de GCM

Una característica criticada del artículo de Pat Frank fue el uso de una ecuación simplificada (1) que se sometió a un análisis de errores en lugar de los GCM más complejos. La justificación dada fue que emulaba soluciones GCM (en realidad un promedio). ¿Esta bien?

Dada una solución f

y’ = A*y + f’ – A*f

tiene y=f como solución. Un emulador perfecto. Pero como mostré arriba, la propagación del error viene dada por la parte homogénea y’ = A*y. Y eso podría ser cualquier cosa, dependiendo de la elección de A. Compartir una solución común no significa que dos ecuaciones compartan la propagación del error. Así que no está bien.

Deja un comentario