diff --git a/src/MNH/aircraft_balloon_evol.f90 b/src/MNH/aircraft_balloon_evol.f90
index dcbdd6349d012cb4ceea2734c75146d1c55a5c4b..03cd50c1cce361a500a3efce9b4fb9ce39b4cc17 100644
--- a/src/MNH/aircraft_balloon_evol.f90
+++ b/src/MNH/aircraft_balloon_evol.f90
@@ -26,6 +26,7 @@
 !                                    -do not use PMAP if cartesian domain
 !  P. Wautelet    06/2022: reorganize flyers
 !  P. Wautelet 01/06/2023: deduplicate code => moved to modd/mode_sensors.f90
+!  B. Vie      21/09/2023: add T and scalar variables
 !-----------------------------------------------------------------
 !      ##########################
 MODULE MODE_AIRCRAFT_BALLOON_EVOL
@@ -107,7 +108,7 @@ CONTAINS
 !          ------------
 !
 USE MODD_AIRCRAFT_BALLOON
-USE MODD_CST,              ONLY: XCPD, XLVTT
+USE MODD_CST,              ONLY: XP00, XRD, XCPD, XLVTT
 USE MODD_IO,               ONLY: ISP
 USE MODD_TIME_n,           ONLY: TDTCUR
 USE MODD_TURB_FLUX_AIRCRAFT_BALLOON, ONLY: XRCW_FLUX, XSVW_FLUX, XTHW_FLUX
@@ -158,6 +159,7 @@ REAL, DIMENSION(2,2,SIZE(PZ,3))     :: ZZU    ! U points z coordinates
 REAL, DIMENSION(2,2,SIZE(PZ,3))     :: ZZV    ! V points z coordinates
 REAL, DIMENSION(2,2,SIZE(PZ,3))     :: ZWM    ! mass point wind
 !
+REAL, DIMENSION(SIZE(PTH,1),SIZE(PTH,2),SIZE(PTH,3)) :: ZEXN3D   ! Exner function
 REAL, DIMENSION(2,2,SIZE(PTH,3))    :: ZEXN   ! Exner function
 REAL, DIMENSION(2,2,SIZE(PTH,3))    :: ZTH_EXN ! potential temperature multiplied by Exner function
 REAL, DIMENSION(2,2,SIZE(PTH,3))    :: ZRHO   ! air density
@@ -229,6 +231,7 @@ SELECT TYPE ( TPFLYER )
         ISOWNERAIR: IF ( TPFLYER%NRANK_CUR == ISP ) THEN
           CALL FLYER_INTERP_TO_MASSPOINTS()
 
+          ZEXN3D(:,:,:) = (PP(:,:,:)/XP00)**(XRD/XCPD)
           ZEXN(:,:,:) = FLYER_COMPUTE_EXNER( )
           ZRHO(:,:,:) = FLYER_COMPUTE_RHO( )
 
@@ -332,6 +335,7 @@ SELECT TYPE ( TPFLYER )
       ISOWNERBAL: IF ( TPFLYER%NRANK_CUR == ISP ) THEN
         CALL FLYER_INTERP_TO_MASSPOINTS()
 
+        ZEXN3D(:,:,:) = (PP(:,:,:)/XP00)**(XRD/XCPD)
         ZEXN(:,:,:) = FLYER_COMPUTE_EXNER( )
         ZRHO(:,:,:) = FLYER_COMPUTE_RHO( )
 
@@ -894,7 +898,6 @@ SUBROUTINE FLYER_RECORD_DATA( )
 USE MODD_CST,              ONLY: XP00, XPI, XRD
 USE MODD_DIAG_IN_RUN,      ONLY: XCURRENT_TKE_DISS
 USE MODD_GRID,             ONLY: XBETA, XLON0, XRPK
-USE MODD_NSV,              ONLY: NSV_LIMA_NC, NSV_LIMA_NR, NSV_LIMA_NI
 USE MODD_PARAMETERS,       ONLY: JPVEXT
 USE MODD_PARAM_n,          ONLY: CCLOUD, CRAD
 
@@ -933,6 +936,7 @@ TPFLYER%XTH  (1,ISTORE) = TPFLYER%INTERP_FROM_MASSPOINT( PTH )
 !
 ZFLYER_EXN = TPFLYER%INTERP_FROM_MASSPOINT( ZEXN )
 TPFLYER%XP   (1,ISTORE) = XP00 * ZFLYER_EXN**(XCPD/XRD)
+TPFLYER%XT   (1,ISTORE) = TPFLYER%INTERP_FROM_MASSPOINT( PTH ) * ZFLYER_EXN
 
 ZR(:,:,:) = 0.
 DO JLOOP=1,SIZE(PR,4)
