94 | | == ETAPE 1: Obtention de moyennes zonales lissées temporellement. == |
95 | | |
96 | | |
97 | | == TROPOSPHERE: == |
98 | | |
99 | | Pour chaque scenario (3, RCP26, RCP45, RCP60, RCP85): |
100 | | 1) extraction des variables O3 et pmid |
101 | | 2) interpolation sur les 19 niveaux standard (variable "presnivs") ; moyenne zonale. |
102 | | 3) pour RUN=RCP26, RCP45 ou RCP60: moyenne mensuelle, concaténation. |
103 | | => fichiers annuels à 12 champs (un par mois) |
104 | | |
105 | | Pour chaque paire de scenarii 3 (de 1850 à 2000), ${RUN} (de 2001 à 2100): |
| 94 | == ETAPE 1: Obtention de moyennes zonales troposphériques lissées temporellement. == |
| 95 | |
| 96 | '''Pour chaque scenario''' (3, RCP26, RCP45, RCP60, RCP85): |
| 97 | 1) extraction des variables O3 et pmid[[BR]] |
| 98 | 2) interpolation sur les 19 niveaux standard (variable "presnivs") ; moyenne zonale.[[BR]] |
| 99 | 3) pour RUN=RCP26, RCP45 ou RCP60: moyenne mensuelle, concaténation.[[BR]] |
| 100 | => fichiers annuels à 12 champs zonaux mensuels d'ozone de jour+nuit (tro3).[[BR]] |
| 101 | |
| 102 | '''Pour chaque paire 3_${RUN}''' (3 de 1850 à 2000, ${RUN} de 2001 à 2100, RUN=RCP26, RCP45, RCP60 ou RCP85): |
108 | | '''PRODUITS''': moyennes zonales lissees tro3_${Y}.nc de 1855 a 2095. |
109 | | |
110 | | |
111 | | |
112 | | == STRATOSPHERE: == |
113 | | |
114 | | Pour chaque scenario (REF1, REF2 et SCNB2c ; on donne en exemple le cas de REF1): |
115 | | |
116 | | (A) OZONE DE JOUR+NUIT (fichiers histday_tra, moyennes journalières): |
117 | | 1) extraction des variables O3 et press |
118 | | 2) interpolation sur les 50 niveaux standard (variable "presnivs") ; moyenne zonale. |
119 | | 3) moyenne mensuelle, concaténation. |
120 | | => 12 champs mensuels d'ozone de jour+nuit moyen tro3(y) pour y variant de 1960 à 2006 |
121 | | |
122 | | (B) OZONE DE JOUR (fichiers histins_tra, champs instantanés les 10, 20 et 30 de chaque mois): |
123 | | 1) Masquage des pixels de nuit. |
124 | | On utilise l'espèce photosensible NO sur le 45ième niveau (1.527329 hPa): une concentration supérieure à 1.0E-15 vmr indique la nuit. |
125 | | 2) interpolation sur les 50 niveaux standard (variable "presnivs") ; moyenne zonale. |
126 | | 3) moyenne mensuelle: O3m($M)=[O3(${M-1}30) + 2.O3(${M}10) + 2.O3(${M}20) + O3(${M}30)]/6 |
| 105 | '''PRODUITS''': moyennes zonales lissées d'ozone troposphérique tro3_${Y}.nc de 1855 à 2095 pour 3_RCP26, 3_RCP45, 3_RCP60, 3_RCP85. |
| 106 | |
| 107 | |
| 108 | |
| 109 | == ETAPE 2: Obtention de moyennes zonales stratosphériques lissées temporellement. == |
| 110 | |
| 111 | '''Pour chaque scenario''' (REF1, REF2 et SCNB2c ; on donne en exemple le cas de REF1): |
| 112 | |
| 113 | '''(A)''' OZONE DE JOUR+NUIT (fichiers histday_tra, moyennes journalières: 1440 champs instantanés moyennés par mois=> PRECIS !): |
| 114 | 1) extraction des variables O3 et press.[[BR]] |
| 115 | 2) interpolation sur les 50 niveaux standard (variable "presnivs") ; moyenne zonale.[[BR]] |
| 116 | 3) moyenne mensuelle, concaténation.[[BR]] |
| 117 | => 12 champs mensuels d'ozone de jour+nuit moyen tro3(y) pour y variant de 1960 à 2006[[BR]] |
| 118 | |
| 119 | (B) OZONE DE JOUR (fichiers histins_tra, champs instantanés les 10, 20 et 30 de chaque mois: 3 champs instantanés par mois => IMPRECIS !): |
| 120 | 1) Masquage des pixels de nuit.[[BR]] |
| 121 | On utilise l'espèce photosensible NO sur le 45ième niveau (1.527329 hPa): une concentration supérieure à 1.0E-15 vmr indique la nuit.[[BR]] |
| 122 | 2) interpolation sur les 50 niveaux standard (variable "presnivs") ; moyenne zonale.[[BR]] |
| 123 | 3) moyenne mensuelle: O3m($M)=[O3(${M-1}30) + 2.O3(${M}10) + 2.O3(${M}20) + O3(${M}30)]/6[[BR]] |
138 | | <C> moyenne temporelle glissante (+/- 5 ans) pour les deux associations REF1/REF2 et REF1/SCNB2c |
139 | | => moyennes zonales lissees tro3_${Y}.nc de 1961 a 2095 pour les variables tro3 et tro3_daylight. |
140 | | <D> construction de fichiers synthetiques pour tous les scenarii (meme methode pour tro3 que pour tro3_daylight). |
| 134 | => fichiers annuels à 12 champs zonaux mensuels d'ozone de jour+nuit (tro3) et d'ozone de jour (tro3_daylight).[[BR]] |
| 135 | '''Remarques:''' |
| 136 | * L'ozone de jour ainsi reconstruit est bien plus fiable que celui que l'on obtient directement avec le sfichiers histins_tra.[[BR]] |
| 137 | * A propos de l'interpolation temporelle. |
| 138 | Normalement, les valeurs d'ozone de jour situées dans la nuit polaire ne sont pas utilisées, justement car il n'y fait pas jour... |
| 139 | Toutefois, certains cas-limite nécessitent de s'en préoccuper. Considérons un point P du globe près du terminateur ; nous voulons interpoler l'ozone de jour en P à la date ti. Soient t1 et t2 les dates adjacentes du fichier d'ozone (milieux de deux mois consécutifs). En t1, P est dans la nuit polaire, alors qu'en ti et t2, il est dans une zone insolée. Il faut une valeur d'ozone de jour en t1 afin de pouvoir interpoler la concentration en ti. La routine de lecture des fichiers d'ozone complète la nuit polaire du champ d'ozone de jour par duplication vers les pôles des valeurs adjacentes les plus proches (près du terminateur). En l'occurrence, cela conduirait à surévaluer la concentration interpolée. Il est préférable de choisir dans la nuit polaire l'ozone de jour+nuit. C'est ainsi qu'ont été complétés les champs d'ozone de jour dans la nuit polaire, en association avec la variable "night". |
| 140 | |
| 141 | '''Pour chaque paire REF1_${RUN}''' (REF1 de 1961 à 2006, ${RUN} de 2007 à 2098, RUN=REF2 ou SCNB2c): |
| 142 | '''(C)''' moyenne temporelle glissante (+/- 5 ans) |
| 143 | |
| 144 | => fichiers annuels à 12 champs zonaux mensuels d'ozone de jour+nuit (tro3) et d'ozone de jour (tro3_daylight) pour REF1_REF2 et REF1_SCNB2c.[[BR]] |
| 145 | |
| 146 | '''Pour chaque scenario''' (RCP26, RCP45, RCP85 ; note: RCP60 s'identifie à REF1_REF2): |
| 147 | '''(D)''' construction de fichiers synthétiques (même méthode pour tro3 que pour tro3_daylight). |
142 | | tro3* = tro3S + (tro3R-tro3S)*(CO2*-CO2S)/(CO2R-CO2S) |
143 | | Les grandeurs CO2 representent les concentrations en CO2 dans les scenarii consideres. |
144 | | N.B.: REF1_REF2 représente le scenario RCP6.0. |
145 | | |
146 | | => moyennes zonales lissees tro3_${Y}.nc de 1966 a 2093 pour tous les scenarii. |
147 | | |
148 | | |
149 | | |
150 | | 1) Moyennes zonales d'ozone stratosphérique de jour+nuit à partir de sorties journalières moyennées (fréquence: 1 jour) -> précis |
151 | | * interpolation des champs 3D sur les niveaux standard (presnivs) |
152 | | * moyenne zonale |
153 | | 2) Moyennes zonales d'ozone stratosphérique de jour+nuit et jour à partir de sorties instantanées (fréquence: 10 jours) -> très imprécis |
154 | | * utilisation d'un masque jour/nuit (ici la concentration en NO sur le 45ième niveau standard du modèle: 1.527329 hPa, indique le jour lorsqu'elle est inférieure à 1.0E-15 vmr). |
155 | | * même méthode qu'en étape 1 pour obtenir les deux champs |
156 | | |
157 | | '''Interlude:''' nécessité d'un lissage. |
158 | | Les raisons: |
159 | | * L'échantillonnage temporel des champs instantanés est très faible: pour une climatologie mensuelle, trois champs sont utilisés (en réalité, 4, dont deux avec une semi-pondération), alors qu'une moyenne basée sur des fichiers mensuels en fait intervenir 1440 (un par pas de temps). |
160 | | * L'échantillonnage spatial des champs instantanés est plus faible: seule la moitié des champs est utilisée pour l'ozone de jour. |
161 | | * L'échantillonnage spatial des champs instantanés est inhomogène: les champs sont tous pris à 0h UTC. Si une structure zonalement dissymétrique présente une stabilité géographique (particulièrement un vortex polaire non zonal), elle biaise la climatologie de jour. |
162 | | |
163 | | Les remèdes: |
164 | | * Aucun cycle diurne n'est attendu, hormis près de la stratopause. |
165 | | => Il est légitime de moduler la climatologie d'ozone obtenue en 1) avec un coefficient correctif basé sur les champs produits en 2), restreint près de la stratopause. |
166 | | * Ce cycle diurne n'a pas de raison physique valable de varier significativement dans la période disponible (1960-2006). |
167 | | => Il est légitime d'utiliser une climatologie sur toute la période disponible des champs produits en 2) pour construire le coefficient correctif. |
168 | | |
169 | | 3) Ajustement des champs précédents. |
170 | | * obtention d'une climatologie sur toute la période disponible (1961-2006) |
171 | | * construction du rapport rO3nd=(O3-O3d)/O3 (d signifie 'day' ; l'absence d'indice sous-entend 'day+night') |
| 149 | tro3($RUN) = tro3(REF1_SCN-B2c) + [tro3(REF1_REF2)-tro3(REF1_SCN-B2c)] * [CO2($RUN)-CO2(REF1_SCN-B2c)] / [CO2(REF1_REF2)-CO2(REF1_SCN-B2c)] |
| 150 | CO2 represente la concentration en CO2 dans le scenario considéré. |
| 151 | |
| 152 | '''PRODUITS''': moyennes zonales lissées d'ozone stratosphérique (jour+nuit et jour) tro3_${Y}.nc de 1966 a 2093. |
| 153 | |
| 154 | |
| 155 | |
| 156 | == ETAPE 3: Construction de fichiers hybrides troposphère-stratosphère. == |
| 157 | |
| 158 | (1) Interpolation horizontale (96x95), puis détection de la tropopause des champs stratosphériques (plus fiables que celle des champs tropo: 50 niveaux au lieu de 19) |
| 159 | (2) Détection de la tropopause des champs troposphériques. |
| 160 | (3) Étirement/contraction (par interpolation) du champ troposphérique de manière à "tirer" la tropopause troposphérique vers la tropopause stratosphérique et conserver le même champ de pression au sol. Cela revient à considérer que les points troposhpériques sont non pas en Pt, mais en Pt*, avec: |
| 161 | {{{ |
| 162 | |
| 163 | ( Pt ) LOG(Ptrops/PtS) |
| 164 | Pt* = PtS ( ---- ) ^ ----------------- ("S": "Sol", "trop": "tropopause") |
| 165 | ( PtS ) LOG(Ptropt/PtS) |
| 166 | |
| 167 | }}} |
| 168 | |
| 169 | (4) Construction des champs globaux (12 par an, fichiers annuels): |
| 170 | a) au-dessus de la tropopause + 2 kms (P<P1): champ stratosphérique |
| 171 | 2) au-dessous de la tropopause - 1 km (P>P2): champ troposphérique |
| 172 | 3) au voisinage de la tropopause (P2<P<P1): mélange des deux. |
| 173 | En clair:[[BR]] |
| 174 | |
| 175 | {{{ |
| 176 | O3t(P)-O3s(P) PI lnP -lnP1 |
| 177 | O3*(P) = O3s(P)+ ------------- [ 1 + SIN( -- (1 + --------- )) ] |
| 178 | 2 2 lnP2-lnP1 |
| 179 | |
| 180 | }}} |
| 181 | |
| 182 | |
| 183 | == Remarque: == La strato avant 1966 est bouclée sur 1966 (climatologie pré-industrielle) ; après 2093, elle l'est sur celle de 2093 (faute de mieux). |
| 184 | |
| 185 | (5) Passage à 14 champs: on duplique décembre de l'année précédente et janvier de l'année suivante.[[BR]] |
| 186 | En 1855, on ajoute decembre 1855 au lieu de decembre 1854 (indisponible).[[BR]] |
| 187 | En 2095, on ajoute janvier 2095 au lieu de janvier 2096 (indisponible).[[BR]] |
| 188 | |
| 189 | '''PRODUITS FINAUX''': moyennes zonales lissées composites de 1855 à 2095 pour tous les scenarii, avec 14 champs, stockés sur mercure ici: |
| 190 | |
| 191 | /dmnfs13/cont003/dcugnet/FORCAGES-CMIP5/${RUN} |
| 192 | |
178 | | '''Interlude:''' l'interpolation temporelle. |
179 | | Normalement, les valeurs de O3d situées dans la nuit polaire ne sont pas utilisées, justement car il n'y fait pas jour... |
180 | | Toutefois, certains cas-limite nécessitent de s'en préoccuper. Considérons un point P du globe près du terminateur ; nous voulons interpoler l'ozone de jour en P à la date ti. Soient t1 et t2 les dates adjacentes du fichier d'ozone (milieux de deux mois consécutifs). En t1, P est dans la nuit polaire, alors qu'en ti et t2, il est dans une zone insolée. Il faut une valeur d'ozone de jour en t1 afin de pouvoir interpoler la concentration en ti. La routine de lecture des fichiers d'ozone complète la nuit polaire du champ d'ozone de jour par duplication vers les pôles des valeurs adjacentes les plus proches (près du terminateur). En l'occurrence, cela conduirait à surévaluer la concentration interpolée. Il est préférable de choisir dans la nuit polaire l'ozone de jour+nuit. C'est ainsi qu'ont été complétés les champs d'ozone de jour dans la nuit polaire, en association avec la variable "night". |
181 | | |
182 | | 4) Hybridation des fichiers: |
183 | | * Interpolation horizontale (96x95), puis détection de la tropopause des champs stratosphériques (cette tropopause est prise comme référence dans la suite, car la résolution verticale de ces champs est supérieure). |
184 | | * Interpolation verticale (50 niv), puis détection de la tropopause des champs troposphériques. |
185 | | * Étirement (par interpolation) du champ troposphérique de manière à "tirer" la tropopause troposphérique vers la tropopause stratosphérique et conserver le même champ de pression au sol. Cela revient à considérer que les points troposhpériques sont non pas en Pt, mais en Pt*, avec: |
186 | | |
187 | | {{{ |
188 | | |
189 | | ( Pt ) LOG(Ptrops/PtS) |
190 | | Pt* = PtS ( ---- ) ^ ----------------- ("S": "Sol", "trop": "tropopause") |
191 | | ( PtS ) LOG(Ptropt/PtS) |
192 | | |
193 | | }}} |
194 | | |
195 | | * Construction des champs globaux (12 par an, fichiers annuels): |
196 | | a) au-dessus de la tropopause + 2 kms: champ troposphérique |
197 | | 2) au-dessous de la tropopause - 1 km : champ stratosphérique |
198 | | 3) au voisinage de la tropopause (-1 -> +2 kms): mélange des deux champs précédents. On note P1 (resp. P2) la pression côté strato: tropopause + 2 kms (resp. côté tropo: tropopause - 1 km). En clair: |
199 | | |
200 | | |
201 | | {{{ |
202 | | O3t(P)-O3s(P) PI lnP -lnP1 |
203 | | O3*(P) = O3s(P)+ ------------- [ 1 + SIN( -- (1 + --------- )) ] |
204 | | 2 2 lnP2-lnP1 |
205 | | |
206 | | }}} |
207 | | |
208 | | DIFFICULTÉ: les périodes des deux runs diffèrent. tropo: 1850-2000 ; strato: 1961-2006. |
| 199 | |
| 200 | |
| 201 | |
| 202 | |
| 203 | |
| 204 | |
| 205 | |
| 206 | |
| 207 | |
| 208 | |
| 209 | |
| 210 | |