Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/dyn3d_common/comdissnew_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/dyn3d_common/comdissnew_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/dyn3d_common/comdissnew_mod_h.f90	(revision 5923)
@@ -3,5 +3,5 @@
 MODULE comdissnew_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC lstardis, nitergdiv, nitergrot, niterh, tetagdiv, &
+  PUBLIC :: lstardis, nitergdiv, nitergrot, niterh, tetagdiv, &
           tetagrot, tetatemp, coefdis, vert_prof_dissip
 
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/dyn3d_common/comgeom2_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/dyn3d_common/comgeom2_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/dyn3d_common/comgeom2_mod_h.f90	(revision 5923)
@@ -8,5 +8,5 @@
   USE paramet_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC                                                               &
+  PUBLIC ::                                                              &
           cu, cv, unscu2, unscv2, aire, airesurg, aireu, airev, apoln, apols, unsaire &
           , unsairez, airuscv2, airvscu2, aireij1, aireij2, aireij3, aireij4, &
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/dyn3d_common/paramet_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/dyn3d_common/paramet_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/dyn3d_common/paramet_mod_h.f90	(revision 5923)
@@ -3,5 +3,5 @@
 
   IMPLICIT NONE; PRIVATE
-  PUBLIC iip1, iip2, jjp1, llmp1, llmm1, ip1jm, ip1jmp1, &
+  PUBLIC :: iip1, iip2, jjp1, llmp1, llmm1, ip1jm, ip1jmp1, &
           ip1jmi1, ijp1llm, ijmllm
 
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/dyn3d_common/tracstoke_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/dyn3d_common/tracstoke_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/dyn3d_common/tracstoke_mod_h.f90	(revision 5923)
@@ -2,5 +2,5 @@
 MODULE tracstoke_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC istdyn, istphy, unittrac
+  PUBLIC :: istdyn, istphy, unittrac
 
   INTEGER istdyn, istphy, unittrac
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/Dust/chem_spla_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/Dust/chem_spla_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/Dust/chem_spla_mod_h.f90	(revision 5923)
@@ -1,5 +1,5 @@
 MODULE chem_spla_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC ss_bins  
+  PUBLIC :: ss_bins  
 
   INTEGER, PARAMETER :: ss_bins = 2
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/Dust/condsurfs_new_mod.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/Dust/condsurfs_new_mod.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/Dust/condsurfs_new_mod.f90	(revision 5923)
@@ -1,5 +1,5 @@
 MODULE condsurfs_new_mod
   IMPLICIT NONE; PRIVATE
-  PUBLIC condsurfs_new
+  PUBLIC :: condsurfs_new
 
 CONTAINS
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/StratAer/strataer_emiss_mod.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/StratAer/strataer_emiss_mod.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/StratAer/strataer_emiss_mod.f90	(revision 5923)
@@ -2,5 +2,5 @@
   ! This module contains information about strato microphysic model emission parameters
    IMPLICIT NONE; PRIVATE
-   PUBLIC strataer_emiss_init
+   PUBLIC :: strataer_emiss_init
 CONTAINS
 
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/StratAer/traccoag_mod.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/StratAer/traccoag_mod.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/StratAer/traccoag_mod.f90	(revision 5923)
@@ -5,5 +5,5 @@
 !
   IMPLICIT NONE; PRIVATE
-  PUBLIC traccoag
+  PUBLIC :: traccoag
 CONTAINS
 
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/alpale_mod.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/alpale_mod.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/alpale_mod.f90	(revision 5923)
@@ -4,5 +4,5 @@
 MODULE alpale_mod
   IMPLICIT NONE; PRIVATE
-  PUBLIC alpale
+  PUBLIC :: alpale
 
   !=====================================================================
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/calcul_divers_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/calcul_divers_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/calcul_divers_mod_h.f90	(revision 5923)
@@ -1,5 +1,5 @@
 MODULE calcul_divers_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC calcul_divers
+  PUBLIC :: calcul_divers
 
 CONTAINS
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/chem_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/chem_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/chem_mod_h.f90	(revision 5923)
@@ -5,5 +5,5 @@
 
   IMPLICIT NONE; PRIVATE