@@ -947,14 +951,17 @@ DO JLOOP=1,SIZE(PR,4)
   TPFLYER%XRZ  (:,ISTORE,JLOOP) = TPFLYER%INTERP_HOR_FROM_MASSPOINT( PR(:,:,:,JLOOP) )
 END DO
 
+TPFLYER%XTZ   (:,ISTORE) = TPFLYER%INTERP_HOR_FROM_MASSPOINT( PTH * ZEXN3D )
+
 TPFLYER%XFFZ  (:,ISTORE) = TPFLYER%INTERP_HOR_FROM_MASSPOINT( SQRT(PU**2+PV**2) )
 
 TPFLYER%XRHOD (:,ISTORE) = TPFLYER%INTERP_HOR_FROM_MASSPOINT( PRHODREF )
 
+DO JLOOP=1,SIZE(PSV,4)
+  TPFLYER%XSVZ  (:,ISTORE,JLOOP) = TPFLYER%INTERP_HOR_FROM_MASSPOINT( PSV(:,:,:,JLOOP) )
+END DO
+
 IF (CCLOUD=="LIMA") THEN
-  TPFLYER%XCIZ  (:,ISTORE) = TPFLYER%INTERP_HOR_FROM_MASSPOINT( PSV(:,:,:,NSV_LIMA_NI) )
-  TPFLYER%XCCZ  (:,ISTORE) = TPFLYER%INTERP_HOR_FROM_MASSPOINT( PSV(:,:,:,NSV_LIMA_NC) )
-  TPFLYER%XCRZ  (:,ISTORE) = TPFLYER%INTERP_HOR_FROM_MASSPOINT( PSV(:,:,:,NSV_LIMA_NR) )
 ELSE IF ( CCLOUD=="ICE3" .OR. CCLOUD=="ICE4" ) THEN
   TPFLYER%XCIZ  (:,ISTORE) = TPFLYER%INTERP_HOR_FROM_MASSPOINT( PCIT(:,:,:) )
 END IF
diff --git a/src/MNH/modd_sensor.f90 b/src/MNH/modd_sensor.f90
index b780c39137fc86ee7ed5d63c5a9af8921b9b8c04..7e5573bc41b37ca1759e2cc5bd75697f7bc0fad6 100644
--- a/src/MNH/modd_sensor.f90
+++ b/src/MNH/modd_sensor.f90
@@ -6,6 +6,7 @@
 ! Original version:
 !  P. Wautelet: 27/04/2023
 ! Modifications:
+!  B. Vie: 21/09/2023 Add SVs and temperature to recorded variables
 !-----------------------------------------------------------------
 MODULE MODD_SENSOR
   USE MODD_PARAMETERS, ONLY: NSENSORNAMELGTMAX, NNEGUNDEF, XNEGUNDEF, XUNDEF
@@ -101,6 +102,7 @@ MODULE MODD_SENSOR
       REAL, DIMENSION(:,:),   ALLOCATABLE :: XP      ! p(n)
       REAL, DIMENSION(:,:),   ALLOCATABLE :: XTKE    ! tke(n)
       REAL, DIMENSION(:,:),   ALLOCATABLE :: XTH     ! th(n)
+      REAL, DIMENSION(:,:),   ALLOCATABLE :: XT      ! t(n)
       REAL, DIMENSION(:,:,:), ALLOCATABLE :: XR      ! r*(n)
       REAL, DIMENSION(:,:,:), ALLOCATABLE :: XSV     ! Sv*(n)
       REAL, DIMENSION(:),     ALLOCATABLE :: XTSRAD  ! surface temperature Ts(n)
@@ -108,8 +110,8 @@ MODULE MODD_SENSOR
 
       REAL, DIMENSION(:,:),   ALLOCATABLE :: XRHOD      ! density of dry air
       REAL, DIMENSION(:,:),   ALLOCATABLE :: XCIZ       ! Ice concentration
-      REAL, DIMENSION(:,:),   ALLOCATABLE :: XCCZ       ! Cloud concentration (LIMA)
-      REAL, DIMENSION(:,:),   ALLOCATABLE :: XCRZ       ! Rain concentration (LIMA)
+      REAL, DIMENSION(:,:),   ALLOCATABLE :: XTZ        ! Temperature
+      REAL, DIMENSION(:,:,:), ALLOCATABLE :: XSVZ       ! Scalar variables
       REAL, DIMENSION(:,:),   ALLOCATABLE :: XIWCZ      ! ice water content
       REAL, DIMENSION(:,:),   ALLOCATABLE :: XLWCZ      ! liquid water content
       REAL, DIMENSION(:,:),   ALLOCATABLE :: XCRARE     ! cloud radar reflectivity
