diff --git a/LIBTOOLS/tools/lfi2cdf/src/fieldtype.f90 b/LIBTOOLS/tools/lfi2cdf/src/fieldtype.f90
index 62a1b73a8b1cf119f9bf5335d12f8221658de10f..afcfa98948b760a82d6adf25c13459d8e5a646cf 100644
--- a/LIBTOOLS/tools/lfi2cdf/src/fieldtype.f90
+++ b/LIBTOOLS/tools/lfi2cdf/src/fieldtype.f90
@@ -8,7 +8,7 @@ MODULE MODE_FIELDTYPE
   
   TYPE field
      CHARACTER(LEN=FM_FIELD_SIZE) :: name ! Le nom de l'article LFI
-     INTEGER                      :: TYPE ! Type :entier(INT) ou reel(FLOAT)
+     INTEGER                      :: TYPE ! Type :entier(TYPEINT) ou reel(TYPEREAL)
      INTEGER                      :: dim  ! Dimension de l'article  
   END TYPE field
   
@@ -17,8 +17,8 @@ MODULE MODE_FIELDTYPE
   ! Les champs contenant %TDATE et %TIME sont traites en dur
   ! dans la routine de recherche de type
   TYPE(field), DIMENSION(2),   PARAMETER  :: datefield = (/&
-               field('%TDA', INT, D0), &
-               field('%TIM', FLOAT, D0) &
+               field('%TDA', TYPEINT, D0), &
+               field('%TIM', TYPEREAL, D0) &
              /)
 
   TYPE(field), DIMENSION(219), SAVE  :: sysfield
@@ -27,225 +27,225 @@ MODULE MODE_FIELDTYPE
 
 CONTAINS 
 SUBROUTINE init_sysfield()