-  PUBLIC idms, iso2, iso4, ih2s, idmso, imsa, ih2o2, &
+  PUBLIC :: idms, iso2, iso4, ih2s, idmso, imsa, ih2o2, &
            rho_water, rho_ice
 
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/clesphys_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/clesphys_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/clesphys_mod_h.f90	(revision 5923)
@@ -4,5 +4,5 @@
   IMPLICIT NONE; PRIVATE
 
-  PUBLIC co2_ppm, solaire                                           &
+  PUBLIC ::  co2_ppm, solaire                                           &
           , RCO2, RCH4, RN2O, RCFC11, RCFC12                           &
           , RCO2_act, RCH4_act, RN2O_act, RCFC11_act, RCFC12_act       &
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/compbl_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/compbl_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/compbl_mod_h.f90	(revision 5923)
@@ -3,5 +3,5 @@
 MODULE compbl_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC iflag_pbl, iflag_pbl_split, iflag_order2_sollw, ifl_pbltree, iflag_hetero_surf
+  PUBLIC :: iflag_pbl, iflag_pbl_split, iflag_order2_sollw, ifl_pbltree, iflag_hetero_surf
 
   !!      integer iflag_pbl,iflag_pbl_split
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/comsoil_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/comsoil_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/comsoil_mod_h.f90	(revision 5923)
@@ -3,5 +3,5 @@
 MODULE comsoil_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC inertie_sol, inertie_sno, inertie_sic, inertie_lic, iflag_sic, iflag_inertie
+  PUBLIC :: inertie_sol, inertie_sno, inertie_sic, inertie_lic, iflag_sic, iflag_inertie
 
   REAL inertie_sol, inertie_sno, inertie_sic, inertie_lic
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/conema3_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/conema3_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/conema3_mod_h.f90	(revision 5923)
@@ -1,6 +1,6 @@
 MODULE conema3_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC epmax, coef_epmax_cape, cvl_comp_threshold, cvl_sig2feed
-  PUBLIC iflag_cvl_sigd, iflag_clw, ok_adj_ema
+  PUBLIC :: epmax, coef_epmax_cape, cvl_comp_threshold, cvl_sig2feed
+  PUBLIC :: iflag_cvl_sigd, iflag_clw, ok_adj_ema
 
   REAL epmax             ! 0.993
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/cv30_routines_mod.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/cv30_routines_mod.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/cv30_routines_mod.f90	(revision 5923)
@@ -9,9 +9,9 @@
 
   IMPLICIT NONE; PRIVATE
-  PUBLIC sigd, spfac, pbcrit, ptcrit, omtrain, dtovsh, dpbase, dttrig, dtcrit, &
-          tau, beta, alpha, delta, betad, noff, minorig, nl, nlp, nlm, &
-          cv30_param, cv30_prelim, cv30_feed, cv30_undilute1, cv30_trigger, &
-          cv30_compress, cv30_undilute2, cv30_closure, cv30_mixing, cv30_unsat, &
-          cv30_yield, cv30_tracer, cv30_uncompress, cv30_epmax_fn_cape
+  PUBLIC :: sigd, spfac, pbcrit, ptcrit, omtrain, dtovsh, dpbase, dttrig, dtcrit, &
+            tau, beta, alpha, delta, betad, noff, minorig, nl, nlp, nlm, &
+            cv30_param, cv30_prelim, cv30_feed, cv30_undilute1, cv30_trigger, &
+            cv30_compress, cv30_undilute2, cv30_closure, cv30_mixing, cv30_unsat, &
+            cv30_yield, cv30_tracer, cv30_uncompress, cv30_epmax_fn_cape
 
   INTEGER noff, minorig, nl, nlp, nlm
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/cvflag_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/cvflag_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/cvflag_mod_h.f90	(revision 5923)
@@ -3,6 +3,6 @@
 MODULE cvflag_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC  icvflag_Tpa, cvflag_grav, cvflag_ice, ok_optim_yield, ok_entrain, ok_homo_tend, &