@@ -212,6 +214,7 @@ MODULE MODD_SENSOR
         ALLOCATE( TPSENSOR%XTKE(0, 0) )
       END IF
       ALLOCATE( TPSENSOR%XTH  (KLEVELS, KSTORE) )      ; IVARSIZE = IVARSIZE + KLEVELS
+      ALLOCATE( TPSENSOR%XT   (KLEVELS, KSTORE) )      ; IVARSIZE = IVARSIZE + KLEVELS
       ALLOCATE( TPSENSOR%XR   (KLEVELS, KSTORE, NRR) ) ; IVARSIZE = IVARSIZE + KLEVELS * NRR
       ALLOCATE( TPSENSOR%XSV  (KLEVELS, KSTORE, NSV) ) ; IVARSIZE = IVARSIZE + KLEVELS * NSV
       IF ( CRAD /= 'NONE' ) THEN
@@ -224,29 +227,25 @@ MODULE MODD_SENSOR
       IF ( OVERTPROF ) THEN
         ALLOCATE( TPSENSOR%XRHOD(IKU, KSTORE) )      ; IVARSIZE = IVARSIZE + IKU
 
+        ALLOCATE( TPSENSOR%XSVZ  (IKU,KSTORE,NSV) )  ; IVARSIZE = IVARSIZE + IKU * NSV
         IF ( CCLOUD == 'LIMA') THEN
-          ALLOCATE( TPSENSOR%XCIZ    (IKU, KSTORE) ) ; IVARSIZE = IVARSIZE + IKU
-          ALLOCATE( TPSENSOR%XCCZ    (IKU, KSTORE) ) ; IVARSIZE = IVARSIZE + IKU
-          ALLOCATE( TPSENSOR%XCRZ    (IKU, KSTORE) ) ; IVARSIZE = IVARSIZE + IKU
+          ALLOCATE( TPSENSOR%XCIZ    (0, 0) )
         ELSE IF ( CCLOUD(1:3) == 'ICE') THEN
           ALLOCATE( TPSENSOR%XCIZ    (IKU, KSTORE) ) ; IVARSIZE = IVARSIZE + IKU
-          ALLOCATE( TPSENSOR%XCCZ    (0, 0) )
-          ALLOCATE( TPSENSOR%XCRZ    (0, 0) )
         ELSE
           ALLOCATE( TPSENSOR%XCIZ    (0, 0) )
-          ALLOCATE( TPSENSOR%XCCZ    (0, 0) )
-          ALLOCATE( TPSENSOR%XCRZ    (0, 0) )
         END IF
 
+        ALLOCATE( TPSENSOR%XTZ       (IKU, KSTORE) ) ; IVARSIZE = IVARSIZE + IKU
         ALLOCATE( TPSENSOR%XIWCZ     (IKU, KSTORE) ) ; IVARSIZE = IVARSIZE + IKU
         ALLOCATE( TPSENSOR%XLWCZ     (IKU, KSTORE) ) ; IVARSIZE = IVARSIZE + IKU
         ALLOCATE( TPSENSOR%XCRARE    (IKU, KSTORE) ) ; IVARSIZE = IVARSIZE + IKU
         ALLOCATE( TPSENSOR%XCRARE_ATT(IKU, KSTORE) ) ; IVARSIZE = IVARSIZE + IKU
       ELSE
+        ALLOCATE( TPSENSOR%XSVZ    (0, 0, 0) )
+        ALLOCATE( TPSENSOR%XTZ     (0, 0) )
         ALLOCATE( TPSENSOR%XRHOD   (0, 0) )
         ALLOCATE( TPSENSOR%XCIZ    (0, 0) )
-        ALLOCATE( TPSENSOR%XCCZ    (0, 0) )
-        ALLOCATE( TPSENSOR%XCRZ    (0, 0) )
         ALLOCATE( TPSENSOR%XIWCZ     (0, 0) )
         ALLOCATE( TPSENSOR%XLWCZ     (0, 0) )
         ALLOCATE( TPSENSOR%XCRARE    (0, 0) )
@@ -261,14 +260,15 @@ MODULE MODD_SENSOR
       TPSENSOR%XP        (:,:)   = XUNDEF
       TPSENSOR%XTKE      (:,:)   = XUNDEF
       TPSENSOR%XTH       (:,:)   = XUNDEF
+      TPSENSOR%XT        (:,:)   = XUNDEF
       TPSENSOR%XR        (:,:,:) = XUNDEF
       TPSENSOR%XSV       (:,:,:) = XUNDEF
       TPSENSOR%XTSRAD    (:)     = XUNDEF_SFX
       TPSENSOR%XRHOD_SENSOR(:)   = XNEGUNDEF
+      TPSENSOR%XTZ       (:,:)   = XUNDEF
       TPSENSOR%XRHOD     (:,:)   = XNEGUNDEF
       TPSENSOR%XCIZ      (:,:)   = XUNDEF
