SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/LIB/XRD38/FA/mt/faicor_mt.F
Go to the documentation of this file.
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