-          ok_convstop, ok_intermittent, cvflag_prec_eject, qsat_depends_on_qt, adiab_ascent_mass_flux_depends_on_ejectliq, keepbug_ice_frac
+  PUBLIC :: icvflag_Tpa, cvflag_grav, cvflag_ice, ok_optim_yield, ok_entrain, ok_homo_tend, &
+            ok_convstop, ok_intermittent, cvflag_prec_eject, qsat_depends_on_qt, adiab_ascent_mass_flux_depends_on_ejectliq, keepbug_ice_frac
 
   LOGICAL cvflag_grav
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/dimpft_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/dimpft_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/dimpft_mod_h.f90	(revision 5923)
@@ -1,5 +1,5 @@
 MODULE dimpft_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC nvm_lmdz
+  PUBLIC :: nvm_lmdz
 
   INTEGER :: nvm_lmdz
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/dimsoil_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/dimsoil_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/dimsoil_mod_h.f90	(revision 5923)
@@ -1,5 +1,5 @@
 MODULE dimsoil_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC nsoilmx, nsnowmx, nsismx
+  PUBLIC :: nsoilmx, nsnowmx, nsismx
 
   INTEGER nsoilmx
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/dyn1d/compar1d_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/dyn1d/compar1d_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/dyn1d/compar1d_mod_h.f90	(revision 5923)
@@ -1,5 +1,5 @@
 MODULE compar1d_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC  nat_surf, tsurf, beta_surf, rugos, rugosh, &
+  PUBLIC :: nat_surf, tsurf, beta_surf, rugos, rugosh, &
           xqsol, qsurf, psurf, zsurf, albedo, time, time_ini, xlat, xlon, airefi, &
           wtsurf, wqsurf, restart_runoff, xagesno, qsolinp, zpicinp, &
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/dyn1d/date_cas_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/dyn1d/date_cas_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/dyn1d/date_cas_mod_h.f90	(revision 5923)
@@ -1,5 +1,5 @@
 MODULE date_cas_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC year_ini_cas, mth_ini_cas, day_deb, heure_ini_cas, pdt_cas, day_ju_ini_cas
+  PUBLIC :: year_ini_cas, mth_ini_cas, day_deb, heure_ini_cas, pdt_cas, day_ju_ini_cas
 
   INTEGER :: year_ini_cas    ! initial year of the case
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/fcg_gcssold_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/fcg_gcssold_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/fcg_gcssold_mod_h.f90	(revision 5923)
@@ -3,5 +3,5 @@
 MODULE fcg_gcssold_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC imp_fcg_gcssold, ts_fcg_gcssold, Tp_fcg_gcssold, Tp_ini_gcssold, xTurb_fcg_gcssold
+  PUBLIC :: imp_fcg_gcssold, ts_fcg_gcssold, Tp_fcg_gcssold, Tp_ini_gcssold, xTurb_fcg_gcssold
 
   LOGICAL :: imp_fcg_gcssold, ts_fcg_gcssold, Tp_fcg_gcssold
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/flux_arp_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/flux_arp_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/flux_arp_mod_h.f90	(revision 5923)
@@ -4,5 +4,5 @@
 MODULE flux_arp_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC fsens, flat, betaevap, ust, tg, ok_flux_surf, ok_prescr_ust, ok_prescr_beta, ok_forc_tsurf
+  PUBLIC :: fsens, flat, betaevap, ust, tg, ok_flux_surf, ok_prescr_ust, ok_prescr_beta, ok_forc_tsurf
 
   LOGICAL :: ok_flux_surf
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/inlandsis/VAR_SV.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/inlandsis/VAR_SV.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/inlandsis/VAR_SV.f90	(revision 5923)
@@ -2,5 +2,5 @@
       USE dimsoil_mod_h, ONLY: nsoilmx, nsnowmx
 IMPLICIT NONE; PRIVATE
-      PUBLIC nsol, nsot, nsno, nb_wri, klonv, knonv
+      PUBLIC :: nsol, nsot, nsno, nb_wri, klonv, knonv
 
 ! +
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/inlandsis/sisvat_weq_mod.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/inlandsis/sisvat_weq_mod.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/inlandsis/sisvat_weq_mod.f90	(revision 5923)
@@ -1,5 +1,5 @@
 MODULE sisvat_weq_mod
   IMPLICIT NONE; PRIVATE
-  PUBLIC sisvat_weq
+  PUBLIC :: sisvat_weq
 
   LOGICAL :: logWEq
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/inlandsis/surf_inlandsis_mod.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/inlandsis/surf_inlandsis_mod.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/inlandsis/surf_inlandsis_mod.f90	(revision 5923)
@@ -2,5 +2,5 @@
 
     IMPLICIT NONE; PRIVATE