-      TPSENSOR%XCCZ      (:,:)   = XUNDEF
-      TPSENSOR%XCRZ      (:,:)   = XUNDEF
+      TPSENSOR%XSVZ      (:,:,:) = XUNDEF
       TPSENSOR%XIWCZ     (:,:)   = XUNDEF
       TPSENSOR%XLWCZ     (:,:)   = XUNDEF
       TPSENSOR%XCRARE    (:,:)   = XUNDEF
@@ -296,14 +296,15 @@ MODULE MODD_SENSOR
       DEALLOCATE( TPSENSOR%XP         )
       DEALLOCATE( TPSENSOR%XTKE       )
       DEALLOCATE( TPSENSOR%XTH        )
+      DEALLOCATE( TPSENSOR%XT         )
       DEALLOCATE( TPSENSOR%XR         )
       DEALLOCATE( TPSENSOR%XSV        )
       DEALLOCATE( TPSENSOR%XTSRAD     )
       DEALLOCATE( TPSENSOR%XRHOD_SENSOR )
+      DEALLOCATE( TPSENSOR%XTZ        )
       DEALLOCATE( TPSENSOR%XRHOD      )
       DEALLOCATE( TPSENSOR%XCIZ       )
-      DEALLOCATE( TPSENSOR%XCCZ       )
-      DEALLOCATE( TPSENSOR%XCRZ       )
+      DEALLOCATE( TPSENSOR%XSVZ       )
       DEALLOCATE( TPSENSOR%XIWCZ      )
       DEALLOCATE( TPSENSOR%XLWCZ      )
       DEALLOCATE( TPSENSOR%XCRARE     )
@@ -1003,6 +1004,7 @@ MODULE MODD_SENSOR
         PBUFFER(KPOS:KPOS+ILVST-1) = RESHAPE( TPSENSOR%XTKE(:,1:ISTORES), [ILVST] ) ; KPOS = KPOS + ILVST
       END IF
       PBUFFER(KPOS:KPOS+ILVST-1)     = RESHAPE( TPSENSOR%XTH(:,1:ISTORES),   [ILVST] )      ; KPOS = KPOS + ILVST
+      PBUFFER(KPOS:KPOS+ILVST-1)     = RESHAPE( TPSENSOR%XT (:,1:ISTORES),   [ILVST] )      ; KPOS = KPOS + ILVST
       PBUFFER(KPOS:KPOS+ILVST*NRR-1) = RESHAPE( TPSENSOR%XR (:,1:ISTORES,:), [ILVST*NRR]  ) ; KPOS = KPOS + ILVST * NRR
       PBUFFER(KPOS:KPOS+ILVST*NSV-1) = RESHAPE( TPSENSOR%XSV(:,1:ISTORES,:), [ILVST*NSV]  ) ; KPOS = KPOS + ILVST * NSV
       IF ( CRAD /= 'NONE' ) THEN
@@ -1011,15 +1013,12 @@ MODULE MODD_SENSOR
       PBUFFER(KPOS:KPOS+ISTORES-1) = TPSENSOR%XRHOD_SENSOR(1:ISTORES) ; KPOS = KPOS + ISTORES
 
       IF ( SIZE( TPSENSOR%XRHOD ) > 0 ) THEN
+        PBUFFER(KPOS:KPOS+IKU*ISTORES-1) = RESHAPE( TPSENSOR%XTZ       (:,1:ISTORES), [IKU*ISTORES] ) ; KPOS = KPOS + IKU * ISTORES
         PBUFFER(KPOS:KPOS+IKU*ISTORES-1) = RESHAPE( TPSENSOR%XRHOD     (:,1:ISTORES), [IKU*ISTORES] ) ; KPOS = KPOS + IKU * ISTORES
         IF ( CCLOUD(1:3) == 'ICE') THEN
           PBUFFER(KPOS:KPOS+IKU*ISTORES-1) = RESHAPE( TPSENSOR%XCIZ    (:,1:ISTORES), [IKU*ISTORES] ) ; KPOS = KPOS + IKU * ISTORES
         END IF