-sysfield(1) =  field('LBXSVMxxx', FLOAT , D0)
-sysfield(2) =  field('LBYSVMxxx', FLOAT , D0)
-sysfield(3) =  field('LBXUM', FLOAT, D0)
-sysfield(4) =  field('LBYUM', FLOAT, D0)
-sysfield(5) =  field('LBXVM', FLOAT, D0)
-sysfield(6) =  field('LBYVM', FLOAT, D0)
-sysfield(7) =  field('LBXWM', FLOAT, D0)
-sysfield(8) =  field('LBYWM', FLOAT, D0)
-sysfield(9) =  field('LBXTHM', FLOAT, D0)
-sysfield(10) =  field('LBYTHM', FLOAT, D0)
-sysfield(11) =  field('LBXRVM', FLOAT, D0)
-sysfield(12) =  field('LBYRVM', FLOAT, D0)
-sysfield(13) =  field('AVG_ZS', FLOAT, D0)
-sysfield(14) =  field('SIL_ZS', FLOAT, D0)
-sysfield(15) =  field('AOSIP', FLOAT, D0)
-sysfield(16) =  field('AOSIM', FLOAT, D0)
-sysfield(17) =  field('AOSJP', FLOAT, D0)
-sysfield(18) =  field('AOSJM', FLOAT, D0)
-sysfield(19) =  field('HO2IP', FLOAT, D0)
-sysfield(20) =  field('HO2IM', FLOAT, D0)
-sysfield(21) =  field('HO2JP', FLOAT, D0)
-sysfield(22) =  field('HO2JM', FLOAT, D0)
-sysfield(23) =  field('RIMX',INT, D0)
-sysfield(24) =  field('RIMY',INT, D0)
-sysfield(25) =  field('HORELAX_UVWTH',BOOL, D0)
-sysfield(26) =  field('HORELAX_R',BOOL, D0)
-sysfield(27) =  field('I2D_XY', INT, D0)
-sysfield(28) =  field('MENU_BUDGET',TEXT, D0)
-sysfield(29) =  field('IE', INT, D0)
-sysfield(30) =  field('ZR', FLOAT, D0)
-sysfield(31) =  field('GOK', BOOL, D0)
-sysfield(32) =  field('YTEXT', TEXT, D0)
-sysfield(33) =  field('X1D', FLOAT, D0)
-sysfield(34) =  field('I1D', INT, D0)
-sysfield(35) =  field('DEB', INT, D0)
-sysfield(36) =  field('3D1', FLOAT, D0)
-sysfield(37) =  field('3D2', FLOAT, D0)
-sysfield(38) =  field('3D3', FLOAT, D0)
-sysfield(39) =  field('3D4', FLOAT, D0)
-sysfield(40) =  field('3D5', FLOAT, D0)
-sysfield(41) =  field('RHODREFZ', FLOAT, D0)
-sysfield(42) =  field('RSVS', FLOAT, D0)
-sysfield(43) =  field('RUS', FLOAT, D0)
-sysfield(44) =  field('MY_NAME', TEXT, D0)
-sysfield(45) =  field('DAD_NAME', TEXT, D0)
-sysfield(46) =  field('STORAGE_TYPE', TEXT, D0)
-sysfield(47) =  field('IMAX', INT, D0)
-sysfield(48) =  field('JMAX', INT, D0)
-sysfield(49) =  field('KMAX', INT, D0)
-sysfield(50) =  field('RPK', FLOAT, D0)
-sysfield(51) =  field('NEB', FLOAT , D0)
-sysfield(52) =  field('LONOR', FLOAT, D0)
-sysfield(53) =  field('LATOR', FLOAT, D0)
-sysfield(54) =  field('THINSHELL', BOOL, D0)
-sysfield(55) =  field('LAT0', FLOAT, D0)
-sysfield(56) =  field('LON0', FLOAT, D0)
-sysfield(57) =  field('BETA', FLOAT, D0)
-sysfield(58) =  field('XHAT', FLOAT, D0)
-sysfield(59) =  field('YHAT', FLOAT, D0)
-sysfield(60) =  field('ZHAT', FLOAT, D0)
-sysfield(61) =  field('ZS', FLOAT, D0)
-sysfield(62) =  field('CARTESIAN', BOOL, D0)
-sysfield(63) =  field('UM', FLOAT, D0)
-sysfield(64) =  field('VM', FLOAT, D0)
-sysfield(65) =  field('WM', FLOAT, D0)
-sysfield(66) =  field('THM', FLOAT, D0)
-sysfield(67) =  field('TKEM', FLOAT, D0)
-sysfield(68) =  field('EPSM', FLOAT, D0)
-sysfield(69) =  field('PABSM',FLOAT, D0)
-sysfield(70) =  field('RVM', FLOAT, D0)
-sysfield(71) =  field('RCM', FLOAT, D0)
-sysfield(72) =  field('RRM', FLOAT, D0)
-sysfield(73) =  field('RIM', FLOAT, D0)
-sysfield(74) =  field('RSM', FLOAT, D0)
-sysfield(75) =  field('RGM', FLOAT, D0)
-sysfield(76) =  field('RHM', FLOAT, D0)
-sysfield(77) =  field('SVMxxx', FLOAT, D0)
-sysfield(78) =  field('LSUM', FLOAT, D0)
-sysfield(79) =  field('LSVM', FLOAT, D0)
-sysfield(80) =  field('LSWM',FLOAT , D0)
-sysfield(81) =  field('LSTHM',FLOAT, D0)
-sysfield(82) =  field('LSRVM',FLOAT, D0)
-sysfield(83) =  field('LSXTKEM',FLOAT, D0)
-sysfield(84) =  field('LSYTKEM',FLOAT, D0)
-sysfield(85) =  field('LSXEPSM',FLOAT, D0)
-sysfield(86) =  field('LSYEPSM',FLOAT, D0)
-sysfield(87) =  field('LSXRCM',FLOAT , D0)
-sysfield(88) =  field('LSYRCM', FLOAT, D0)
-sysfield(89) =  field('LSXRRM', FLOAT, D0)
-sysfield(90) =  field('LSYRRM', FLOAT, D0)
-sysfield(91) =  field('LSXRIM', FLOAT, D0)
-sysfield(92) =  field('LSYRIM', FLOAT, D0)
-sysfield(93) =  field('LSXRSM', FLOAT, D0)
-sysfield(94) =  field('LSYRSM', FLOAT, D0)
-sysfield(95) =  field('LSXRGM', FLOAT, D0)
-sysfield(96) =  field('LSYRGM', FLOAT, D0)
-sysfield(97) =  field('LSXRHM', FLOAT, D0)
-sysfield(98) =  field('LSYRHM', FLOAT, D0)
-sysfield(99) =  field('LSXSVMxxx', FLOAT, D0)
-sysfield(100) =  field('LSYSVMxxx', FLOAT, D0)
-sysfield(101) =  field('UT',FLOAT, D0)
-sysfield(102) =  field('VT',FLOAT, D0)
-sysfield(103) =  field('WT',FLOAT, D0)
-sysfield(104) =  field('THT',FLOAT, D0)
-sysfield(105) =  field('TKET',FLOAT, D0)
-sysfield(106) =  field('EPST',FLOAT, D0)
-sysfield(107) =  field('PABST',FLOAT, D0)
-sysfield(108) =  field('RVT',FLOAT, D0)
-sysfield(109) =  field('RCT',FLOAT, D0)
-sysfield(110) =  field('RRT',FLOAT, D0)
-sysfield(111) =  field('RIT',FLOAT, D0)
-sysfield(112) =  field('CIT',FLOAT, D0)
-sysfield(113) =  field('RST',FLOAT, D0)
-sysfield(114) =  field('RGT',FLOAT, D0)
-sysfield(115) =  field('RHT',FLOAT, D0)
-sysfield(116) =  field('SVTxxx',FLOAT, D0)
-sysfield(117) =  field('DRYMASST',FLOAT, D0)
-sysfield(118) =  field('SRCM',FLOAT, D0)
-sysfield(119) =  field('SRCT',FLOAT, D0)
-sysfield(120) =  field('SIGS',FLOAT, D0)
-sysfield(121) =  field('RHOREFZ',FLOAT, D0)
-sysfield(122) =  field('THVREFZ',FLOAT, D0)
-sysfield(123) =  field('EXNTOP',FLOAT, D0)
-sysfield(124) =  field('RESA', FLOAT , D0)
-sysfield(125) =  field('Z0SEA', FLOAT , D0)
-sysfield(126) =  field('TS', FLOAT , D0)
-sysfield(127) =  field('WG', FLOAT , D0)
-sysfield(128) =  field('SST', FLOAT , D0)
-sysfield(129) =  field('T2', FLOAT , D0)
-sysfield(130) =  field('W2', FLOAT , D0)
-sysfield(131) =  field('WR', FLOAT , D0)
-sysfield(132) =  field('WS', FLOAT , D0)
-sysfield(133) =  field('ALBS', FLOAT , D0)
-sysfield(134) =  field('RHOS', FLOAT , D0)
-sysfield(135) =  field('LAND', FLOAT , D0)
-sysfield(136) =  field('SEA', FLOAT , D0)
-sysfield(137) =  field('Z0VEG', FLOAT , D0)
-sysfield(138) =  field('Z0HVEG', FLOAT , D0)
-sysfield(139) =  field('Z0REL', FLOAT , D0)
-sysfield(140) =  field('Z0EFFIP', FLOAT , D0)
-sysfield(141) =  field('Z0EFFIM', FLOAT , D0)
-sysfield(142) =  field('Z0EFFJP', FLOAT , D0)
-sysfield(143) =  field('Z0EFFJM', FLOAT , D0)
-sysfield(144) =  field('SSO_STDEV', FLOAT , D0)
-sysfield(145) =  field('SSO_ANIS', FLOAT , D0)
-sysfield(146) =  field('SSO_DIRECTION', FLOAT , D0)
-sysfield(147) =  field('SSO_SLOPE', FLOAT , D0)
-sysfield(148) =  field('ALBVIS', FLOAT , D0)
-sysfield(149) =  field('ALBNIR', FLOAT , D0)
-sysfield(150) =  field('EMIS', FLOAT , D0)
-sysfield(151) =  field('CLAY', FLOAT , D0)
-sysfield(152) =  field('SAND', FLOAT , D0)
-sysfield(153) =  field('D2', FLOAT , D0)
-sysfield(154) =  field('VEG', FLOAT , D0)
-sysfield(155) =  field('LAI', FLOAT , D0)
-sysfield(156) =  field('RSMIN', FLOAT , D0)
-sysfield(157) =  field('GAMMA', FLOAT , D0)
-sysfield(158) =  field('RGL', FLOAT , D0)
-sysfield(159) =  field('CV', FLOAT , D0)
-sysfield(160) =  field('SFTHT', FLOAT , D0)
-sysfield(161) =  field('SFTHP', FLOAT , D0)
-sysfield(162) =  field('SFRT', FLOAT , D0)
-sysfield(163) =  field('SFRP', FLOAT , D0)
-sysfield(164) =  field('SFSVT', FLOAT , D0)
-sysfield(165) =  field('SFSVP', FLOAT , D0)
-sysfield(166) =  field('DTHRAD', FLOAT , D0)
-sysfield(167) =  field('SRFLWD', FLOAT , D0)
-sysfield(168) =  field('SRFSWD', FLOAT , D0)
-sysfield(169) =  field('CLDFR', FLOAT , D0)
-sysfield(170) =  field('COUNTCONV', INT , D0)
-sysfield(171) =  field('DTHCONV', FLOAT , D0)
-sysfield(172) =  field('DRVCONV', FLOAT , D0)
-sysfield(173) =  field('DRCCONV', FLOAT , D0)
-sysfield(174) =  field('DRICONV', FLOAT , D0)
-sysfield(175) =  field('PRCONV', FLOAT , D0)
-sysfield(176) =  field('PACCONV', FLOAT , D0)
-sysfield(177) =  field('WSUBCONV', FLOAT , D0)
-sysfield(178) =  field('INPRR', FLOAT , D0)
-sysfield(179) =  field('ACPRR', FLOAT , D0)
-sysfield(180) =  field('INPRS', FLOAT , D0)
-sysfield(181) =  field('ACPRS', FLOAT , D0)
-sysfield(182) =  field('INPRG', FLOAT , D0)
-sysfield(183) =  field('ACPRG', FLOAT , D0)
-sysfield(184) =  field('INPRT', FLOAT , D0)
-sysfield(185) =  field('ACPRT', FLOAT , D0)
-sysfield(186) =  field('FRC', INT, D0)
-sysfield(187) =  field('UFRCxx', FLOAT , D0)
-sysfield(188) =  field('VFRCxx', FLOAT , D0)
-sysfield(189) =  field('WFRCxx', FLOAT , D0)
-sysfield(190) =  field('THFRCxx', FLOAT , D0)
-sysfield(191) =  field('RVFRCxx', FLOAT , D0)
-sysfield(192) =  field('GXRVFRCxx', FLOAT , D0)
-sysfield(193) =  field('GYRVFRCxx', FLOAT , D0)
-sysfield(194) =  field('GXTHFRCxx', FLOAT , D0)
-sysfield(195) =  field('GYTHFRCxx', FLOAT , D0)
-sysfield(196) =  field('DUMMY_GRxxx', FLOAT , D0)
-sysfield(197) =  field('MASDEV', INT , D0)
-sysfield(198) =  field('EMISFILE_GR_NBR', INT , D0)
-sysfield(199) =  field('EMISPEC_GR_NBR', INT , D0)
-sysfield(200) =  field('EMISNAMExxx', TEXT , D0)
-sysfield(201) =  field('EMISTIMESxxx', INT , D0)
-sysfield(202) =  field('DUMMY_GR_NBR', INT , D0)
-sysfield(203) =  field('COVERxxx', FLOAT , D0)
-sysfield(204) =  field('TGx', FLOAT, D0)
-sysfield(205) =  field('T_ROOFx', FLOAT, D0)
-sysfield(206) =  field('T_ROADx', FLOAT, D0)
-sysfield(207) =  field('T_WALLx', FLOAT, D0)
-sysfield(208) =  field('WGx', FLOAT, D0)
-sysfield(209) =  field('WGIx', FLOAT, D0)
-sysfield(210) =  field('MAX_ZS', FLOAT, D0)
-sysfield(211) =  field('MIN_ZS', FLOAT, D0)
-sysfield(212) =  field('XOR', INT, D0)
-sysfield(213) =  field('YOR', INT, D0)
-sysfield(214) =  field('DXRATIO', INT, D0)
-sysfield(215) =  field('DYRATIO', INT, D0)
-sysfield(216) =  field('PATCH_NUMBER', INT, D0)
-sysfield(217) =  field('BUGFIX', INT, D0)
-sysfield(218) =  field('BIBUSER', TEXT, D0)
-sysfield(219) =  field('LFI_COMPRESSED', INT, D0)
+sysfield(1) =  field('LBXSVMxxx', TYPEREAL , D0)
+sysfield(2) =  field('LBYSVMxxx', TYPEREAL , D0)
+sysfield(3) =  field('LBXUM', TYPEREAL, D0)
+sysfield(4) =  field('LBYUM', TYPEREAL, D0)
+sysfield(5) =  field('LBXVM', TYPEREAL, D0)
+sysfield(6) =  field('LBYVM', TYPEREAL, D0)
+sysfield(7) =  field('LBXWM', TYPEREAL, D0)
+sysfield(8) =  field('LBYWM', TYPEREAL, D0)
+sysfield(9) =  field('LBXTHM', TYPEREAL, D0)
+sysfield(10) =  field('LBYTHM', TYPEREAL, D0)
+sysfield(11) =  field('LBXRVM', TYPEREAL, D0)
+sysfield(12) =  field('LBYRVM', TYPEREAL, D0)
+sysfield(13) =  field('AVG_ZS', TYPEREAL, D0)
+sysfield(14) =  field('SIL_ZS', TYPEREAL, D0)
+sysfield(15) =  field('AOSIP', TYPEREAL, D0)
+sysfield(16) =  field('AOSIM', TYPEREAL, D0)
+sysfield(17) =  field('AOSJP', TYPEREAL, D0)
+sysfield(18) =  field('AOSJM', TYPEREAL, D0)
+sysfield(19) =  field('HO2IP', TYPEREAL, D0)
+sysfield(20) =  field('HO2IM', TYPEREAL, D0)
+sysfield(21) =  field('HO2JP', TYPEREAL, D0)
+sysfield(22) =  field('HO2JM', TYPEREAL, D0)
+sysfield(23) =  field('RIMX',TYPEINT, D0)
+sysfield(24) =  field('RIMY',TYPEINT, D0)
+sysfield(25) =  field('HORELAX_UVWTH',TYPELOG, D0)
+sysfield(26) =  field('HORELAX_R',TYPELOG, D0)
+sysfield(27) =  field('I2D_XY', TYPEINT, D0)
+sysfield(28) =  field('MENU_BUDGET',TYPECHAR, D0)
+sysfield(29) =  field('IE', TYPEINT, D0)
+sysfield(30) =  field('ZR', TYPEREAL, D0)
+sysfield(31) =  field('GOK', TYPELOG, D0)
+sysfield(32) =  field('YTEXT', TYPECHAR, D0)
+sysfield(33) =  field('X1D', TYPEREAL, D0)
+sysfield(34) =  field('I1D', TYPEINT, D0)
+sysfield(35) =  field('DEB', TYPEINT, D0)
+sysfield(36) =  field('3D1', TYPEREAL, D0)
+sysfield(37) =  field('3D2', TYPEREAL, D0)
+sysfield(38) =  field('3D3', TYPEREAL, D0)
+sysfield(39) =  field('3D4', TYPEREAL, D0)
+sysfield(40) =  field('3D5', TYPEREAL, D0)
+sysfield(41) =  field('RHODREFZ', TYPEREAL, D0)
+sysfield(42) =  field('RSVS', TYPEREAL, D0)
+sysfield(43) =  field('RUS', TYPEREAL, D0)
+sysfield(44) =  field('MY_NAME', TYPECHAR, D0)
+sysfield(45) =  field('DAD_NAME', TYPECHAR, D0)
+sysfield(46) =  field('STORAGE_TYPE', TYPECHAR, D0)
+sysfield(47) =  field('IMAX', TYPEINT, D0)
+sysfield(48) =  field('JMAX', TYPEINT, D0)
+sysfield(49) =  field('KMAX', TYPEINT, D0)
+sysfield(50) =  field('RPK', TYPEREAL, D0)
+sysfield(51) =  field('NEB', TYPEREAL , D0)
+sysfield(52) =  field('LONOR', TYPEREAL, D0)
+sysfield(53) =  field('LATOR', TYPEREAL, D0)
+sysfield(54) =  field('THINSHELL', TYPELOG, D0)
+sysfield(55) =  field('LAT0', TYPEREAL, D0)
+sysfield(56) =  field('LON0', TYPEREAL, D0)
+sysfield(57) =  field('BETA', TYPEREAL, D0)
+sysfield(58) =  field('XHAT', TYPEREAL, D0)
+sysfield(59) =  field('YHAT', TYPEREAL, D0)
+sysfield(60) =  field('ZHAT', TYPEREAL, D0)
+sysfield(61) =  field('ZS', TYPEREAL, D0)
+sysfield(62) =  field('CARTESIAN', TYPELOG, D0)
+sysfield(63) =  field('UM', TYPEREAL, D0)
+sysfield(64) =  field('VM', TYPEREAL, D0)
+sysfield(65) =  field('WM', TYPEREAL, D0)
+sysfield(66) =  field('THM', TYPEREAL, D0)
+sysfield(67) =  field('TKEM', TYPEREAL, D0)
+sysfield(68) =  field('EPSM', TYPEREAL, D0)
+sysfield(69) =  field('PABSM',TYPEREAL, D0)
+sysfield(70) =  field('RVM', TYPEREAL, D0)
+sysfield(71) =  field('RCM', TYPEREAL, D0)
+sysfield(72) =  field('RRM', TYPEREAL, D0)
+sysfield(73) =  field('RIM', TYPEREAL, D0)
+sysfield(74) =  field('RSM', TYPEREAL, D0)
+sysfield(75) =  field('RGM', TYPEREAL, D0)
+sysfield(76) =  field('RHM', TYPEREAL, D0)
+sysfield(77) =  field('SVMxxx', TYPEREAL, D0)
+sysfield(78) =  field('LSUM', TYPEREAL, D0)
+sysfield(79) =  field('LSVM', TYPEREAL, D0)
+sysfield(80) =  field('LSWM',TYPEREAL , D0)
+sysfield(81) =  field('LSTHM',TYPEREAL, D0)
+sysfield(82) =  field('LSRVM',TYPEREAL, D0)
+sysfield(83) =  field('LSXTKEM',TYPEREAL, D0)
+sysfield(84) =  field('LSYTKEM',TYPEREAL, D0)
+sysfield(85) =  field('LSXEPSM',TYPEREAL, D0)
+sysfield(86) =  field('LSYEPSM',TYPEREAL, D0)
+sysfield(87) =  field('LSXRCM',TYPEREAL , D0)
+sysfield(88) =  field('LSYRCM', TYPEREAL, D0)
+sysfield(89) =  field('LSXRRM', TYPEREAL, D0)
+sysfield(90) =  field('LSYRRM', TYPEREAL, D0)
+sysfield(91) =  field('LSXRIM', TYPEREAL, D0)
+sysfield(92) =  field('LSYRIM', TYPEREAL, D0)
+sysfield(93) =  field('LSXRSM', TYPEREAL, D0)
+sysfield(94) =  field('LSYRSM', TYPEREAL, D0)
+sysfield(95) =  field('LSXRGM', TYPEREAL, D0)
+sysfield(96) =  field('LSYRGM', TYPEREAL, D0)
+sysfield(97) =  field('LSXRHM', TYPEREAL, D0)
+sysfield(98) =  field('LSYRHM', TYPEREAL, D0)
+sysfield(99) =  field('LSXSVMxxx', TYPEREAL, D0)
+sysfield(100) =  field('LSYSVMxxx', TYPEREAL, D0)
+sysfield(101) =  field('UT',TYPEREAL, D0)
+sysfield(102) =  field('VT',TYPEREAL, D0)
+sysfield(103) =  field('WT',TYPEREAL, D0)
+sysfield(104) =  field('THT',TYPEREAL, D0)
+sysfield(105) =  field('TKET',TYPEREAL, D0)
+sysfield(106) =  field('EPST',TYPEREAL, D0)
+sysfield(107) =  field('PABST',TYPEREAL, D0)
+sysfield(108) =  field('RVT',TYPEREAL, D0)
+sysfield(109) =  field('RCT',TYPEREAL, D0)
+sysfield(110) =  field('RRT',TYPEREAL, D0)
+sysfield(111) =  field('RIT',TYPEREAL, D0)
+sysfield(112) =  field('CIT',TYPEREAL, D0)
+sysfield(113) =  field('RST',TYPEREAL, D0)
+sysfield(114) =  field('RGT',TYPEREAL, D0)
+sysfield(115) =  field('RHT',TYPEREAL, D0)
+sysfield(116) =  field('SVTxxx',TYPEREAL, D0)
+sysfield(117) =  field('DRYMASST',TYPEREAL, D0)
+sysfield(118) =  field('SRCM',TYPEREAL, D0)
+sysfield(119) =  field('SRCT',TYPEREAL, D0)
+sysfield(120) =  field('SIGS',TYPEREAL, D0)
+sysfield(121) =  field('RHOREFZ',TYPEREAL, D0)
+sysfield(122) =  field('THVREFZ',TYPEREAL, D0)
+sysfield(123) =  field('EXNTOP',TYPEREAL, D0)
+sysfield(124) =  field('RESA', TYPEREAL , D0)
+sysfield(125) =  field('Z0SEA', TYPEREAL , D0)
+sysfield(126) =  field('TS', TYPEREAL , D0)
+sysfield(127) =  field('WG', TYPEREAL , D0)
+sysfield(128) =  field('SST', TYPEREAL , D0)
+sysfield(129) =  field('T2', TYPEREAL , D0)
+sysfield(130) =  field('W2', TYPEREAL , D0)
+sysfield(131) =  field('WR', TYPEREAL , D0)
+sysfield(132) =  field('WS', TYPEREAL , D0)
+sysfield(133) =  field('ALBS', TYPEREAL , D0)
+sysfield(134) =  field('RHOS', TYPEREAL , D0)
+sysfield(135) =  field('LAND', TYPEREAL , D0)
+sysfield(136) =  field('SEA', TYPEREAL , D0)
+sysfield(137) =  field('Z0VEG', TYPEREAL , D0)
+sysfield(138) =  field('Z0HVEG', TYPEREAL , D0)
+sysfield(139) =  field('Z0REL', TYPEREAL , D0)
+sysfield(140) =  field('Z0EFFIP', TYPEREAL , D0)
+sysfield(141) =  field('Z0EFFIM', TYPEREAL , D0)
+sysfield(142) =  field('Z0EFFJP', TYPEREAL , D0)
+sysfield(143) =  field('Z0EFFJM', TYPEREAL , D0)
+sysfield(144) =  field('SSO_STDEV', TYPEREAL , D0)
+sysfield(145) =  field('SSO_ANIS', TYPEREAL , D0)
+sysfield(146) =  field('SSO_DIRECTION', TYPEREAL , D0)
+sysfield(147) =  field('SSO_SLOPE', TYPEREAL , D0)
+sysfield(148) =  field('ALBVIS', TYPEREAL , D0)
+sysfield(149) =  field('ALBNIR', TYPEREAL , D0)
+sysfield(150) =  field('EMIS', TYPEREAL , D0)
+sysfield(151) =  field('CLAY', TYPEREAL , D0)
+sysfield(152) =  field('SAND', TYPEREAL , D0)
+sysfield(153) =  field('D2', TYPEREAL , D0)
+sysfield(154) =  field('VEG', TYPEREAL , D0)
+sysfield(155) =  field('LAI', TYPEREAL , D0)
+sysfield(156) =  field('RSMIN', TYPEREAL , D0)
+sysfield(157) =  field('GAMMA', TYPEREAL , D0)
+sysfield(158) =  field('RGL', TYPEREAL , D0)
+sysfield(159) =  field('CV', TYPEREAL , D0)
+sysfield(160) =  field('SFTHT', TYPEREAL , D0)
+sysfield(161) =  field('SFTHP', TYPEREAL , D0)
+sysfield(162) =  field('SFRT', TYPEREAL , D0)
+sysfield(163) =  field('SFRP', TYPEREAL , D0)
+sysfield(164) =  field('SFSVT', TYPEREAL , D0)
+sysfield(165) =  field('SFSVP', TYPEREAL , D0)
+sysfield(166) =  field('DTHRAD', TYPEREAL , D0)
+sysfield(167) =  field('SRFLWD', TYPEREAL , D0)
+sysfield(168) =  field('SRFSWD', TYPEREAL , D0)
+sysfield(169) =  field('CLDFR', TYPEREAL , D0)
+sysfield(170) =  field('COUNTCONV', TYPEINT , D0)
+sysfield(171) =  field('DTHCONV', TYPEREAL , D0)
+sysfield(172) =  field('DRVCONV', TYPEREAL , D0)
+sysfield(173) =  field('DRCCONV', TYPEREAL , D0)
+sysfield(174) =  field('DRICONV', TYPEREAL , D0)
+sysfield(175) =  field('PRCONV', TYPEREAL , D0)
+sysfield(176) =  field('PACCONV', TYPEREAL , D0)
+sysfield(177) =  field('WSUBCONV', TYPEREAL , D0)
+sysfield(178) =  field('INPRR', TYPEREAL , D0)
+sysfield(179) =  field('ACPRR', TYPEREAL , D0)
+sysfield(180) =  field('INPRS', TYPEREAL , D0)
+sysfield(181) =  field('ACPRS', TYPEREAL , D0)
+sysfield(182) =  field('INPRG', TYPEREAL , D0)
+sysfield(183) =  field('ACPRG', TYPEREAL , D0)
+sysfield(184) =  field('INPRT', TYPEREAL , D0)
+sysfield(185) =  field('ACPRT', TYPEREAL , D0)
+sysfield(186) =  field('FRC', TYPEINT, D0)
+sysfield(187) =  field('UFRCxx', TYPEREAL , D0)
+sysfield(188) =  field('VFRCxx', TYPEREAL , D0)
+sysfield(189) =  field('WFRCxx', TYPEREAL , D0)
+sysfield(190) =  field('THFRCxx', TYPEREAL , D0)
+sysfield(191) =  field('RVFRCxx', TYPEREAL , D0)
+sysfield(192) =  field('GXRVFRCxx', TYPEREAL , D0)
+sysfield(193) =  field('GYRVFRCxx', TYPEREAL , D0)
+sysfield(194) =  field('GXTHFRCxx', TYPEREAL , D0)
+sysfield(195) =  field('GYTHFRCxx', TYPEREAL , D0)
+sysfield(196) =  field('DUMMY_GRxxx', TYPEREAL , D0)
+sysfield(197) =  field('MASDEV', TYPEINT , D0)
+sysfield(198) =  field('EMISFILE_GR_NBR', TYPEINT , D0)
+sysfield(199) =  field('EMISPEC_GR_NBR', TYPEINT , D0)
+sysfield(200) =  field('EMISNAMExxx', TYPECHAR , D0)
+sysfield(201) =  field('EMISTIMESxxx', TYPEINT , D0)
+sysfield(202) =  field('DUMMY_GR_NBR', TYPEINT , D0)
+sysfield(203) =  field('COVERxxx', TYPEREAL , D0)
+sysfield(204) =  field('TGx', TYPEREAL, D0)
+sysfield(205) =  field('T_ROOFx', TYPEREAL, D0)
+sysfield(206) =  field('T_ROADx', TYPEREAL, D0)
+sysfield(207) =  field('T_WALLx', TYPEREAL, D0)
+sysfield(208) =  field('WGx', TYPEREAL, D0)
+sysfield(209) =  field('WGIx', TYPEREAL, D0)
+sysfield(210) =  field('MAX_ZS', TYPEREAL, D0)
+sysfield(211) =  field('MIN_ZS', TYPEREAL, D0)
+sysfield(212) =  field('XOR', TYPEINT, D0)
+sysfield(213) =  field('YOR', TYPEINT, D0)
+sysfield(214) =  field('DXRATIO', TYPEINT, D0)
+sysfield(215) =  field('DYRATIO', TYPEINT, D0)
+sysfield(216) =  field('PATCH_NUMBER', TYPEINT, D0)
+sysfield(217) =  field('BUGFIX', TYPEINT, D0)
+sysfield(218) =  field('BIBUSER', TYPECHAR, D0)
+sysfield(219) =  field('LFI_COMPRESSED', TYPEINT, D0)
 END SUBROUTINE init_sysfield
 
   FUNCTION get_ftype(hfname,level)