-    PUBLIC surf_inlandsis, get_soil_levels, SISVAT_ini, sisvatetat0, sisvatredem
+    PUBLIC :: surf_inlandsis, get_soil_levels, SISVAT_ini, sisvatetat0, sisvatredem
 
 CONTAINS
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/iotd_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/iotd_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/iotd_mod_h.f90	(revision 5923)
@@ -1,6 +1,6 @@
 MODULE iotd_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC imax, jmax, lmax, nid, dim_coord, iotd_ts, iotd_t0, n_names_iotd_def, names_iotd_def, &
-          un_nom
+  PUBLIC :: imax, jmax, lmax, nid, dim_coord, iotd_ts, iotd_t0, n_names_iotd_def, names_iotd_def, &
+            un_nom
   !=======================================================================
   !
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/lmdz_cv_ini.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/lmdz_cv_ini.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/lmdz_cv_ini.f90	(revision 5923)
@@ -9,9 +9,9 @@
   !------------------------------------------------------------
   IMPLICIT NONE; PRIVATE
-  PUBLIC sigdz, spfac, pbcrit, ptcrit, elcrit, tlcrit, coef_peel, omtrain, dtovsh, dpbase, &
+  PUBLIC :: sigdz, spfac, pbcrit, ptcrit, elcrit, tlcrit, coef_peel, omtrain, dtovsh, dpbase, &
           dttrig, dtcrit, tau, beta, alpha, alpha1, T_top_max, tau_stop, noconv_stop, wbmax, &
           delta, betad, ejectliq, ejectice, flag_wb, flag_epKEorig, cv_flag_feed, noff, minorig, &
           nl, nlp, nlm
-  PUBLIC cpd, cpv, cl, ci, rrv, rrd, lv0, lf0, g, rowl, t0, clmcpv, clmcpd, cpdmcp, cpvmcpd, cpvmcl,  &
+  PUBLIC :: cpd, cpv, cl, ci, rrv, rrd, lv0, lf0, g, rowl, t0, clmcpv, clmcpd, cpdmcp, cpvmcpd, cpvmcl,  &
           clmci, eps, epsi, epsim1, ginv, hrd, grav, keep_bug_indices_cv3_tracer, restore_bug_cvdn
 
@@ -19,5 +19,5 @@
 
   ! provenant de cvparam
-  PUBLIC entp, sigs,sigd, omtsnow,coeffr, coeffs, dtmax, cu, damp
+  PUBLIC :: entp, sigs,sigd, omtsnow,coeffr, coeffs, dtmax, cu, damp
 
 
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/nuage_params_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/nuage_params_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/nuage_params_mod_h.f90	(revision 5923)
@@ -3,5 +3,5 @@
 MODULE nuage_params_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC rad_froid, rad_chau1, rad_chau2, &
+  PUBLIC :: rad_froid, rad_chau1, rad_chau2, &
           tau_cld_cv, coefw_cld_cv, &
           tmax_fonte_cv, iflag_ratqs, &
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/pbl_surface_mod.F90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/pbl_surface_mod.F90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/pbl_surface_mod.F90	(revision 5923)
@@ -1032,5 +1032,5 @@
     REAL, DIMENSION(klon, klev, nbsrf) :: flux_u_x, flux_v_x, flux_u_w, flux_v_w
     REAL, DIMENSION(klon, nbsrf)       :: fluxlat_x, fluxlat_w
-
+    
 
 
@@ -1040,5 +1040,8 @@
     INTEGER :: knon
     INTEGER :: ni(klon)
-
+    REAL,  DIMENSION(:, :), ALLOCATABLE ::  ytemp00, ytemp01, ytemp02, ytemp03, ytemp04, ytemp05, ytemp06, ytemp07, ytemp08, ytemp09
+    REAL,  DIMENSION(:, :), ALLOCATABLE ::  ytemp10, ytemp11, ytemp12, ytemp13, ytemp14, ytemp15, ytemp16, ytemp17, ytemp18, ytemp19
+
+    
       IF (is_master) WRITE(lunout,*) "****************** CHECKSUM IN ****************************"
       CALL checksum("dtime", dtime)