-        IF ( CCLOUD == 'LIMA') THEN
-          PBUFFER(KPOS:KPOS+IKU*ISTORES-1) = RESHAPE( TPSENSOR%XCIZ    (:,1:ISTORES), [IKU*ISTORES] ) ; KPOS = KPOS + IKU * ISTORES
-          PBUFFER(KPOS:KPOS+IKU*ISTORES-1) = RESHAPE( TPSENSOR%XCCZ    (:,1:ISTORES), [IKU*ISTORES] ) ; KPOS = KPOS + IKU * ISTORES
-          PBUFFER(KPOS:KPOS+IKU*ISTORES-1) = RESHAPE( TPSENSOR%XCRZ    (:,1:ISTORES), [IKU*ISTORES] ) ; KPOS = KPOS + IKU * ISTORES
-        END IF
+        PBUFFER(KPOS:KPOS+IKU*ISTORES*NSV-1) = RESHAPE( TPSENSOR%XSVZ  (:,1:ISTORES,:), [IKU*ISTORES*NSV]  ) ; KPOS = KPOS + IKU * ISTORES * NSV
         PBUFFER(KPOS:KPOS+IKU*ISTORES-1) = RESHAPE( TPSENSOR%XIWCZ     (:,1:ISTORES), [IKU*ISTORES] ) ; KPOS = KPOS + IKU * ISTORES
         PBUFFER(KPOS:KPOS+IKU*ISTORES-1) = RESHAPE( TPSENSOR%XLWCZ     (:,1:ISTORES), [IKU*ISTORES] ) ; KPOS = KPOS + IKU * ISTORES
         PBUFFER(KPOS:KPOS+IKU*ISTORES-1) = RESHAPE( TPSENSOR%XCRARE    (:,1:ISTORES), [IKU*ISTORES] ) ; KPOS = KPOS + IKU * ISTORES
@@ -1130,6 +1129,7 @@ MODULE MODD_SENSOR
         TPSENSOR%XTKE(:,1:KSTORE) = RESHAPE( PBUFFER(KPOS:KPOS+ILVST-1), [ ILEVELS, KSTORE ] ) ; KPOS = KPOS + ILVST
       END IF
       TPSENSOR%XTH(:,1:KSTORE)   = RESHAPE( PBUFFER(KPOS:KPOS+ILVST-1),     [ ILEVELS, KSTORE ] )      ; KPOS = KPOS + ILVST
+      TPSENSOR%XT (:,1:KSTORE)   = RESHAPE( PBUFFER(KPOS:KPOS+ILVST-1),     [ ILEVELS, KSTORE ] )      ; KPOS = KPOS + ILVST
       TPSENSOR%XR (:,1:KSTORE,:) = RESHAPE( PBUFFER(KPOS:KPOS+ILVST*NRR-1), [ ILEVELS, KSTORE, NRR ] ) ; KPOS = KPOS + ILVST * NRR
       TPSENSOR%XSV(:,1:KSTORE,:) = RESHAPE( PBUFFER(KPOS:KPOS+ILVST*NSV-1), [ ILEVELS, KSTORE, NSV ] ) ; KPOS = KPOS + ILVST * NSV
       IF ( CRAD /= 'NONE' ) THEN
@@ -1138,15 +1138,12 @@ MODULE MODD_SENSOR
       TPSENSOR%XRHOD_SENSOR(1:KSTORE) = PBUFFER(KPOS:KPOS+KSTORE-1) ; KPOS = KPOS + KSTORE
 
       IF ( SIZE( TPSENSOR%XRHOD ) > 0 ) THEN
+        TPSENSOR%XTZ       (:,1:KSTORE) = RESHAPE( PBUFFER(KPOS:KPOS+IKU*KSTORE-1), [ IKU, KSTORE ] ) ; KPOS = KPOS + IKU * KSTORE
         TPSENSOR%XRHOD     (:,1:KSTORE) = RESHAPE( PBUFFER(KPOS:KPOS+IKU*KSTORE-1), [ IKU, KSTORE ] ) ; KPOS = KPOS + IKU * KSTORE
         IF ( CCLOUD(1:3) == 'ICE' ) THEN
           TPSENSOR%XCIZ    (:,1:KSTORE) = RESHAPE( PBUFFER(KPOS:KPOS+IKU*KSTORE-1), [ IKU, KSTORE ] ) ; KPOS = KPOS + IKU * KSTORE
         END IF