@@ -260,13 +260,13 @@ END SUBROUTINE init_sysfield
     &   INDEX(hfname,".TI",.TRUE.)  /=0 .OR.& 
     &   INDEX(hfname,".UN",.TRUE.)  /=0 .OR.&
     &   INDEX(hfname,".CO",.TRUE.)/=0) THEN
-      get_ftype = TEXT
+      get_ftype = TYPECHAR
     ELSE IF (INDEX(hfname,".DI",.TRUE.) /= 0) THEN 
-      get_ftype = INT
+      get_ftype = TYPEINT
     ELSE IF (INDEX(hfname,".PR",.TRUE.)/= 0 .OR.&
          &   INDEX(hfname,".TR",.TRUE.)/= 0 .OR.&
          &   INDEX(hfname,".DA",.TRUE.)/= 0) THEN
-      get_ftype = FLOAT
+      get_ftype = TYPEREAL
     ELSE IF (searchfield(hfname,tzf,level)) THEN
     ! search in databases  
       get_ftype = tzf%TYPE
diff --git a/LIBTOOLS/tools/lfi2cdf/src/modd_ncparam.f90 b/LIBTOOLS/tools/lfi2cdf/src/modd_ncparam.f90
index b357682f2eaa651cd5d7ce6f0d2883d4cc97afbe..11c85ed7a8353349ba38b3970dba0ea749d74eac 100644
--- a/LIBTOOLS/tools/lfi2cdf/src/modd_ncparam.f90
+++ b/LIBTOOLS/tools/lfi2cdf/src/modd_ncparam.f90
@@ -1,11 +1,9 @@
 MODULE MODD_PARAM
