Index: /LMDZ6/trunk/libf/phylmd/open_climoz_m.f90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/open_climoz_m.f90	(revision 6121)
+++ /LMDZ6/trunk/libf/phylmd/open_climoz_m.f90	(revision 6122)
@@ -14,6 +14,7 @@
     USE netcdf95, ONLY: nf95_open, nf95_close, nf95_gw_var, nf95_inq_varid
     USE netcdf,   ONLY: nf90_nowrite
+    use mod_phys_lmdz_omp_data, only: is_omp_root
     USE mod_phys_lmdz_mpi_data,      ONLY: is_mpi_root
-    USE mod_phys_lmdz_mpi_transfert, ONLY: bcast_mpi
+    USE mod_phys_lmdz_transfert_para, ONLY: bcast
     USE phys_cal_mod,                ONLY: calend, year_len, year_cur
     !-------------------------------------------------------------------------------
@@ -26,5 +27,4 @@
     !-------------------------------------------------------------------------------
     INTEGER, INTENT(OUT):: ncid      !--- "climoz_LMDZ.nc" identifier
-    ! Following arguments are OpenMP shared:
     REAL, allocatable, intent(out):: press_in_cen(:) !--- at cells centers
     REAL, allocatable, INTENT(OUT):: press_in_edg(:) !--- at the interfaces (pressure intervals)
@@ -44,5 +44,5 @@
     WRITE(lunout,*)"Entering routine "//TRIM(sub)
 
-    IF(is_mpi_root) THEN
+    IF (is_mpi_root .and. is_omp_root) THEN
 
        !--- OPEN FILE, READ PRESSURE LEVELS AND TIME VECTOR
@@ -87,11 +87,18 @@
           WRITE(lunout,*)TRIM(sub)//': Interpolating O3 field directly on gcm levels.'
        END IF
+    END IF
 
-    END IF
-    CALL bcast_mpi(nlev)
-    IF(.NOT.is_mpi_root) ALLOCATE(press_in_cen(nlev  )); CALL bcast_mpi(press_in_cen)
-    IF(.NOT.is_mpi_root) ALLOCATE(press_in_edg(nlev+1)); CALL bcast_mpi(press_in_edg)
-    CALL bcast_mpi(ntim)
-    IF(.NOT.is_mpi_root) ALLOCATE(time_in(ntim));        CALL bcast_mpi(time_in)
+    CALL bcast(nlev)
+    CALL bcast(ntim)
+
+    IF (.NOT. is_mpi_root .or. .not. is_omp_root) then
+       ALLOCATE(press_in_cen(nlev  ))
+       ALLOCATE(press_in_edg(nlev+1))
+       ALLOCATE(time_in(ntim))
+    end IF
+
+    CALL bcast(press_in_cen)
+    CALL bcast(press_in_edg)
+    CALL bcast(time_in)
 
   END SUBROUTINE open_climoz
Index: /LMDZ6/trunk/libf/phylmd/physiq_mod.F90
===================================================================
--- /LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 6121)
+++ /LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 6122)
@@ -1070,10 +1070,9 @@
     !     climatology and the daylight climatology
     INTEGER,SAVE :: ncid_climoz                ! NetCDF file identifier
-    !$OMP THREADPRIVATE(read_climoz, ncid_climoz)
-
-    !  Following variables are OpenMP shared
     REAL, ALLOCATABLE, SAVE :: press_cen_climoz(:) ! Pressure levels
     REAL, ALLOCATABLE, SAVE :: press_edg_climoz(:) ! Edges of pressure intervals
     REAL, ALLOCATABLE, SAVE :: time_climoz(:)      ! Time vector
+    !$OMP THREADPRIVATE(read_climoz, ncid_climoz, press_cen_climoz)
+    !$OMP THREADPRIVATE(press_edg_climoz, time_climoz)
 
     CHARACTER(LEN=13), PARAMETER :: vars_climoz(2) &
@@ -2124,8 +2123,6 @@
        ENDIF
 
-       !$omp master
        IF (read_climoz >= 1) CALL open_climoz(ncid_climoz, press_cen_climoz,   &
             press_edg_climoz, time_climoz, ok_daily_climoz, adjust_tropopause)
-       !$omp end master
        !
        !IM betaCRF