@@ -1266,4 +1269,8 @@
       ENDIF
     ENDDO
+
+    ALLOCATE(ytemp00(knon,klev+1), ytemp01(knon,klev+1), ytemp02(knon,klev+1), ytemp03(knon,klev+1), ytemp04(knon,klev+1), ytemp05(knon,klev+1), ytemp06(knon,klev+1), ytemp07(knon,klev+1), ytemp08(knon,klev+1), ytemp09(knon,klev+1))
+    ALLOCATE(ytemp10(knon,klev+1), ytemp11(knon,klev+1), ytemp12(knon,klev+1), ytemp13(knon,klev+1), ytemp14(knon,klev+1), ytemp15(knon,klev+1), ytemp16(knon,klev+1), ytemp17(knon,klev+1), ytemp18(knon,klev+1), ytemp19(knon,klev+1))
+
     
     CALL pbl_surface_subsrf( nsrf, knon, ni(1:knon),  &
@@ -1319,7 +1326,13 @@
        pblt_w, therm_w, trmb1_w, trmb2_w, trmb3_w, pblh, plcl, capCL, oliqCL, cteiCL, pblT, &
        therm, trmb1, trmb2, trmb3, alb, snowerosion, iflag_split_ref, delp, d_t_diss_x, d_t_diss_w, flux_t_x, flux_q_x, flux_t_w, flux_q_w,&
-       flux_u_x, flux_v_x, flux_u_w, flux_v_w, fluxlat_x, fluxlat_w)
+       flux_u_x, flux_v_x, flux_u_w, flux_v_w, fluxlat_x, fluxlat_w, &
+       ytemp00, ytemp01, ytemp02, ytemp03, ytemp04, ytemp05, ytemp06, ytemp07, ytemp08, ytemp09,& 
+       ytemp10, ytemp11, ytemp12, ytemp13, ytemp14, ytemp15, ytemp16, ytemp17, ytemp18, ytemp19)
+
   
   ENDDO
+  
+  DEALLOCATE(ytemp00, ytemp01, ytemp02, ytemp03, ytemp04, ytemp05, ytemp06, ytemp07, ytemp08, ytemp09)
+  DEALLOCATE(ytemp10, ytemp11, ytemp12, ytemp13, ytemp14, ytemp15, ytemp16, ytemp17, ytemp18, ytemp19)
 
   CALL pbl_surface_uncompressed_post( &
@@ -2354,6 +2367,8 @@
        therm, trmb1, trmb2, trmb3, alb, snowerosion, iflag_split_ref, &
        delp, d_t_diss_x, d_t_diss_w, flux_t_x, flux_q_x, flux_t_w, flux_q_w,&
-       flux_u_x, flux_v_x, flux_u_w, flux_v_w, fluxlat_x, fluxlat_w)
-!$gpum horizontal knon
+       flux_u_x, flux_v_x, flux_u_w, flux_v_w, fluxlat_x, fluxlat_w, &
+       ytemp00, ytemp01, ytemp02, ytemp03, ytemp04, ytemp05, ytemp06, ytemp07, ytemp08, ytemp09,&
+       ytemp10, ytemp11, ytemp12, ytemp13, ytemp14, ytemp15, ytemp16, ytemp17, ytemp18, ytemp19)
+!$gpum horizontal knon klon
 
 
@@ -2952,8 +2967,18 @@
     REAL, DIMENSION(knon) :: yzxtsol     ! temperature at surface
     REAL, DIMENSION(knon)                   :: ypblh_tmp ! temporaire pblh compressed 
+    REAL, DIMENSION(knon) :: zgeo1_over_RG
 #ifdef ISO
     REAL, DIMENSION(knon)       :: h1
     INTEGER                     :: ixt
 #endif