+  USE MODE_FIELD, ONLY: TYPEUNDEF, TYPEINT, TYPELOG, TYPEREAL, TYPECHAR, TYPEDATE
+
   IMPLICIT NONE 
 
   CHARACTER(LEN=*), PARAMETER :: VERSION_ID='lfi2cdf Ver. Alpha'
-  INTEGER, PARAMETER :: INT   = 1
-  INTEGER, PARAMETER :: FLOAT = 2
-  INTEGER, PARAMETER :: TEXT  = 3
-  INTEGER, PARAMETER :: BOOL  = 4
 
   INTEGER, PARAMETER :: D0 = 100
   INTEGER, PARAMETER :: D1 = 200
diff --git a/LIBTOOLS/tools/lfi2cdf/src/mode_options.f90 b/LIBTOOLS/tools/lfi2cdf/src/mode_options.f90
index c346d34c6936f6ab665ae6fc2b4096e9aa3d2ea5..005a87f3dc80e2333c2b923558032b5338c0ebf0 100644
--- a/LIBTOOLS/tools/lfi2cdf/src/mode_options.f90
+++ b/LIBTOOLS/tools/lfi2cdf/src/mode_options.f90
@@ -1,5 +1,5 @@
 module mode_options
-  USE MODE_FIELD, ONLY: TYPEUNDEF, TYPEINT, TYPELOG, TYPEREAL, TYPECHAR, TYPEDATE
+  USE MODD_PARAM
 
   implicit none
 
