SURFEX v7.3
General documentation of Surfex
|
00001 C Jan-2011 P. Marguinaud Thread-safe FA 00002 SUBROUTINE FAICOR_MT (FA) 00003 USE FA_MOD, ONLY : FA_COM 00004 USE PARKIND1, ONLY : JPRB 00005 USE YOMHOOK , ONLY : LHOOK, DR_HOOK 00006 C**** 00007 C Sous-programme INTERNE du logiciel de Fichiers ARPEGE: 00008 C Initialisation des tableaux permettant la correspondance 00009 C entre nom du champ dans FA et ses descripteurs GRIB. 00010 C 00011 C ** FA%NBPARC ne doit pas depasser FA%JPXPAR !! ** 00012 C** 00013 C 00014 TYPE(FA_COM) :: FA 00015 INTEGER J, INB, INBPAR 00016 #include "facom_mt.h" 00017 C** 00018 C 1. - TRAITEMENT DES CHAMPS MONO NIVEAU 00019 C----------------------------------------------------------------------- 00020 C 00021 C 1.1 - Champs "profond" 00022 C 00023 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00024 IF (LHOOK) CALL DR_HOOK('FAICOR_MT',0,ZHOOK_HANDLE) 00025 INBPAR = 0 00026 FA%NBPARC = INBPAR + 7 00027 IF (FA%NBPARC.GT.FA%JPXPAR) GOTO 1001 00028 DO J=INBPAR+1,FA%NBPARC 00029 FA%CIPREF(J) = 'PROF' 00030 ENDDO 00031 FA%CISUFF(INBPAR+1 ) = 'TEMPERATURE' 00032 FA%CISUFF(INBPAR+2 ) = 'RESERV.GLACE' 00033 FA%CISUFF(INBPAR+3 ) = 'RESERV.EAU' 00034 FA%CISUFF(INBPAR+4 ) = 'RUISSELLEMEN' 00035 FA%CISUFF(INBPAR+5 ) = 'FLUX DE GEL' 00036 FA%CISUFF(INBPAR+6 ) = 'PROP.RMAX.EA' 00037 FA%CISUFF(INBPAR+7 ) = 'XRUISSELLEME' 00038 FA%NCODPA(INBPAR+1 ,1:6) = (/ 1, 11, 111, 10, 0, 0 /) 00039 FA%NCODPA(INBPAR+2 ,1:6) = (/ 1, 152, 112, 0, 250, 0 /) 00040 FA%NCODPA(INBPAR+3 ,1:6) = (/ 1, 86, 112, 0, 250, 0 /) 00041 FA%NCODPA(INBPAR+4 ,1:6) = (/ 149, 2, 112, 10, 300, 4 /) 00042 FA%NCODPA(INBPAR+5 ,1:6) = (/ 149, 73, 112, 10, 300, 4 /) 00043 FA%NCODPA(INBPAR+6 ,1:6) = (/ 149, 77, 112, 10, 300, 0 /) 00044 FA%NCODPA(INBPAR+7 ,1:6) = (/ 149, 85, 112, 10, 300, 0 /) 00045 00046 C 00047 C 1.2 - Champs de surface 00048 C 00049 INBPAR = FA%NBPARC 00050 FA%NBPARC = INBPAR + 83 00051 IF (FA%NBPARC.GT.FA%JPXPAR) GOTO 1001 00052 DO J=INBPAR+1,FA%NBPARC 00053 FA%CIPREF(J) = 'SURF' 00054 ENDDO 00055 FA%CISUFF(INBPAR+1 ) = 'PRESSION' 00056 FA%CISUFF(INBPAR+2 ) = 'GEOPOTENTIEL' 00057 FA%CISUFF(INBPAR+3 ) = 'TEMPERATURE' 00058 FA%CISUFF(INBPAR+4 ) = 'FLU.MSUBL.NE' 00059 FA%CISUFF(INBPAR+5 ) = 'FLU.MEVAP.EA' 00060 FA%CISUFF(INBPAR+6 ) = 'PREC.EAU.GEC' 00061 FA%CISUFF(INBPAR+7 ) = 'PREC.EAU.CON' 00062 FA%CISUFF(INBPAR+8 ) = 'RESERV.NEIGE' 00063 FA%CISUFF(INBPAR+9 ) = 'NEBUL.TOTALE' 00064 FA%CISUFF(INBPAR+10) = 'NEBUL.CONVEC' 00065 FA%CISUFF(INBPAR+11) = 'NEBUL.BASSE' 00066 FA%CISUFF(INBPAR+12) = 'NEBUL.MOYENN' 00067 FA%CISUFF(INBPAR+13) = 'NEBUL.HAUTE' 00068 FA%CISUFF(INBPAR+14) = 'PREC.NEI.CON' 00069 FA%CISUFF(INBPAR+15) = 'PREC.NEI.GEC' 00070 FA%CISUFF(INBPAR+16) = 'IND.TERREMER' 00071 FA%CISUFF(INBPAR+17) = 'Z0.FOIS.G' 00072 FA%CISUFF(INBPAR+18) = 'ALBEDO' 00073 FA%CISUFF(INBPAR+19) = 'PROP.VEGETAT' 00074 FA%CISUFF(INBPAR+20) = 'FLU.RAY.SOLA' 00075 FA%CISUFF(INBPAR+21) = 'FLU.RAY.THER' 00076 FA%CISUFF(INBPAR+22) = 'FLU.LAT.MEVA' 00077 FA%CISUFF(INBPAR+23) = 'FLU.LAT.MSUB' 00078 FA%CISUFF(INBPAR+24) = 'FLU.CHA.SENS' 00079 FA%CISUFF(INBPAR+25) = 'ETA.GEOPOTEN' 00080 FA%CISUFF(INBPAR+26) = 'ETP.GEOPOTEN' 00081 FA%CISUFF(INBPAR+27) = 'TENS.DMOG.ZO' 00082 FA%CISUFF(INBPAR+28) = 'TENS.TURB.ZO' 00083 FA%CISUFF(INBPAR+29) = 'TENS.DMOG.ME' 00084 FA%CISUFF(INBPAR+30) = 'TENS.TURB.ME' 00085 FA%CISUFF(INBPAR+31) = 'RESERV.GLACE' 00086 FA%CISUFF(INBPAR+32) = 'RESERV.EAU' 00087 FA%CISUFF(INBPAR+33) = 'RAYT.LUNE.DE' 00088 FA%CISUFF(INBPAR+34) = 'CAPE.MOD.XFU' 00089 FA%CISUFF(INBPAR+35) = 'TOT.WAT.VAPO' 00090 C Debut des champs pour Mocage : 00091 CDP: champ TCO3 remplace par O3_TOT le 18 oct 2004 par coherence 00092 C avec la BDAP qui venait de proceder au changement. 00093 FA%CISUFF(INBPAR+36) = 'O3_TOT' 00094 FA%CISUFF(INBPAR+37) = 'CH4_TOT' 00095 FA%CISUFF(INBPAR+38) = 'NO_TOT' 00096 FA%CISUFF(INBPAR+39) = 'NO2_TOT' 00097 FA%CISUFF(INBPAR+40) = 'CO_TOT' 00098 C Fin des champs pour Mocage 00099 FA%CISUFF(INBPAR+41) = 'ALBEDO NEIGE' 00100 FA%CISUFF(INBPAR+42) = 'ALBEDO HISTO' 00101 FA%CISUFF(INBPAR+43) = 'ALBEDO.SOLNU' 00102 FA%CISUFF(INBPAR+44) = 'ALBEDO.VEG' 00103 FA%CISUFF(INBPAR+45) = 'EMISSIVITE' 00104 FA%CISUFF(INBPAR+46) = 'ET.GEOPOTENT' 00105 FA%CISUFF(INBPAR+47) = 'VAR.GEOP.ANI' 00106 FA%CISUFF(INBPAR+48) = 'VAR.GEOP.DIR' 00107 FA%CISUFF(INBPAR+49) = 'IND.VEG.DOMI' 00108 FA%CISUFF(INBPAR+50) = 'RESI.STO.MIN' 00109 FA%CISUFF(INBPAR+51) = 'PROP.ARGILE' 00110 FA%CISUFF(INBPAR+52) = 'PROP.SABLE' 00111 FA%CISUFF(INBPAR+53) = 'EPAIS.SOL' 00112 FA%CISUFF(INBPAR+54) = 'IND.FOLIAIRE' 00113 FA%CISUFF(INBPAR+55) = 'RES.EVAPOTRA' 00114 FA%CISUFF(INBPAR+56) = 'GZ0.THERM' 00115 FA%CISUFF(INBPAR+57) = 'RESERV.INTER' 00116 FA%CISUFF(INBPAR+58) = 'FL.Q TURBUL' 00117 FA%CISUFF(INBPAR+59) = 'FL.CT TURBUL' 00118 FA%CISUFF(INBPAR+60) = 'FONTE NEIGE' 00119 FA%CISUFF(INBPAR+61) = 'CHAL. DS SOL' 00120 FA%CISUFF(INBPAR+62) = 'EAU DANS SOL' 00121 FA%CISUFF(INBPAR+63) = 'RUISSELLEMEN' 00122 FA%CISUFF(INBPAR+64) = 'EVAPOTRANSPI' 00123 FA%CISUFF(INBPAR+65) = 'TRANSPIRATIO' 00124 FA%CISUFF(INBPAR+66) = 'RUISS. INTER' 00125 FA%CISUFF(INBPAR+67) = 'FLUX DE GEL' 00126 FA%CISUFF(INBPAR+68) = 'RAYT DIR SUR' 00127 FA%CISUFF(INBPAR+69) = 'RAYT DIFF DE' 00128 FA%CISUFF(INBPAR+70) = 'RAYT THER DE' 00129 FA%CISUFF(INBPAR+71) = 'PROP.RMAX.EA' 00130 FA%CISUFF(INBPAR+72) = 'DENSIT.NEIGE' 00131 FA%CISUFF(INBPAR+73) = 'CFU.Q.TURBUL' 00132 FA%CISUFF(INBPAR+74) = 'CFU.CT.TURBU' 00133 FA%CISUFF(INBPAR+75) = 'TIME.PREC.TO' 00134 FA%CISUFF(INBPAR+76) = 'XFONTE NEIGE' 00135 FA%CISUFF(INBPAR+77) = 'XCHAL. DS SO' 00136 FA%CISUFF(INBPAR+78) = 'XEAU DANS SO' 00137 FA%CISUFF(INBPAR+79) = 'XFLU.MEVAP.E' 00138 FA%CISUFF(INBPAR+80) = 'XRUISSELLEME' 00139 FA%CISUFF(INBPAR+81) = 'XEVAPOTRANSP' 00140 FA%CISUFF(INBPAR+82) = 'XTRANSPIRATI' 00141 FA%CISUFF(INBPAR+83) = 'XRUISS. INTE' 00142 FA%NCODPA(INBPAR+1 ,1:6) = (/ 1, 1, 1, 0, 0, 0 /) 00143 FA%NCODPA(INBPAR+2 ,1:6) = (/ 1, 8, 1, 0, 0, 0 /) 00144 FA%NCODPA(INBPAR+3 ,1:6) = (/ 1, 11, 1, 0, 0, 0 /) 00145 FA%NCODPA(INBPAR+4 ,1:6) = (/ 149, 45, 1, 0, 0, 4 /) 00146 FA%NCODPA(INBPAR+5 ,1:6) = (/ 149, 46, 1, 0, 0, 4 /) 00147 FA%NCODPA(INBPAR+6 ,1:6) = (/ 1, 62, 1, 0, 0, 4 /) 00148 FA%NCODPA(INBPAR+7 ,1:6) = (/ 1, 63, 1, 0, 0, 4 /) 00149 FA%NCODPA(INBPAR+8 ,1:6) = (/ 1, 65, 1, 0, 0, 0 /) 00150 FA%NCODPA(INBPAR+9 ,1:6) = (/ 1, 71, 1, 0, 0, 0 /) 00151 FA%NCODPA(INBPAR+10,1:6) = (/ 1, 72, 1, 0, 0, 0 /) 00152 FA%NCODPA(INBPAR+11,1:6) = (/ 1, 73, 1, 0, 0, 0 /) 00153 FA%NCODPA(INBPAR+12,1:6) = (/ 1, 74, 1, 0, 0, 0 /) 00154 FA%NCODPA(INBPAR+13,1:6) = (/ 1, 75, 1, 0, 0, 0 /) 00155 FA%NCODPA(INBPAR+14,1:6) = (/ 1, 78, 1, 0, 0, 4 /) 00156 FA%NCODPA(INBPAR+15,1:6) = (/ 1, 79, 1, 0, 0, 4 /) 00157 FA%NCODPA(INBPAR+16,1:6) = (/ 1, 81, 1, 0, 0, 0 /) 00158 FA%NCODPA(INBPAR+17,1:6) = (/ 149, 47, 1, 0, 0, 0 /) 00159 FA%NCODPA(INBPAR+18,1:6) = (/ 1, 84, 1, 0, 0, 0 /) 00160 FA%NCODPA(INBPAR+19,1:6) = (/ 1, 87, 1, 0, 0, 0 /) 00161 FA%NCODPA(INBPAR+20,1:6) = (/ 128, 111, 1, 0, 0, 4 /) 00162 FA%NCODPA(INBPAR+21,1:6) = (/ 128, 112, 1, 0, 0, 4 /) 00163 FA%NCODPA(INBPAR+22,1:6) = (/ 149, 52, 1, 0, 0, 4 /) 00164 FA%NCODPA(INBPAR+23,1:6) = (/ 149, 53, 1, 0, 0, 4 /) 00165 FA%NCODPA(INBPAR+24,1:6) = (/ 128, 122, 1, 0, 0, 4 /) 00166 FA%NCODPA(INBPAR+25,1:6) = (/ 149, 54, 1, 0, 0, 0 /) 00167 FA%NCODPA(INBPAR+26,1:6) = (/ 149, 55, 1, 0, 0, 0 /) 00168 FA%NCODPA(INBPAR+27,1:6) = (/ 149, 56, 1, 0, 0, 4 /) 00169 FA%NCODPA(INBPAR+28,1:6) = (/ 149, 57, 1, 0, 0, 4 /) 00170 FA%NCODPA(INBPAR+29,1:6) = (/ 149, 58, 1, 0, 0, 4 /) 00171 FA%NCODPA(INBPAR+30,1:6) = (/ 149, 59, 1, 0, 0, 4 /) 00172 FA%NCODPA(INBPAR+31,1:6) = (/ 1, 152, 1, 0, 0, 0 /) 00173 FA%NCODPA(INBPAR+32,1:6) = (/ 1, 86, 1, 0, 0, 0 /) 00174 FA%NCODPA(INBPAR+33,1:6) = (/ 1, 158, 1, 0, 0, 4 /) 00175 FA%NCODPA(INBPAR+34,1:6) = (/ 1, 160, 1, 0, 0, 0 /) 00176 FA%NCODPA(INBPAR+35,1:6) = (/ 1, 167, 1, 0, 0, 0 /) 00177 FA%NCODPA(INBPAR+36,1:6) = (/ 1, 10, 1, 0, 0, 0 /) 00178 FA%NCODPA(INBPAR+37,1:6) = (/ 159, 21, 1, 0, 0, 0 /) 00179 FA%NCODPA(INBPAR+38,1:6) = (/ 159, 22, 1, 0, 0, 0 /) 00180 FA%NCODPA(INBPAR+39,1:6) = (/ 159, 23, 1, 0, 0, 0 /) 00181 FA%NCODPA(INBPAR+40,1:6) = (/ 159, 24, 1, 0, 0, 0 /) 00182 FA%NCODPA(INBPAR+41,1:6) = (/ 149, 5, 1, 0, 0, 0 /) 00183 FA%NCODPA(INBPAR+42,1:6) = (/ 149, 48, 1, 0, 0, 0 /) 00184 FA%NCODPA(INBPAR+43,1:6) = (/ 149, 49, 1, 0, 0, 0 /) 00185 FA%NCODPA(INBPAR+44,1:6) = (/ 149, 50, 1, 0, 0, 0 /) 00186 FA%NCODPA(INBPAR+45,1:6) = (/ 149, 60, 1, 0, 0, 0 /) 00187 FA%NCODPA(INBPAR+46,1:6) = (/ 149, 93, 1, 0, 0, 0 /) 00188 FA%NCODPA(INBPAR+47,1:6) = (/ 128, 161, 1, 0, 0, 0 /) 00189 FA%NCODPA(INBPAR+48,1:6) = (/ 128, 162, 1, 0, 0, 0 /) 00190 FA%NCODPA(INBPAR+49,1:6) = (/ 149, 61, 1, 0, 0, 0 /) 00191 FA%NCODPA(INBPAR+50,1:6) = (/ 149, 62, 1, 0, 0, 0 /) 00192 FA%NCODPA(INBPAR+51,1:6) = (/ 149, 63, 1, 0, 0, 0 /) 00193 FA%NCODPA(INBPAR+52,1:6) = (/ 149, 64, 1, 0, 0, 0 /) 00194 FA%NCODPA(INBPAR+53,1:6) = (/ 149, 51, 1, 0, 0, 0 /) 00195 FA%NCODPA(INBPAR+54,1:6) = (/ 149, 65, 1, 0, 0, 0 /) 00196 FA%NCODPA(INBPAR+55,1:6) = (/ 149, 66, 1, 0, 0, 0 /) 00197 FA%NCODPA(INBPAR+56,1:6) = (/ 149, 67, 1, 0, 0, 0 /) 00198 FA%NCODPA(INBPAR+57,1:6) = (/ 149, 68, 1, 0, 0, 0 /) 00199 FA%NCODPA(INBPAR+58,1:6) = (/ 149, 69, 1, 0, 0, 4 /) 00200 FA%NCODPA(INBPAR+59,1:6) = (/ 149, 70, 1, 0, 0, 4 /) 00201 FA%NCODPA(INBPAR+60,1:6) = (/ 1, 99, 1, 0, 0, 4 /) 00202 FA%NCODPA(INBPAR+61,1:6) = (/ 149, 8, 1, 0, 0, 4 /) 00203 FA%NCODPA(INBPAR+62,1:6) = (/ 1, 150, 1, 0, 0, 4 /) 00204 FA%NCODPA(INBPAR+63,1:6) = (/ 149, 2, 1, 0, 0, 4 /) 00205 FA%NCODPA(INBPAR+64,1:6) = (/ 1, 168, 1, 0, 0, 4 /) 00206 FA%NCODPA(INBPAR+65,1:6) = (/ 149, 71, 1, 0, 0, 4 /) 00207 FA%NCODPA(INBPAR+66,1:6) = (/ 149, 72, 1, 0, 0, 4 /) 00208 FA%NCODPA(INBPAR+67,1:6) = (/ 149, 73, 1, 0, 0, 4 /) 00209 FA%NCODPA(INBPAR+68,1:6) = (/ 149, 74, 1, 0, 0, 4 /) 00210 FA%NCODPA(INBPAR+69,1:6) = (/ 149, 75, 1, 0, 0, 4 /) 00211 FA%NCODPA(INBPAR+70,1:6) = (/ 149, 76, 1, 0, 0, 4 /) 00212 FA%NCODPA(INBPAR+71,1:6) = (/ 149, 77, 1, 0, 0, 0 /) 00213 FA%NCODPA(INBPAR+72,1:6) = (/ 149, 3, 1, 0, 0, 0 /) 00214 FA%NCODPA(INBPAR+73,1:6) = (/ 149, 78, 1, 0, 0, 4 /) 00215 FA%NCODPA(INBPAR+74,1:6) = (/ 149, 79, 1, 0, 0, 4 /) 00216 FA%NCODPA(INBPAR+75,1:6) = (/ 149, 80, 1, 0, 0, 4 /) 00217 FA%NCODPA(INBPAR+76,1:6) = (/ 149, 81, 1, 0, 0, 0 /) 00218 FA%NCODPA(INBPAR+77,1:6) = (/ 149, 82, 1, 0, 0, 0 /) 00219 FA%NCODPA(INBPAR+78,1:6) = (/ 149, 83, 1, 0, 0, 0 /) 00220 FA%NCODPA(INBPAR+79,1:6) = (/ 149, 84, 1, 0, 0, 0 /) 00221 FA%NCODPA(INBPAR+80,1:6) = (/ 149, 85, 1, 0, 0, 0 /) 00222 FA%NCODPA(INBPAR+81,1:6) = (/ 149, 86, 1, 0, 0, 0 /) 00223 FA%NCODPA(INBPAR+82,1:6) = (/ 149, 87, 1, 0, 0, 0 /) 00224 FA%NCODPA(INBPAR+83,1:6) = (/ 149, 88, 1, 0, 0, 0 /) 00225 C 00226 C Geopotentiel de surface en spectral (relief) 00227 C 00228 INBPAR = FA%NBPARC 00229 FA%NBPARC = INBPAR + 1 00230 IF (FA%NBPARC.GT.FA%JPXPAR) GOTO 1001 00231 DO J=INBPAR+1,FA%NBPARC 00232 FA%CIPREF(J) = 'SPECSURF' 00233 ENDDO 00234 FA%CISUFF(INBPAR+1) = 'GEOPOTEN' 00235 FA%NCODPA(INBPAR+1 ,1:6) = (/ 1, 8, 1, 0, 0, 0 /) 00236 C 00237 C 1.3 - Champs au sommet 00238 C 00239 INBPAR = FA%NBPARC 00240 FA%NBPARC = INBPAR + 2 00241 IF (FA%NBPARC.GT.FA%JPXPAR) GOTO 1001 00242 DO J=INBPAR+1,FA%NBPARC 00243 FA%CIPREF(J) = 'SOMM' 00244 ENDDO 00245 FA%CISUFF(INBPAR+1 ) = 'FLU.RAY.SOLA' 00246 FA%CISUFF(INBPAR+2 ) = 'FLU.RAY.THER' 00247 FA%NCODPA(INBPAR+1 ,1:6) = (/ 128, 113, 8, 0, 0, 4 /) 00248 FA%NCODPA(INBPAR+2 ,1:6) = (/ 128, 114, 8, 0, 0, 4 /) 00249 C 00250 C 1.4 - Champs de la Couche Limite de Surface 00251 C 00252 INBPAR = FA%NBPARC 00253 FA%NBPARC = INBPAR + 11 00254 IF (FA%NBPARC.GT.FA%JPXPAR) GOTO 1001 00255 DO J=INBPAR+1,FA%NBPARC 00256 FA%CIPREF(J) = 'CLS' 00257 ENDDO 00258 FA%CISUFF(INBPAR+1 ) = 'TEMPERATURE' 00259 FA%CISUFF(INBPAR+2 ) = 'MAXI.TEMPERAT' 00260 FA%CISUFF(INBPAR+3 ) = 'MINI.TEMPERAT' 00261 FA%CISUFF(INBPAR+4 ) = 'VENT.ZONAL' 00262 FA%CISUFF(INBPAR+5 ) = 'VENT.MERIDIEN' 00263 FA%CISUFF(INBPAR+6 ) = 'HUMI.SPECIFIQ' 00264 FA%CISUFF(INBPAR+7 ) = 'HUMI.RELATIVE' 00265 FA%CISUFF(INBPAR+8 ) = 'MAXI.HUMI.REL' 00266 FA%CISUFF(INBPAR+9 ) = 'MINI.HUMI.REL' 00267 FA%CISUFF(INBPAR+10) = 'U.RAF.MOD.XFU' 00268 FA%CISUFF(INBPAR+11) = 'V.RAF.MOD.XFU' 00269 FA%NCODPA(INBPAR+1 ,1:6) = (/ 1, 11, 105, 2, 0, 0 /) 00270 FA%NCODPA(INBPAR+2 ,1:6) = (/ 1, 15, 105, 2, 0, 2 /) 00271 FA%NCODPA(INBPAR+3 ,1:6) = (/ 1, 16, 105, 2, 0, 2 /) 00272 FA%NCODPA(INBPAR+4 ,1:6) = (/ 1, 33, 105, 10, 0, 0 /) 00273 FA%NCODPA(INBPAR+5 ,1:6) = (/ 1, 34, 105, 10, 0, 0 /) 00274 FA%NCODPA(INBPAR+6 ,1:6) = (/ 1, 51, 105, 2, 0, 0 /) 00275 FA%NCODPA(INBPAR+7 ,1:6) = (/ 1, 52, 105, 2, 0, 0 /) 00276 FA%NCODPA(INBPAR+8 ,1:6) = (/ 149, 90, 105, 2, 0, 2 /) 00277 FA%NCODPA(INBPAR+9 ,1:6) = (/ 149, 91, 105, 2, 0, 2 /) 00278 FA%NCODPA(INBPAR+10,1:6) = (/ 1, 163, 105, 10, 0, 0 /) 00279 FA%NCODPA(INBPAR+11,1:6) = (/ 1, 164, 105, 10, 0, 0 /) 00280 C 00281 C 1.5 - Champs au niveau tropopause 00282 C 00283 INBPAR = FA%NBPARC 00284 FA%NBPARC = INBPAR + 2 00285 IF (FA%NBPARC.GT.FA%JPXPAR) GOTO 1001 00286 DO J=INBPAR+1,FA%NBPARC 00287 FA%CIPREF(J) = 'ICAO' 00288 ENDDO 00289 FA%CISUFF(INBPAR+1 ) = 'TROP.PRESSUR' 00290 FA%CISUFF(INBPAR+2 ) = 'TROP.TEMPERA' 00291 FA%NCODPA(INBPAR+1 ,1:6) = (/ 1, 1, 7, 0, 0, 0 /) 00292 FA%NCODPA(INBPAR+2 ,1:6) = (/ 1, 11, 7, 0, 0, 0 /) 00293 C 00294 C 1.6 - Champs au niveau jet 00295 C 00296 INBPAR = FA%NBPARC 00297 FA%NBPARC = INBPAR + 3 00298 IF (FA%NBPARC.GT.FA%JPXPAR) GOTO 1001 00299 DO J=INBPAR+1,FA%NBPARC 00300 FA%CIPREF(J) = 'JET' 00301 ENDDO 00302 FA%CISUFF(INBPAR+1 ) = 'PRESSURE' 00303 FA%CISUFF(INBPAR+2 ) = 'VENT_ZONAL' 00304 FA%CISUFF(INBPAR+3 ) = 'VENT_MERIDIEN' 00305 FA%NCODPA(INBPAR+1 ,1:6) = (/ 1, 1, 6, 0, 0, 0 /) 00306 FA%NCODPA(INBPAR+2 ,1:6) = (/ 1, 33, 6, 0, 0, 0 /) 00307 FA%NCODPA(INBPAR+3 ,1:6) = (/ 1, 34, 6, 0, 0, 0 /) 00308 C 00309 C 1.7 - Champs pour la Couche Limite Planetaire 00310 C 00311 INBPAR = FA%NBPARC 00312 FA%NBPARC = INBPAR + 2 00313 IF (FA%NBPARC.GT.FA%JPXPAR) GOTO 1001 00314 DO J=INBPAR+1,FA%NBPARC 00315 FA%CIPREF(J) = 'CLP' 00316 ENDDO 00317 FA%CISUFF(INBPAR+1 ) = 'MHAUT.MOD.XFU' 00318 FA%CISUFF(INBPAR+2 ) = 'MOCON.MOD.XFU' 00319 FA%NCODPA(INBPAR+1 ,1:6) = (/ 1, 165, 1, 0, 0, 0 /) 00320 FA%NCODPA(INBPAR+2 ,1:6) = (/ 1, 166, 1, 0, 0, 0 /) 00321 C 00322 C 1.8 - Champs au niveau mer 00323 C 00324 INBPAR = FA%NBPARC 00325 FA%NBPARC = INBPAR + 1 00326 IF (FA%NBPARC.GT.FA%JPXPAR) GOTO 1001 00327 DO J=INBPAR+1,FA%NBPARC 00328 FA%CIPREF(J) = 'MSL' 00329 ENDDO 00330 FA%CISUFF(INBPAR+1 ) = 'PRESSURE' 00331 FA%NCODPA(INBPAR+1 ,1:6) = (/ 1, 2, 102, 0, 0, 0 /) 00332 C 00333 C 1.9 - Relief 00334 C 00335 INBPAR = FA%NBPARC 00336 FA%NBPARC = INBPAR + 1 00337 IF (FA%NBPARC.GT.FA%JPXPAR) GOTO 1001 00338 DO J=INBPAR+1,FA%NBPARC 00339 FA%CIPREF(J) = 'INT' 00340 ENDDO 00341 FA%CISUFF(INBPAR+1 ) = 'SURFGEOPOTENT' 00342 FA%NCODPA(INBPAR+1 ,1:6) = (/ 1, 8, 1, 0, 0, 0 /) 00343 C 00344 C 1.10- ATMO 00345 C 00346 INBPAR = FA%NBPARC 00347 FA%NBPARC = INBPAR + 4 00348 IF (FA%NBPARC.GT.FA%JPXPAR) GOTO 1001 00349 DO J=INBPAR+1,FA%NBPARC 00350 FA%CIPREF(J) = 'ATMO' 00351 ENDDO 00352 FA%CISUFF(INBPAR+1 ) = 'NEBUL.CONVEC' 00353 FA%CISUFF(INBPAR+2 ) = 'NEBUL.BASSE' 00354 FA%CISUFF(INBPAR+3 ) = 'NEBUL.MOYENN' 00355 FA%CISUFF(INBPAR+4 ) = 'NEBUL.HAUTE' 00356 FA%NCODPA(INBPAR+1 ,1:6) = (/ 128, 72, 1, 0, 0, 4 /) 00357 FA%NCODPA(INBPAR+2 ,1:6) = (/ 128, 73, 1, 0, 0, 4 /) 00358 FA%NCODPA(INBPAR+3 ,1:6) = (/ 128, 74, 1, 0, 0, 4 /) 00359 FA%NCODPA(INBPAR+4 ,1:6) = (/ 128, 75, 1, 0, 0, 4 /) 00360 C 00361 C 1.11- TOP 00362 C 00363 INBPAR = FA%NBPARC 00364 FA%NBPARC = INBPAR + 1 00365 IF (FA%NBPARC.GT.FA%JPXPAR) GOTO 1001 00366 DO J=INBPAR+1,FA%NBPARC 00367 FA%CIPREF(J) = 'TOP' 00368 ENDDO 00369 FA%CISUFF(INBPAR+1 ) = 'RAYT DIR SOM' 00370 FA%NCODPA(INBPAR+1 ,1:6) = (/ 149, 174, 8, 0, 0, 4 /) 00371 C** 00372 C 2. - TRAITEMENT DES CHAMPS SUR NIVEAUX 00373 C----------------------------------------------------------------------- 00374 C 00375 C 2.1 - Champs sur un niveau isobare 00376 C 00377 C ATTENTION: comme les champs HAUTEUR sont tres proches 00378 C des champs ISOBARE, un copier-coller sera fait 00379 C pour les INB champs suivants: 00380 C Revoir la methode si un champ PRESSION ne suivait 00381 C pas cette regle !! 00382 INB = 32 00383 INBPAR = FA%NBPARC 00384 FA%NBPARC = INBPAR + INB 00385 IF (FA%NBPARC.GT.FA%JPXPAR) GOTO 1001 00386 DO J=INBPAR+1,FA%NBPARC 00387 FA%CIPREF(J) = 'P' 00388 ENDDO 00389 FA%CISUFF(INBPAR+1 ) = 'POT_VORTIC' 00390 FA%CISUFF(INBPAR+2 ) = 'GEOPOTENTI' 00391 FA%CISUFF(INBPAR+3 ) = 'TEMPERATUR' 00392 FA%CISUFF(INBPAR+4 ) = 'TEMPE_POTE' 00393 FA%CISUFF(INBPAR+5 ) = 'THETA_PRIM' 00394 FA%CISUFF(INBPAR+6 ) = 'VENT_ZONAL' 00395 FA%CISUFF(INBPAR+7 ) = 'VENT_MERID' 00396 FA%CISUFF(INBPAR+8 ) = 'VITESSE_VE' 00397 FA%CISUFF(INBPAR+9 ) = 'ABS_VORTIC' 00398 FA%CISUFF(INBPAR+10) = 'DIVERGENCE' 00399 FA%CISUFF(INBPAR+11) = 'HUMI.SPECI' 00400 FA%CISUFF(INBPAR+12) = 'HUMI_RELAT' 00401 C Debut des champs pour Mocage : 00402 FA%CISUFF(INBPAR+13) = 'O3' 00403 FA%CISUFF(INBPAR+14) = 'NO2' 00404 FA%CISUFF(INBPAR+15) = 'NO' 00405 FA%CISUFF(INBPAR+16) = 'PAN' 00406 FA%CISUFF(INBPAR+17) = 'HNO3' 00407 FA%CISUFF(INBPAR+18) = 'SO2' 00408 FA%CISUFF(INBPAR+19) = 'CO' 00409 FA%CISUFF(INBPAR+20) = 'CH4' 00410 FA%CISUFF(INBPAR+21) = 'C2H6' 00411 FA%CISUFF(INBPAR+22) = 'NC4H10' 00412 FA%CISUFF(INBPAR+23) = 'C2H4' 00413 FA%CISUFF(INBPAR+24) = 'C3H6' 00414 FA%CISUFF(INBPAR+25) = 'OXYL' 00415 FA%CISUFF(INBPAR+26) = 'C5H8' 00416 FA%CISUFF(INBPAR+27) = 'APINEN' 00417 FA%CISUFF(INBPAR+28) = 'HCHO' 00418 FA%CISUFF(INBPAR+29) = 'CH3CHO' 00419 FA%CISUFF(INBPAR+30) = 'GLYOX' 00420 FA%CISUFF(INBPAR+31) = 'MGLYOX' 00421 FA%CISUFF(INBPAR+32) = 'CH3COE' 00422 C Fin des champs pour Mocage 00423 FA%NCODPA(INBPAR+1 ,1:6) = (/ 1, 4, 100, 0, 0, 0 /) 00424 FA%NCODPA(INBPAR+2 ,1:6) = (/ 1, 6, 100, 0, 0, 0 /) 00425 FA%NCODPA(INBPAR+3 ,1:6) = (/ 1, 11, 100, 0, 0, 0 /) 00426 FA%NCODPA(INBPAR+4 ,1:6) = (/ 1, 13, 100, 0, 0, 0 /) 00427 FA%NCODPA(INBPAR+5 ,1:6) = (/ 1, 15, 100, 0, 0, 0 /) 00428 FA%NCODPA(INBPAR+6 ,1:6) = (/ 1, 33, 100, 0, 0, 0 /) 00429 FA%NCODPA(INBPAR+7 ,1:6) = (/ 1, 34, 100, 0, 0, 0 /) 00430 FA%NCODPA(INBPAR+8 ,1:6) = (/ 1, 39, 100, 0, 0, 0 /) 00431 FA%NCODPA(INBPAR+9 ,1:6) = (/ 1, 41, 100, 0, 0, 0 /) 00432 FA%NCODPA(INBPAR+10,1:6) = (/ 1, 44, 100, 0, 0, 0 /) 00433 FA%NCODPA(INBPAR+11,1:6) = (/ 1, 51, 100, 0, 0, 0 /) 00434 FA%NCODPA(INBPAR+12,1:6) = (/ 1, 52, 100, 0, 0, 0 /) 00435 FA%NCODPA(INBPAR+13,1:6) = (/ 159, 1, 100, 0, 0, 0 /) 00436 FA%NCODPA(INBPAR+14,1:6) = (/ 159, 2, 100, 0, 0, 0 /) 00437 FA%NCODPA(INBPAR+15,1:6) = (/ 159, 3, 100, 0, 0, 0 /) 00438 FA%NCODPA(INBPAR+16,1:6) = (/ 159, 4, 100, 0, 0, 0 /) 00439 FA%NCODPA(INBPAR+17,1:6) = (/ 159, 5, 100, 0, 0, 0 /) 00440 FA%NCODPA(INBPAR+18,1:6) = (/ 159, 6, 100, 0, 0, 0 /) 00441 FA%NCODPA(INBPAR+19,1:6) = (/ 159, 7, 100, 0, 0, 0 /) 00442 FA%NCODPA(INBPAR+20,1:6) = (/ 159, 8, 100, 0, 0, 0 /) 00443 FA%NCODPA(INBPAR+21,1:6) = (/ 159, 9, 100, 0, 0, 0 /) 00444 FA%NCODPA(INBPAR+22,1:6) = (/ 159, 10, 100, 0, 0, 0 /) 00445 FA%NCODPA(INBPAR+23,1:6) = (/ 159, 11, 100, 0, 0, 0 /) 00446 FA%NCODPA(INBPAR+24,1:6) = (/ 159, 12, 100, 0, 0, 0 /) 00447 FA%NCODPA(INBPAR+25,1:6) = (/ 159, 13, 100, 0, 0, 0 /) 00448 FA%NCODPA(INBPAR+26,1:6) = (/ 159, 14, 100, 0, 0, 0 /) 00449 FA%NCODPA(INBPAR+27,1:6) = (/ 159, 15, 100, 0, 0, 0 /) 00450 FA%NCODPA(INBPAR+28,1:6) = (/ 159, 16, 100, 0, 0, 0 /) 00451 FA%NCODPA(INBPAR+29,1:6) = (/ 159, 17, 100, 0, 0, 0 /) 00452 FA%NCODPA(INBPAR+30,1:6) = (/ 159, 18, 100, 0, 0, 0 /) 00453 FA%NCODPA(INBPAR+31,1:6) = (/ 159, 19, 100, 0, 0, 0 /) 00454 FA%NCODPA(INBPAR+32,1:6) = (/ 159, 20, 100, 0, 0, 0 /) 00455 C 00456 C 2.2 - Champs sur un niveau hauteur 00457 C 00458 C ATTENTION: on reprend les INB definitions du niveau ISOBARE!! 00459 C 00460 INBPAR = FA%NBPARC 00461 FA%NBPARC = INBPAR + INB 00462 IF (FA%NBPARC.GT.FA%JPXPAR) GOTO 1001 00463 DO J=INBPAR+1,FA%NBPARC 00464 FA%CIPREF(J) = 'H' 00465 FA%CISUFF(J) = FA%CISUFF(J-INB) 00466 FA%NCODPA(J,1:2) = FA%NCODPA(J-INB,1:2) 00467 FA%NCODPA(J,3) = 105 00468 FA%NCODPA(J,4:6) = FA%NCODPA(J-INB,4:6) 00469 ENDDO 00470 C 00471 C 2.3 - Champs sur un niveau iso-tourbillon-potentiel 00472 C 00473 C ATTENTION: comme les champs ISENTROPE sont tres proches 00474 C des champs ISO-PV, un copier-coller sera fait 00475 C pour les INB champs suivants: 00476 C Revoir la methode si un champ ISO-PV ne suivait 00477 C pas cette regle !! 00478 INB = 10 00479 INBPAR = FA%NBPARC 00480 FA%NBPARC = INBPAR + INB 00481 IF (FA%NBPARC.GT.FA%JPXPAR) GOTO 1001 00482 DO J=INBPAR+1,FA%NBPARC 00483 FA%CIPREF(J) = 'V' 00484 ENDDO 00485 FA%CISUFF(INBPAR+1 ) = 'GEOPOTENTIEL' 00486 FA%CISUFF(INBPAR+2 ) = 'TEMPERATURE' 00487 FA%CISUFF(INBPAR+3 ) = 'TEMPE_POTENT' 00488 FA%CISUFF(INBPAR+4 ) = 'VENT_ZONAL' 00489 FA%CISUFF(INBPAR+5 ) = 'VENT_MERIDIE' 00490 FA%CISUFF(INBPAR+6 ) = 'VITESSE_VE' 00491 FA%CISUFF(INBPAR+7 ) = 'ABS_VORTICIT' 00492 FA%CISUFF(INBPAR+8 ) = 'DIVERGENCE' 00493 FA%CISUFF(INBPAR+9 ) = 'HUMI.SPECI' 00494 FA%CISUFF(INBPAR+10) = 'HUMI_RELAT' 00495 FA%NCODPA(INBPAR+1 ,1:6) = (/ 1, 6, 117, 0, 0, 0 /) 00496 FA%NCODPA(INBPAR+2 ,1:6) = (/ 1, 11, 117, 0, 0, 0 /) 00497 FA%NCODPA(INBPAR+3 ,1:6) = (/ 1, 13, 117, 0, 0, 0 /) 00498 FA%NCODPA(INBPAR+4 ,1:6) = (/ 1, 33, 117, 0, 0, 0 /) 00499 FA%NCODPA(INBPAR+5 ,1:6) = (/ 1, 34, 117, 0, 0, 0 /) 00500 FA%NCODPA(INBPAR+6 ,1:6) = (/ 1, 39, 117, 0, 0, 0 /) 00501 FA%NCODPA(INBPAR+7 ,1:6) = (/ 1, 41, 117, 0, 0, 0 /) 00502 FA%NCODPA(INBPAR+8 ,1:6) = (/ 1, 44, 117, 0, 0, 0 /) 00503 FA%NCODPA(INBPAR+9 ,1:6) = (/ 1, 51, 117, 0, 0, 0 /) 00504 FA%NCODPA(INBPAR+10,1:6) = (/ 1, 52, 117, 0, 0, 0 /) 00505 00506 C 00507 C 2.4 - Champs sur un niveau isentrope 00508 C 00509 C ATTENTION: on reprend les INB definitions du niveau ISO-PV!! 00510 C 00511 INBPAR = FA%NBPARC 00512 FA%NBPARC = INBPAR + INB 00513 IF (FA%NBPARC.GT.FA%JPXPAR) GOTO 1001 00514 DO J=INBPAR+1,FA%NBPARC 00515 FA%CIPREF(J) = 'T' 00516 FA%CISUFF(J) = FA%CISUFF(J-INB) 00517 FA%NCODPA(J,1:2) = FA%NCODPA(J-INB,1:2) 00518 FA%NCODPA(J,3) = 113 00519 FA%NCODPA(J,4:6) = FA%NCODPA(J-INB,4:6) 00520 ENDDO 00521 C Champs suppl differents de ceux d'ISO-PV 00522 INBPAR = FA%NBPARC 00523 FA%NBPARC = INBPAR + 1 00524 IF (FA%NBPARC.GT.FA%JPXPAR) GOTO 1001 00525 DO J=INBPAR+1,FA%NBPARC 00526 FA%CIPREF(J) = 'T' 00527 ENDDO 00528 FA%CISUFF(INBPAR+1) = 'POT_VORTICIT' 00529 FA%NCODPA(INBPAR+1 ,1:6) = (/ 1, 4, 113, 0, 0, 0 /) 00530 C 00531 C 2.5 - Champs sur un niveau modele 00532 C 00533 C 00534 INBPAR = FA%NBPARC 00535 FA%NBPARC = INBPAR + 12 00536 IF (FA%NBPARC.GT.FA%JPXPAR) GOTO 1001 00537 DO J=INBPAR+1,FA%NBPARC 00538 FA%CIPREF(J) = 'S' 00539 ENDDO 00540 FA%CISUFF(INBPAR+1 ) = 'TEMPERATURE' 00541 FA%CISUFF(INBPAR+2 ) = 'WIND.U.PHYS' 00542 FA%CISUFF(INBPAR+3 ) = 'VENT_ZONAL' 00543 FA%CISUFF(INBPAR+4 ) = 'WIND.V.PHYS' 00544 FA%CISUFF(INBPAR+5 ) = 'VENT_MERIDIE' 00545 FA%CISUFF(INBPAR+6 ) = 'FONC.COURANT' 00546 FA%CISUFF(INBPAR+7 ) = 'POT.VITESSE' 00547 FA%CISUFF(INBPAR+8 ) = 'VORTICITY' 00548 FA%CISUFF(INBPAR+9 ) = 'DIVERGENCE' 00549 FA%CISUFF(INBPAR+10) = 'HUMI.SPECIFI' 00550 FA%CISUFF(INBPAR+11) = 'VERTIC.DIVER' 00551 FA%CISUFF(INBPAR+12) = 'PRESS.DEPART' 00552 FA%NCODPA(INBPAR+1 ,1:6) = (/ 1, 11, 109, 0, 0, 0 /) 00553 FA%NCODPA(INBPAR+2 ,1:6) = (/ 1, 33, 109, 0, 0, 0 /) 00554 FA%NCODPA(INBPAR+3 ,1:6) = (/ 1, 33, 109, 0, 0, 0 /) 00555 FA%NCODPA(INBPAR+4 ,1:6) = (/ 1, 34, 109, 0, 0, 0 /) 00556 FA%NCODPA(INBPAR+5 ,1:6) = (/ 1, 34, 109, 0, 0, 0 /) 00557 FA%NCODPA(INBPAR+6 ,1:6) = (/ 1, 35, 109, 0, 0, 0 /) 00558 FA%NCODPA(INBPAR+7 ,1:6) = (/ 1, 36, 109, 0, 0, 0 /) 00559 FA%NCODPA(INBPAR+8 ,1:6) = (/ 1, 43, 109, 0, 0, 0 /) 00560 FA%NCODPA(INBPAR+9 ,1:6) = (/ 1, 44, 109, 0, 0, 0 /) 00561 FA%NCODPA(INBPAR+10,1:6) = (/ 1, 51, 109, 0, 0, 0 /) 00562 FA%NCODPA(INBPAR+11,1:6) = (/ 149, 91, 109, 0, 0, 0 /) 00563 FA%NCODPA(INBPAR+12,1:6) = (/ 149, 92, 109, 0, 0, 0 /) 00564 C 00565 C** 00566 C 10. - PHASE TERMINALE 00567 C----------------------------------------------------------------------- 00568 C 00569 IF (LHOOK) CALL DR_HOOK('FAICOR_MT',1,ZHOOK_HANDLE) 00570 RETURN 00571 C 00572 1001 CONTINUE 00573 WRITE (UNIT=FA%NULOUT,FMT=*) 00574 S 'FAICOR: ERROR, ',FA%NBPARC,' fields are initialized' 00575 WRITE (UNIT=FA%NULOUT,FMT=*) 00576 S ' but only ',FA%JPXPAR,' are possible.' 00577 WRITE (UNIT=FA%NULOUT,FMT=*)' Change FA%JPXPAR in famodu.F' 00578 STOP 00579 C 00580 END 00581