Index: LMDZ6/trunk/libf/dyn3d_common/comvert_mod.F90
===================================================================
--- LMDZ6/trunk/libf/dyn3d_common/comvert_mod.F90	(revision 4226)
+++ LMDZ6/trunk/libf/dyn3d_common/comvert_mod.F90	(revision 4228)
@@ -10,9 +10,11 @@
 
 PUBLIC :: ap,bp,presnivs,dpres,sig,ds,pa,preff,nivsigs,nivsig, &
-          aps,bps,scaleheight,pseudoalt,disvert_type, pressure_exner
+          aps,bps,scaleheight,pseudoalt,disvert_type, pressure_exner, &
+          presinter
 
 REAL ap(llm+1) ! hybrid pressure contribution at interlayers
 REAL bp (llm+1) ! hybrid sigma contribution at interlayer
 REAL presnivs(llm) ! (reference) pressure at mid-layers
+REAL presinter(llm+1) ! (reference) pressure at interlayers
 REAL dpres(llm)
 REAL sig(llm+1)
Index: LMDZ6/trunk/libf/dyn3d_common/disvert.F90
===================================================================
--- LMDZ6/trunk/libf/dyn3d_common/disvert.F90	(revision 4226)
+++ LMDZ6/trunk/libf/dyn3d_common/disvert.F90	(revision 4228)
@@ -11,5 +11,5 @@
   use assert_m, only: assert
   USE comvert_mod, ONLY: ap, bp, aps, bps, nivsigs, nivsig, dpres, presnivs, &
-                         pseudoalt, pa, preff, scaleheight
+                         pseudoalt, pa, preff, scaleheight, presinter
   USE logic_mod, ONLY: ok_strato
 
@@ -35,4 +35,5 @@
 ! dpres(llm)                 !--- PRESSURE DIFFERENCE FOR EACH LAYER
 ! presnivs(llm)              !--- PRESSURE AT EACH MID-LAYER
+! presinter(llm+1)           !--- PRESSURE AT EACH INTERFACE
 ! scaleheight                !--- VERTICAL SCALE HEIGHT            (Earth: 8kms)
 ! nivsig(llm+1)              !--- SIGMA INDEX OF EACH LAYER INTERFACE
@@ -355,4 +356,8 @@
           max(ap(l+1)+bp(l+1)*preff, 1.e-10))
   ENDDO
+  DO l=1, llmp1
+     presinter(l)= ( ap(l)+bp(l)*preff)
+     write(lunout, *)'PRESINTER(', l, ')=', presinter(l)
+  ENDDO
 
   write(lunout, *) trim(modname),': PRESNIVS '
Index: LMDZ6/trunk/libf/dynphy_lonlat/inigeomphy_mod.F90
===================================================================
--- LMDZ6/trunk/libf/dynphy_lonlat/inigeomphy_mod.F90	(revision 4226)
+++ LMDZ6/trunk/libf/dynphy_lonlat/inigeomphy_mod.F90	(revision 4228)
@@ -25,5 +25,5 @@
   USE nrtype, ONLY: pi
   USE comvert_mod, ONLY: preff, ap, bp, aps, bps, presnivs, &
-                         scaleheight, pseudoalt
+                         scaleheight, pseudoalt, presinter
   USE vertical_layers_mod, ONLY: init_vertical_layers
   IMPLICIT NONE
@@ -233,5 +233,5 @@
   ! copy over preff , ap(), bp(), etc 
   CALL init_vertical_layers(nlayer,preff,scaleheight, &
-                            ap,bp,aps,bps,presnivs,pseudoalt)
+                            ap,bp,aps,bps,presnivs,presinter,pseudoalt)
 
 !$OMP END PARALLEL
Index: LMDZ6/trunk/libf/phy_common/vertical_layers_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phy_common/vertical_layers_mod.F90	(revision 4226)
+++ LMDZ6/trunk/libf/phy_common/vertical_layers_mod.F90	(revision 4228)
@@ -15,8 +15,10 @@
    REAL,SAVE,ALLOCATABLE :: presnivs(:) ! reference pressure at mid-layer (Pa),
                                         ! based on preff, ap and bp