diff --git a/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90 b/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90
index 0791210ccce72fd8c52f90f676683f71bb643ad4..8dce337b3a84e42ab0af89ffb69912588654da1c 100644
--- a/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90
+++ b/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90
@@ -358,11 +358,11 @@ END DO
 
          SELECT CASE(itype)
          CASE(NF90_CHAR)
-           tpreclist(ji)%TYPE = TEXT
+           tpreclist(ji)%TYPE = TYPECHAR
          CASE(NF90_INT)
-           tpreclist(ji)%TYPE = INT
+           tpreclist(ji)%TYPE = TYPEINT
          CASE(NF90_FLOAT,NF90_DOUBLE)
-           tpreclist(ji)%TYPE = FLOAT
+           tpreclist(ji)%TYPE = TYPEREAL
          CASE default
            PRINT *, 'Attention : variable ',TRIM(tpreclist(ji)%name), ' a un TYPE non reconnu par le convertisseur.'
            PRINT *, '--> TYPE force a REAL(KIND 8) dans LFI !'
@@ -555,20 +555,26 @@ END DO
        kcdf_id = outfiles%files(idx)%lun_id
 
        SELECT CASE(tpreclist(ji)%TYPE)
-       CASE (TEXT)
-!          PRINT *,'TEXT : ',tpreclist(ji)%name
+       CASE (TYPECHAR)
+!          PRINT *,'TYPECHAR : ',tpreclist(ji)%name
           status = NF90_DEF_VAR(kcdf_id,ycdfvar,NF90_CHAR,&
                    ivdims(:invdims),tpreclist(ji)%id_out)
           IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__)
 