-        IF ( CCLOUD == 'LIMA' ) THEN
-          TPSENSOR%XCIZ    (:,1:KSTORE) = RESHAPE( PBUFFER(KPOS:KPOS+IKU*KSTORE-1), [ IKU, KSTORE ] ) ; KPOS = KPOS + IKU * KSTORE
-          TPSENSOR%XCCZ    (:,1:KSTORE) = RESHAPE( PBUFFER(KPOS:KPOS+IKU*KSTORE-1), [ IKU, KSTORE ] ) ; KPOS = KPOS + IKU * KSTORE
-          TPSENSOR%XCRZ    (:,1:KSTORE) = RESHAPE( PBUFFER(KPOS:KPOS+IKU*KSTORE-1), [ IKU, KSTORE ] ) ; KPOS = KPOS + IKU * KSTORE
-        END IF
+        TPSENSOR%XSVZ(:,1:KSTORE,:)     = RESHAPE( PBUFFER(KPOS:KPOS+IKU*KSTORE*NSV-1), [ IKU, KSTORE, NSV ] ) ; KPOS = KPOS + IKU * KSTORE * NSV
         TPSENSOR%XIWCZ     (:,1:KSTORE) = RESHAPE( PBUFFER(KPOS:KPOS+IKU*KSTORE-1), [ IKU, KSTORE ] ) ; KPOS = KPOS + IKU * KSTORE
         TPSENSOR%XLWCZ     (:,1:KSTORE) = RESHAPE( PBUFFER(KPOS:KPOS+IKU*KSTORE-1), [ IKU, KSTORE ] ) ; KPOS = KPOS + IKU * KSTORE
         TPSENSOR%XCRARE    (:,1:KSTORE) = RESHAPE( PBUFFER(KPOS:KPOS+IKU*KSTORE-1), [ IKU, KSTORE ] ) ; KPOS = KPOS + IKU * KSTORE
diff --git a/src/MNH/profilern.f90 b/src/MNH/profilern.f90
index f95533090650d9f5c3252f178feb93068d322e3a..9cb0edfd7e531d64b0de71b432d9d53d33a2c831 100644
--- a/src/MNH/profilern.f90
+++ b/src/MNH/profilern.f90
@@ -93,7 +93,7 @@ USE MODD_ALLPROFILER_n,    ONLY: LDIAG_SURFRAD_PROF
 USE MODD_CST,              ONLY: XCPD, XG, XP00, XPI, XRD, XRV
 USE MODD_DIAG_IN_RUN,      ONLY: XCURRENT_TKE_DISS
 USE MODD_GRID,             ONLY: XBETA, XLON0, XRPK
-USE MODD_NSV,              ONLY: NSV_C2R2BEG, NSV_LIMA_NC, NSV_LIMA_NR, NSV_LIMA_NI
+USE MODD_NSV,              ONLY: NSV_C2R2BEG
 USE MODD_PARAMETERS,       ONLY: JPVEXT, XUNDEF
 USE MODD_PARAM_n,          ONLY: CCLOUD, CRAD
 USE MODD_PROFILER_n
@@ -331,6 +331,8 @@ PROFILER: DO JP = 1, NUMBPROFILER_LOC
   TPROFILERS(JP)%XDD  (:,IN) = ZDD(:)
   TPROFILERS(JP)%XW   (:,IN) = TPROFILERS(JP)%INTERP_HOR_FROM_MASSPOINT( PW )
   TPROFILERS(JP)%XTH  (:,IN) = TPROFILERS(JP)%INTERP_HOR_FROM_MASSPOINT( PTH )
+  TPROFILERS(JP)%XT   (:,IN) = TPROFILERS(JP)%INTERP_HOR_FROM_MASSPOINT( ZTEMP )
+  TPROFILERS(JP)%XTZ  (:,IN) = TPROFILERS(JP)%INTERP_HOR_FROM_MASSPOINT( ZTEMP )
   TPROFILERS(JP)%XTHV (:,IN) = TPROFILERS(JP)%INTERP_HOR_FROM_MASSPOINT( ZTHV )
   IF ( CCLOUD == 'C2R2' .OR. CCLOUD == 'KHKO' ) &
     TPROFILERS(JP)%XVISIGUL(:,IN) = TPROFILERS(JP)%INTERP_HOR_FROM_MASSPOINT( ZVISIGUL )
@@ -339,9 +341,6 @@ PROFILER: DO JP = 1, NUMBPROFILER_LOC
   TPROFILERS(JP)%XZZ  (:,IN) = ZZ(:)
   TPROFILERS(JP)%XRHOD(:,IN) = ZRHOD(:)
   IF (CCLOUD=="LIMA") THEN
-    TPROFILERS(JP)%XCIZ(:,IN) = TPROFILERS(JP)%INTERP_HOR_FROM_MASSPOINT( PSV(:,:,:,NSV_LIMA_NI) )
-    TPROFILERS(JP)%XCCZ(:,IN) = TPROFILERS(JP)%INTERP_HOR_FROM_MASSPOINT( PSV(:,:,:,NSV_LIMA_NC) )
-    TPROFILERS(JP)%XCRZ(:,IN) = TPROFILERS(JP)%INTERP_HOR_FROM_MASSPOINT( PSV(:,:,:,NSV_LIMA_NR) )
   ELSE IF ( CCLOUD=="ICE3" .OR. CCLOUD=="ICE4" ) THEN
     TPROFILERS(JP)%XCIZ(:,IN) = TPROFILERS(JP)%INTERP_HOR_FROM_MASSPOINT( PCIT )
   END IF