+
+    REAL, INTENT(OUT), DIMENSION(knon, klev+1) ::  ytemp00, ytemp01, ytemp02, ytemp03, ytemp04, ytemp05, ytemp06, ytemp07, ytemp08, ytemp09
+    REAL, INTENT(OUT), DIMENSION(knon, klev+1) ::  ytemp10, ytemp11, ytemp12, ytemp13, ytemp14, ytemp15, ytemp16, ytemp17, ytemp18, ytemp19
+   
+   ytemp00=0 ; ytemp01=0 ; ytemp02=0 ; ytemp03=0 ; ytemp04=0 ; ytemp05=0 ; ytemp06=0 ; ytemp07=0 ; ytemp08=0 ; ytemp09=0
+   ytemp10=0 ; ytemp11=0 ; ytemp12=0 ; ytemp13=0 ; ytemp14=0 ; ytemp15=0 ; ytemp16=0 ; ytemp17=0 ; ytemp18=0 ; ytemp19=0
+
+!$gpum nocall checksum
+
       IF (using_xios) THEN
         missing_val=missing_val_xios
@@ -3310,7 +3335,7 @@
             ENDDO
             !
-
-            CALL eff_surf_param(knon, nbtersrf, yz0m_tersrf, yfrac_tersrf, 'CDN', yz0m, zgeo1/RG)
-            CALL eff_surf_param(knon, nbtersrf, yz0h_tersrf, yfrac_tersrf, 'CDN', yz0h, zgeo1/RG)
+            zgeo1_over_RG(1:knon) = zgeo1(1:knon)/RG
+            CALL eff_surf_param(knon, nbtersrf, yz0m_tersrf, yfrac_tersrf, 'CDN', yz0m, zgeo1_over_RG)
+            CALL eff_surf_param(knon, nbtersrf, yz0h_tersrf, yfrac_tersrf, 'CDN', yz0h, zgeo1_over_RG)
             !
           ENDIF
@@ -3988,9 +4013,9 @@
 
         end if
-
+           zgeo1_over_RG(1:knon) = zgeo1(1:knon)/RG
            CALL surf_ocean(rlon, rlat, ysolsw, ysollw, yalb_vis, &
                ywindsp, yrmu0, yfder, yts, &
                itap, dtime, jour, knon, ni, &
-               ypplay(:,1), zgeo1(1:knon)/RG, ycdragh, ycdragm, yrain_f, ysnow_f, ybs_f, yt(:,1), yq(:,1),&    ! ym missing init
+               ypplay(:,1), zgeo1_over_RG, ycdragh, ycdragm, yrain_f, ysnow_f, ybs_f, yt(:,1), yq(:,1),&    ! ym missing init
                AcoefH, AcoefQ, BcoefH, BcoefQ, &
                AcoefU, AcoefV, BcoefU, BcoefV, &
@@ -4009,5 +4034,5 @@
 #endif               
          &      )
-!$gpum nocall
+
            CALL checksum("yalb_dir_new_ocean",yalb_dir_new(1:knon,:))
       IF (prt_level >=10) THEN
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/planete_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/planete_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/planete_mod_h.f90	(revision 5923)
@@ -1,5 +1,5 @@
 MODULE planete_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC aphelie, periheli, year_day, peri_day, obliquit, timeperi, e_elips, p_elips, unitastr
+  PUBLIC :: aphelie, periheli, year_day, peri_day, obliquit, timeperi, e_elips, p_elips, unitastr
 
   REAL aphelie, periheli, year_day, peri_day, obliquit, timeperi, e_elips, &
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/raddimlw_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/raddimlw_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/raddimlw_mod_h.f90	(revision 5923)
@@ -1,5 +1,5 @@
 MODULE raddimlw_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC nua, ntra, ninter, ng1, ng1p1
+  PUBLIC :: nua, ntra, ninter, ng1, ng1p1
 
   INTEGER NUA
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/radepsi_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/radepsi_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/radepsi_mod_h.f90	(revision 5923)
@@ -1,5 +1,5 @@
 MODULE radepsi_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC zeelog, zepsc, zepsco, zepscq, zepsct, zepscw, zepsec, zepscr, repsct
+  PUBLIC :: zeelog, zepsc, zepsco, zepscq, zepsct, zepscw, zepsec, zepscr, repsct
 
   REAL(KIND = 8) ZEELOG, ZEPSC, ZEPSCO, ZEPSCQ, ZEPSCT, ZEPSCW
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/radopt_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/radopt_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/radopt_mod_h.f90	(revision 5923)
@@ -1,5 +1,5 @@
 MODULE radopt_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC levoigt, novlp, kaer