-       CASE (INT,BOOL)
-!          PRINT *,'INT,BOOL : ',tpreclist(ji)%name
+       CASE (TYPEINT)
+!          PRINT *,'TYPEINT : ',tpreclist(ji)%name
           status = NF90_DEF_VAR(kcdf_id,ycdfvar,NF90_INT,&
                    ivdims(:invdims),tpreclist(ji)%id_out)
           IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__)
 
-       CASE(FLOAT)
-!          PRINT *,'FLOAT : ',tpreclist(ji)%name
+       CASE (TYPELOG)
+!          PRINT *,'TYPELOG : ',tpreclist(ji)%name
+          status = NF90_DEF_VAR(kcdf_id,ycdfvar,NF90_INT1,&
+                   ivdims(:invdims),tpreclist(ji)%id_out)
+          IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__)
+
+       CASE(TYPEREAL)
+!          PRINT *,'TYPEREAL : ',tpreclist(ji)%name
           status = NF90_DEF_VAR(kcdf_id,ycdfvar,type_float,&
                    ivdims(:invdims),tpreclist(ji)%id_out)
           IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__)
@@ -686,7 +692,7 @@ END DO
 !write(*,"( 'Field :',A )") trim(tpreclist(ji)%name)
 
        SELECT CASE(tpreclist(ji)%TYPE)