@@ -358,6 +357,7 @@ PROFILER: DO JP = 1, NUMBPROFILER_LOC
     ZWORK(:,:,1,:)=PSV(:,:,2,:)
   DO JSV=1,SIZE(PSV,4)
     TPROFILERS(JP)%XSV  (:,IN,JSV) = TPROFILERS(JP)%INTERP_HOR_FROM_MASSPOINT( ZWORK(:,:,:,JSV) )
+    TPROFILERS(JP)%XSVZ (:,IN,JSV) = TPROFILERS(JP)%INTERP_HOR_FROM_MASSPOINT( ZWORK(:,:,:,JSV) )
   END DO
   ZWORK2(:,:,:,:) = 0.
   DO JK=IKB,IKE
diff --git a/src/MNH/write_aircraft_balloon.f90 b/src/MNH/write_aircraft_balloon.f90
index a1b978be286734a3a65d09439ffd0d0792e0300c..0c8c59b4ba96fddb147a2fe36628b7e68997b118 100644
--- a/src/MNH/write_aircraft_balloon.f90
+++ b/src/MNH/write_aircraft_balloon.f90
@@ -254,7 +254,7 @@ IF ( ALL( TPFLYER%XX == XUNDEF ) ) RETURN
 !
 IKU = SIZE(TPFLYER%XRTZ,1) !number of vertical levels
 !
-IPROC = 10 + IRR + SIZE(TPFLYER%XSV,3) + 2 + SIZE(TPFLYER%XSVW_FLUX,2)
+IPROC = 11 + IRR + SIZE(TPFLYER%XSV,3) + 2 + SIZE(TPFLYER%XSVW_FLUX,2)
 IF ( IRR > 1 ) IPROC = IPROC + 1
 IF ( SIZE( TPFLYER%XTKE ) > 0 ) IPROC = IPROC + 1
 IPROC = IPROC + 1 ! TKE_DISS