+  PUBLIC :: levoigt, novlp, kaer
 
   LOGICAL LEVOIGT
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/regdim_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/regdim_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/regdim_mod_h.f90	(revision 5923)
@@ -1,5 +1,5 @@
 MODULE regdim_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC i1_deb, i1_fin, i2_deb, i2_fin, j_deb, j_fin
+  PUBLIC :: i1_deb, i1_fin, i2_deb, i2_fin, j_deb, j_fin
 
   INTEGER i1_deb, i1_fin
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/thermcell_old_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/thermcell_old_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/thermcell_old_mod_h.f90	(revision 5923)
@@ -1,5 +1,5 @@
 MODULE thermcell_old_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC r_aspect_thermals, l_mix_thermals, w2di_thermals
+  PUBLIC :: r_aspect_thermals, l_mix_thermals, w2di_thermals
   real, parameter :: r_aspect_thermals = 2.
   real, parameter :: l_mix_thermals = 30.
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/tsoilnudge_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/tsoilnudge_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/tsoilnudge_mod_h.f90	(revision 5923)
@@ -1,5 +1,5 @@
 MODULE tsoilnudge_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC nudge_tsoil, isoil_nudge, Tsoil_nudge, tau_soil_nudge
+  PUBLIC :: nudge_tsoil, isoil_nudge, Tsoil_nudge, tau_soil_nudge
 
   LOGICAL nudge_tsoil
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/yoecumf_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/yoecumf_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/yoecumf_mod_h.f90	(revision 5923)
@@ -5,5 +5,5 @@
 
   IMPLICIT NONE; PRIVATE
-  PUBLIC ENTRPEN, ENTRSCV, ENTRMID, ENTRDD, CMFCTOP, CMFCMAX, CMFCMIN, CMFDEPS, RHCDD, &
+  PUBLIC :: ENTRPEN, ENTRSCV, ENTRMID, ENTRDD, CMFCTOP, CMFCMAX, CMFCMIN, CMFDEPS, RHCDD, &
           CPRCON, LMFPEN, LMFSCV, LMFMID, LMFDD, LMFDUDV
 
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/yoethf_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/yoethf_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/yoethf_mod_h.f90	(revision 5923)
@@ -10,5 +10,5 @@
   !     *RHOH2O*  *DENSITY OF LIQUID WATER.   (RATM/100.)
   IMPLICIT NONE; PRIVATE
-  PUBLIC R2ES, R3LES, R3IES, R4LES, R4IES, R5LES, R5IES, RVTMP2, RHOH2O, R5ALVCP, &
+  PUBLIC :: R2ES, R3LES, R3IES, R4LES, R4IES, R5LES, R5IES, RVTMP2, RHOH2O, R5ALVCP, &
           R5ALSCP, RALVDCP, RALSDCP, RALFDCP, RTWAT, RTBER, RTBERCU, RTICE, RTICECU, &
           RTWAT_RTICE_R, RTWAT_RTICECU_R, RKOOP1, RKOOP2, OK_BAD_ECMWF_THERMO
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/yomcst2_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/yomcst2_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/yomcst2_mod_h.f90	(revision 5923)
@@ -1,5 +1,5 @@
 MODULE yomcst2_mod_h
   IMPLICIT NONE; PRIVATE
-  PUBLIC gammas, alphas, betas, Fmax, scut, qqa1, qqa2, qqa3, Qcoef1max, &
+  PUBLIC :: gammas, alphas, betas, Fmax, scut, qqa1, qqa2, qqa3, Qcoef1max, &
           Qcoef2max, Supcrit1, Supcrit2, choice, iflag_mix, coef_clos_ls, iflag_mix_adiab
 
Index: LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/yomcst_mod_h.f90
===================================================================
--- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/yomcst_mod_h.f90	(revision 5922)
+++ LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/yomcst_mod_h.f90	(revision 5923)
@@ -4,5 +4,5 @@
   IMPLICIT NONE; PRIVATE
 
-  PUBLIC RPI, RCLUM, RHPLA, RKBOL, RNAVO                   &
+  PUBLIC :: RPI, RCLUM, RHPLA, RKBOL, RNAVO                   &
           , RDAY, REA, REPSM, RSIYEA, RSIDAY, ROMEGA                  &
           , R_ecc, R_peri, R_incl                                      &