-       CASE (INT,BOOL)
+       CASE (TYPEINT)
         IF (infiles%files(1)%format == LFI_FORMAT) THEN
          IF (.NOT.tpreclist(ji)%calc) THEN
            CALL LFINFO(iresp,ilu,trim(tpreclist(ji)%name)//trim(suffix),ileng,ipos)
@@ -755,7 +761,64 @@ END DO
         END IF
 
          
-       CASE (FLOAT)
+       CASE (TYPELOG)
+        IF (infiles%files(1)%format == LFI_FORMAT) THEN
+         IF (.NOT.tpreclist(ji)%calc) THEN
+           CALL LFINFO(iresp,ilu,trim(tpreclist(ji)%name)//trim(suffix),ileng,ipos)
+           CALL LFILEC(iresp,ilu,trim(tpreclist(ji)%name)//trim(suffix),iwork,ileng)
+           itab(1:extent) = iwork(3+iwork(2):3+iwork(2)+extent-1)
+         ELSE
+           src=tpreclist(ji)%src(1)
+           CALL LFINFO(iresp,ilu,trim(tpreclist(src)%name)//trim(suffix),ileng,ipos)
+           CALL LFILEC(iresp,ilu,trim(tpreclist(src)%name)//trim(suffix),iwork,ileng)
+           itab(1:extent) = iwork(3+iwork(2):3+iwork(2)+extent-1)
+           jj = 2
+           DO WHILE (tpreclist(ji)%src(jj)>0 .AND. jj.LE.MAXRAW)
+             src=tpreclist(ji)%src(jj)
+             CALL LFILEC(iresp,ilu,trim(tpreclist(src)%name)//trim(suffix),iwork,ileng)
+             itab(1:extent) = itab(1:extent) + iwork(3+iwork(2):3+iwork(2)+extent-1)
+             jj=jj+1
+           END DO
+         ENDIF
+         SELECT CASE(ndims)
+         CASE (0)
+             status = NF90_PUT_VAR(kcdf_id,tpreclist(ji)%id_out,itab(1:extent),count=(/extent/))
+         CASE (1)
+           status = NF90_PUT_VAR(kcdf_id,tpreclist(ji)%id_out,itab(1:extent),count=(/extent/))
+         CASE DEFAULT
+           print *,'Error: arrays with ',tpreclist(ji)%dim%ndims,' dimensions are not supported'
+         END SELECT
+
+        ELSE IF (infiles%files(1)%format == NETCDF_FORMAT) THEN
+         ALLOCATE( itab3d(idims(1),idims(2),idims(3)) )
+         IF (.NOT.tpreclist(ji)%calc) THEN
+           status = NF90_GET_VAR(infiles%files(1)%lun_id,tpreclist(ji)%id_in,itab3d)
+           IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__)
+         ELSE
+           ALLOCATE( itab3d2(idims(1),idims(2),idims(3)) )
+           src=tpreclist(ji)%src(1)
+           status = NF90_GET_VAR(infiles%files(1)%lun_id,tpreclist(src)%id_in,itab3d)
+           IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__)
+           jj = 2
+           DO WHILE (tpreclist(ji)%src(jj)>0 .AND. jj.LE.MAXRAW)
+             src=tpreclist(ji)%src(jj)
+             status = NF90_GET_VAR(infiles%files(1)%lun_id,tpreclist(src)%id_in,itab3d2)
+             IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__)
+             itab3d(:,:,:) = itab3d(:,:,:) + itab3d2(:,:,:)
+             jj=jj+1
+           END DO
+           DEALLOCATE(itab3d2)
+         END IF
+
+         start = (/1,1,1/)
+         status = NF90_PUT_VAR(kcdf_id,tpreclist(ji)%id_out,itab3d,start=start)
+         IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__)
+
+         DEALLOCATE(itab3d)
+        END IF
+
+
+       CASE (TYPEREAL)
         IF (infiles%files(1)%format == LFI_FORMAT) THEN
          IF (.NOT.tpreclist(ji)%calc) THEN
            CALL LFINFO(iresp,ilu,trim(tpreclist(ji)%name)//trim(suffix),ileng,ipos)
@@ -822,7 +885,7 @@ END DO
          DEALLOCATE(xtab3d)
         END IF
 
-       CASE (TEXT)
+       CASE (TYPECHAR)
         IF (infiles%files(1)%format == LFI_FORMAT) THEN
          CALL LFINFO(iresp,ilu,trim(tpreclist(ji)%name)//trim(suffix),ileng,ipos)
          CALL LFILEC(iresp,ilu,trim(tpreclist(ji)%name)//trim(suffix),iwork,ileng)
@@ -957,32 +1020,32 @@ END DO
 
 
        SELECT CASE(tpreclist(ivar)%TYPE)
-       CASE(INT,BOOL)
+       CASE(TYPEINT,TYPELOG)
           ALLOCATE( itab3d(idims(1),idims(2),idims(3)) )
           status = NF90_GET_VAR(kcdf_id,tpreclist(ivar)%id_in,itab3d)
           IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__)
 
-!          PRINT *,'INT,BOOL --> ',tpreclist(ivar)%name,',len = ',idlen
+!          PRINT *,'TYPEINT,TYPELOG --> ',tpreclist(ivar)%name,',len = ',idlen
           idata(1:idlen) = RESHAPE( itab3d , (/ idims(1)*idims(2)*idims(3) /) )
 
           DEALLOCATE(itab3d)
 
-       CASE(FLOAT)
+       CASE(TYPEREAL)
           ALLOCATE( xtab3d(idims(1),idims(2),idims(3)) )
           status = NF90_GET_VAR(kcdf_id,tpreclist(ivar)%id_in,xtab3d)
           IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__)
 
-!          PRINT *,'FLOAT -->    ',tpreclist(ivar)%name,',len = ',idlen
+!          PRINT *,'TYPEREAL -->    ',tpreclist(ivar)%name,',len = ',idlen
           idata(1:idlen) = RESHAPE( TRANSFER(xtab3d,(/ 0_8 /),idlen) , (/ idims(1)*idims(2)*idims(3) /) )
 
           DEALLOCATE(xtab3d)
 
-       CASE(TEXT)
+       CASE(TYPECHAR)
           ALLOCATE(ytab(idlen))
           status = NF90_GET_VAR(kcdf_id,tpreclist(ivar)%id_in,ytab)
           IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__)
 
-!          PRINT *,'TEXT -->     ',tpreclist(ivar)%name,',len = ',idlen
+!          PRINT *,'TYPECHAR -->     ',tpreclist(ivar)%name,',len = ',idlen
           DO jj=1,idlen
              idata(jj) = ICHAR(ytab(jj))
           END DO