@@ -291,6 +291,7 @@ call Add_point( 'ZON_WIND', 'zonal wind',            'm s-1',  tpflyer%xzon(1,:)
 call Add_point( 'MER_WIND', 'meridian wind',         'm s-1',  tpflyer%xmer(1,:) )
 call Add_point( 'W',        'air vertical speed',    'm s-1',  tpflyer%xw(1,:)   )
 call Add_point( 'Th',       'potential temperature', 'K',      tpflyer%xth(1,:)  )
+call Add_point( 'T',        'temperature',           'K',      tpflyer%xt(1,:)   )
 !
 if ( irr >= 1 ) call Add_point( 'Rv', 'water vapor mixing ratio',        'kg kg-1', tpflyer%xr(1,:,1) )
 if ( irr >= 2 ) call Add_point( 'Rc', 'liquid cloud water mixing ratio', 'kg kg-1', tpflyer%xr(1,:,2) )
@@ -430,8 +431,7 @@ call Sensor_write_workarrays_deallocate( )
 !----------------------------------------------------------------------------
 !Treat vertical profiles
 
-IPROCZ = 9 + IRR
-IF ( CCLOUD == 'LIMA' )     IPROCZ = IPROCZ + 3
+IPROCZ = 10 + IRR + NSV
 IF ( CCLOUD(1:3) == 'ICE' ) IPROCZ = IPROCZ + 1
 
 call Sensor_write_workarrays_allocate( iku, istore, iprocz )
@@ -448,14 +448,25 @@ if ( irr >= 7 ) call Add_profile( 'Rh', '1D Hail mixing ratio',               'k
 
 call Add_profile( 'FF', 'Horizontal wind', 'm s-1', tpflyer%xffz(:,:) )
 
+call Add_profile( 'T',  'Temperature',     'K',     tpflyer%xtz(:,:) )
+
 call Add_profile( 'IWC', 'Ice water content',    'kg m-3', tpflyer%xiwcz(:,:) )
 call Add_profile( 'LWC', 'Liquid water content', 'kg m-3', tpflyer%xlwcz(:,:) )
 
 call Add_profile( 'Rhod', 'Density of dry air',  'kg m-3', tpflyer%xrhod(:,:) )
+
+IF (SIZE(TPFLYER%XSVZ,3)>=1) THEN
+  ! Scalar variables
+  DO JSV = 1, NSV
+    IF ( TRIM( TSVLIST(JSV)%CUNITS ) == 'ppv' ) THEN
+      call Add_profile( Trim( tsvlist(jsv)%cmnhname ), '', 'ppb', tpflyer%xsvz(:,:,jsv) * 1.e9 ) !*1e9 for conversion ppv->ppb
+    ELSE
+      call Add_profile( Trim( tsvlist(jsv)%cmnhname ), '', Trim( tsvlist(jsv)%cunits ), tpflyer%xsvz(:,:,jsv) )
+    END IF
+  END DO
+ENDIF
+
 IF ( CCLOUD == 'LIMA' ) THEN
-  call Add_profile( 'CCLOUDT', 'liquid cloud concentration', 'kg-1', tpflyer%xccz(:,:) )
-  call Add_profile( 'CRAINT',  'Rain concentration',         'kg-1', tpflyer%xcrz(:,:) )
-  call Add_profile( 'CICET',   'Ice concentration',          'kg-1', tpflyer%xciz(:,:) )
 ELSE IF ( CCLOUD == 'ICE3' .OR. CCLOUD == 'ICE4' ) THEN
   call Add_profile( 'CIT',     'Ice concentration',           'm-3', tpflyer%xciz(:,:) )
 END IF
diff --git a/src/MNH/write_profilern.f90 b/src/MNH/write_profilern.f90
index a5f1ddd398c231fed6087c15cf4b9da3a372d016..a00231ef22497f3454ce6b1c205d28b9bbdd2290 100644
--- a/src/MNH/write_profilern.f90
+++ b/src/MNH/write_profilern.f90
@@ -89,11 +89,10 @@ type(tfieldmetadata_base), dimension(:), allocatable :: tzfields
 
 IKU = NKMAX + 2 * JPVEXT !Number of vertical levels
 
-IPROC = 13 + NRR + NSV
+IPROC = 14 + NRR + NSV
 if ( ccloud == 'C2R2' .or. ccloud == 'KHKO' )  IPROC = IPROC + 1
 if ( ccloud /= 'NONE' .and. ccloud /= 'REVE' ) IPROC = IPROC + 1
 if ( ccloud == 'ICE3' .or. ccloud == 'ICE4' )  IPROC = IPROC + 1
-if ( ccloud == 'LIMA' )  IPROC = IPROC + 3
 IF ( LORILAM ) IPROC = IPROC + JPMODE * ( 3 + NSOA + NCARB + NSP )
 IF ( LDUST )   IPROC = IPROC + NMODE_DST * 3
 IF ( LSALT )   IPROC = IPROC + NMODE_SLT * 3
@@ -108,6 +107,7 @@ call Sensor_write_workarrays_allocate( iku, istore, iproc )
 !Treat vertical profiles
 
 call Add_profile( 'Th',       'Potential temperature',         'K',      tpprofiler%xth        )
+call Add_profile( 'T',        'Temperature',                   'K',      tpprofiler%xtz        )
 call Add_profile( 'Thv',      'Virtual Potential temperature', 'K',      tpprofiler%xthv       )
 if ( ccloud == 'C2R2' .or. ccloud == 'KHKO' ) &
   call Add_profile( 'VISIGUL', 'Visibility Gultepe',           'km',     tpprofiler%xvisigul   )
@@ -130,9 +130,6 @@ jproc_w = Sensor_current_processes_number_get()
 call Add_profile( 'TKE_DISS', 'TKE dissipation rate', 'm2 s-2', tpprofiler%xtke_diss )
 
 if ( ccloud == 'LIMA' ) then
-  call Add_profile( 'CCLOUDT', 'liquid cloud concentration', 'kg-1', tpprofiler%xccz(:,:) )
-  call Add_profile( 'CRAINT',  'Rain concentration',         'kg-1', tpprofiler%xcrz(:,:) )
-  call Add_profile( 'CICET',   'Ice concentration',          'kg-1', tpprofiler%xciz(:,:) )
 else if ( ccloud == 'ICE3' .or. ccloud == 'ICE4' ) then
   call Add_profile( 'CIT',     'Ice concentration',           'm-3', tpprofiler%xciz(:,:) )
 end if
@@ -255,7 +252,7 @@ call Sensor_write_workarrays_deallocate( )
 !----------------------------------------------------------------------------
 !Treat point values
 
-IPROC = 4
+IPROC = 5
 IF (LDIAG_SURFRAD_PROF) THEN
   IPROC = IPROC + 10
   IF(CRAD/="NONE")  IPROC = IPROC + 8
@@ -275,6 +272,7 @@ call Add_point( 'IWV', 'Integrated Water Vapour',   'kg m-2', tpprofiler%xiwv )
 call Add_point( 'ZTD', 'Zenith Tropospheric Delay', 'm',      tpprofiler%xztd )
 call Add_point( 'ZWD', 'Zenith Wet Delay',          'm',      tpprofiler%xzwd )
 call Add_point( 'ZHD', 'Zenith Hydrostatic Delay',  'm',      tpprofiler%xzhd )
+call Add_point( 'T',   'Temperature',               'K',      tpprofiler%xt(1,:) )
 
 if ( crad /= 'NONE' ) call Add_point( 'Tsrad', 'Radiative Surface Temperature', 'K', tpprofiler%xtsrad(:) )