Index: /LMDZ5/trunk/libf/dynphy_lonlat/phymar/iniphysiq_mod.F90
===================================================================
--- /LMDZ5/trunk/libf/dynphy_lonlat/phymar/iniphysiq_mod.F90	(revision 2598)
+++ /LMDZ5/trunk/libf/dynphy_lonlat/phymar/iniphysiq_mod.F90	(revision 2599)
@@ -13,4 +13,5 @@
   USE dimphy, ONLY: init_dimphy
   USE inigeomphy_mod, ONLY: inigeomphy
+  USE vertical_layers_mod, ONLY : init_vertical_layers
   USE infotrac, ONLY: nqtot
   USE comcstphy, ONLY: rradius, & ! planet radius (m)
@@ -28,4 +29,6 @@
  
  
+  include "dimensions.h"
+  include "comvert.h"
   include "iniprint.h"
 
@@ -69,4 +72,8 @@
 !$OMP PARALLEL
 
+  ! copy over preff , ap(), bp(), etc 
+  CALL init_vertical_layers(nlayer,preff,scaleheight, &
+                            ap,bp,presnivs,pseudoalt)
+
   ! Initialize tracer names, numbers, etc. for physics
   CALL init_infotrac_phy(nqtot)
Index: /LMDZ5/trunk/libf/phymar/iophys.F90
===================================================================
--- /LMDZ5/trunk/libf/phymar/iophys.F90	(revision 2598)
+++ /LMDZ5/trunk/libf/phymar/iophys.F90	(revision 2599)
@@ -69,4 +69,7 @@
       SUBROUTINE iophys_ini
       USE mod_phys_lmdz_para
+      USE vertical_layers_mod, ONLY: presnivs
+      USE regular_lonlat_mod, ONLY: lon_reg, lat_reg
+      USE dimphy, ONLY: klev
 
       IMPLICIT NONE
@@ -88,9 +91,4 @@
 !   -------------
 
-#include "dimensions.h"
-#include "paramet.h"
-#include "comgeom.h"
-#include "comvert.h"
-
 real pi
 
@@ -102,5 +100,6 @@
 pi=2.*asin(1.)
 call iotd_ini('phys.nc   ', &
-iim,jjp1,llm,rlonv(1:iim)*180./pi,rlatu*180./pi,presnivs)
+!iim,jjp1,llm,rlonv(1:iim)*180./pi,rlatu*180./pi,presnivs)
+size(lon_reg),size(lat_reg),klev,lon_reg(:)*180./pi,lat_reg*180./pi,presnivs)
     ENDIF
 !$OMP END MASTER
Index: /LMDZ5/trunk/libf/phymar/physiq_mod.F90
===================================================================
--- /LMDZ5/trunk/libf/phymar/physiq_mod.F90	(revision 2598)
+++ /LMDZ5/trunk/libf/phymar/physiq_mod.F90	(revision 2599)
@@ -29,4 +29,5 @@
       USE mod_phys_lmdz_para, only : jj_nb
       USE phys_state_var_mod, only : phys_state_var_init
+      USE vertical_layers_mod, ONLY: ap, bp
 ! Modules LMDZ utilisés pour LMDZ-MAR:
       USE control_mod      
@@ -52,5 +53,4 @@
 #include "dimensions.h"
 ! Include LMDZ utilisés ici pour MAR-LMDZ:
-#include "comvert.h"
 #include "YOMCST.h"
 
Index: /LMDZ5/trunk/libf/phymar/vertical_layers_mod.F90
===================================================================
--- /LMDZ5/trunk/libf/phymar/vertical_layers_mod.F90	(revision 2599)
+++ /LMDZ5/trunk/libf/phymar/vertical_layers_mod.F90	(revision 2599)
@@ -0,0 +1,46 @@
+! $Id: $
+
+MODULE vertical_layers_mod
+
+   REAL,SAVE             :: preff  ! reference surface pressure (Pa)
+   REAL,SAVE             :: scaleheight ! atmospheric reference scale height (km)
+   REAL,SAVE,ALLOCATABLE :: ap(:) ! hybrid (pressure contribution) coordinate 
+                                  ! at layer interfaces (Pa)
+   REAL,SAVE,ALLOCATABLE :: bp(:) ! hybrid (sigma contribution) coordinate 
+                                  ! at layer interfaces (Pa)
+   REAL,SAVE,ALLOCATABLE :: presnivs(:) ! reference pressure at mid-layer (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,presnivs,pseudoalt)
+
+
+CONTAINS
+
+  SUBROUTINE init_vertical_layers(nlayer,preff_,scaleheight_,ap_,bp_,&
+                                 presnivs_, pseudoalt_)
+    IMPLICIT NONE
+    INTEGER,INTENT(IN) :: nlayer ! number of atmospheric layers
+    REAL,INTENT(IN)    :: preff_ ! reference surface pressure (Pa)
+    REAL,INTENT(IN)    :: scaleheight_ ! atmospheric scale height (km)
+    REAL,INTENT(IN)    :: ap_(nlayer+1) ! hybrid coordinate at interfaces
+    REAL,INTENT(IN)    :: bp_(nlayer+1) ! hybrid coordinate at interfaces
+    REAL,INTENT(IN)    :: presnivs_(nlayer) ! Appproximative pressure of atm. layers (Pa)
+    REAL,INTENT(IN)    :: pseudoalt_(nlayer) ! pseudo-altitude of atm. layers (km)
+  
+    ALLOCATE(ap(nlayer+1))
+    ALLOCATE(bp(nlayer+1))
+    ALLOCATE(presnivs(nlayer))
+    ALLOCATE(pseudoalt(nlayer))
+  
+    preff = preff_
+    scaleheight=scaleheight_
+    ap(:) = ap_(:)
+    bp(:) = bp_(:)
+    presnivs(:) = presnivs_(:)
+    pseudoalt(:) = pseudoalt_(:)
+
+  END SUBROUTINE init_vertical_layers
+
+END MODULE vertical_layers_mod