+   REAL,SAVE,ALLOCATABLE :: presinter(:) ! reference pressure at interface (Pa),
+                                        ! based on preff, ap and bp
    REAL,SAVE,ALLOCATABLE :: pseudoalt(:) ! pseudo-altitude of model layers (km),
                                          ! based on preff and scaleheight
    
-!$OMP THREADPRIVATE(preff,scaleheight,ap,bp,aps,bps,presnivs,pseudoalt)
+!$OMP THREADPRIVATE(preff,scaleheight,ap,bp,aps,bps,presnivs,presinter,pseudoalt)
 
 
@@ -24,5 +26,5 @@
 
   SUBROUTINE init_vertical_layers(nlayer,preff_,scaleheight_,ap_,bp_,&
-                                 aps_,bps_,presnivs_, pseudoalt_)
+                                 aps_,bps_,presnivs_, presinter_, pseudoalt_)
     IMPLICIT NONE
     INTEGER,INTENT(IN) :: nlayer ! number of atmospheric layers
@@ -34,4 +36,5 @@
     REAL,INTENT(IN)    :: bps_(nlayer) ! hybrid coordinate at mid-layer
     REAL,INTENT(IN)    :: presnivs_(nlayer) ! Appproximative pressure of atm. layers (Pa)
+    REAL,INTENT(IN)    :: presinter_(nlayer+1) ! Appproximative pressure of atm. layers (Pa)
     REAL,INTENT(IN)    :: pseudoalt_(nlayer) ! pseudo-altitude of atm. layers (km)
   
@@ -41,4 +44,5 @@
     ALLOCATE(bps(nlayer))
     ALLOCATE(presnivs(nlayer))
+    ALLOCATE(presinter(nlayer+1))
     ALLOCATE(pseudoalt(nlayer))
   
@@ -50,4 +54,5 @@
     bps(:) = bps_(:)
     presnivs(:) = presnivs_(:)
+    presinter(:) = presinter_(:)
     pseudoalt(:) = pseudoalt_(:)
 
Index: LMDZ6/trunk/libf/phylmd/iophy.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/iophy.F90	(revision 4226)
+++ LMDZ6/trunk/libf/phylmd/iophy.F90	(revision 4228)
@@ -1249,9 +1249,10 @@
 
     nlev=SIZE(field,2)
-    IF (nlev.EQ.klev+1) THEN
-        nlevx=klev
-    ELSE
-        nlevx=nlev
-    ENDIF
+    nlevx=nlev
+!    IF (nlev.EQ.klev+1) THEN
+!        nlevx=klev
+!    ELSE
+!        nlevx=nlev
+!    ENDIF
 
     IF (SIZE(field,1) == klon) then
Index: LMDZ6/trunk/libf/phylmd/phys_output_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phys_output_mod.F90	(revision 4226)
+++ LMDZ6/trunk/libf/phylmd/phys_output_mod.F90	(revision 4228)
@@ -45,5 +45,5 @@
     USE mod_grid_phy_lmdz, only: klon_glo,nbp_lon,nbp_lat
     USE print_control_mod, ONLY: prt_level,lunout
-    USE vertical_layers_mod, ONLY: ap,bp,preff,presnivs, aps, bps, pseudoalt
+    USE vertical_layers_mod, ONLY: ap,bp,preff,presnivs, aps, bps, pseudoalt, presinter
     USE time_phylmdz_mod, ONLY: day_ini, itau_phy, start_time, annee_ref, day_ref
 #ifdef CPP_XIOS
@@ -347,4 +347,6 @@
     CALL wxios_add_vaxis("presnivs", &
             levmax(iff) - levmin(iff) + 1, presnivs(levmin(iff):levmax(iff)))
+    CALL wxios_add_vaxis("presinter", &
+            klev + 1, presinter(1:klev+1))
     CALL wxios_add_vaxis("Ahyb", &
             levmax(iff) - levmin(iff) + 1, aps(levmin(iff):levmax(iff)), positif='down', &
