{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"### AgroParisTech -- Analyse des systèmes dynamiques\n",
"# Formation, destruction et restauration de la couche d'ozone\n",
"Ce document présente le mécanisme de formation de l'ozone stratosphérique, sa perturbation par les chlorofluorocarbures et la relaxation vers l'état initial lorsque la perturbation cesse. Le traitement numérique du modèle est proposé en Python 3 dans l'écosystème Scipy, les paquets nécessaires étant :\n",
"\n",
"- Scipy library avec integrate ;\n",
"- Numpy ;\n",
"- Matplotlib.\n",
"\n",
"## Introduction\n",
"\n",
"Depuis les travaux de Fabry et Buisson (1913), puis de Dobson (1920), la présence d'ozone dans la stratosphère, entre 10 et 50 km d'altitude est bien établie. En 1934, les mesures de Götz montrèrent que la concentration atmosphérique est maximale aux alentours de 25 km. L'ozone absorbe la lumière ultraviolette, en particulier autour de 320 nm. Il participe ainsi à l'absorption du rayonnement solaire dans une gamme de longueurs d'onde qui n'est pas absorbée par les autres constituants de l'atmosphère. La couche d'ozone stratosphérique est donc nécessaire au maintien de la vie sur Terre : en effet, les ultraviolets ont une action délétère sur de nombreuses molécules organiques. Des épisodes d'amincissement de la couche d'ozone furent observés dès les années 1960. En 1985, Farman expliqua l'ampleur que prenait ce phénomène par la présence de composés chlorés dans l'atmosphère. Cette hypothèse fut rapidement confirmée ; l'enjeu était tel pour la survie à la surface du globe que fut signé en 1987 le protocole de Montréal qui vise à la protection de la couche d'ozone.\n",
"Ce TD envisage le fonctionnement de la stratosphère comme un système dynamique. Dans un premier temps, le fonctionnement en régime stationnaire est recherché : il conduit à la teneur normale en ozone. Dans un deuxième temps, le modèle sera modifié pour tenir compte de la présence des composés du chlore introduits dans l'atmosphère par l'activité humaine depuis la première moitié du XXème siècle. Enfin, nous examinerons l'effet du protocole de Montréal, c'est-à-dire de la forte diminution de la production d'un certain nombre de produits organiques chlorés : le système dynamique « stratosphère » relaxe vers sa composition d'équilibre.\n",
" \n",
"## La stratosphère n'est pas à l'équilibre thermodynamique\n",
"\n",
"La présence d'ozone dans la stratosphère ne peut pas s'expliquer par un équilibre chimique entre le dioxygène et l'ozone qui serait :\n",
"$\\require{mhchem}$\n",
"\t\\begin{align*}\n",
"\t\t&\\ce{3 O2 <=> 2 O3}\t&K(T)\n",
"\t\\end{align*}\n",
" En effet, à l'altitude du maximal de concentration en ozone, soit 22,5 km au-dessus du niveau de la mer, règne une température de 214 K, de sorte que la constante thermodynamique de l'équilibre y est égale à K(214)= 1,2 10-77. La pression de dioxygène, soit le cinquième de la pression atomsphérique, valant 700 Pa, il est aisée d'évaluer la pression d'équilibre d'ozone à : 2,5 1037 Pa. Cette valeur, (dont les chiffres sont sans signification physique !) est très éloignée de l'observation ; depuis les travaux de Götz, on sait que cette pression est proche de 25 mPa (la teneur en ozone est maintenant mesurée par des ballons sonde ou par des sytèmes spectroscopiques). En réalité, la stratosphère n'est pas un système isolé à l'équilibre thermodynamique. Elle est le siège de nombreuses réactions dont plusieurs requièrent de l'énergie fournie par le rayonnement solaire.\n",
"### Rappel : le modèle de Chapman\n",
"\n",
"En fait, la teneur en ozone dans la stratosphère résulte du bilan de sa formation et de sa destruction par diverses réactions ; ce bilan peut aboutir à un état stationnaire de concentration, la stationnarité n'étant pas pour autant une situation d'équilibre thermodynamique. [Chapman a proposé en 1930 \"A Theory of Upper-Atmospheric Ozone\"](https://www.rmets.org/sites/default/files/chapman-memoirs.pdf \"Sydney Chapman, astronome et géophysicien britannique, 29 janvier 1888, Eccles - 19 juin 1970, Boulder, Colorado. A travaillé principalement sur la dynamique des gaz, le magnétisme terrestre et interplanétaire, et l'ionosphère.\") le premier modèle satisfaisant pour décrire ce système :\n",
"\t\\begin{align*}\n",
"\t\t&\\ce{O2 + hν -> 2 O}\t\t&\t& (1) \\qquad k_1 \\text{ en } s^{-1}\\\\\n",
"\t\t&\\ce{O + O2 + M -> O3 + M}\t&\t& (2) \\qquad k_2 \\text{ en } cm^6 \\, molecule^{-2} \\, s^{-1} \\\\\n",
"\t\t&\\ce{O3 + hν -> O + O2}\t\t&\t& (3) \\qquad k_3 \\text{ en } s^{-1}\\\\\n",
"\t\t&\\ce{O + O3 -> 2 O2}\t\t&\t& (4) \\qquad k_4 \\text{ en } cm^3 \\, molecule^{-1} \\, s^{-1} \n",
"\t\\end{align*}\n",
"À l'acte (1), les molécules de dioxygène sont dissociées sous l'effet d'un rayonnement ultraviolet « dur », vers 180 nm. La constante cinétique $k_1$ est proportionnelle à l'intensité lumineuse dans cette région du spectre lumineux ; elle reste aussi dépendante de la température selon le loi d'Arrhénius. L'acte (2) forme l'ozone : le rapprochement d'un atome d'oxygène et d'une molécule de dioxygène conduit à une entité d'énergie interne élevée et instable. Lorsqu'une tierce molécule $\\ce{M}$ quelconque ($\\ce{N2}$, $\\ce{O2}$, $\\ce{Ar}$, etc.) peut recevoir une partie de cette énergie interne, la formation d'ozone est possible. L'acte (2) présente donc une molécularité égale à 3. La constante $k_2$ suit la loi d'Arrhénius ; il faut remarquer l'usage de la chimie de l'atmosphère d'expliciter les concentrations en molécules par centimètre cube et non en moles par mètre cube. À l'acte (3), les molécules d'ozone reçoivent du rayonnement solaire vers 320 nm une énergie suffisante pour provoquer leur dissociation ; il faut noter que c'est ce phénomène qui explique l'absorption de cette gamme d'ultraviolets par la stratosphère et qui confère à cette couche son rôle protecteur. $k_3$ dépend de l'intensité lumineuse autour de 320 nm et de la température. À l'acte (4), l'ozone se dissocie sous l'effet du choc avec l'oxygène atomique ; $k_4$ suit la loi d'Arrhénius.\n",
"Les concentrations d'ozone et d'oxygène atomique restent très faibles et on peut [appliquer](http://chimie.agroparistech.fr/chimie1a/solution_Chapman.html \"lien vers la résolution détaillée ; ouvre une nouvelle fenêtre (pas de Retour)\") l'approximation des états quasi stationnaires pour obtenir :\n",
"\n",
"\\begin{align*}\n",
"\t\t\\ce{[O3]} = \\ce{[O2]} \\sqrt{\\frac{k_1 k_2 \\ce{[M]}}{k_3 k_4}}\n",
"\\end{align*}\n",
"\n",
"## Étude du régime stationnaire en cinétique chimique classique\n",
"En utilisant les données des fichiers **atmosphere.txt**, **constantes_photo.txt** et **arrhenius.txt**, établir le point d'équilibre pour le système « atmosphère » en fonction de l'altitude : on ne s'intéressera qu'à la variable « concentration en ozone » qui pourra être convertie en pression partielle grâce à la loi des gaz parfaits. Les colonnes dans le fichier **atmosphère.txt** sont :\n",
"- z : altitude\n",
"- T : température\n",
"- N2 : $\\ce{[N2]}$\n",
"- O2 : $\\ce{[O2]}$ \n",
"- Ar : $\\ce{[Ar]}$ \n",
"- HO2 : $\\ce{[HO2]}$ \n",
"- HO : $\\ce{[HO]}$ \n",
"- NO2 : $\\ce{[NO2]}$\n",
"- NO : $\\ce{[NO]}$\n",
"- ClO : $\\ce{[ClO]}$\n",
"- Cl : $\\ce{[Cl]}$\n",
"- CFC12 : $\\ce{[CF2Cl2]}$\n",
"\n",
"l'altitude est en km, le température en K et les concentrations en molecules cm-3.\n",
"Ce fichier comporte un ligne d'en-tête qui donne le titre des colonnes ; son contenu est facilement lu et copié dans un tableau **atm_data** par la commande :"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"# -*- coding: utf-8 -*-\n",
"# quelques chargements qui serviront dans la suite\n",
"from scipy.optimize import fsolve # le « solveur » Newton dans Python\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import sys\n",
"# atm_data = np.loadtxt(\"atmosphere.txt\", delimiter = \" \", skiprows = 1)"
]
},
{
"cell_type": "code",
"execution_count": 0,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
]
},
{
"cell_type": "code",
"execution_count": 0,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (system-wide)",
"language": "python",
"metadata": {
"cocalc": {
"description": "Python 3 programming language",
"priority": 100,
"url": "https://www.python.org/"
}
},
"name": "python3",
"resource_dir": "/ext/jupyter/kernels/python3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}