Index: CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/AA_make
===================================================================
--- CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/AA_make	(revision 775)
+++ CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/AA_make	(revision 777)
@@ -88,5 +88,6 @@
 
 orca2:
-	(cd ../../modeles/NEMO/WORK; $(M_K) USER_INC='-I ../$(PRISM_DIR)/$(PRISM_ARCH)/build/lib/psmile.$(LIB_MPI)' USER_LIB='-L../$(PRISM_DIR)/$(PRISM_ARCH)/lib -lpsmile.$(LIB_MPI) -lmpp_io' P_P='key_trabbl_dif key_vectopt_loop key_vectopt_memory key_orca_r2 key_lim2 key_dynspg_flt key_ldfslp key_traldf_c2d key_traldf_eiv key_dynldf_c3d key_dtatem key_dtasal key_coupled key_trabbc key_zdftke key_zdftmx key_zdfddm key_oasis3 key_diahth key_diaeiv key_cpl_albedo key_cpl_discharge key_mpp_mpi' ; )
+	#(cd ../../modeles/NEMO/WORK; $(M_K) USER_INC='-I ../$(PRISM_DIR)/$(PRISM_ARCH)/build/lib/psmile.$(LIB_MPI)' USER_LIB='-L../$(PRISM_DIR)/$(PRISM_ARCH)/lib -lpsmile.$(LIB_MPI) -lmpp_io' P_P='key_trabbl_dif key_vectopt_loop key_vectopt_memory key_orca_r2 key_lim2 key_dynspg_flt key_ldfslp key_traldf_c2d key_traldf_eiv key_dynldf_c3d key_dtatem key_dtasal key_coupled key_trabbc key_zdftke key_zdftmx key_zdfddm key_oasis3 key_diahth key_diaeiv key_cpl_albedo key_cpl_discharge key_mpp_mpi' ; )
+	(cd ../../modeles/NEMO/WORK; $(M_K) FCM=use USER_INC='-I ../$(PRISM_DIR)/$(PRISM_ARCH)/build/lib/psmile.$(LIB_MPI)' USER_LIB='-L../$(PRISM_DIR)/$(PRISM_ARCH)/lib -lpsmile.$(LIB_MPI) -lmpp_io' P_P='key_trabbl_dif key_vectopt_loop key_vectopt_memory key_orca_r2 key_lim2 key_dynspg_flt key_ldfslp key_traldf_c2d key_traldf_eiv key_dynldf_c3d key_dtatem key_dtasal key_coupled key_trabbc key_zdftke key_zdftmx key_zdfddm key_oasis3 key_diahth key_diaeiv key_cpl_albedo key_cpl_discharge key_mpp_mpi key_iomput' ; )
 
 verif:
Index: CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/COMP/lim2.card
===================================================================
--- CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/COMP/lim2.card	(revision 775)
+++ CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/COMP/lim2.card	(revision 777)
@@ -18,11 +18,19 @@
 
 [OutputText]
-List=   (ice_evolu, ice_mouchard)
+List=   (ice_evolu)
 
 [OutputFiles]
-List=   (${PREFIX_NWRITE}_${DATE_OPA}_icemod.nc, ${R_OUT_ICE_NWRITE}/${PREFIX}_${WF1}_icemod.nc, Post_1M_icemod)
+List=   (ORCA2_1m_icemod.nc, ${R_OUT_ICE_O_M}/${PREFIX}_1M_icemod.nc, Post_1M_icemod),\
+        (ORCA2_5d_icemod.nc, ${R_OUT_ICE_O_D}/${PREFIX}_5D_icemod.nc, Post_time),\
+        (ORCA2_1d_icemod.nc, ${R_OUT_ICE_O_D}/${PREFIX}_1D_icemod.nc, Post_time)
 
 [Post_1M_icemod]
-Patches = ()
-GatherWithInternal = (nav_lon, nav_lat, deptht, time_counter)
-TimeSeriesVars = (iicethic, ileadfra, isnowthi, iicevelu, iicevelv)
+Patches = (Patch_20091030_histcom_time_axis)
+GatherWithInternal = (nav_lon, nav_lat, time_counter)
+TimeSeriesVars = (iicethic, isnowthi, iicevelu, iicevelv)
+
+[Post_time]
+Patches = (Patch_20091030_histcom_time_axis)
+GatherWithInternal =
+TimeSeriesVars =
+
Index: CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/COMP/lim2.card.noiomput
===================================================================
--- CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/COMP/lim2.card.noiomput	(revision 777)
+++ CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/COMP/lim2.card.noiomput	(revision 777)
@@ -0,0 +1,28 @@
+[Compatibility]
+libIGCM=1.0
+
+[UserChoices]
+
+[InitialStateFiles]
+List=	()
+
+[BoundaryFiles]
+List=	()
+ListNonDel= ()
+
+[ParametersFiles]
+List=	(${SUBMIT_DIR}/PARAM/namelist_ice_${RESOL_OCE}, namelist_ice)
+
+[RestartFiles]
+List=	(${config_UserChoices_JobName}_${NEMO_END}_restart_ice.nc, restart_icemod.nc, restart_ice_in.nc)
+
+[OutputText]
+List=   (ice_evolu, ice_mouchard)
+
+[OutputFiles]
+List=   (${PREFIX_NWRITE}_${DATE_OPA}_icemod.nc, ${R_OUT_ICE_NWRITE}/${PREFIX}_${WF1}_icemod.nc, Post_1M_icemod)
+
+[Post_1M_icemod]
+Patches = ()
+GatherWithInternal = (nav_lon, nav_lat, deptht, time_counter)
+TimeSeriesVars = (iicethic, ileadfra, isnowthi, iicevelu, iicevelv)
Index: CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/COMP/opa9.card
===================================================================
--- CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/COMP/opa9.card	(revision 775)
+++ CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/COMP/opa9.card	(revision 777)
@@ -5,4 +5,6 @@
 OPA_NPDT_JOURS=15
 ORCA_version=ORCA2.2
+io_xml=y
+io_server=n
 
 [InitialStateFiles]
@@ -27,5 +29,7 @@
 
 [ParametersFiles]
-List=	(${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE}, namelist)
+List=	(${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE}, namelist),       \
+        (${SUBMIT_DIR}/PARAM/iodef.xml,             iodef.xml),      \
+        (${SUBMIT_DIR}/PARAM/xmlio_server.def,      xmlio_server.def)
 
 [RestartFiles]
@@ -36,35 +40,41 @@
 
 [OutputFiles]
-List=   (${PREFIX_NWRITE}_${DATE_OPA}_grid_T.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_grid_T.nc, Post_1M_grid_T),\
-        (${PREFIX_NWRITE}_${DATE_OPA}_grid_U.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_grid_U.nc, Post_1M_grid_U) ,\
-        (${PREFIX_NWRITE}_${DATE_OPA}_grid_V.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_grid_V.nc, Post_1M_grid_V),\
-        (${PREFIX_NWRITE}_${DATE_OPA}_grid_W.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_grid_W.nc, Post_1M_grid_W),\
+List=   (ORCA2_1m_grid_T.nc, ${R_OUT_OCE_O_M}/${PREFIX}_1M_grid_T.nc, Post_1M_grid_T),\
+        (ORCA2_1m_grid_U.nc, ${R_OUT_OCE_O_M}/${PREFIX}_1M_grid_U.nc, Post_1M_grid_U),\
+        (ORCA2_1m_grid_V.nc, ${R_OUT_OCE_O_M}/${PREFIX}_1M_grid_V.nc, Post_1M_grid_V),\
+        (ORCA2_1m_grid_W.nc, ${R_OUT_OCE_O_M}/${PREFIX}_1M_grid_W.nc, Post_1M_grid_W),\
+        (ORCA2_5d_grid_T.nc, ${R_OUT_OCE_O_D}/${PREFIX}_5D_grid_T.nc, Post_time),\
+        (ORCA2_5d_grid_U.nc, ${R_OUT_OCE_O_D}/${PREFIX}_5D_grid_U.nc, Post_time),\
+        (ORCA2_5d_grid_V.nc, ${R_OUT_OCE_O_D}/${PREFIX}_5D_grid_V.nc, Post_time),\
+        (ORCA2_5d_grid_W.nc, ${R_OUT_OCE_O_D}/${PREFIX}_5D_grid_W.nc, Post_time),\
+        (ORCA2_1d_grid_T.nc, ${R_OUT_OCE_O_D}/${PREFIX}_1D_grid_T.nc, Post_time),\
+        (ORCA2_1d_grid_U.nc, ${R_OUT_OCE_O_D}/${PREFIX}_1D_grid_U.nc, Post_time),\
+        (ORCA2_1d_grid_V.nc, ${R_OUT_OCE_O_D}/${PREFIX}_1D_grid_V.nc, Post_time),\
+        (ORCA2_1d_grid_W.nc, ${R_OUT_OCE_O_D}/${PREFIX}_1D_grid_W.nc, Post_time),\
         (${PREFIX_NWRITE}_${DATE_OPA}_diaptr.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_diaptr.nc, Post_1M_diaptr),\
-        (${PREFIX_NWRITE}_${DATE_OPA}_S_tren.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_S_tren.nc, NONE),\
-        (${PREFIX_NWRITE}_${DATE_OPA}_T_tren.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_T_tren.nc, NONE),\
         (${PREFIX_NWRITE}_${DATE_OPA}_trends.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_trends.nc, NONE),\
-        (${PREFIX_NWRITE}_${DATE_OPA}_diagap.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_diagap.nc, NONE),\
-        (${PREFIX_NWRIHF}_${DATE_OPA}_grid_T.nc, ${R_OUT_OCE_NWRIHF}/${PREFIX}_${WF2}_grid_T.nc, NONE),\
-        (${PREFIX_NWRIHF}_${DATE_OPA}_grid_U.nc, ${R_OUT_OCE_NWRIHF}/${PREFIX}_${WF2}_grid_U.nc, NONE),\
-        (${PREFIX_NWRIHF}_${DATE_OPA}_grid_V.nc, ${R_OUT_OCE_NWRIHF}/${PREFIX}_${WF2}_grid_V.nc, NONE),\
-        (mesh_mask.nc                          , ${R_OUT_OCE_O}/${config_UserChoices_JobName}_mesh_mask.nc, NONE)
+        (damping.coeff.nc , ${R_OUT_OCE_O_D}/${PREFIX}_damping.coeff.nc, NONE),\
+        (mesh_mask.nc     , ${R_OUT_OCE_O}/${config_UserChoices_JobName}_mesh_mask.nc, NONE),\
+        (output.abort.nc  , ${R_OUT_OCE_D}/${PREFIX}_output.abort.nc, NONE),\
+        (output.init.nc   , ${R_OUT_OCE_O_I}/${config_UserChoices_JobName}_${PeriodDateBegin}_output.init.nc, NONE)
+
 
 [Post_1M_grid_T]
-Patches = ()
+Patches = (Patch_20091030_histcom_time_axis)
 GatherWithInternal = (nav_lon, nav_lat, deptht, time_counter)
 TimeSeriesVars = (sohtc300, sohefldo, soicecov, somxl010, sosaline, sossheig, sosstsst, sowaflcd, sowaflup)
 
 [Post_1M_grid_U]
-Patches = ()
+Patches = (Patch_20091030_histcom_time_axis)
 GatherWithInternal = (nav_lon, nav_lat, depthu, time_counter)
 TimeSeriesVars = (sozotaux)
 
 [Post_1M_grid_V]
-Patches = ()
+Patches = (Patch_20091030_histcom_time_axis)
 GatherWithInternal = (nav_lon, nav_lat, depthv, time_counter)
 TimeSeriesVars = (sometauy)
 
 [Post_1M_grid_W]
-Patches = ()
+Patches = (Patch_20091030_histcom_time_axis)
 GatherWithInternal = (nav_lon, nav_lat, depthw, time_counter)
 TimeSeriesVars =
@@ -73,3 +83,8 @@
 Patches = ()
 GatherWithInternal = (lat, deptht, depthw, time_counter)
-TimeSeriesVars = (zotemglo, zosalglo, zomsfglo, zotematl, zosalatl, zomsfatl, zotempac, zosalpac, zomsfpac, zotemind, zosalind, zomsfind, zotemipc, zosalipc, zomsfipc, sohtatl, sostatl, sohtpac, sostpac, sohtind, sostind, sohtipc, sostipc, sophtadv, sophtldf, sophtove, sophtldf, sopstadv, sopstove, zomsfeiv, sophteiv, sopsteiv) 
+TimeSeriesVars = (zotemglo, zosalglo, zomsfglo, zotematl, zosalatl, zomsfatl, zotempac, zosalpac, zomsfpac, zotemind, zosalind, zomsfind, zotemipc, zosalipc, zomsfipc, sohtatl, sostatl, sohtpac, sostpac, sohtind, sostind, sohtipc, sostipc, sophtadv, sophtove, sophtldf, sopstadv, sopstove, zomsfeiv, sophteiv, sopsteiv)
+
+[Post_time]
+Patches = (Patch_20091030_histcom_time_axis)
+GatherWithInternal =
+TimeSeriesVars =
Index: CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/COMP/opa9.card.noiomput
===================================================================
--- CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/COMP/opa9.card.noiomput	(revision 777)
+++ CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/COMP/opa9.card.noiomput	(revision 777)
@@ -0,0 +1,75 @@
+[Compatibility]
+libIGCM=1.0
+
+[UserChoices]
+OPA_NPDT_JOURS=15
+ORCA_version=ORCA2.2
+
+[InitialStateFiles]
+List=	()
+
+[BoundaryFiles]
+List=	()
+ListNonDel= (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_ORCA_version}/ahmcoef, .), \
+            (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_ORCA_version}/bathy_level.nc, .), \
+            (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_ORCA_version}/bathy_meter.nc, .), \
+            (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_ORCA_version}/coordinates.nc, .), \
+            (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_ORCA_version}/data_1m_potential_temperature_nomask.nc, .), \
+            (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_ORCA_version}/data_1m_salinity_nomask.nc, .), \
+            (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_ORCA_version}/geothermal_heating.nc, .),\
+            (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_ORCA_version}/runoff_1m_nomask.nc, .),\
+            (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_ORCA_version}/subbasins.nc, .),\
+            (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_ORCA_version}/chlaseawifs_c1m-99-05_smooth_ORCA_R2.nc, chlorophyll.nc),\
+            (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_ORCA_version}/Tides_K1_drg_ORCA_R2.nc, K1rowdrg.nc),\
+            (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_ORCA_version}/Tides_M2_drg_ORCA_R2.nc, M2rowdrg.nc),\
+            (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_ORCA_version}/tmaskitf_ORCA2_bis.nc, mask_itf.nc),\
+            (${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_ORCA_version}/kRGB61.txt, .)
+
+[ParametersFiles]
+List=	(${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE}, namelist)
+
+[RestartFiles]
+List=	(${config_UserChoices_JobName}_${NEMO_END}_restart.nc,  restart.nc, restartopa.nc)
+
+[OutputText]
+List=   (ocean.output, oceanx.prt, solver.stat)
+
+[OutputFiles]
+List=   (${PREFIX_NWRITE}_${DATE_OPA}_grid_T.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_grid_T.nc, Post_1M_grid_T),\
+        (${PREFIX_NWRITE}_${DATE_OPA}_grid_U.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_grid_U.nc, Post_1M_grid_U) ,\
+        (${PREFIX_NWRITE}_${DATE_OPA}_grid_V.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_grid_V.nc, Post_1M_grid_V),\
+        (${PREFIX_NWRITE}_${DATE_OPA}_grid_W.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_grid_W.nc, Post_1M_grid_W),\
+        (${PREFIX_NWRITE}_${DATE_OPA}_diaptr.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_diaptr.nc, Post_1M_diaptr),\
+        (${PREFIX_NWRITE}_${DATE_OPA}_S_tren.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_S_tren.nc, NONE),\
+        (${PREFIX_NWRITE}_${DATE_OPA}_T_tren.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_T_tren.nc, NONE),\
+        (${PREFIX_NWRITE}_${DATE_OPA}_trends.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_trends.nc, NONE),\
+        (${PREFIX_NWRITE}_${DATE_OPA}_diagap.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_diagap.nc, NONE),\
+        (${PREFIX_NWRIHF}_${DATE_OPA}_grid_T.nc, ${R_OUT_OCE_NWRIHF}/${PREFIX}_${WF2}_grid_T.nc, NONE),\
+        (${PREFIX_NWRIHF}_${DATE_OPA}_grid_U.nc, ${R_OUT_OCE_NWRIHF}/${PREFIX}_${WF2}_grid_U.nc, NONE),\
+        (${PREFIX_NWRIHF}_${DATE_OPA}_grid_V.nc, ${R_OUT_OCE_NWRIHF}/${PREFIX}_${WF2}_grid_V.nc, NONE),\
+        (mesh_mask.nc                          , ${R_OUT_OCE_O}/${config_UserChoices_JobName}_mesh_mask.nc, NONE)
+
+[Post_1M_grid_T]
+Patches = ()
+GatherWithInternal = (nav_lon, nav_lat, deptht, time_counter)
+TimeSeriesVars = (sohtc300, sohefldo, soicecov, somxl010, sosaline, sossheig, sosstsst, sowaflcd, sowaflup)
+
+[Post_1M_grid_U]
+Patches = ()
+GatherWithInternal = (nav_lon, nav_lat, depthu, time_counter)
+TimeSeriesVars = (sozotaux)
+
+[Post_1M_grid_V]
+Patches = ()
+GatherWithInternal = (nav_lon, nav_lat, depthv, time_counter)
+TimeSeriesVars = (sometauy)
+
+[Post_1M_grid_W]
+Patches = ()
+GatherWithInternal = (nav_lon, nav_lat, depthw, time_counter)
+TimeSeriesVars =
+
+[Post_1M_diaptr]
+Patches = ()
+GatherWithInternal = (lat, deptht, depthw, time_counter)
+TimeSeriesVars = (zotemglo, zosalglo, zomsfglo, zotematl, zosalatl, zomsfatl, zotempac, zosalpac, zomsfpac, zotemind, zosalind, zomsfind, zotemipc, zosalipc, zomsfipc, sohtatl, sostatl, sohtpac, sostpac, sohtind, sostind, sohtipc, sostipc, sophtadv, sophtldf, sophtove, sophtldf, sopstadv, sopstove, zomsfeiv, sophteiv, sopsteiv) 
Index: CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/COMP/opa9.driver
===================================================================
--- CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/COMP/opa9.driver	(revision 775)
+++ CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/COMP/opa9.driver	(revision 777)
@@ -43,12 +43,16 @@
     PAT_NRSTAR=$( supergrep nn_rstctl  ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} )
     PAT_NMSH=$(   supergrep nn_msh     ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} )
-    PAT_PRG=$(    supergrep nn_prg ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} )
+    PAT_PRG=$(    supergrep nn_prg     ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} )
     PAT_NF_PTR=$( supergrep nf_ptr_wri ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} )
 
-    ORCA_RDT=$( supergrep rn_rdt  ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} | sed 's/ *rn_rdt *=//' | sed 's/\. *//' )
+    ORCA_RDT=$(   supergrep rn_rdt     ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} | sed 's/ *rn_rdt *=//' | sed 's/\. *//' )
 
     # Period Length In Days between DateBegin and first day of calendar 0001 01 01
     # /!\ Needed by OPA namelist to compute file names /!\
     (( DaysSinceJC = $( IGCM_date_DaysSinceJC ${DateBegin} ) + 1 ))
+
+    ##--Variables used for XMLIO_SERVER configuration file
+    # using_server: .TRUE.(.FALSE.) to use(bypass) the io_server
+    PAT_SERVER=$( supergrep using_server ${SUBMIT_DIR}/PARAM/xmlio_server.def )
 
     IGCM_debug_PopStack "OCE_Initialize"
@@ -61,4 +65,7 @@
 
     NbFreq=$( echo ${config_OCE_WriteFrequency} | wc -w )
+
+    ## This informations are used for diaptr, trends and diagap files
+    ## only the first frequency is used for this files
 
     ##--Write Frequency Purpose ....
@@ -89,5 +96,5 @@
 
     ##--Write Frequency Purpose .... concerning the second opa file type.
-    if [ ${NbFreq} -eq 2 ] ; then
+    if [ ${NbFreq} -ge 2 ] ; then
 	frequency=$( echo ${config_OCE_WriteFrequency} | awk "-F " '{print $2}' )
 	factor=$( echo ${frequency} | sed -e "s/[yYmMdD]//" )
@@ -115,4 +122,28 @@
     fi
 
+
+    ##--Write Frequency for iomput
+    ## Differents frequencies are allowed for grid_[TUVW] and icemod files
+
+    V1D_ENABLE=".FALSE."
+    V5D_ENABLE=".FALSE."
+    V1M_ENABLE=".FALSE."
+    V1Y_ENABLE=".FALSE."
+
+    for frequency in ${config_OCE_WriteFrequency} ; do
+        case ${frequency} in
+            1D|1d) V1D_ENABLE=".TRUE." ;;
+        esac
+        case ${frequency} in
+            5D|5d) V5D_ENABLE=".TRUE." ;;
+        esac
+        case ${frequency} in
+            1M|1m) V1M_ENABLE=".TRUE." ;;
+        esac
+        case ${frequency} in
+            *[yY]) V1Y_ENABLE=".TRUE." ;;
+        esac
+    done
+
     # Period Length In Days between DateBegin and first day of calendar 0001 01 01
     # Needed by OPA namelist to compute correct file names 
@@ -190,4 +221,52 @@
     grep AUTO namelist
 
+    ##--Variables used for iodef xml configuration file
+    # output_1m_frequency_oce : output frequency of ocean output files in seconds
+    #     - length of 1 month (in seconds) 
+    #     - -1 for monthly mean with 31-28-31-30 .... calendar if
+    #          simulation are done per year. ie PeriodLength=1Y in config.card
+    #     - n days (in seconds) for other Period Length
+    #                           
+
+    output_1m_frequency_oce=-1
+
+    case ${config_UserChoices_PeriodLength} in
+        *Y|*y)
+              (( output_1m_frequency_oce = 86400 * $( IGCM_date_DaysInMonth ${year} ${month} ) )) 
+              if [ "${config_UserChoices_CalendarType}" != "360d" ] ; then
+                 output_1m_frequency_oce=-1
+              fi
+              ;;
+        *M|*m)
+              (( output_1m_frequency_oce = 86400 * $( IGCM_date_DaysInMonth ${year} ${month} ) ))
+              if [ "${config_UserChoices_CalendarType}" != "360d" ] ; then
+                 output_1m_frequency_oce=-1
+              fi
+              ;;
+        *)
+              (( output_1m_frequency_oce = PeriodLengthInDays * 86400 )) ;;
+    esac
+
+    echo 1M_Frequency in iodef : ${output_1m_frequency_oce}
+
+    # update iodef.xml
+
+    sed -e "s/<1D_ENABLE>/${V1D_ENABLE}/" \
+        -e "s/<5D_ENABLE>/${V5D_ENABLE}/" \
+        -e "s/<1M_ENABLE>/${V1M_ENABLE}/" \
+        -e "s/<1Y_ENABLE>/${V1Y_ENABLE}/" \
+        -e "s/<1M_FREQUENCY>/${output_1m_frequency_oce}/g" \
+        iodef.xml > iodef.xml.tmp
+
+    IGCM_sys_Mv iodef.xml.tmp iodef.xml
+
+    # update xmlio_server.def
+
+    if [ X${opa9_UserChoices_io_server} = Xy ] ; then
+        sed -e "s/${PAT_SERVER}/  using_server = .TRUE./" \
+        xmlio_server.def > xmlio_server.def.tmp
+        IGCM_sys_Mv xmlio_server.def.tmp xmlio_server.def
+    fi
+
     IGCM_debug_PopStack "OCE_Update"
 }
Index: CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/COMP/opa9.driver.noiomput
===================================================================
--- CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/COMP/opa9.driver.noiomput	(revision 777)
+++ CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/COMP/opa9.driver.noiomput	(revision 777)
@@ -0,0 +1,211 @@
+#!/bin/ksh
+#-----------------------------------------------------------------
+function OCE_Initialize
+{
+    IGCM_debug_PushStack "OCE_Initialize"
+
+    JOB_NAME=${config_UserChoices_JobName}
+    RESOL_OCE=$( echo $RESOL | awk "-Fx" '{print $1}' )
+
+    ORCA_NPDT_JOUR=${opa9_UserChoices_OPA_NPDT_JOURS:=15}
+
+    # Local function to find namelists parameters
+    supergrep () {
+ 	grep "^ *$1 *=" $2 | sed -e "s% *\!.*%%"
+    }
+
+    ##--Variables used by OPA --
+
+    # cn_exp    experience name
+    # nn_it000  number of the first time step
+    # nn_itend  number of the last time step
+    # nn_date0  initial calendar date yymmdd (used if  nn_rstctl=1)
+    # nn_leapy  Leap year calendar (1) or not (0), or 360 days calendar (30)
+    # nn_stock  frequency of creation of a restart file (modulo referenced to 1)
+    # nn_write  frequency of write in the output file   (modulo referenced to nn_it000)
+    # ln_rstart start from rest (F) or from a restart file (T)
+    # nn_rstctl restart control = 0 nn_it000 is not compared to the restart file value
+    #                           = 1 use nn_date0 in namelist (not the value in the restart file)
+    #                           = 2 calendar parameters read in the restart file
+    # nn_msh    =1 create a mesh file (coordinates, scale factors, masks)
+    # rn_rdt    time step in seconds for the dynamics (and tracer if nacc=0)   ==> 5760 (coming from namelist)
+    # nn_prg    time-step frequency of gap print in model output
+    # nf_ptr_wri frequency of zonal means and transport output
+
+    PAT_CEXPER=$( supergrep cn_exp     ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} )
+    PAT_NIT000=$( supergrep nn_it000   ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} )
+    PAT_NITEND=$( supergrep nn_itend   ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} )
+    PAT_NDATE0=$( supergrep nn_date0   ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} )
+    PAT_NLEAPY=$( supergrep nn_leapy   ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} )
+    PAT_NSTOCK=$( supergrep nn_stock   ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} )
+    PAT_NWRITE=$( supergrep nn_write   ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} )
+    PAT_RESTAR=$( supergrep ln_rstart  ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} )
+    PAT_NRSTAR=$( supergrep nn_rstctl  ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} )
+    PAT_NMSH=$(   supergrep nn_msh     ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} )
+    PAT_PRG=$(    supergrep nn_prg ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} )
+    PAT_NF_PTR=$( supergrep nf_ptr_wri ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} )
+
+    ORCA_RDT=$( supergrep rn_rdt  ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} | sed 's/ *rn_rdt *=//' | sed 's/\. *//' )
+
+    # Period Length In Days between DateBegin and first day of calendar 0001 01 01
+    # /!\ Needed by OPA namelist to compute file names /!\
+    (( DaysSinceJC = $( IGCM_date_DaysSinceJC ${DateBegin} ) + 1 ))
+
+    IGCM_debug_PopStack "OCE_Initialize"
+}
+
+#-----------------------------------------------------------------
+function OCE_Update
+{
+    IGCM_debug_PushStack "OCE_Update"
+
+    NbFreq=$( echo ${config_OCE_WriteFrequency} | wc -w )
+
+    ##--Write Frequency Purpose ....
+    frequency=$( echo ${config_OCE_WriteFrequency} | awk "-F " '{print $1}' )
+    factor=$( echo ${frequency} | sed -e "s/[yYmMdD]//" )
+    case ${frequency} in
+	1Y|1y)
+	    (( ORCA_NWRITE = ORCA_NPDT_JOUR * factor * $( IGCM_date_DaysInYear  ${year} ) ))          ;
+	    PREFIX_NWRITE=${config_UserChoices_JobName}_${factor}y ;
+	    R_OUT_OCE_NWRITE=${R_OUT_OCE_O_Y} ;
+	    R_OUT_ICE_NWRITE=${R_OUT_ICE_O_Y} ;
+	    WF1=${factor}Y ;;
+	1M|1m)
+	    (( ORCA_NWRITE = ORCA_NPDT_JOUR * factor * $( IGCM_date_DaysInMonth ${year} ${month} ) )) ;
+	    PREFIX_NWRITE=${config_UserChoices_JobName}_${factor}m ;
+	    R_OUT_OCE_NWRITE=${R_OUT_OCE_O_M} ;
+	    R_OUT_ICE_NWRITE=${R_OUT_ICE_O_M} ;
+	    WF1=${factor}M ;;
+	*D|*d)
+	    (( ORCA_NWRITE = ORCA_NPDT_JOUR * factor  ))  ;
+	    PREFIX_NWRITE=${config_UserChoices_JobName}_${factor}d ;
+	    R_OUT_OCE_NWRITE=${R_OUT_OCE_O_D} ;
+	    R_OUT_ICE_NWRITE=${R_OUT_ICE_O_D} ;
+	    WF1=${factor}D ;;
+	*)
+	    (( ORCA_NWRITE = 0 ))                                                            ;;
+    esac
+
+    ##--Write Frequency Purpose .... concerning the second opa file type.
+    if [ ${NbFreq} -eq 2 ] ; then
+	frequency=$( echo ${config_OCE_WriteFrequency} | awk "-F " '{print $2}' )
+	factor=$( echo ${frequency} | sed -e "s/[yYmMdD]//" )
+	case ${frequency} in
+	    *Y|*y)
+		(( ORCA_NWRIHF = ORCA_NPDT_JOUR * factor * $( IGCM_date_DaysInYear  ${year} ) ))          ;
+		PREFIX_NWRIHF=${config_UserChoices_JobName}_${factor}y ;
+		R_OUT_OCE_NWRIHF=${R_OUT_OCE_O_Y} ;
+		WF2=${factor}Y ;;
+	    *M|*m)
+		(( ORCA_NWRIHF = ORCA_NPDT_JOUR * factor * $( IGCM_date_DaysInMonth ${year} ${month} ) )) ;
+		PREFIX_NWRIHF=${config_UserChoices_JobName}_${factor}m ;
+		R_OUT_OCE_NWRIHF=${R_OUT_OCE_O_M} ;
+		WF2=${factor}M ;;
+	    *D|*d)
+		(( ORCA_NWRIHF = ORCA_NPDT_JOUR * factor ))  ;
+		PREFIX_NWRIHF=${config_UserChoices_JobName}_${factor}d ;
+		R_OUT_OCE_NWRIHF=${R_OUT_OCE_O_D} ;
+		WF2=${factor}D ;;
+	    *)
+		(( ORCA_NWRIHF = 0 ))                                                            ;;
+	esac
+    else
+	ORCA_NWRIHF=0
+    fi
+
+    # Period Length In Days between DateBegin and first day of calendar 0001 01 01
+    # Needed by OPA namelist to compute correct file names 
+    (( PeriodDaysSinceJC =  $( IGCM_date_DaysSinceJC ${PeriodDateBegin} ) + 1  ))
+
+    ##-- Number of time steps updated : the first, the last and the number of time steps
+    (( ORCA_NIT000 = ( PeriodDaysSinceJC - DaysSinceJC ) * ORCA_NPDT_JOUR + 1 ))
+    (( ORCA_NPDT   = PeriodLengthInDays * ORCA_NPDT_JOUR ))
+    (( ORCA_NITEND = ORCA_NIT000 + ORCA_NPDT - 1))
+
+    ##-- We force one restart file at the end of the trunk
+    ORCA_NSTOCK="${ORCA_NITEND}"
+
+    ##-- Let verify the number of time steps per day
+    (( NB_SEC_JOUR_MODEL = ORCA_NPDT_JOUR * ORCA_RDT ))
+    (( NB_SEC_JOUR = 60 * 60 * 24 ))
+
+    if [ ${NB_SEC_JOUR_MODEL} -ne ${NB_SEC_JOUR} ] ; then
+        echo " VERIFY ORCA_NPDT_JOUR in opa9.card "
+        exit
+    fi
+
+    ##-- Restart configuration
+    if ( [ "${CumulPeriod}" -eq 1 ] && [ "${config_OCE_Restart}" = "n" ] ) ; then
+	ORCA_LRSTAR=.FALSE.
+	ORCA_NRSTDT=0
+        # Put ORCA_NMSH=0 when OPA running in parallel mode
+	ORCA_NMSH=1
+	#echo "NO OPA RESTART"
+    elif ( [ "${CumulPeriod}" -eq 1 ] && [ "${config_OCE_Restart}" = "y" ] ) ; then
+	ORCA_LRSTAR=.TRUE.
+	ORCA_NRSTDT=0
+	ORCA_NMSH=0
+	#echo "OPA RESTART"
+    else
+	ORCA_LRSTAR=.TRUE.
+	ORCA_NRSTDT=2
+	ORCA_NMSH=0
+	#echo "OPA RESTART"
+    fi
+
+    # nleapy configuration
+    case ${config_UserChoices_CalendarType} in
+        leap|gregorian)
+            ORCA_NLEAPY=1;;
+        noleap)
+            ORCA_NLEAPY=0;;
+        360d)
+            ORCA_NLEAPY=30;;
+        *)
+            ORCA_NLEAPY=30
+    esac
+
+    typeset -r PRECIS=8
+    NEMO_END=$( echo $( awk "BEGIN { printf \"%0${PRECIS}d\",${ORCA_NITEND} }" ) ) 
+
+
+    sed -e "s/${PAT_CEXPER}/       cn_exp=\"${config_UserChoices_JobName}\"/" \
+	-e "s/${PAT_NIT000}/       nn_it000=${ORCA_NIT000}/"                    \
+	-e "s/${PAT_NITEND}/       nn_itend=${ORCA_NITEND}/"                    \
+	-e "s/${PAT_NDATE0}/       nn_date0=${PeriodDateBegin}/"                \
+        -e "s%${PAT_NLEAPY}%       nn_leapy=${ORCA_NLEAPY}%"                    \
+	-e "s/${PAT_NSTOCK}/       nn_stock=${ORCA_NSTOCK}/"                    \
+	-e "s/${PAT_NWRITE}/       nn_write=${ORCA_NWRITE}/"                    \
+	-e "s/${PAT_RESTAR}/       ln_rstart=${ORCA_LRSTAR}/"                 \
+	-e "s/${PAT_NRSTAR}/       nn_rstctl=${ORCA_NRSTDT}/"                    \
+	-e "s/${PAT_NMSH}/         nn_msh=${ORCA_NMSH}/"                        \
+	-e "s/${PAT_NPRG}/         nn_prg=${ORCA_NWRITE}/"                      \
+	-e "s/${PAT_NF_PTR}/       nf_ptr_wri=${ORCA_NWRITE}/"                \
+	namelist > namelist.tmp
+
+    IGCM_sys_Mv namelist.tmp namelist
+
+    echo 'Variables automatically updated in ORCA namelist'
+    grep AUTO namelist
+
+    IGCM_debug_PopStack "OCE_Update"
+}
+
+#-----------------------------------
+function OCE_Finalize
+{
+    IGCM_debug_PushStack "OCE_Finalize"
+
+    if [ -f date.file ] ; then
+        # Prefix use in opa9.card AND in lim2.card :
+	DATE_OPA=$( cat date.file | \
+	    sed "s/\ ${config_UserChoices_JobName}_[0-9]*[a-z]_\([0-9]*_[0-9]*\)_\ */\1/g" )
+	MainPrefix=${config_UserChoices_JobName}_1d_${DATE_OPA}
+	SecondPrefix=${config_UserChoices_JobName}_5d_${DATE_OPA}
+    fi
+
+    echo FINALIZE OCE !!!
+
+    IGCM_debug_PopStack "OCE_Finalize"
+}
Index: CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/PARAM/iodef.xml
===================================================================
--- CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/PARAM/iodef.xml	(revision 777)
+++ CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/PARAM/iodef.xml	(revision 777)
@@ -0,0 +1,334 @@
+<?xml version="1.0"?>
+
+<simulation> 
+  
+  <context id="nemo">
+    
+    <!-- groups of variables definition -->
+    
+    <field_definition level="1" prec="4" operation="ave(X)" freq_op="5760" enabled=".TRUE.">
+
+      <!-- T grid -->
+      
+      <group id="grid_T" axis_ref="none" grid_ref="grid_T">
+	<field id="toce"         description="temperature"                               unit="degC" axis_ref="deptht"   />
+       	<field id="soce"         description="salinity"                                  unit="psu"  axis_ref="deptht"   />
+	<field id="sst"          description="sea surface temperature"                   unit="degC"                     />
+	<field id="sss"          description="sea surface salinity"                      unit="psu"                      />
+	<field id="ssh"          description="sea surface height"                        unit="m"                        />
+	<field id="mldkz5"       description="mixing layer depth (Turbocline)"           unit="m"                        />
+	<field id="mldr10_1"     description="Mixed Layer Depth 0.01 ref.10m"            unit="m"                        />
+	<!-- next variables available with key_diahth -->
+	<field id="mlddzt"       description="Thermocline Depth (max dT/dz)"             unit="m"                        />
+	<field id="mldr10_3"     description="Mixed Layer Depth dr=0.03 (ref.10m)"       unit="m"                        />
+	<field id="mldr0_1"      description="Mixed Layer Depth dr=0.01 (ref.surf)"      unit="m"                        />
+	<field id="mldr0_3"      description="Mixed Layer Depth dr=0.03 (ref.surf)"      unit="m"                        />
+	<field id="mld|dt|"      description="Mixed Layer Depth |dt|=0.2 (ref.10m)"      unit="m"                        />
+	<field id="topthdep"     description="Top of the thermocline dt=-0.2 (ref.10m)"  unit="m"                        />
+	<field id="pycndep"      description="Pycnocline depth dr~dt=-0.2 (ref.10m)"     unit="m"                        />
+	<field id="BLT"          description="Barrier Layer Thickness"                   unit="m"                        />
+	<field id="tinv"         description="Max of vertical invertion of temperature"  unit="degC"                     />
+	<field id="depti"        description="Depth of max. vert. inv. of temperature"   unit="m"                        />
+        <field id="20d"          description="Depth of 20C isotherm"                     unit="m"                        />
+	<field id="28d"          description="Depth of 28C isotherm"                     unit="m"                        />
+	<field id="hc300"        description="Heat content 300 m"                        unit="W"                        />
+     </group>
+
+      <!-- SBC -->
+      
+      <group id="SBC" axis_ref="none" grid_ref="grid_T" freq_op="28800">
+
+	<field id="emp"          description="Net Upward Water Flux"                                        unit="kg/m2/s"  />
+	<field id="emps"         description="concentration/dilution water flux"                            unit="kg/m2/s"  />
+	<field id="snowpre"      description="Snow precipitation"                                           unit="kg/m2/s"  />
+	<field id="runoffs"      description="River Runoffs"                                                unit="Kg/m2/s"  />
+
+	<field id="qns+qsr"      description="Net Downward Heat Flux"                                       unit="W/m2"     />
+	<field id="qns"          description="non solar Downward Heat Flux"                                 unit="W/m2"     />
+	<field id="qsr"          description="Shortwave Radiation"                                          unit="W/m2"     />
+	<field id="qrp"          description="Surface Heat Flux: Damping"                                   unit="W/m2"     />
+	<field id="erp"          description="Surface Water Flux: Damping"                                  unit="Kg/m2/s"  />
+	<field id="taum"         description="wind stress module"                                           unit="N/m2"     />
+	<field id="wspd"         description="Wind speed module at 10 m "                                   unit="m/s"      />
+	
+	<!-- *_oce variables available with ln_blk_clio or ln_blk_core -->
+	<field id="qns_oce"      description="Non solar Downward Heat Flux over open ocean"                 unit="W/m2"     />
+	<field id="qlw_oce"      description="Longwave Downward Heat Flux over open ocean"                  unit="W/m2"     />
+	<field id="qsb_oce"      description="Sensible Downward Heat Flux over open ocean"                  unit="W/m2"     />
+	<field id="qla_oce"      description="Latent Downward Heat Flux over open ocean"                    unit="W/m2"     />
+	<field id="taum_oce"     description="wind stress module over open ocean"                           unit="N/m2"     />
+
+	<field id="ice_cover"    description="Ice fraction"                                                 unit="1"        />
+
+	<field id="ioceflxb"     description="Oceanic flux at the ice base"                                 unit="W/m2"     />
+	<field id="qsr_ai_cea"   description="Air-Ice downward solar heat flux (cell average)"              unit="W/m2"     />
+	<field id="qns_ai_cea"   description="Air-Ice downward non-solar heat flux (cell average)"          unit="W/m2"     />
+	<field id="qla_ai_cea"   description="Air-Ice downward Latent heat flux (cell average)"             unit="W/m2"     />
+	
+	<field id="qsr_io_cea"   description="Ice-Oce downward solar heat flux (cell average)"              unit="W/m2"     />
+	<field id="qns_io_cea"   description="Ice-Oce downward non-solar heat flux (cell average)"          unit="W/m2"     />
+	
+	<field id="snowthic_cea" description="Snow thickness (cell average)"                                unit="m"        />
+	<field id="icethic_cea"  description="Ice thickness (cell average)"                                 unit="m"        />
+	<field id="iceprod_cea"  description="Ice production (cell average)"                                unit="m/s"      />
+	
+	<field id="ice_pres"     description="Ice presence"                                                 unit="-"        />
+	<field id="ist_ipa"      description="Ice surface temperature (ice presence average)"               unit="degC"     />      
+	<field id="uice_ipa"     description="Ice velocity along i-axis at I-point (ice presence average)"  unit="m/s"      />      
+	<field id="vice_ipa"     description="Ice velocity along j-axis at I-point (ice presence average)"  unit="m/s"      />      
+	
+	<field id="utau_ice"     description="Wind stress along i-axis over the ice at i-point"             unit="N/m2"     />
+	<field id="vtau_ice"     description="Wind stress along j-axis over the ice at i-point"             unit="N/m2"     />
+	
+	<!-- icealb_cea: available key_coupled -->
+	<field id="icealb_cea"   description="Ice albedo (cell average)"                                    unit="1"        />
+      </group>
+
+      <!-- U grid -->
+      
+      <group id="grid_U"  axis_ref="depthu" grid_ref="grid_U">
+	<field id="utau"        description="Wind Stress along i-axis"                  unit="N/m2" axis_ref="none" />
+	<field id="uoce"        description="ocean current along i-axis"                unit="m/s"                  />
+	<field id="uoce_eff"    description="Effective ocean current along i-axis"      unit="m/s"                  />
+	<!-- uoce_eiv: available with key_traldf_eiv and key_diaeiv -->
+	<field id="uoce_eiv"    description="EIV ocean current along i-axis"            unit="m/s"                  />
+	<!-- uoce_eiv: available with key_trabbl_adv -->
+	<field id="uoce_bbl"    description="BBL ocean current along i-axis"            unit="m/s"                  />
+      </group>
+      
+      <!-- V grid -->
+      
+      <group id="grid_V"  axis_ref="depthv" grid_ref="grid_V">
+	<field id="vtau"        description="Wind Stress along j-axis"                  unit="N/m2" axis_ref="none" />
+	<field id="voce"        description="ocean current along j-axis"                unit="m/s"                  />
+	<field id="voce_eff"    description="Effective ocean current along j-axis"      unit="m/s"                  />
+	<!-- voce_eiv: available with key_traldf_eiv and key_diaeiv -->
+	<field id="voce_eiv"    description="EIV ocean current along j-axis"            unit="m/s"                  />
+	<!-- voce_eiv: available with key_trabbl_adv -->
+	<field id="voce_bbl"    description="BBL ocean current along j-axis"            unit="m/s"                  />
+      </group>
+      
+      <!-- W grid -->
+      
+      <group id="grid_W"  axis_ref="depthw" grid_ref="grid_W">
+	<field id="woce"        description="ocean vertical velocity"                   unit="m/s"                  />
+	<field id="woce_eff"    description="effective ocean vertical velocity"         unit="m/s"                  />
+	<!-- woce_eiv: available with key_traldf_eiv and key_diaeiv -->
+	<field id="woce_eiv"    description="EIV ocean vertical velocity"               unit="m/s"                  />
+	<!-- woce_eiv: available with key_trabbl_adv -->
+	<field id="woce_bbl"    description="BBL ocean vertical velocity"               unit="m/s"                  />
+	
+	<field id="avt"         description="vertical eddy diffusivity"                 unit="m2/s"                 />
+	<field id="avm"         description="vertical eddy viscosity"                   unit="m2/s"                 />
+	<!-- avs: available with key_zdfddm -->
+	<field id="avs"         description="salt vertical eddy diffusivity"            unit="m2/s"                 />
+	<!-- avt_evd and avm_evd: available with ln_zdfevd -->
+	<field id="avt_evd"     description="enhanced vertical diffusivity"             unit="m2/s"                 />
+	<field id="avm_evd"     description="enhanced vertical viscosity"               unit="m2/s"                 />
+	<!-- aht2d and  aht2d_eiv: available with key_traldf_eiv and key_traldf_c2d -->
+	<field id="aht2d"       description="lateral eddy diffusivity"                 unit="m2/s" axis_ref="none"  />
+	<field id="aht2d_eiv"   description="EIV lateral eddy diffusivity"             unit="m2/s" axis_ref="none"  />
+	<!-- avt_tide: available with key_zdftmx -->
+	<field id="av_tide"     description="tidal vertical diffusivity"               unit="m2/s"                 />
+      </group>
+      
+      
+    </field_definition>
+    
+    <!-- file definition -->
+    
+    <file_definition output_level="10" >
+
+      <!-- daily files -->
+
+      <file id="ORCA2_1d_grid_T" description="ocean T grid variables" output_freq="86400" output_level="5" enabled="<1D_ENABLE>">
+	<field ref="sst"          name="sosstsst"  />
+	<field ref="sss"          name="sosaline"  />
+	<field ref="emp"          name="sowaflup"  />
+	<field ref="qsr"          name="soshfldo"  />
+	<field ref="emps"         name="sowaflcd"  />
+	<field ref="qns+qsr"      name="sohefldo"  />
+	<field ref="mldr10_1"     name="somxl010"  />
+	<field ref="mldkz5"       name="somixhgt"  />
+	<field ref="ice_cover"    name="soicecov"  />
+	<field ref="wspd"         name="sowindsp"  />
+	<field ref="qrp"          name="sohefldp"  />
+	<field ref="erp"          name="sowafldp"  />
+	<field ref="mldr10_1"     name="sobowlin"  operation="t_max(X)" />
+	<field ref="mlddzt"       name="sothedep"  />
+	<field ref="20d"          name="so20chgt"  />
+	<field ref="28d"          name="so28chgt"  />
+	<field ref="hc300"        name="sohtc300"  />
+	<field ref="ist_ipa"      name="soicetem"  />
+	<field ref="icealb_cea"   name="soicealb"  />   
+      </file>
+
+      <file id="ORCA2_1d_grid_U" description="ocean U grid variables" output_freq="86400" output_level="5" enabled="<1D_ENABLE>">
+	<field ref="utau"         name="sozotaux"  />
+      </file>
+
+      <file id="ORCA2_1d_grid_V" description="ocean V grid variables" output_freq="86400" output_level="5" enabled="<1D_ENABLE>">
+	<field ref="vtau"         name="sometauy"  />
+      </file>
+
+      <file id="ORCA2_1d_grid_W" description="ocean W grid variables" output_freq="86400" output_level="5" enabled="<1D_ENABLE>">
+      </file>
+
+      <file id="ORCA2_1d_icemod" description="ice variables" output_freq="86400" output_level="5" enabled="<1D_ENABLE>">
+      </file>
+
+      <!-- 5d mean files -->
+
+      <file id="ORCA2_5d_grid_T" description="ocean T grid variables" output_freq="432000" output_level="5" enabled="<5D_ENABLE>">
+	<field ref="toce"         name="votemper"  />
+	<field ref="soce"         name="vosaline"  />
+	<field ref="sst"          name="sosstsst"  />
+	<field ref="sss"          name="sosaline"  />
+	<field ref="ssh"          name="sossheig"  />
+	<field ref="emp"          name="sowaflup"  />
+	<field ref="qsr"          name="soshfldo"  />
+	<field ref="emps"         name="sowaflcd"  />
+	<field ref="qns+qsr"      name="sohefldo"  />
+	<field ref="mldr10_1"     name="somxl010"  />
+	<field ref="mldkz5"       name="somixhgt"  />
+	<field ref="ice_cover"    name="soicecov"  />
+	<field ref="wspd"         name="sowindsp"  />
+	<field ref="qrp"          name="sohefldp"  />
+	<field ref="erp"          name="sowafldp"  />
+	<field ref="mldr10_1"     name="sobowlin"  operation="t_max(X)" />
+	<field ref="mlddzt"       name="sothedep"  />
+	<field ref="20d"          name="so20chgt"  />
+	<field ref="28d"          name="so28chgt"  />
+	<field ref="hc300"        name="sohtc300"  />
+	<field ref="ist_ipa"      name="soicetem"  />
+	<field ref="icealb_cea"   name="soicealb"  />   
+      </file>
+      
+      <file id="ORCA2_5d_grid_U" description="ocean U grid variables" output_freq="432000" output_level="5" enabled="<5D_ENABLE>">
+	<field ref="uoce"         name="vozocrtx"  />
+	<field ref="uoce_eiv"     name="vozoeivu"  />
+	<field ref="utau"         name="sozotaux"  />
+      </file>
+      
+      <file id="ORCA2_5d_grid_V" description="ocean V grid variables" output_freq="432000" output_level="5" enabled="<5D_ENABLE>">
+	<field ref="voce"         name="vomecrty"  />
+	<field ref="voce_eiv"     name="vomeeivv"  />
+	<field ref="vtau"         name="sometauy"  />
+      </file>
+      
+      <file id="ORCA2_5d_grid_W" description="ocean W grid variables" output_freq="432000" output_level="5" enabled="<5D_ENABLE>">
+	<field ref="woce"         name="vovecrtz" />
+	<field ref="woce_eiv"     name="voveeivw" />
+	<field ref="avt"          name="votkeavt" />
+	<field ref="avt_evd"      name="votkeevd" />
+	<field ref="avm"          name="votkeavm" />
+	<field ref="avm_evd"      name="votkeevm" />
+	<field ref="avs"          name="voddmavs" />
+	<field ref="aht2d"        name="soleahtw" />
+	<field ref="aht2d_eiv"    name="soleaeiw" />
+      </file>
+      
+      <file id="ORCA2_5d_icemod" description="ice variables" output_freq="432000" output_level="5" enabled="<5D_ENABLE>">
+	<field ref="ice_pres"                     />
+	<field ref="snowthic_cea" name="isnowthi" />
+	<field ref="icethic_cea"  name="iicethic" />
+	<field ref="iceprod_cea"  name="iiceprod" />
+	<field ref="ist_ipa"      name="iicetemp" />
+	<field ref="ioceflxb"     name="ioceflxb" />
+	<field ref="uice_ipa"     name="iicevelu" />
+	<field ref="vice_ipa"     name="iicevelv" />
+	<field ref="utau_ice"     name="iicestru" />
+	<field ref="vtau_ice"     name="iicestrv" />
+	<field ref="qsr_io_cea"   name="iicesflx" />
+	<field ref="qns_io_cea"   name="iicenflx" />
+	<field ref="snowpre"      name="isnowpre" />
+      </file>
+      
+      <!-- monthly files -->
+
+      <file id="ORCA2_1m_grid_T" description="ocean T grid variables" output_freq="<1M_FREQUENCY>" output_level="5" enabled="<1M_ENABLE>">
+	<field ref="toce"         name="votemper"  />
+	<field ref="soce"         name="vosaline"  />
+	<field ref="sst"          name="sosstsst"  />
+	<field ref="sss"          name="sosaline"  />
+	<field ref="ssh"          name="sossheig"  />
+	<field ref="emp"          name="sowaflup"  />
+	<field ref="qsr"          name="soshfldo"  />
+	<field ref="emps"         name="sowaflcd"  />
+	<field ref="qns+qsr"      name="sohefldo"  />
+	<field ref="mldr10_1"     name="somxl010"  />
+	<field ref="mldkz5"       name="somixhgt"  />
+	<field ref="ice_cover"    name="soicecov"  />
+	<field ref="wspd"         name="sowindsp"  />
+	<field ref="qrp"          name="sohefldp"  />
+	<field ref="erp"          name="sowafldp"  />
+	<field ref="mldr10_1"     name="sobowlin"  operation="t_max(X)" />
+	<field ref="mlddzt"       name="sothedep"  />
+	<field ref="20d"          name="so20chgt"  />
+	<field ref="28d"          name="so28chgt"  />
+	<field ref="hc300"        name="sohtc300"  />
+	<field ref="ist_ipa"      name="soicetem"  />
+	<field ref="icealb_cea"   name="soicealb"  />   
+      </file>
+
+      <file id="ORCA2_1m_grid_U" description="ocean U grid variables" output_freq="<1M_FREQUENCY>" output_level="5" enabled="<1M_ENABLE>">
+	<field ref="uoce"         name="vozocrtx"  />
+	<field ref="uoce_eiv"     name="vozoeivu"  />
+	<field ref="utau"         name="sozotaux"  />
+      </file>
+
+      <file id="ORCA2_1m_grid_V" description="ocean V grid variables" output_freq="<1M_FREQUENCY>" output_level="5" enabled="<1M_ENABLE>">
+	<field ref="voce"         name="vomecrty"  />
+	<field ref="voce_eiv"     name="vomeeivv"  />
+	<field ref="vtau"         name="sometauy"  />
+      </file>
+
+      <file id="ORCA2_1m_grid_W" description="ocean W grid variables" output_freq="<1M_FREQUENCY>" output_level="5" enabled="<1M_ENABLE>">
+	<field ref="woce"         name="vovecrtz" />
+	<field ref="woce_eiv"     name="voveeivw" />
+	<field ref="avt"          name="votkeavt" />
+	<field ref="avt_evd"      name="votkeevd" />
+	<field ref="avm"          name="votkeavm" />
+	<field ref="avm_evd"      name="votkeevm" />
+	<field ref="avs"          name="voddmavs" />
+	<field ref="aht2d"        name="soleahtw" />
+	<field ref="aht2d_eiv"    name="soleaeiw" />
+      </file>
+
+      <file id="ORCA2_1m_icemod" description="ice variables" output_freq="<1M_FREQUENCY>" output_level="5" enabled="<1M_ENABLE>">
+	<field ref="ice_pres"                     />
+	<field ref="snowthic_cea" name="isnowthi" />
+	<field ref="icethic_cea"  name="iicethic" />
+	<field ref="iceprod_cea"  name="iiceprod" />
+	<field ref="ist_ipa"      name="iicetemp" />
+	<field ref="ioceflxb"     name="ioceflxb" />
+	<field ref="uice_ipa"     name="iicevelu" />
+	<field ref="vice_ipa"     name="iicevelv" />
+	<field ref="utau_ice"     name="iicestru" />
+	<field ref="vtau_ice"     name="iicestrv" />
+	<field ref="qsr_io_cea"   name="iicesflx" />
+	<field ref="qns_io_cea"   name="iicenflx" />
+	<field ref="snowpre"      name="isnowpre" />
+      </file>
+
+    </file_definition>
+    
+    
+    <axis_definition>  
+      <axis id="deptht" description="Vertical T levels" unit="m" positive=".false." />
+      <axis id="depthu" description="Vertical U levels" unit="m" positive=".false." />
+      <axis id="depthv" description="Vertical V levels" unit="m" positive=".false." />
+      <axis id="depthw" description="Vertical W levels" unit="m" positive=".false." />
+      <axis id="none" description="axe non defini" unit="none" size="1" />
+    </axis_definition> 
+    
+    <grid_definition>
+      <grid id="grid_T" description="grid T" />
+      <grid id="grid_U" description="grid U" />
+      <grid id="grid_V" description="grid V" />
+      <grid id="grid_W" description="grid W" />
+    </grid_definition>    
+    
+  </context>
+  
+</simulation>
Index: CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/PARAM/xmlio_server.def
===================================================================
--- CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/PARAM/xmlio_server.def	(revision 777)
+++ CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/PARAM/xmlio_server.def	(revision 777)
@@ -0,0 +1,18 @@
+! xmlio_server namelist
+!
+! using_server: .TRUE.(.FALSE.) to use(bypass) the io_server
+! using_oasis : .TRUE.(.FALSE.) if nemo is coupled through OASIS
+! client_id   : used only for OASIS, NEMO      id in the namecouple
+! server_id   : used only for OASIS, io_server id in the namecouple
+!
+&coupling_param
+  using_server = .FALSE.
+  using_oasis  = .TRUE.
+  client_id    = 'oceanx'
+  server_id    = 'ionemo'
+/
+
+! global_mpi_buffer_size: size in Mo of the MPI buffer used by the io_server
+&mpi_param
+  global_mpi_buffer_size = 512
+/
Index: CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/POST/monitoring01_lim2.cfg
===================================================================
--- CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/POST/monitoring01_lim2.cfg	(revision 777)
+++ CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/POST/monitoring01_lim2.cfg	(revision 777)
@@ -0,0 +1,43 @@
+#**************************************************************
+# Author: Patrick Brockmann
+# Contact: Patrick.Brockmann@cea.fr
+# $Date: 2009/05/14 15:09:35 $
+# $Name: ATLAS_608_1_5 $
+# $Revision: 1.1.1.1 $
+# History:
+# Modification:
+#**************************************************************
+
+##################################################################################################################
+#-----------------------------------------------------------------------------------------------------------------
+#  field | files patterns | files additionnal | operations | title | units | calcul of area
+#-----------------------------------------------------------------------------------------------------------------
+#
+#   field = name of the field to monitore 
+#   files patterns = pattern of the files used to monitore the field (must be discriminant) 
+#   files additionnal = additionnal files accessible by $FER_DATA
+#   operations = operations to calculate the field 
+#   title = variable title
+#   units = variable units
+#   calcul of area = expression to use for the weight average
+#
+# Notes:
+#   - Comment lines begin by '#' character
+#   - Separator between fields is '|' character
+#   - Operations must use the ferret syntax, if several files are used precise with the syntax d=x to refer to the x dataset
+#   - files patterns, operations,title,units must be enclosed with character '"'
+#   - fields will be presented through an html page with thumbnails global, north, south, land, ocean.
+#     Use a field name with one of these pattern to display it under the corresponding thumbnail.
+#
+##################################################################################################################
+
+color=6D80FF
+smooth=12
+#-----------------------------------------------------------------------------------------------------------------
+#  field | files patterns | files additionnal | operations | title | units | calcul of area
+#-----------------------------------------------------------------------------------------------------------------
+ iicethic_north  | "iicethic"  | ORCA2.0_grid.nc | "(iicethic[d=1])" | "Ice thickness (NORTH)"      | "m" | "if lat[d=2] ge 0 and iicethic[d=1] ne 0 then mask[k=1,d=2]*area[d=2]"
+ iicethic_south  | "iicethic"  | ORCA2.0_grid.nc | "(iicethic[d=1])" | "Ice thickness (SOUTH)"      | "m" | "if lat[d=2] le 0 and iicethic[d=1] ne 0 then mask[k=1,d=2]*area[d=2]"
+ isnowthi_north  | "isnowthi"  | ORCA2.0_grid.nc | "(isnowthi[d=1])" | "Snow thickness (NORTH)"     | "m" | "if lat[d=2] ge 0 and isnowthi[d=1] ne 0 then mask[k=1,d=2]*area[d=2]"
+ isnowthi_south  | "isnowthi"  | ORCA2.0_grid.nc | "(isnowthi[d=1])" | "Snow thickness (SOUTH)"     | "m" | "if lat[d=2] le 0 and isnowthi[d=1] ne 0 then mask[k=1,d=2]*area[d=2]"
+#-----------------------------------------------------------------------------------------------------------------
Index: CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/README
===================================================================
--- CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/README	(revision 777)
+++ CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/README	(revision 777)
@@ -0,0 +1,19 @@
+IPSLCM5_v2
+
+4/11/09
+
+iomput in NEMO :
+
+Compilation : 
+- key_iomput added in AA_make
+- switch the commented line to compile without key_iomput
+
+
+Execution :
+- COMP, PARAM and POST directories have been updated
+- switch to COMP/*.noiomput files to run without iomput
+
+Test underway on mercure and brodie.
+
+
+
Index: CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/config.card
===================================================================
--- CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/config.card	(revision 775)
+++ CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/config.card	(revision 777)
@@ -11,5 +11,5 @@
 #-- (<8 chars MAX for JobName)
 JobName=CM5
-LongName="IPSLCM5_v2 configuration"
+LongName="IPSLCM5_v2 configuration with iomput"
 TagName=IPSLCM5
 #============================
@@ -113,5 +113,5 @@
 #D-- OCE -
 [OCE]
-WriteFrequency="1M"
+WriteFrequency="1M 1D"
 # If config_Restarts_OverRule == 'n' all params are read
 Restart= n
@@ -127,5 +127,5 @@
 #D-- ICE -
 [ICE]
-WriteFrequency="1M"
+WriteFrequency="1M 1D"
 # If config_Restarts_OverRule == 'n' all params are read
 Restart= n
Index: CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/scripts/BB_make
===================================================================
--- CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/scripts/BB_make	(revision 775)
+++ CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/scripts/BB_make	(revision 777)
@@ -12,6 +12,4 @@
 #-Q- sx8mercure  # Compiler options NEMO (CEA SX8-NEC) 
 #-Q- sx8mercure  F_O = -f2003 nocbind -size_t64 -dw -Wf\"-A dbl4\" -sx8 -C vopt -P stack -Wf"-init stack=nan" -Wl"-f nan" -Wf"-P nh -O overlap" -Wf"-P nh" -Wf,-pvctl noassume loopcnt=10000 shape=10000000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
-#-Q- sx8mercure  # For SX9 delete -sx8 option
-#-Q- sx8mercure  # F_O = -f2003 nocbind -size_t64 -dw -Wf\"-A dbl4\" -C vopt -P stack -Wf"-init stack=nan" -Wl"-f nan" -Wf"-P nh -O overlap" -Wf"-P nh" -Wf,-pvctl noassume loopcnt=10000 shape=10000000 -L transform -I $(MODDIR) -I $(MODDIR)/oce -I $(NCDF_INC) $(USER_INC) 
 #-Q- sx8mercure  L_X = $(L_O)
 #-Q- sx8brodie  # Compiler options NEMO (IDRIS SX8-NEC) 
@@ -96,5 +94,5 @@
 # A variables related to xmlioserver compilationi (fcm or AA_make)
 # Please do not change 
-override FCM += use
+override FCM ?= notuse
 
 KEY_LIST = \
@@ -153,4 +151,5 @@
      key_orca_r4 \
      key_pisces \
+     key_pomme_r025 \
      key_top \
      key_trabbc \
@@ -186,16 +185,16 @@
 		$(MODEL_LIB)(agrif_opa_update.o)\
 		$(MODEL_LIB)(albedo.o)\
+		$(MODEL_LIB)(bdy_oce.o)\
+		$(MODEL_LIB)(bdy_par.o)\
 		$(MODEL_LIB)(bdydta.o)\
 		$(MODEL_LIB)(bdydyn.o)\
 		$(MODEL_LIB)(bdyini.o)\
-		$(MODEL_LIB)(bdy_oce.o)\
-		$(MODEL_LIB)(bdy_par.o)\
 		$(MODEL_LIB)(bdytides.o)\
 		$(MODEL_LIB)(bdytra.o)\
 		$(MODEL_LIB)(bdyvol.o)\
 		$(MODEL_LIB)(c1d.o)\
+		$(MODEL_LIB)(cla.o)\
 		$(MODEL_LIB)(cla_div.o)\
 		$(MODEL_LIB)(cla_dynspg.o)\
-		$(MODEL_LIB)(cla.o)\
 		$(MODEL_LIB)(closea.o)\
 		$(MODEL_LIB)(cpl_oasis3.o)\
@@ -209,13 +208,13 @@
 		$(MODEL_LIB)(dianam.o)\
 		$(MODEL_LIB)(diaptr.o)\
+		$(MODEL_LIB)(diawri.o)\
 		$(MODEL_LIB)(diawri_c1d.o)\
-		$(MODEL_LIB)(diawri.o)\
 		$(MODEL_LIB)(divcur.o)\
+		$(MODEL_LIB)(dom_ice_2.o)\
+		$(MODEL_LIB)(dom_oce.o)\
 		$(MODEL_LIB)(domain.o)\
 		$(MODEL_LIB)(domcfg.o)\
 		$(MODEL_LIB)(domhgr.o)\
-		$(MODEL_LIB)(dom_ice_2.o)\
 		$(MODEL_LIB)(dommsk.o)\
-		$(MODEL_LIB)(dom_oce.o)\
 		$(MODEL_LIB)(domstp.o)\
 		$(MODEL_LIB)(domvvl.o)\
@@ -224,19 +223,20 @@
 		$(MODEL_LIB)(dtasal.o)\
 		$(MODEL_LIB)(dtatem.o)\
+		$(MODEL_LIB)(dynadv.o)\
 		$(MODEL_LIB)(dynadv_cen2.o)\
-		$(MODEL_LIB)(dynadv.o)\
 		$(MODEL_LIB)(dynadv_ubs.o)\
+		$(MODEL_LIB)(dynbfr.o)\
 		$(MODEL_LIB)(dyncor_c1d.o)\
 		$(MODEL_LIB)(dynhpg.o)\
 		$(MODEL_LIB)(dynkeg.o)\
+		$(MODEL_LIB)(dynldf.o)\
 		$(MODEL_LIB)(dynldf_bilap.o)\
 		$(MODEL_LIB)(dynldf_bilapg.o)\
-		$(MODEL_LIB)(dynldf.o)\
 		$(MODEL_LIB)(dynldf_iso.o)\
 		$(MODEL_LIB)(dynldf_lap.o)\
+		$(MODEL_LIB)(dynnxt.o)\
 		$(MODEL_LIB)(dynnxt_c1d.o)\
-		$(MODEL_LIB)(dynnxt.o)\
+		$(MODEL_LIB)(dynspg.o)\
 		$(MODEL_LIB)(dynspg_exp.o)\
-		$(MODEL_LIB)(dynspg.o)\
 		$(MODEL_LIB)(dynspg_flt.o)\
 		$(MODEL_LIB)(dynspg_oce.o)\
@@ -244,14 +244,14 @@
 		$(MODEL_LIB)(dynvor.o)\
 		$(MODEL_LIB)(dynzad.o)\
+		$(MODEL_LIB)(dynzdf.o)\
 		$(MODEL_LIB)(dynzdf_exp.o)\
-		$(MODEL_LIB)(dynzdf.o)\
 		$(MODEL_LIB)(dynzdf_imp.o)\
 		$(MODEL_LIB)(eosbn2.o)\
 		$(MODEL_LIB)(fldread.o)\
 		$(MODEL_LIB)(flo4rk.o)\
+		$(MODEL_LIB)(flo_oce.o)\
 		$(MODEL_LIB)(floats.o)\
 		$(MODEL_LIB)(floblk.o)\
 		$(MODEL_LIB)(flodom.o)\
-		$(MODEL_LIB)(flo_oce.o)\
 		$(MODEL_LIB)(flowri.o)\
 		$(MODEL_LIB)(geo2ocean.o)\
@@ -259,6 +259,6 @@
 		$(MODEL_LIB)(iceini_2.o)\
 		$(MODEL_LIB)(in_out_manager.o)\
+		$(MODEL_LIB)(iom.o)\
 		$(MODEL_LIB)(iom_def.o)\
-		$(MODEL_LIB)(iom.o)\
 		$(MODEL_LIB)(iom_ioipsl.o)\
 		$(MODEL_LIB)(iom_nf90.o)\
@@ -292,11 +292,11 @@
 		$(MODEL_LIB)(mppini.o)\
 		$(MODEL_LIB)(oasis4_date.o)\
+		$(MODEL_LIB)(obc_oce.o)\
+		$(MODEL_LIB)(obc_par.o)\
 		$(MODEL_LIB)(obcdta.o)\
+		$(MODEL_LIB)(obcdyn.o)\
 		$(MODEL_LIB)(obcdyn_bt.o)\
-		$(MODEL_LIB)(obcdyn.o)\
 		$(MODEL_LIB)(obcfla.o)\
 		$(MODEL_LIB)(obcini.o)\
-		$(MODEL_LIB)(obc_oce.o)\
-		$(MODEL_LIB)(obc_par.o)\
 		$(MODEL_LIB)(obcrad.o)\
 		$(MODEL_LIB)(obcrst.o)\
@@ -311,4 +311,6 @@
 		$(MODEL_LIB)(prtctl.o)\
 		$(MODEL_LIB)(restart.o)\
+		$(MODEL_LIB)(sbc_ice.o)\
+		$(MODEL_LIB)(sbc_oce.o)\
 		$(MODEL_LIB)(sbcana.o)\
 		$(MODEL_LIB)(sbcblk_clio.o)\
@@ -317,28 +319,26 @@
 		$(MODEL_LIB)(sbcflx.o)\
 		$(MODEL_LIB)(sbcfwb.o)\
-		$(MODEL_LIB)(sbc_ice.o)\
 		$(MODEL_LIB)(sbcice_if.o)\
+		$(MODEL_LIB)(sbcice_lim.o)\
 		$(MODEL_LIB)(sbcice_lim_2.o)\
-		$(MODEL_LIB)(sbcice_lim.o)\
 		$(MODEL_LIB)(sbcmod.o)\
-		$(MODEL_LIB)(sbc_oce.o)\
 		$(MODEL_LIB)(sbcrnf.o)\
 		$(MODEL_LIB)(sbcssm.o)\
 		$(MODEL_LIB)(sbcssr.o)\
+		$(MODEL_LIB)(sol_oce.o)\
 		$(MODEL_LIB)(solmat.o)\
-		$(MODEL_LIB)(sol_oce.o)\
 		$(MODEL_LIB)(solpcg.o)\
 		$(MODEL_LIB)(solsor.o)\
 		$(MODEL_LIB)(solver.o)\
 		$(MODEL_LIB)(sshwzv.o)\
+		$(MODEL_LIB)(step.o)\
 		$(MODEL_LIB)(step_c1d.o)\
-		$(MODEL_LIB)(step.o)\
 		$(MODEL_LIB)(stpctl.o)\
 		$(MODEL_LIB)(thd_ice_2.o)\
+		$(MODEL_LIB)(traadv.o)\
 		$(MODEL_LIB)(traadv_cen2.o)\
 		$(MODEL_LIB)(traadv_eiv.o)\
-		$(MODEL_LIB)(traadv.o)\
+		$(MODEL_LIB)(traadv_muscl.o)\
 		$(MODEL_LIB)(traadv_muscl2.o)\
-		$(MODEL_LIB)(traadv_muscl.o)\
 		$(MODEL_LIB)(traadv_qck.o)\
 		$(MODEL_LIB)(traadv_tvd.o)\
@@ -347,7 +347,7 @@
 		$(MODEL_LIB)(trabbl.o)\
 		$(MODEL_LIB)(tradmp.o)\
+		$(MODEL_LIB)(traldf.o)\
 		$(MODEL_LIB)(traldf_bilap.o)\
 		$(MODEL_LIB)(traldf_bilapg.o)\
-		$(MODEL_LIB)(traldf.o)\
 		$(MODEL_LIB)(traldf_iso.o)\
 		$(MODEL_LIB)(traldf_lap.o)\
@@ -356,6 +356,6 @@
 		$(MODEL_LIB)(traqsr.o)\
 		$(MODEL_LIB)(trasbc.o)\
+		$(MODEL_LIB)(trazdf.o)\
 		$(MODEL_LIB)(trazdf_exp.o)\
-		$(MODEL_LIB)(trazdf.o)\
 		$(MODEL_LIB)(trazdf_imp.o)\
 		$(MODEL_LIB)(trc_oce.o)\
@@ -369,4 +369,5 @@
 		$(MODEL_LIB)(trdvor.o)\
 		$(MODEL_LIB)(trdvor_oce.o)\
+		$(MODEL_LIB)(zdf_oce.o)\
 		$(MODEL_LIB)(zdfbfr.o)\
 		$(MODEL_LIB)(zdfddm.o)\
@@ -375,5 +376,4 @@
 		$(MODEL_LIB)(zdfkpp.o)\
 		$(MODEL_LIB)(zdfmxl.o)\
-		$(MODEL_LIB)(zdf_oce.o)\
 		$(MODEL_LIB)(zdfric.o)\
 		$(MODEL_LIB)(zdftke.o)\
@@ -554,19 +554,49 @@
 	agrif_opa_update.F90
 $(MODEL_LIB)(albedo.o) :	\
-	in_out_manager.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	in_out_manager.F90 \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(phycst.o) \
+	in_out_manager.F90 \
 	phycst.F90 \
 	KEY_CPP \
 	albedo.F90
+$(MODEL_LIB)(bdy_oce.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	bdy_par.F90 \
+	par_oce.F90 \
+	KEY_CPP \
+	bdy_oce.F90
+$(MODEL_LIB)(bdy_par.o) :	\
+	KEY_CPP \
+	bdy_par.F90
 $(MODEL_LIB)(bdydta.o) :	\
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
 	bdy_oce.F90 \
 	bdy_par.F90 \
@@ -574,6 +604,6 @@
 	dom_oce.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
-	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -581,4 +611,30 @@
 	lbclnk.F90 \
 	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdytides.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	bdy_oce.F90 \
+	bdytides.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	oce.F90 \
+	phycst.F90 \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	bdydta.F90
+$(MODEL_LIB)(bdydyn.o) :	\
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(bdy_par.o) \
@@ -586,43 +642,64 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	bdy_oce.F90 \
+	bdy_par.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdytides.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	bdy_oce.F90 \
+	bdytides.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	phycst.F90 \
+	KEY_CPP \
+	bdydyn.F90
+$(MODEL_LIB)(bdyini.o) :	\
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	bdy_oce.F90 \
-	bdytides.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdytides.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	oce.F90 \
-	phycst.F90 \
-	$(IOIPSL_LIB) \
-	KEY_CPP \
-	bdydta.F90
-$(MODEL_LIB)(bdydyn.o) :	\
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	bdy_oce.F90 \
 	bdy_par.F90 \
@@ -631,8 +708,71 @@
 	in_out_manager.F90 \
 	iom.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdytides.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	bdy_oce.F90 \
+	bdytides.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	KEY_CPP \
+	bdyini.F90
+$(MODEL_LIB)(bdytides.o) :	\
+	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	bdy_par.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(bdy_par.o) \
@@ -642,34 +782,6 @@
 	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	bdy_oce.F90 \
-	bdytides.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdytides.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	oce.F90 \
-	phycst.F90 \
-	KEY_CPP \
-	bdydyn.F90
-$(MODEL_LIB)(bdyini.o) :	\
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	bdy_oce.F90 \
 	bdy_par.F90 \
@@ -677,118 +789,6 @@
 	dom_oce.F90 \
 	in_out_manager.F90 \
-	iom_def.F90 \
-	iom.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	bdy_oce.F90 \
-	bdytides.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdytides.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	oce.F90 \
-	KEY_CPP \
-	bdyini.F90
-$(MODEL_LIB)(bdy_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	bdy_par.F90 \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	KEY_CPP \
-	bdy_oce.F90
-$(MODEL_LIB)(bdy_par.o) :	\
-	KEY_CPP \
-	bdy_par.F90
-$(MODEL_LIB)(bdytides.o) :	\
-	bdy_par.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	bdy_oce.F90 \
-	bdy_par.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
+	iom.F90 \
+	lbclnk.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -796,4 +796,13 @@
 	bdytides.F90
 $(MODEL_LIB)(bdytra.o) :	\
+	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
 	bdy_par.F90 \
 	dom_oce.F90 \
@@ -802,56 +811,45 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
 	bdy_oce.F90 \
 	dom_oce.F90 \
 	in_out_manager.F90 \
 	lbclnk.F90 \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
 	oce.F90 \
 	KEY_CPP \
 	bdytra.F90
 $(MODEL_LIB)(bdyvol.o) :	\
+	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
 	bdy_par.F90 \
 	dom_oce.F90 \
 	in_out_manager.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
+	lbcnfd.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	bdy_oce.F90 \
 	dom_oce.F90 \
 	in_out_manager.F90 \
 	lib_mpp.F90 \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
 	oce.F90 \
 	phycst.F90 \
@@ -863,33 +861,64 @@
 	KEY_CPP \
 	c1d.F90
+$(MODEL_LIB)(cla.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	sbc_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	cla.F90
 $(MODEL_LIB)(cla_div.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	oce.F90 \
 	sbc_oce.F90 \
@@ -898,11 +927,4 @@
 	cla_div.F90
 $(MODEL_LIB)(cla_dynspg.o) :	\
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
@@ -921,4 +943,11 @@
 	$(MODEL_LIB)(sol_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	obc_oce.F90 \
 	obc_par.F90 \
@@ -930,14 +959,10 @@
 	sol_oce.F90 \
 	zdf_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obcvol.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -948,6 +973,10 @@
 	$(MODEL_LIB)(solsor.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
 	obcdyn.F90 \
-	obc_oce.F90 \
 	obcvol.F90 \
 	oce.F90 \
@@ -962,68 +991,31 @@
 	KEY_CPP \
 	cla_dynspg.F90
-$(MODEL_LIB)(cla.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	oce.F90 \
-	sbc_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	cla.F90
 $(MODEL_LIB)(closea.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	oce.F90 \
 	sbc_oce.F90 \
@@ -1032,36 +1024,31 @@
 	closea.F90
 $(MODEL_LIB)(cpl_oasis3.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
 	par_oce.F90 \
 	KEY_CPP \
 	cpl_oasis3.F90
 $(MODEL_LIB)(cpl_oasis4.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbcnfd.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -1074,4 +1061,9 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbcnfd.F90 \
+	lib_print.f90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -1079,15 +1071,15 @@
 	prtctl.F90 \
 	restart.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oasis4_date.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	daymod.F90 \
 	dom_oce.F90 \
 	in_out_manager.F90 \
 	lib_mpp.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oasis4_date.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
 	oasis4_date.F90 \
 	par_oce.F90 \
@@ -1096,24 +1088,12 @@
 	cpl_oasis4.F90
 $(MODEL_LIB)(daymod.o) :	\
-	c1d.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(c1d.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -1128,4 +1108,16 @@
 	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zpshde.o) \
+	c1d.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -1136,7 +1128,4 @@
 	zdfmxl.F90 \
 	zpshde.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -1145,4 +1134,7 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
 	phycst.F90 \
 	prtctl.F90 \
@@ -1151,8 +1143,4 @@
 	daymod.F90
 $(MODEL_LIB)(diadimg.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -1164,4 +1152,8 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lib_print.f90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -1169,11 +1161,11 @@
 	prtctl.F90 \
 	restart.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
 	daymod.F90 \
 	dom_oce.F90 \
 	in_out_manager.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
 	oce.F90 \
 	domzgr_substitute.h90 \
@@ -1181,21 +1173,16 @@
 	diadimg.F90
 $(MODEL_LIB)(diafwb.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -1205,4 +1192,7 @@
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -1214,4 +1204,17 @@
 	diafwb.F90
 $(MODEL_LIB)(diagap.o) :	\
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
 	daymod.F90 \
 	dom_oce.F90 \
@@ -1221,23 +1224,18 @@
 	lbcnfd.F90 \
 	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
 	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
 	daymod.F90 \
 	dianam.F90 \
@@ -1247,12 +1245,4 @@
 	in_out_manager.F90 \
 	lib_mpp.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
 	oce.F90 \
 	domzgr_substitute.h90 \
@@ -1261,18 +1251,18 @@
 	diagap.F90
 $(MODEL_LIB)(diahdy.o) :	\
-	in_out_manager.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -1281,4 +1271,14 @@
 	diahdy.F90
 $(MODEL_LIB)(diahth.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -1289,6 +1289,54 @@
 	lbclnk.F90 \
 	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	oce.F90 \
+	phycst.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	diahth.F90
+$(MODEL_LIB)(dianam.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	phycst.F90 \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	dianam.F90
+$(MODEL_LIB)(diaptr.o) :	\
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
@@ -1296,30 +1344,5 @@
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	oce.F90 \
-	phycst.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	diahth.F90
-$(MODEL_LIB)(dianam.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -1328,25 +1351,9 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
 	daymod.F90 \
 	dom_oce.F90 \
 	in_out_manager.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(phycst.o) \
-	phycst.F90 \
-	KEY_CPP \
-	dianam.F90
-$(MODEL_LIB)(diaptr.o) :	\
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
-	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -1355,15 +1362,51 @@
 	lbcnfd.F90 \
 	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
 	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	phycst.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	diaptr.F90
+$(MODEL_LIB)(diawri.o) :	\
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
@@ -1371,35 +1414,55 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	daymod.F90 \
 	dianam.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
+	dom_ice_2.F90 \
+	dom_oce.F90 \
+	fldread.F90 \
+	ice_2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(diadimg.o) \
+	$(MODEL_LIB)(diahth.o) \
 	$(MODEL_LIB)(dianam.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	oce.F90 \
-	phycst.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	$(IOIPSL_LIB) \
-	KEY_CPP \
-	diaptr.F90
-$(MODEL_LIB)(diawri_c1d.o) :	\
-	closea.F90 \
-	cpl_oasis3.F90 \
+	$(MODEL_LIB)(limwri_2.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcssr.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	daymod.F90 \
 	diadimg.F90 \
@@ -1407,17 +1470,27 @@
 	dianam.F90 \
 	dom_oce.F90 \
-	domvvl.F90 \
-	dynzdf_exp.F90 \
-	eosbn2.F90 \
-	fldread.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
 	ldfdyn_oce.F90 \
 	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	limwri_2.F90 \
+	oce.F90 \
+	phycst.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	sbcssr.F90 \
+	sol_oce.F90 \
+	zdf_oce.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(lib_mpp.o) \
+	lib_mpp.F90 \
+	diawri_dimg.h90 \
+	zdfddm_substitute.h90 \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	diawri.F90
+$(MODEL_LIB)(diawri_c1d.o) :	\
 	$(MODEL_LIB)(closea.o) \
 	$(MODEL_LIB)(cpl_oasis3.o) \
@@ -1447,4 +1520,6 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcana.o) \
 	$(MODEL_LIB)(sbcblk_clio.o) \
@@ -1454,8 +1529,6 @@
 	$(MODEL_LIB)(sbcfwb.o) \
 	$(MODEL_LIB)(sbcice_if.o) \
+	$(MODEL_LIB)(sbcice_lim.o) \
 	$(MODEL_LIB)(sbcice_lim_2.o) \
-	$(MODEL_LIB)(sbcice_lim.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
 	$(MODEL_LIB)(sbcssm.o) \
@@ -1464,7 +1537,28 @@
 	$(MODEL_LIB)(trazdf_exp.o) \
 	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfbfr.o) \
 	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
+	closea.F90 \
+	cpl_oasis3.F90 \
+	daymod.F90 \
+	diadimg.F90 \
+	diahth.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	domvvl.F90 \
+	dynzdf_exp.F90 \
+	eosbn2.F90 \
+	fldread.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	limwri_2.F90 \
 	oce.F90 \
 	par_ice_2.F90 \
@@ -1474,4 +1568,6 @@
 	prtctl.F90 \
 	restart.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
 	sbcana.F90 \
 	sbcblk_clio.F90 \
@@ -1480,9 +1576,7 @@
 	sbcflx.F90 \
 	sbcfwb.F90 \
-	sbc_ice.F90 \
 	sbcice_if.F90 \
+	sbcice_lim.F90 \
 	sbcice_lim_2.F90 \
-	sbcice_lim.F90 \
-	sbc_oce.F90 \
 	sbcrnf.F90 \
 	sbcssm.F90 \
@@ -1491,7 +1585,27 @@
 	trazdf_exp.F90 \
 	trdmod.F90 \
+	zdf_oce.F90 \
+	zdfbfr.F90 \
 	zdfddm.F90 \
 	zdfmxl.F90 \
-	zdf_oce.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(diawri.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcmod.o) \
+	$(MODEL_LIB)(sbcssr.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfkpp.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdftke.o) \
+	$(MODEL_LIB)(zdftke_old.o) \
 	daymod.F90 \
 	dianam.F90 \
@@ -1500,34 +1614,15 @@
 	in_out_manager.F90 \
 	lbclnk.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(diawri.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbcmod.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcssr.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfkpp.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdftke.o) \
-	$(MODEL_LIB)(zdftke_old.o) \
 	oce.F90 \
 	phycst.F90 \
 	sbc_ice.F90 \
+	sbc_oce.F90 \
 	sbcmod.F90 \
-	sbc_oce.F90 \
 	sbcssr.F90 \
 	sol_oce.F90 \
+	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfkpp.F90 \
 	zdfmxl.F90 \
-	zdf_oce.F90 \
 	zdftke.F90 \
 	zdftke_old.F90 \
@@ -1536,107 +1631,15 @@
 	KEY_CPP \
 	diawri_c1d.F90
-$(MODEL_LIB)(diawri.o) :	\
-	daymod.F90 \
-	dianam.F90 \
-	dom_ice_2.F90 \
-	dom_oce.F90 \
-	fldread.F90 \
-	ice_2.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	zdf_oce.F90 \
-	daymod.F90 \
-	diadimg.F90 \
-	diahth.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	limwri_2.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(diadimg.o) \
-	$(MODEL_LIB)(diahth.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(limwri_2.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcssr.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	phycst.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	sbcssr.F90 \
-	sol_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	zdf_oce.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(lib_mpp.o) \
-	diawri_dimg.h90 \
-	zdfddm_substitute.h90 \
-	$(IOIPSL_LIB) \
-	KEY_CPP \
-	diawri.F90
 $(MODEL_LIB)(divcur.o) :	\
+	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
 	bdy_par.F90 \
 	dom_oce.F90 \
@@ -1645,28 +1648,18 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
 	obc_par.F90 \
 	oce.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
 	bdy_oce.F90 \
 	dom_oce.F90 \
 	in_out_manager.F90 \
 	lbclnk.F90 \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
 	obc_oce.F90 \
 	oce.F90 \
@@ -1675,5 +1668,35 @@
 	KEY_CPP \
 	divcur.F90
+$(MODEL_LIB)(dom_ice_2.o) :	\
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_ice_2.o) \
+	par_ice_2.F90 \
+	KEY_CPP \
+	dom_ice_2.F90
+$(MODEL_LIB)(dom_oce.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	KEY_CPP \
+	dom_oce.F90
 $(MODEL_LIB)(domain.o) :	\
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(closea.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	c1d.F90 \
 	closea.F90 \
@@ -1686,30 +1709,27 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	$(MODEL_LIB)(c1d.o) \
+	obc_oce.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
 	$(MODEL_LIB)(closea.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	obc_oce.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
+	$(MODEL_LIB)(domhgr.o) \
+	$(MODEL_LIB)(dommsk.o) \
+	$(MODEL_LIB)(domstp.o) \
+	$(MODEL_LIB)(domvvl.o) \
+	$(MODEL_LIB)(domwri.o) \
+	$(MODEL_LIB)(domzgr.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	closea.F90 \
+	dom_oce.F90 \
 	domhgr.F90 \
 	dommsk.F90 \
-	dom_oce.F90 \
 	domstp.F90 \
 	domvvl.F90 \
@@ -1718,17 +1738,4 @@
 	in_out_manager.F90 \
 	lib_mpp.F90 \
-	$(MODEL_LIB)(closea.o) \
-	$(MODEL_LIB)(domhgr.o) \
-	$(MODEL_LIB)(dommsk.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domstp.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(domwri.o) \
-	$(MODEL_LIB)(domzgr.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
 	oce.F90 \
 	phycst.F90 \
@@ -1739,26 +1746,37 @@
 	domain.F90
 $(MODEL_LIB)(domcfg.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(phycst.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
 	phycst.F90 \
 	domcfg.F90
 $(MODEL_LIB)(domhgr.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -1770,4 +1788,106 @@
 	lbcnfd.F90 \
 	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(phycst.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lib_mpp.F90 \
+	phycst.F90 \
+	KEY_CPP \
+	domhgr.F90
+$(MODEL_LIB)(dommsk.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obc_par.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dommsk.F90
+$(MODEL_LIB)(domstp.o) :	\
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	domstp.F90
+$(MODEL_LIB)(domvvl.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	domvvl.F90
+$(MODEL_LIB)(domwri.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -1778,125 +1898,9 @@
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(phycst.o) \
-	phycst.F90 \
-	KEY_CPP \
-	domhgr.F90
-$(MODEL_LIB)(dom_ice_2.o) :	\
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	$(MODEL_LIB)(par_ice_2.o) \
-	par_ice_2.F90 \
-	KEY_CPP \
-	dom_ice_2.F90
-$(MODEL_LIB)(dommsk.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	obc_par.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	obc_oce.F90 \
-	oce.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dommsk.F90
-$(MODEL_LIB)(dom_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	KEY_CPP \
-	dom_oce.F90
-$(MODEL_LIB)(domstp.o) :	\
-	lib_print.f90 \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	oce.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	domstp.F90
-$(MODEL_LIB)(domvvl.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	oce.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	domvvl.F90
-$(MODEL_LIB)(domwri.o) :	\
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -1909,4 +1913,21 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	domwri.F90
+$(MODEL_LIB)(domzgr.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -1922,21 +1943,5 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	domwri.F90
-$(MODEL_LIB)(domzgr.o) :	\
+	$(MODEL_LIB)(sbc_oce.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -1949,6 +1954,32 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	sbc_oce.F90 \
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(closea.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	c1d.F90 \
+	closea.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	domzgr.F90
+$(MODEL_LIB)(dtasal.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
@@ -1962,34 +1993,11 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	sbc_oce.F90 \
-	c1d.F90 \
-	closea.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(closea.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	domzgr.F90
-$(MODEL_LIB)(dtasal.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
-	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -1999,10 +2007,34 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	phycst.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	dtasal.F90
+$(MODEL_LIB)(dtatem.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -2016,32 +2048,8 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	oce.F90 \
-	phycst.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	dtasal.F90
-$(MODEL_LIB)(dtatem.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
-	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -2051,21 +2059,4 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
 	oce.F90 \
 	par_kind.F90 \
@@ -2074,4 +2065,11 @@
 	prtctl.F90 \
 	restart.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	daymod.F90 \
 	dom_oce.F90 \
@@ -2079,11 +2077,4 @@
 	iom.F90 \
 	lbclnk.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
 	oce.F90 \
 	phycst.F90 \
@@ -2091,10 +2082,44 @@
 	KEY_CPP \
 	dtatem.F90
+$(MODEL_LIB)(dynadv.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynadv_cen2.o) \
+	$(MODEL_LIB)(dynadv_ubs.o) \
+	$(MODEL_LIB)(dynkeg.o) \
+	$(MODEL_LIB)(dynzad.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	dom_oce.F90 \
+	dynadv_cen2.F90 \
+	dynadv_ubs.F90 \
+	dynkeg.F90 \
+	dynzad.F90 \
+	in_out_manager.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynadv.F90
 $(MODEL_LIB)(dynadv_cen2.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -2115,4 +2140,9 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -2128,6 +2158,4 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -2136,4 +2164,6 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	oce.F90 \
 	prtctl.F90 \
@@ -2144,50 +2174,5 @@
 	KEY_CPP \
 	dynadv_cen2.F90
-$(MODEL_LIB)(dynadv.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	dom_oce.F90 \
-	dynadv_cen2.F90 \
-	dynadv_ubs.F90 \
-	dynkeg.F90 \
-	dynzad.F90 \
-	in_out_manager.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynadv_cen2.o) \
-	$(MODEL_LIB)(dynadv_ubs.o) \
-	$(MODEL_LIB)(dynkeg.o) \
-	$(MODEL_LIB)(dynzad.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynadv.F90
 $(MODEL_LIB)(dynadv_ubs.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -2209,4 +2194,10 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -2222,7 +2213,4 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -2232,4 +2220,7 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
 	oce.F90 \
 	prtctl.F90 \
@@ -2240,40 +2231,9 @@
 	KEY_CPP \
 	dynadv_ubs.F90
-$(MODEL_LIB)(dyncor_c1d.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dyncor_c1d.F90
-$(MODEL_LIB)(dynhpg.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
+$(MODEL_LIB)(dynbfr.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -2283,4 +2243,5 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(trdicp.o) \
@@ -2292,8 +2253,16 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
 	sbc_oce.F90 \
 	trdicp.F90 \
@@ -2305,32 +2274,55 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
-	oce.F90 \
-	phycst.F90 \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfbfr.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
 	prtctl.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	zdfbfr.F90 \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynhpg.F90
-$(MODEL_LIB)(dynkeg.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
+	zdfddm_substitute.h90 \
+	KEY_CPP \
+	dynbfr.F90
+$(MODEL_LIB)(dyncor_c1d.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dyncor_c1d.F90
+$(MODEL_LIB)(dynhpg.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -2349,4 +2341,10 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -2362,29 +2360,27 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
-	oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	phycst.F90 \
 	prtctl.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	dynkeg.F90
-$(MODEL_LIB)(dynldf_bilap.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
+	dynhpg.F90
+$(MODEL_LIB)(dynkeg.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -2403,4 +2399,9 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -2416,104 +2417,20 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
-	oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	prtctl.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
-	domzgr_substitute.h90 \
-	ldfdyn_substitute.h90 \
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	dynldf_bilap.F90
-$(MODEL_LIB)(dynldf_bilapg.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(trdicp.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	trdicp.F90 \
-	trdicp_oce.F90 \
-	trdmld.F90 \
-	trdmld_oce.F90 \
-	trdmod_oce.F90 \
-	trdvor.F90 \
-	trdvor_oce.F90 \
-	zdfmxl.F90 \
-	zdf_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	prtctl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	ldfdyn_substitute.h90 \
-	KEY_CPP \
-	dynldf_bilapg.F90
+	dynkeg.F90
 $(MODEL_LIB)(dynldf.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -2539,6 +2456,15 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -2555,6 +2481,21 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
+	zdf_oce.F90 \
 	zdfmxl.F90 \
-	zdf_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynldf_bilap.o) \
+	$(MODEL_LIB)(dynldf_bilapg.o) \
+	$(MODEL_LIB)(dynldf_iso.o) \
+	$(MODEL_LIB)(dynldf_lap.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
 	dom_oce.F90 \
 	dynldf_bilap.F90 \
@@ -2567,19 +2508,4 @@
 	ldfslp.F90 \
 	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynldf_bilapg.o) \
-	$(MODEL_LIB)(dynldf_bilap.o) \
-	$(MODEL_LIB)(dynldf_iso.o) \
-	$(MODEL_LIB)(dynldf_lap.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
 	oce.F90 \
 	phycst.F90 \
@@ -2591,18 +2517,8 @@
 	KEY_CPP \
 	dynldf.F90
-$(MODEL_LIB)(dynldf_iso.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
+$(MODEL_LIB)(dynldf_bilap.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -2612,5 +2528,4 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(trdicp.o) \
@@ -2621,11 +2536,15 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
 	sbc_oce.F90 \
 	trdicp.F90 \
@@ -2636,45 +2555,32 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
-	zdfmxl.F90 \
 	zdf_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	prtctl.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	oce.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
-	zdf_oce.F90 \
 	domzgr_substitute.h90 \
 	ldfdyn_substitute.h90 \
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	dynldf_iso.F90
-$(MODEL_LIB)(dynldf_lap.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
+	dynldf_bilap.F90
+$(MODEL_LIB)(dynldf_bilapg.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
 	$(MODEL_LIB)(ldfdyn_oce.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -2691,6 +2597,14 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -2706,19 +2620,96 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
+	zdf_oce.F90 \
 	zdfmxl.F90 \
-	zdf_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfdyn_oce.o) \
 	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	ldfdyn_substitute.h90 \
+	KEY_CPP \
+	dynldf_bilapg.F90
+$(MODEL_LIB)(dynldf_iso.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdf_oce.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	prtctl.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
@@ -2728,35 +2719,93 @@
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
+	dynldf_iso.F90
+$(MODEL_LIB)(dynldf_lap.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdf_oce.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	ldfdyn_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
 	dynldf_lap.F90
-$(MODEL_LIB)(dynnxt_c1d.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	oce.F90 \
-	prtctl.F90 \
-	KEY_CPP \
-	dynnxt_c1d.F90
 $(MODEL_LIB)(dynnxt.o) :	\
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(bdytides.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynadv_cen2.o) \
+	$(MODEL_LIB)(dynadv_ubs.o) \
+	$(MODEL_LIB)(dynkeg.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(dynzad.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	bdy_oce.F90 \
 	bdy_par.F90 \
@@ -2775,27 +2824,4 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(bdytides.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynadv_cen2.o) \
-	$(MODEL_LIB)(dynadv_ubs.o) \
-	$(MODEL_LIB)(dynkeg.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynzad.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
 	obc_oce.F90 \
 	obc_par.F90 \
@@ -2805,9 +2831,26 @@
 	phycst.F90 \
 	sbc_oce.F90 \
+	$(MODEL_LIB)(agrif_opa_interp.o) \
+	$(MODEL_LIB)(agrif_opa_update.o) \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdydta.o) \
+	$(MODEL_LIB)(bdydyn.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domvvl.o) \
+	$(MODEL_LIB)(dynadv.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(obcdyn_bt.o) \
+	$(MODEL_LIB)(obcvol.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
 	agrif_opa_interp.F90 \
 	agrif_opa_update.F90 \
+	bdy_oce.F90 \
 	bdydta.F90 \
 	bdydyn.F90 \
-	bdy_oce.F90 \
 	dom_oce.F90 \
 	domvvl.F90 \
@@ -2816,154 +2859,68 @@
 	in_out_manager.F90 \
 	lbclnk.F90 \
+	obc_oce.F90 \
+	obcdyn.F90 \
+	obcdyn_bt.F90 \
+	obcvol.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	domzgr_substitute.h90 \
+	$(AGRIF_LIB) \
+	KEY_CPP \
+	dynnxt.F90
+$(MODEL_LIB)(dynnxt_c1d.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	KEY_CPP \
+	dynnxt_c1d.F90
+$(MODEL_LIB)(dynspg.o) :	\
 	$(MODEL_LIB)(agrif_opa_interp.o) \
-	$(MODEL_LIB)(agrif_opa_update.o) \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdy_par.o) \
 	$(MODEL_LIB)(bdydta.o) \
 	$(MODEL_LIB)(bdydyn.o) \
-	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdytides.o) \
+	$(MODEL_LIB)(bdyvol.o) \
+	$(MODEL_LIB)(cla_dynspg.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domvvl.o) \
 	$(MODEL_LIB)(dynadv.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(obcdyn_bt.o) \
-	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	obcdyn_bt.F90 \
-	obcdyn.F90 \
-	obc_oce.F90 \
-	obcvol.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	domzgr_substitute.h90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
-	dynnxt.F90
-$(MODEL_LIB)(dynspg_exp.o) :	\
-	c1d.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(dynvor.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zpshde.o) \
-	obc_oce.F90 \
-	obc_par.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	trdmld_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	zpshde.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	obcdta.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	sbc_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynspg_exp.F90
-$(MODEL_LIB)(dynspg.o) :	\
-	agrif_opa_interp.F90 \
-	bdydta.F90 \
-	bdydyn.F90 \
-	bdy_oce.F90 \
-	bdy_par.F90 \
-	bdytides.F90 \
-	bdyvol.F90 \
-	cla_dynspg.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	dynspg_oce.F90 \
-	dynvor.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(agrif_opa_interp.o) \
-	$(MODEL_LIB)(bdydta.o) \
-	$(MODEL_LIB)(bdydyn.o) \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(bdytides.o) \
-	$(MODEL_LIB)(bdyvol.o) \
-	$(MODEL_LIB)(cla_dynspg.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynvor.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(obcdta.o) \
 	$(MODEL_LIB)(obcdyn.o) \
 	$(MODEL_LIB)(obcfla.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
 	$(MODEL_LIB)(obcvol.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -2974,6 +2931,6 @@
 	$(MODEL_LIB)(restart.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
 	$(MODEL_LIB)(solmat.o) \
-	$(MODEL_LIB)(sol_oce.o) \
 	$(MODEL_LIB)(solpcg.o) \
 	$(MODEL_LIB)(solsor.o) \
@@ -2987,9 +2944,29 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfbfr.o) \
+	agrif_opa_interp.F90 \
+	bdy_oce.F90 \
+	bdy_par.F90 \
+	bdydta.F90 \
+	bdydyn.F90 \
+	bdytides.F90 \
+	bdyvol.F90 \
+	cla_dynspg.F90 \
+	dom_oce.F90 \
+	domvvl.F90 \
+	dynadv.F90 \
+	dynspg_oce.F90 \
+	dynvor.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obc_oce.F90 \
+	obc_par.F90 \
 	obcdta.F90 \
 	obcdyn.F90 \
 	obcfla.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
 	obcvol.F90 \
 	oce.F90 \
@@ -3000,6 +2977,6 @@
 	restart.F90 \
 	sbc_oce.F90 \
+	sol_oce.F90 \
 	solmat.F90 \
-	sol_oce.F90 \
 	solpcg.F90 \
 	solsor.F90 \
@@ -3013,4 +2990,16 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
+	zdfbfr.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_exp.o) \
+	$(MODEL_LIB)(dynspg_flt.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(dynspg_ts.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
 	dom_oce.F90 \
 	dynspg_exp.F90 \
@@ -3019,15 +3008,4 @@
 	dynspg_ts.F90 \
 	in_out_manager.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_exp.o) \
-	$(MODEL_LIB)(dynspg_flt.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynspg_ts.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
 	obc_oce.F90 \
 	oce.F90 \
@@ -3039,5 +3017,125 @@
 	KEY_CPP \
 	dynspg.F90
+$(MODEL_LIB)(dynspg_exp.o) :	\
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zpshde.o) \
+	c1d.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obc_oce.F90 \
+	obc_par.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trdmld_oce.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zpshde.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(obcdta.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	obc_par.F90 \
+	obcdta.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbc_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynspg_exp.F90
 $(MODEL_LIB)(dynspg_flt.o) :	\
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(bdytides.o) \
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynadv_cen2.o) \
+	$(MODEL_LIB)(dynadv_ubs.o) \
+	$(MODEL_LIB)(dynkeg.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(dynzad.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(obcvol.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(solmat.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zpshde.o) \
 	bdy_oce.F90 \
 	bdy_par.F90 \
@@ -3045,9 +3143,13 @@
 	c1d.F90 \
 	dom_oce.F90 \
+	dynadv_cen2.F90 \
+	dynadv_ubs.F90 \
+	dynkeg.F90 \
 	dynspg_oce.F90 \
+	dynzad.F90 \
 	eosbn2.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
-	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -3057,42 +3159,7 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(bdytides.o) \
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(solmat.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zpshde.o) \
-	obcdyn.F90 \
 	obc_oce.F90 \
 	obc_par.F90 \
+	obcdyn.F90 \
 	obcvol.F90 \
 	oce.F90 \
@@ -3101,37 +3168,27 @@
 	phycst.F90 \
 	sbc_oce.F90 \
+	sol_oce.F90 \
 	solmat.F90 \
-	sol_oce.F90 \
 	solpcg.F90 \
 	solsor.F90 \
 	trdmld_oce.F90 \
+	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfmxl.F90 \
-	zdf_oce.F90 \
 	zpshde.F90 \
-	agrif_opa_interp.F90 \
-	bdydyn.F90 \
-	bdy_oce.F90 \
-	bdyvol.F90 \
-	cla_dynspg.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
 	$(MODEL_LIB)(agrif_opa_interp.o) \
+	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(bdydyn.o) \
-	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(bdyvol.o) \
 	$(MODEL_LIB)(cla_dynspg.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(dynadv.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obcvol.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -3140,12 +3197,24 @@
 	$(MODEL_LIB)(restart.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
 	$(MODEL_LIB)(solmat.o) \
-	$(MODEL_LIB)(sol_oce.o) \
 	$(MODEL_LIB)(solpcg.o) \
 	$(MODEL_LIB)(solsor.o) \
 	$(MODEL_LIB)(solver.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	agrif_opa_interp.F90 \
+	bdy_oce.F90 \
+	bdydyn.F90 \
+	bdyvol.F90 \
+	cla_dynspg.F90 \
+	dom_oce.F90 \
+	domvvl.F90 \
+	dynadv.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
 	obcdyn.F90 \
-	obc_oce.F90 \
 	obcvol.F90 \
 	oce.F90 \
@@ -3154,6 +3223,6 @@
 	restart.F90 \
 	sbc_oce.F90 \
+	sol_oce.F90 \
 	solmat.F90 \
-	sol_oce.F90 \
 	solpcg.F90 \
 	solsor.F90 \
@@ -3173,4 +3242,39 @@
 	dynspg_oce.F90
 $(MODEL_LIB)(dynspg_ts.o) :	\
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(bdytides.o) \
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynadv.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(obcdta.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zpshde.o) \
 	bdy_oce.F90 \
 	bdy_par.F90 \
@@ -3183,6 +3287,6 @@
 	eosbn2.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
-	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -3192,41 +3296,7 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(bdytides.o) \
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynadv.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zpshde.o) \
-	obcdta.F90 \
 	obc_oce.F90 \
 	obc_par.F90 \
+	obcdta.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -3238,11 +3308,35 @@
 	trdmod.F90 \
 	trdmod_oce.F90 \
+	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfmxl.F90 \
 	zpshde.F90 \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(bdydta.o) \
+	$(MODEL_LIB)(bdydyn.o) \
+	$(MODEL_LIB)(bdytides.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domvvl.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(dynvor.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(obcdta.o) \
+	$(MODEL_LIB)(obcfla.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(zdfbfr.o) \
+	bdy_oce.F90 \
+	bdy_par.F90 \
 	bdydta.F90 \
 	bdydyn.F90 \
-	bdy_oce.F90 \
-	bdy_par.F90 \
 	bdytides.F90 \
 	dom_oce.F90 \
@@ -3254,30 +3348,8 @@
 	lbclnk.F90 \
 	lib_mpp.F90 \
-	$(MODEL_LIB)(bdydta.o) \
-	$(MODEL_LIB)(bdydyn.o) \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(bdytides.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynvor.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(obcfla.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
+	obc_oce.F90 \
+	obc_par.F90 \
 	obcdta.F90 \
 	obcfla.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -3285,4 +3357,5 @@
 	restart.F90 \
 	sbc_oce.F90 \
+	zdfbfr.F90 \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -3290,14 +3363,4 @@
 	dynspg_ts.F90
 $(MODEL_LIB)(dynvor.o) :	\
-	dom_oce.F90 \
-	dynadv_cen2.F90 \
-	dynadv_ubs.F90 \
-	dynkeg.F90 \
-	dynzad.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynadv_cen2.o) \
@@ -3323,4 +3386,14 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	dynadv_cen2.F90 \
+	dynadv_ubs.F90 \
+	dynkeg.F90 \
+	dynzad.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -3336,8 +3409,4 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	dom_oce.F90 \
-	dynadv.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynadv.o) \
@@ -3348,4 +3417,8 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	dom_oce.F90 \
+	dynadv.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
 	oce.F90 \
 	prtctl.F90 \
@@ -3357,13 +3430,6 @@
 	dynvor.F90
 $(MODEL_LIB)(dynzad.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -3382,4 +3448,9 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -3395,6 +3466,4 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -3404,4 +3473,6 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	oce.F90 \
 	prtctl.F90 \
@@ -3413,44 +3484,5 @@
 	KEY_CPP \
 	dynzad.F90
-$(MODEL_LIB)(dynzdf_exp.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynzdf_exp.F90
 $(MODEL_LIB)(dynzdf.o) :	\
-	dom_oce.F90 \
-	domvvl.F90 \
-	dynzdf_exp.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domvvl.o) \
@@ -3479,7 +3511,18 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfbfr.o) \
 	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	domvvl.F90 \
+	dynzdf_exp.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -3498,7 +3541,21 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
+	zdf_oce.F90 \
+	zdfbfr.F90 \
 	zdfddm.F90 \
 	zdfmxl.F90 \
-	zdf_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynzdf_exp.o) \
+	$(MODEL_LIB)(dynzdf_imp.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfkpp.o) \
+	$(MODEL_LIB)(zdftke.o) \
+	$(MODEL_LIB)(zdftke_old.o) \
 	dom_oce.F90 \
 	dynzdf_exp.F90 \
@@ -3506,23 +3563,10 @@
 	in_out_manager.F90 \
 	ldfdyn_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynzdf_exp.o) \
-	$(MODEL_LIB)(dynzdf_imp.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdfkpp.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdftke.o) \
-	$(MODEL_LIB)(zdftke_old.o) \
 	oce.F90 \
 	prtctl.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
+	zdf_oce.F90 \
 	zdfkpp.F90 \
-	zdf_oce.F90 \
 	zdftke.F90 \
 	zdftke_old.F90 \
@@ -3532,19 +3576,13 @@
 	KEY_CPP \
 	dynzdf.F90
-$(MODEL_LIB)(dynzdf_imp.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
+$(MODEL_LIB)(dynzdf_exp.o) :	\
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -3553,4 +3591,6 @@
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -3560,11 +3600,31 @@
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
+	dynzdf_exp.F90
+$(MODEL_LIB)(dynzdf_imp.o) :	\
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
 	dynzdf_imp.F90
 $(MODEL_LIB)(eosbn2.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -3577,4 +3637,9 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -3582,6 +3647,4 @@
 	prtctl.F90 \
 	zdf_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -3589,4 +3652,6 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(zdfddm.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	phycst.F90 \
 	prtctl.F90 \
@@ -3597,19 +3662,10 @@
 	eosbn2.F90
 $(MODEL_LIB)(fldread.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -3620,305 +3676,7 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	geo2ocean.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(geo2ocean.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	oce.F90 \
-	phycst.F90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
-	fldread.F90
-$(MODEL_LIB)(flo4rk.o) :	\
-	lib_print.f90 \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	flo_oce.F90 \
-	in_out_manager.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flo_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	oce.F90 \
-	KEY_CPP \
-	flo4rk.F90
-$(MODEL_LIB)(floats.o) :	\
-	daymod.F90 \
-	dom_oce.F90 \
-	flo_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flo_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	oce.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	flo4rk.F90 \
-	floblk.F90 \
-	flodom.F90 \
-	flo_oce.F90 \
-	flowri.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(flo4rk.o) \
-	$(MODEL_LIB)(floblk.o) \
-	$(MODEL_LIB)(flodom.o) \
-	$(MODEL_LIB)(flo_oce.o) \
-	$(MODEL_LIB)(flowri.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(IOIPSL_LIB) \
-	KEY_CPP \
-	floats.F90
-$(MODEL_LIB)(floblk.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	flo_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flo_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	oce.F90 \
-	phycst.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	floblk.F90
-$(MODEL_LIB)(flodom.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	flo_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flo_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	oce.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	flodom.F90
-$(MODEL_LIB)(flo_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	KEY_CPP \
-	flo_oce.F90
-$(MODEL_LIB)(flowri.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbcnfd.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	flo_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flo_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	oce.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	flowri.F90
-$(MODEL_LIB)(geo2ocean.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(phycst.o) \
-	phycst.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	geo2ocean.F90
-$(MODEL_LIB)(ice_2.o) :	\
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	$(MODEL_LIB)(par_ice_2.o) \
-	par_ice_2.F90 \
-	KEY_CPP \
-	ice_2.F90
-$(MODEL_LIB)(iceini_2.o) :	\
-	daymod.F90 \
-	dom_ice_2.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	ice_2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	oce.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	dom_ice_2.F90 \
-	dom_oce.F90 \
-	ice_2.F90 \
-	in_out_manager.F90 \
-	limistate_2.F90 \
-	limmsh_2.F90 \
-	limrst_2.F90 \
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(limistate_2.o) \
-	$(MODEL_LIB)(limmsh_2.o) \
-	$(MODEL_LIB)(limrst_2.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	phycst.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	KEY_CPP \
-	iceini_2.F90
-$(MODEL_LIB)(in_out_manager.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
-	in_out_manager.F90
-$(MODEL_LIB)(iom_def.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(IOIPSL_LIB) \
-	KEY_CPP \
-	iom_def.F90
-$(MODEL_LIB)(iom.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
 	iom_ioipsl.F90 \
@@ -3926,4 +3684,298 @@
 	iom_rstdimg.F90 \
 	lbclnk.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(geo2ocean.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	geo2ocean.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	oce.F90 \
+	phycst.F90 \
+	$(AGRIF_LIB) \
+	KEY_CPP \
+	fldread.F90
+$(MODEL_LIB)(flo4rk.o) :	\
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flo_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	dom_oce.F90 \
+	flo_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	KEY_CPP \
+	flo4rk.F90
+$(MODEL_LIB)(flo_oce.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	KEY_CPP \
+	flo_oce.F90
+$(MODEL_LIB)(floats.o) :	\
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flo_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	flo_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(flo4rk.o) \
+	$(MODEL_LIB)(flo_oce.o) \
+	$(MODEL_LIB)(floblk.o) \
+	$(MODEL_LIB)(flodom.o) \
+	$(MODEL_LIB)(flowri.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	flo4rk.F90 \
+	flo_oce.F90 \
+	floblk.F90 \
+	flodom.F90 \
+	flowri.F90 \
+	lib_mpp.F90 \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	floats.F90
+$(MODEL_LIB)(floblk.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flo_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	dom_oce.F90 \
+	flo_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	phycst.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	floblk.F90
+$(MODEL_LIB)(flodom.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flo_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	dom_oce.F90 \
+	flo_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	flodom.F90
+$(MODEL_LIB)(flowri.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbcnfd.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flo_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	flo_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	flowri.F90
+$(MODEL_LIB)(geo2ocean.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(phycst.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	phycst.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	geo2ocean.F90
+$(MODEL_LIB)(ice_2.o) :	\
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_ice_2.o) \
+	par_ice_2.F90 \
+	KEY_CPP \
+	ice_2.F90
+$(MODEL_LIB)(iceini_2.o) :	\
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	daymod.F90 \
+	dom_ice_2.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	ice_2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(limistate_2.o) \
+	$(MODEL_LIB)(limmsh_2.o) \
+	$(MODEL_LIB)(limrst_2.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	dom_ice_2.F90 \
+	dom_oce.F90 \
+	ice_2.F90 \
+	in_out_manager.F90 \
+	limistate_2.F90 \
+	limmsh_2.F90 \
+	limrst_2.F90 \
+	phycst.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	KEY_CPP \
+	iceini_2.F90
+$(MODEL_LIB)(in_out_manager.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(AGRIF_LIB) \
+	KEY_CPP \
+	in_out_manager.F90
+$(MODEL_LIB)(iom.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -3933,79 +3985,147 @@
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
 	KEY_CPP \
 	iom.F90
+$(MODEL_LIB)(iom_def.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	iom_def.F90
 $(MODEL_LIB)(iom_ioipsl.o) :	\
-	lib_print.f90 \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
 	iom_def.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
 	$(IOIPSL_LIB) \
 	iom_ioipsl.F90
 $(MODEL_LIB)(iom_nf90.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(lbclnk.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
 	iom_def.F90 \
 	lbclnk.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(lbclnk.o) \
 	iom_nf90.F90
 $(MODEL_LIB)(iom_rstdimg.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(lbclnk.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
 	iom_def.F90 \
 	lbclnk.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(lbclnk.o) \
 	iom_rstdimg.F90
 $(MODEL_LIB)(istate.o) :	\
+	$(MODEL_LIB)(agrif_opa_interp.o) \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(bdydta.o) \
+	$(MODEL_LIB)(bdydyn.o) \
+	$(MODEL_LIB)(bdytides.o) \
+	$(MODEL_LIB)(bdyvol.o) \
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(cla_dynspg.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domvvl.o) \
+	$(MODEL_LIB)(dynadv.o) \
+	$(MODEL_LIB)(dynspg_exp.o) \
+	$(MODEL_LIB)(dynspg_flt.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(dynspg_ts.o) \
+	$(MODEL_LIB)(dynvor.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(obcdta.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(obcfla.o) \
+	$(MODEL_LIB)(obcvol.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(solmat.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(solver.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfbfr.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zpshde.o) \
 	agrif_opa_interp.F90 \
+	bdy_oce.F90 \
+	bdy_par.F90 \
 	bdydta.F90 \
 	bdydyn.F90 \
-	bdy_oce.F90 \
-	bdy_par.F90 \
 	bdytides.F90 \
 	bdyvol.F90 \
@@ -4015,4 +4135,5 @@
 	dom_oce.F90 \
 	domvvl.F90 \
+	dynadv.F90 \
 	dynspg_exp.F90 \
 	dynspg_flt.F90 \
@@ -4022,6 +4143,6 @@
 	eosbn2.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
-	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -4031,62 +4152,9 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	$(MODEL_LIB)(agrif_opa_interp.o) \
-	$(MODEL_LIB)(bdydta.o) \
-	$(MODEL_LIB)(bdydyn.o) \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(bdytides.o) \
-	$(MODEL_LIB)(bdyvol.o) \
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(cla_dynspg.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(dynspg_exp.o) \
-	$(MODEL_LIB)(dynspg_flt.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynspg_ts.o) \
-	$(MODEL_LIB)(dynvor.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obcfla.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(solmat.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(solver.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zpshde.o) \
+	obc_oce.F90 \
+	obc_par.F90 \
 	obcdta.F90 \
 	obcdyn.F90 \
 	obcfla.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
 	obcvol.F90 \
 	oce.F90 \
@@ -4097,6 +4165,6 @@
 	restart.F90 \
 	sbc_oce.F90 \
+	sol_oce.F90 \
 	solmat.F90 \
-	sol_oce.F90 \
 	solpcg.F90 \
 	solsor.F90 \
@@ -4105,8 +4173,31 @@
 	trdmod.F90 \
 	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	zdfbfr.F90 \
 	zdfddm.F90 \
 	zdfmxl.F90 \
-	zdf_oce.F90 \
 	zpshde.F90 \
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(divcur.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domvvl.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(dynspg.o) \
+	$(MODEL_LIB)(dynspg_exp.o) \
+	$(MODEL_LIB)(dynspg_flt.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(dynspg_ts.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zpshde.o) \
 	c1d.F90 \
 	daymod.F90 \
@@ -4116,6 +4207,6 @@
 	dtasal.F90 \
 	dtatem.F90 \
+	dynspg.F90 \
 	dynspg_exp.F90 \
-	dynspg.F90 \
 	dynspg_flt.F90 \
 	dynspg_oce.F90 \
@@ -4126,26 +4217,4 @@
 	lbclnk.F90 \
 	ldftra_oce.F90 \
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(divcur.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(dynspg_exp.o) \
-	$(MODEL_LIB)(dynspg_flt.o) \
-	$(MODEL_LIB)(dynspg.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynspg_ts.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zpshde.o) \
 	oce.F90 \
 	phycst.F90 \
@@ -4158,45 +4227,59 @@
 	istate.F90
 $(MODEL_LIB)(lbclnk.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
 	oce.F90 \
 	KEY_CPP \
 	lbclnk.F90
 $(MODEL_LIB)(lbcnfd.o) :	\
-	lib_print.f90 \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	oce.F90 \
 	lbcnfd.F90
 $(MODEL_LIB)(ldfdyn.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -4207,24 +4290,18 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	zdfmxl.F90 \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -4233,16 +4310,8 @@
 	ldfslp.F90 \
 	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	oce.F90 \
-	phycst.F90 \
+	oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(ldftra_oce.o) \
 	ldftra_oce.F90 \
-	$(MODEL_LIB)(ldftra_oce.o) \
 	domzgr_substitute.h90 \
 	ldfdyn_antarctic.h90 \
@@ -4262,4 +4331,27 @@
 	ldfdyn_oce.F90
 $(MODEL_LIB)(ldfeiv.o) :	\
+	$(MODEL_LIB)(closea.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	closea.F90 \
 	daymod.F90 \
@@ -4267,6 +4359,6 @@
 	fldread.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
-	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -4278,34 +4370,22 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	$(MODEL_LIB)(closea.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	zdfmxl.F90 \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -4314,15 +4394,4 @@
 	ldfslp.F90 \
 	ldftra_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
 	oce.F90 \
 	phycst.F90 \
@@ -4335,10 +4404,4 @@
 	ldfeiv.F90
 $(MODEL_LIB)(ldfslp.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -4352,4 +4415,10 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -4357,4 +4426,13 @@
 	prtctl.F90 \
 	zdf_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -4362,13 +4440,4 @@
 	ldfdyn_oce.F90 \
 	ldftra_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
 	oce.F90 \
 	phycst.F90 \
@@ -4380,4 +4449,18 @@
 	ldfslp.F90
 $(MODEL_LIB)(ldftra.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -4388,24 +4471,18 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	zdfmxl.F90 \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -4414,12 +4491,4 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
 	oce.F90 \
 	phycst.F90 \
@@ -4442,22 +4511,22 @@
 	lib_cray.f90
 $(MODEL_LIB)(lib_mpp.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
 	$(AGRIF_LIB) \
 	KEY_CPP \
@@ -4468,9 +4537,4 @@
 	lib_print.f90
 $(MODEL_LIB)(limadv_2.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -4482,8 +4546,19 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_ice_2.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(prtctl.o) \
 	dom_ice_2.F90 \
 	dom_oce.F90 \
@@ -4491,10 +4566,4 @@
 	in_out_manager.F90 \
 	lbclnk.F90 \
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(prtctl.o) \
 	prtctl.F90 \
 	vectopt_loop_substitute.h90 \
@@ -4502,4 +4571,19 @@
 	limadv_2.F90
 $(MODEL_LIB)(limdia_2.o) :	\
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
 	dom_ice_2.F90 \
 	dom_oce.F90 \
@@ -4510,26 +4594,19 @@
 	lbclnk.F90 \
 	lib_print.f90 \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(ice_2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(limistate_2.o) \
 	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	oce.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	daymod.F90 \
 	dom_ice_2.F90 \
@@ -4537,12 +4614,4 @@
 	in_out_manager.F90 \
 	limistate_2.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(limistate_2.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
 	par_ice_2.F90 \
 	phycst.F90 \
@@ -4552,24 +4621,12 @@
 	limdia_2.F90
 $(MODEL_LIB)(limdmp_2.o) :	\
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dtasal.o) \
 	$(MODEL_LIB)(dtatem.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -4585,133 +4642,11 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdfmxl.F90 \
-	zdf_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	ice_2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	oce.F90 \
-	phycst.F90 \
-	tradmp.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	limdmp_2.F90
-$(MODEL_LIB)(limdyn_2.o) :	\
-	dom_ice_2.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	ice_2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	oce.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_ice.F90 \
-	dom_ice_2.F90 \
-	dom_oce.F90 \
-	ice_2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	limistate_2.F90 \
-	limrhg_2.F90 \
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(limistate_2.o) \
-	$(MODEL_LIB)(limrhg_2.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	limdyn_2.F90
-$(MODEL_LIB)(limhdf_2.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	ice_2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	prtctl.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	limhdf_2.F90
-$(MODEL_LIB)(limistate_2.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtatem.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
 	iom_ioipsl.F90 \
@@ -4719,7 +4654,131 @@
 	iom_rstdimg.F90 \
 	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(tradmp.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	ice_2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	oce.F90 \
+	phycst.F90 \
+	tradmp.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	limdmp_2.F90
+$(MODEL_LIB)(limdyn_2.o) :	\
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	dom_ice_2.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	ice_2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_ice.F90 \
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(limistate_2.o) \
+	$(MODEL_LIB)(limrhg_2.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	dom_ice_2.F90 \
+	dom_oce.F90 \
+	ice_2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	limistate_2.F90 \
+	limrhg_2.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	limdyn_2.F90
+$(MODEL_LIB)(limhdf_2.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	dom_oce.F90 \
+	ice_2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	prtctl.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	limhdf_2.F90
+$(MODEL_LIB)(limistate_2.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -4739,148 +4798,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(zdfddm.o) \
-	oce.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	zdfddm.F90 \
-	dom_ice_2.F90 \
-	eosbn2.F90 \
-	ice_2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(phycst.o) \
-	oce.F90 \
-	par_ice_2.F90 \
-	phycst.F90 \
-	KEY_CPP \
-	limistate_2.F90
-$(MODEL_LIB)(limmsh_2.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_ice_2.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(phycst.o) \
-	phycst.F90 \
-	KEY_CPP \
-	limmsh_2.F90
-$(MODEL_LIB)(limrhg_2.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_ice_2.F90 \
-	ice_2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_ice.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	limrhg_2.F90
-$(MODEL_LIB)(limrst_2.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	daymod.F90 \
-	ice_2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	KEY_CPP \
-	limrst_2.F90
-$(MODEL_LIB)(limsbc_2.o) :	\
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -4893,6 +4808,106 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	zdfddm.F90 \
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(phycst.o) \
+	dom_ice_2.F90 \
+	eosbn2.F90 \
+	ice_2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	par_ice_2.F90 \
+	phycst.F90 \
+	KEY_CPP \
+	limistate_2.F90
+$(MODEL_LIB)(limmsh_2.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(phycst.o) \
+	dom_ice_2.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	phycst.F90 \
+	KEY_CPP \
+	limmsh_2.F90
+$(MODEL_LIB)(limrhg_2.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	dom_ice_2.F90 \
+	ice_2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_ice.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	limrhg_2.F90
+$(MODEL_LIB)(limrst_2.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
@@ -4900,54 +4915,14 @@
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(par_ice_2.o) \
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	oce.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	albedo.F90 \
-	cpl_oasis3.F90 \
-	dom_oce.F90 \
-	ice_2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	$(MODEL_LIB)(albedo.o) \
-	$(MODEL_LIB)(cpl_oasis3.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	limsbc_2.F90
-$(MODEL_LIB)(limtab_2.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	KEY_CPP \
-	limtab_2.F90
-$(MODEL_LIB)(limthd_2.o) :	\
-	cpl_oasis3.F90 \
-	dom_oce.F90 \
-	ice_2.F90 \
-	in_out_manager.F90 \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
 	iom_ioipsl.F90 \
@@ -4955,11 +4930,27 @@
 	iom_rstdimg.F90 \
 	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	limistate_2.F90 \
-	$(MODEL_LIB)(cpl_oasis3.o) \
-	$(MODEL_LIB)(dom_oce.o) \
+	lib_print.f90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	daymod.F90 \
+	ice_2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	KEY_CPP \
+	limrst_2.F90
+$(MODEL_LIB)(limsbc_2.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom_def.o) \
@@ -4971,4 +4962,69 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(albedo.o) \
+	$(MODEL_LIB)(cpl_oasis3.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	albedo.F90 \
+	cpl_oasis3.F90 \
+	dom_oce.F90 \
+	ice_2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	limsbc_2.F90
+$(MODEL_LIB)(limtab_2.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	KEY_CPP \
+	limtab_2.F90
+$(MODEL_LIB)(limthd_2.o) :	\
+	$(MODEL_LIB)(cpl_oasis3.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(limistate_2.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -4979,4 +5035,17 @@
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(thd_ice_2.o) \
+	cpl_oasis3.F90 \
+	dom_oce.F90 \
+	ice_2.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	limistate_2.F90 \
 	oce.F90 \
 	par_ice_2.F90 \
@@ -4986,4 +5055,20 @@
 	sbc_oce.F90 \
 	thd_ice_2.F90 \
+	$(MODEL_LIB)(cpl_oasis3.o) \
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domvvl.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(limtab_2.o) \
+	$(MODEL_LIB)(limthd_lac_2.o) \
+	$(MODEL_LIB)(limthd_zdf_2.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(thd_ice_2.o) \
 	cpl_oasis3.F90 \
 	dom_ice_2.F90 \
@@ -4997,20 +5082,4 @@
 	limthd_lac_2.F90 \
 	limthd_zdf_2.F90 \
-	$(MODEL_LIB)(cpl_oasis3.o) \
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(limtab_2.o) \
-	$(MODEL_LIB)(limthd_lac_2.o) \
-	$(MODEL_LIB)(limthd_zdf_2.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(thd_ice_2.o) \
 	phycst.F90 \
 	prtctl.F90 \
@@ -5023,4 +5092,15 @@
 	limthd_2.F90
 $(MODEL_LIB)(limthd_lac_2.o) :	\
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	dom_ice_2.F90 \
 	eosbn2.F90 \
@@ -5029,5 +5109,24 @@
 	iom.F90 \
 	lbclnk.F90 \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(limistate_2.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(thd_ice_2.o) \
+	ice_2.F90 \
+	limistate_2.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	thd_ice_2.F90 \
+	KEY_CPP \
+	limthd_lac_2.F90
+$(MODEL_LIB)(limthd_zdf_2.o) :	\
 	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(ice_2.o) \
@@ -5035,4 +5134,5 @@
 	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(par_ice_2.o) \
@@ -5040,22 +5140,4 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	oce.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	ice_2.F90 \
-	limistate_2.F90 \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(limistate_2.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(thd_ice_2.o) \
-	par_oce.F90 \
-	phycst.F90 \
-	thd_ice_2.F90 \
-	KEY_CPP \
-	limthd_lac_2.F90
-$(MODEL_LIB)(limthd_zdf_2.o) :	\
 	dom_ice_2.F90 \
 	dom_oce.F90 \
@@ -5066,4 +5148,26 @@
 	lbclnk.F90 \
 	lib_print.f90 \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(cpl_oasis3.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(limistate_2.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(thd_ice_2.o) \
+	cpl_oasis3.F90 \
+	ice_2.F90 \
+	in_out_manager.F90 \
+	limistate_2.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	thd_ice_2.F90 \
+	KEY_CPP \
+	limthd_zdf_2.F90
+$(MODEL_LIB)(limtrp_2.o) :	\
 	$(MODEL_LIB)(dom_ice_2.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -5073,4 +5177,6 @@
 	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -5079,26 +5185,6 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	oce.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	cpl_oasis3.F90 \
-	ice_2.F90 \
-	in_out_manager.F90 \
-	limistate_2.F90 \
-	$(MODEL_LIB)(cpl_oasis3.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(limistate_2.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(thd_ice_2.o) \
-	par_oce.F90 \
-	phycst.F90 \
-	thd_ice_2.F90 \
-	KEY_CPP \
-	limthd_zdf_2.F90
-$(MODEL_LIB)(limtrp_2.o) :	\
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
 	dom_ice_2.F90 \
 	dom_oce.F90 \
@@ -5111,28 +5197,22 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_ice_2.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(ice_2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	oce.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(limadv_2.o) \
+	$(MODEL_LIB)(limhdf_2.o) \
+	$(MODEL_LIB)(limistate_2.o) \
+	$(MODEL_LIB)(phycst.o) \
 	daymod.F90 \
 	dom_ice_2.F90 \
@@ -5145,15 +5225,4 @@
 	limhdf_2.F90 \
 	limistate_2.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(limadv_2.o) \
-	$(MODEL_LIB)(limhdf_2.o) \
-	$(MODEL_LIB)(limistate_2.o) \
-	$(MODEL_LIB)(phycst.o) \
 	phycst.F90 \
 	vectopt_loop_substitute.h90 \
@@ -5161,9 +5230,28 @@
 	limtrp_2.F90
 $(MODEL_LIB)(limwri_2.o) :	\
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
 	daymod.F90 \
 	dom_oce.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
-	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -5173,30 +5261,22 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
 	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	oce.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	daymod.F90 \
 	dianam.F90 \
@@ -5207,20 +5287,9 @@
 	iom.F90 \
 	lbclnk.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
 	phycst.F90 \
 	sbc_ice.F90 \
 	sbc_oce.F90 \
+	$(MODEL_LIB)(diadimg.o) \
 	diadimg.F90 \
-	$(MODEL_LIB)(diadimg.o) \
 	limwri_dimg_2.h90 \
 	vectopt_loop_substitute.h90 \
@@ -5229,6 +5298,40 @@
 	limwri_2.F90
 $(MODEL_LIB)(model.o) :	\
+	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(bdyini.o) \
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(cpl_oasis3.o) \
+	$(MODEL_LIB)(cpl_oasis4.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domain.o) \
+	$(MODEL_LIB)(domcfg.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(dyncor_c1d.o) \
+	$(MODEL_LIB)(dynhpg.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(istate.o) \
+	$(MODEL_LIB)(ldfdyn.o) \
+	$(MODEL_LIB)(ldftra.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(mppini.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(obcini.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(step.o) \
+	$(MODEL_LIB)(step_c1d.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdfini.o) \
+	bdy_par.F90 \
 	bdyini.F90 \
-	bdy_par.F90 \
 	c1d.F90 \
 	cpl_oasis3.F90 \
@@ -5236,7 +5339,7 @@
 	daymod.F90 \
 	diaptr.F90 \
+	dom_oce.F90 \
 	domain.F90 \
 	domcfg.F90 \
-	dom_oce.F90 \
 	dtasal.F90 \
 	dtatem.F90 \
@@ -5251,47 +5354,13 @@
 	ldftra.F90 \
 	lib_mpp.F90 \
-	$(MODEL_LIB)(bdyini.o) \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(cpl_oasis3.o) \
-	$(MODEL_LIB)(cpl_oasis4.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(domain.o) \
-	$(MODEL_LIB)(domcfg.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(dyncor_c1d.o) \
-	$(MODEL_LIB)(dynhpg.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(istate.o) \
-	$(MODEL_LIB)(ldfdyn.o) \
-	$(MODEL_LIB)(ldftra.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(mppini.o) \
-	$(MODEL_LIB)(obcini.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(step_c1d.o) \
-	$(MODEL_LIB)(step.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdfini.o) \
 	mppini.F90 \
+	obc_par.F90 \
 	obcini.F90 \
-	obc_par.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	step.F90 \
 	step_c1d.F90 \
-	step.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
@@ -5301,26 +5370,26 @@
 	model.f90
 $(MODEL_LIB)(mppini.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	in_out_manager.F90 \
-	iom.F90 \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	in_out_manager.F90 \
+	iom.F90 \
 	domzgr_substitute.h90 \
 	mppini_2.h90 \
@@ -5331,9 +5400,47 @@
 	KEY_CPP \
 	oasis4_date.F90
+$(MODEL_LIB)(obc_oce.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	obc_par.F90 \
+	par_oce.F90 \
+	KEY_CPP \
+	obc_oce.F90
+$(MODEL_LIB)(obc_par.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	obc_par_EEL_R5.h90 \
+	obc_par_POMME_R025.h90 \
+	KEY_CPP \
+	obc_par.F90
 $(MODEL_LIB)(obcdta.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
-	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -5343,22 +5450,4 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
 	obc_par.F90 \
 	oce.F90 \
@@ -5368,4 +5457,14 @@
 	prtctl.F90 \
 	restart.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	daymod.F90 \
 	dom_oce.F90 \
@@ -5375,14 +5474,4 @@
 	lbclnk.F90 \
 	lib_mpp.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
 	obc_oce.F90 \
 	oce.F90 \
@@ -5392,10 +5481,42 @@
 	KEY_CPP \
 	obcdta.F90
+$(MODEL_LIB)(obcdyn.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obc_par.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	KEY_CPP \
+	obcdyn.F90
 $(MODEL_LIB)(obcdyn_bt.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -5407,8 +5528,21 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	obc_par.F90 \
 	oce.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	dom_oce.F90 \
 	dynspg_oce.F90 \
@@ -5416,12 +5550,4 @@
 	lbclnk.F90 \
 	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
 	obc_oce.F90 \
 	oce.F90 \
@@ -5429,49 +5555,5 @@
 	KEY_CPP \
 	obcdyn_bt.F90
-$(MODEL_LIB)(obcdyn.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	obc_par.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	obc_oce.F90 \
-	oce.F90 \
-	phycst.F90 \
-	KEY_CPP \
-	obcdyn.F90
 $(MODEL_LIB)(obcfla.o) :	\
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -5486,4 +5568,11 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	obc_oce.F90 \
 	obc_par.F90 \
@@ -5491,14 +5580,14 @@
 	par_oce.F90 \
 	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obcdta.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	dom_oce.F90 \
 	dynspg_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
+	obc_oce.F90 \
 	obcdta.F90 \
-	obc_oce.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -5506,11 +5595,4 @@
 	obcfla.F90
 $(MODEL_LIB)(obcini.o) :	\
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -5526,4 +5608,11 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	obc_oce.F90 \
 	obc_par.F90 \
@@ -5532,9 +5621,4 @@
 	par_oce.F90 \
 	phycst.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
@@ -5546,4 +5630,9 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	obc_oce.F90 \
 	obcrst.F90 \
@@ -5553,46 +5642,23 @@
 	KEY_CPP \
 	obcini.F90
-$(MODEL_LIB)(obc_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
+$(MODEL_LIB)(obcrad.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	obc_par.F90 \
-	par_oce.F90 \
-	KEY_CPP \
-	obc_oce.F90
-$(MODEL_LIB)(obc_par.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	obc_par_EEL_R5.h90 \
-	KEY_CPP \
-	obc_par.F90
-$(MODEL_LIB)(obcrad.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	obc_par.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -5602,4 +5668,8 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	obc_oce.F90 \
 	oce.F90 \
@@ -5609,10 +5679,4 @@
 	obcrad.F90
 $(MODEL_LIB)(obcrst.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -5628,4 +5692,10 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	obc_par.F90 \
 	oce.F90 \
@@ -5635,4 +5705,12 @@
 	prtctl.F90 \
 	restart.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	daymod.F90 \
 	dom_oce.F90 \
@@ -5640,12 +5718,4 @@
 	lbclnk.F90 \
 	lib_mpp.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
 	obc_oce.F90 \
 	oce.F90 \
@@ -5654,9 +5724,4 @@
 	obcrst.F90
 $(MODEL_LIB)(obctra.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -5668,12 +5733,13 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	obc_par.F90 \
 	oce.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -5683,4 +5749,8 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	obc_oce.F90 \
 	oce.F90 \
@@ -5690,12 +5760,6 @@
 	obctra.F90
 $(MODEL_LIB)(obcvol.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbcnfd.o) \
 	$(MODEL_LIB)(lib_print.o) \
@@ -5703,10 +5767,11 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_print.f90 \
 	obc_par.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -5716,4 +5781,7 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
 	obc_oce.F90 \
 	oce.F90 \
@@ -5731,66 +5799,8 @@
 	oce.F90
 $(MODEL_LIB)(opa.o) :	\
-	agrif_opa_sponge.F90 \
-	bdydta.F90 \
-	bdy_oce.F90 \
-	bdy_par.F90 \
-	bdytides.F90 \
-	c1d.F90 \
-	cla.F90 \
-	closea.F90 \
-	cpl_oasis3.F90 \
-	daymod.F90 \
-	diafwb.F90 \
-	diagap.F90 \
-	diahdy.F90 \
-	diahth.F90 \
-	dianam.F90 \
-	diaptr.F90 \
-	diawri_c1d.F90 \
-	diawri.F90 \
-	divcur.F90 \
-	domhgr.F90 \
-	dommsk.F90 \
-	dom_oce.F90 \
-	domstp.F90 \
-	domvvl.F90 \
-	domwri.F90 \
-	domzgr.F90 \
-	dtasal.F90 \
-	dtatem.F90 \
-	dynadv.F90 \
-	dyncor_c1d.F90 \
-	dynhpg.F90 \
-	dynldf.F90 \
-	dynnxt_c1d.F90 \
-	dynnxt.F90 \
-	dynspg_exp.F90 \
-	dynspg.F90 \
-	dynspg_flt.F90 \
-	dynspg_oce.F90 \
-	dynspg_ts.F90 \
-	dynvor.F90 \
-	dynzdf.F90 \
-	eosbn2.F90 \
-	floats.F90 \
-	flo_oce.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	ldfdyn_oce.F90 \
-	ldfeiv.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(agrif_opa_sponge.o) \
-	$(MODEL_LIB)(bdydta.o) \
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(bdydta.o) \
 	$(MODEL_LIB)(bdytides.o) \
 	$(MODEL_LIB)(c1d.o) \
@@ -5805,10 +5815,10 @@
 	$(MODEL_LIB)(dianam.o) \
 	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(diawri.o) \
 	$(MODEL_LIB)(diawri_c1d.o) \
-	$(MODEL_LIB)(diawri.o) \
 	$(MODEL_LIB)(divcur.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domhgr.o) \
 	$(MODEL_LIB)(dommsk.o) \
-	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domstp.o) \
 	$(MODEL_LIB)(domvvl.o) \
@@ -5818,12 +5828,13 @@
 	$(MODEL_LIB)(dtatem.o) \
 	$(MODEL_LIB)(dynadv.o) \
+	$(MODEL_LIB)(dynbfr.o) \
 	$(MODEL_LIB)(dyncor_c1d.o) \
 	$(MODEL_LIB)(dynhpg.o) \
 	$(MODEL_LIB)(dynldf.o) \
+	$(MODEL_LIB)(dynnxt.o) \
 	$(MODEL_LIB)(dynnxt_c1d.o) \
-	$(MODEL_LIB)(dynnxt.o) \
+	$(MODEL_LIB)(dynspg.o) \
 	$(MODEL_LIB)(dynspg_exp.o) \
 	$(MODEL_LIB)(dynspg_flt.o) \
-	$(MODEL_LIB)(dynspg.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(dynspg_ts.o) \
@@ -5831,11 +5842,11 @@
 	$(MODEL_LIB)(dynzdf.o) \
 	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(flo_oce.o) \
 	$(MODEL_LIB)(floats.o) \
-	$(MODEL_LIB)(flo_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -5848,7 +5859,7 @@
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(oasis4_date.o) \
-	$(MODEL_LIB)(obcdta.o) \
 	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(obcdta.o) \
 	$(MODEL_LIB)(obcrad.o) \
 	$(MODEL_LIB)(obcrst.o) \
@@ -5859,7 +5870,7 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbccpl.o) \
 	$(MODEL_LIB)(sbcmod.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
 	$(MODEL_LIB)(sshwzv.o) \
@@ -5884,4 +5895,5 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfbfr.o) \
 	$(MODEL_LIB)(zdfddm.o) \
@@ -5889,5 +5901,4 @@
 	$(MODEL_LIB)(zdfkpp.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfric.o) \
 	$(MODEL_LIB)(zdftke.o) \
@@ -5895,8 +5906,67 @@
 	$(MODEL_LIB)(zdftmx.o) \
 	$(MODEL_LIB)(zpshde.o) \
+	agrif_opa_sponge.F90 \
+	bdy_oce.F90 \
+	bdy_par.F90 \
+	bdydta.F90 \
+	bdytides.F90 \
+	c1d.F90 \
+	cla.F90 \
+	closea.F90 \
+	cpl_oasis3.F90 \
+	daymod.F90 \
+	diafwb.F90 \
+	diagap.F90 \
+	diahdy.F90 \
+	diahth.F90 \
+	dianam.F90 \
+	diaptr.F90 \
+	diawri.F90 \
+	diawri_c1d.F90 \
+	divcur.F90 \
+	dom_oce.F90 \
+	domhgr.F90 \
+	dommsk.F90 \
+	domstp.F90 \
+	domvvl.F90 \
+	domwri.F90 \
+	domzgr.F90 \
+	dtasal.F90 \
+	dtatem.F90 \
+	dynadv.F90 \
+	dynbfr.F90 \
+	dyncor_c1d.F90 \
+	dynhpg.F90 \
+	dynldf.F90 \
+	dynnxt.F90 \
+	dynnxt_c1d.F90 \
+	dynspg.F90 \
+	dynspg_exp.F90 \
+	dynspg_flt.F90 \
+	dynspg_oce.F90 \
+	dynspg_ts.F90 \
+	dynvor.F90 \
+	dynzdf.F90 \
+	eosbn2.F90 \
+	flo_oce.F90 \
+	floats.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	ldfdyn_oce.F90 \
+	ldfeiv.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oasis4_date.F90 \
-	obcdta.F90 \
 	obc_oce.F90 \
 	obc_par.F90 \
+	obcdta.F90 \
 	obcrad.F90 \
 	obcrst.F90 \
@@ -5907,7 +5977,7 @@
 	prtctl.F90 \
 	restart.F90 \
+	sbc_oce.F90 \
 	sbccpl.F90 \
 	sbcmod.F90 \
-	sbc_oce.F90 \
 	sbcrnf.F90 \
 	sshwzv.F90 \
@@ -5932,4 +6002,5 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
+	zdf_oce.F90 \
 	zdfbfr.F90 \
 	zdfddm.F90 \
@@ -5937,5 +6008,4 @@
 	zdfkpp.F90 \
 	zdfmxl.F90 \
-	zdf_oce.F90 \
 	zdfric.F90 \
 	zdftke.F90 \
@@ -5943,6 +6013,40 @@
 	zdftmx.F90 \
 	zpshde.F90 \
+	$(MODEL_LIB)(bdy_par.o) \
+	$(MODEL_LIB)(bdyini.o) \
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(cpl_oasis3.o) \
+	$(MODEL_LIB)(cpl_oasis4.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domain.o) \
+	$(MODEL_LIB)(domcfg.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(dyncor_c1d.o) \
+	$(MODEL_LIB)(dynhpg.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(istate.o) \
+	$(MODEL_LIB)(ldfdyn.o) \
+	$(MODEL_LIB)(ldftra.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(mppini.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(obcini.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(step.o) \
+	$(MODEL_LIB)(step_c1d.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdfini.o) \
+	bdy_par.F90 \
 	bdyini.F90 \
-	bdy_par.F90 \
 	c1d.F90 \
 	cpl_oasis3.F90 \
@@ -5950,7 +6054,7 @@
 	daymod.F90 \
 	diaptr.F90 \
+	dom_oce.F90 \
 	domain.F90 \
 	domcfg.F90 \
-	dom_oce.F90 \
 	dtasal.F90 \
 	dtatem.F90 \
@@ -5965,47 +6069,13 @@
 	ldftra.F90 \
 	lib_mpp.F90 \
-	$(MODEL_LIB)(bdyini.o) \
-	$(MODEL_LIB)(bdy_par.o) \
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(cpl_oasis3.o) \
-	$(MODEL_LIB)(cpl_oasis4.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(domain.o) \
-	$(MODEL_LIB)(domcfg.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(dyncor_c1d.o) \
-	$(MODEL_LIB)(dynhpg.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(istate.o) \
-	$(MODEL_LIB)(ldfdyn.o) \
-	$(MODEL_LIB)(ldftra.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(mppini.o) \
-	$(MODEL_LIB)(obcini.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(step_c1d.o) \
-	$(MODEL_LIB)(step.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdfini.o) \
 	mppini.F90 \
+	obc_par.F90 \
 	obcini.F90 \
-	obc_par.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	step.F90 \
 	step_c1d.F90 \
-	step.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
@@ -6033,45 +6103,63 @@
 	par_ORCA_R2.h90 \
 	par_ORCA_R4.h90 \
+	par_POMME_R025.h90 \
 	KEY_CPP \
 	par_oce.F90
 $(MODEL_LIB)(phycst.o) :	\
-	lib_print.f90 \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	in_out_manager.F90 \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	in_out_manager.F90 \
 	par_oce.F90 \
 	KEY_CPP \
 	phycst.F90
 $(MODEL_LIB)(prtctl.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
 	prtctl.F90
 $(MODEL_LIB)(restart.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	dom_oce.F90 \
 	eosbn2.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
-	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -6079,33 +6167,11 @@
 	lbclnk.F90 \
 	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	zdf_oce.F90 \
 	zdfddm.F90 \
-	zdf_oce.F90 \
-	c1d.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
 	$(MODEL_LIB)(c1d.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -6119,4 +6185,9 @@
 	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zpshde.o) \
+	c1d.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -6128,16 +6199,26 @@
 	KEY_CPP \
 	restart.F90
+$(MODEL_LIB)(sbc_ice.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_ice_2.F90 \
+	par_oce.F90 \
+	KEY_CPP \
+	sbc_ice.F90
+$(MODEL_LIB)(sbc_oce.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	KEY_CPP \
+	sbc_oce.F90
 $(MODEL_LIB)(sbcana.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lbcnfd.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -6149,4 +6230,10 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -6155,4 +6242,12 @@
 	prtctl.F90 \
 	restart.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	daymod.F90 \
 	dom_oce.F90 \
@@ -6160,12 +6255,4 @@
 	lbclnk.F90 \
 	lib_mpp.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
 	oce.F90 \
 	phycst.F90 \
@@ -6176,10 +6263,30 @@
 	sbcana.F90
 $(MODEL_LIB)(sbcblk_clio.o) :	\
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(geo2ocean.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
 	daymod.F90 \
 	dom_oce.F90 \
 	geo2ocean.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
-	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -6189,12 +6296,51 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	$(MODEL_LIB)(albedo.o) \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	albedo.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	fldread.F90 \
+	ice_2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	sbcblk_clio.F90
+$(MODEL_LIB)(sbcblk_core.o) :	\
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(geo2ocean.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -6209,49 +6355,10 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
-	oce.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	albedo.F90 \
 	daymod.F90 \
 	dom_oce.F90 \
-	fldread.F90 \
-	ice_2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(albedo.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	sbcblk_clio.F90
-$(MODEL_LIB)(sbcblk_core.o) :	\
-	daymod.F90 \
-	dom_oce.F90 \
 	geo2ocean.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
-	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -6261,12 +6368,49 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(geo2ocean.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	fldread.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	sbcblk_core.F90
+$(MODEL_LIB)(sbccpl.o) :	\
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -6274,73 +6418,5 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	oce.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	fldread.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	sbcblk_core.F90
-$(MODEL_LIB)(sbccpl.o) :	\
-	c1d.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oasis4_date.o) \
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(par_ice_2.o) \
@@ -6352,4 +6428,19 @@
 	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zpshde.o) \
+	c1d.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oasis4_date.F90 \
 	oce.F90 \
 	par_ice_2.F90 \
@@ -6361,6 +6452,24 @@
 	zdfmxl.F90 \
 	zpshde.F90 \
+	$(MODEL_LIB)(albedo.o) \
+	$(MODEL_LIB)(cpl_oasis3.o) \
+	$(MODEL_LIB)(cpl_oasis4.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(geo2ocean.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	albedo.F90 \
 	cpl_oasis3.F90 \
+	cpl_oasis4.F90 \
 	dom_oce.F90 \
 	geo2ocean.F90 \
@@ -6370,20 +6479,4 @@
 	lbclnk.F90 \
 	lib_mpp.F90 \
-	$(MODEL_LIB)(albedo.o) \
-	$(MODEL_LIB)(cpl_oasis3.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(geo2ocean.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
 	oce.F90 \
 	par_ice_2.F90 \
@@ -6397,10 +6490,29 @@
 	sbccpl.F90
 $(MODEL_LIB)(sbcflx.o) :	\
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(geo2ocean.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
 	daymod.F90 \
 	dom_oce.F90 \
 	geo2ocean.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
-	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -6410,29 +6522,20 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(geo2ocean.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
+	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	daymod.F90 \
 	dom_oce.F90 \
@@ -6442,14 +6545,4 @@
 	lbclnk.F90 \
 	lib_mpp.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
 	oce.F90 \
 	phycst.F90 \
@@ -6460,4 +6553,22 @@
 	sbcflx.F90
 $(MODEL_LIB)(sbcfwb.o) :	\
+	$(MODEL_LIB)(closea.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
 	closea.F90 \
 	daymod.F90 \
@@ -6470,22 +6581,4 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	$(MODEL_LIB)(closea.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
 	oce.F90 \
 	par_kind.F90 \
@@ -6496,9 +6589,4 @@
 	sbc_oce.F90 \
 	sbcrnf.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -6511,4 +6599,9 @@
 	$(MODEL_LIB)(sbcrnf.o) \
 	$(MODEL_LIB)(sbcssr.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -6520,22 +6613,28 @@
 	KEY_CPP \
 	sbcfwb.F90
-$(MODEL_LIB)(sbc_ice.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_ice_2.F90 \
-	par_oce.F90 \
-	KEY_CPP \
-	sbc_ice.F90
 $(MODEL_LIB)(sbcice_if.o) :	\
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(geo2ocean.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	daymod.F90 \
 	dom_oce.F90 \
 	geo2ocean.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
-	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -6543,49 +6642,162 @@
 	lbclnk.F90 \
 	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	zdfddm.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	fldread.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	sbcice_if.F90
+$(MODEL_LIB)(sbcice_lim.o) :	\
+	$(MODEL_LIB)(albedo.o) \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(geo2ocean.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
+	albedo.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	fldread.F90 \
+	ice_2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_ice_2.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
 	zdfddm.F90 \
+	$(MODEL_LIB)(albedo.o) \
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcblk_clio.o) \
+	$(MODEL_LIB)(sbcblk_core.o) \
+	albedo.F90 \
+	c1d.F90 \
+	daymod.F90 \
 	dom_oce.F90 \
 	eosbn2.F90 \
-	fldread.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	sbcblk_clio.F90 \
+	sbcblk_core.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	sbcice_lim.F90
+$(MODEL_LIB)(sbcice_lim_2.o) :	\
+	$(MODEL_LIB)(albedo.o) \
+	$(MODEL_LIB)(cpl_oasis3.o) \
+	$(MODEL_LIB)(cpl_oasis4.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domvvl.o) \
 	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	oce.F90 \
-	phycst.F90 \
-	sbc_oce.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	sbcice_if.F90
-$(MODEL_LIB)(sbcice_lim_2.o) :	\
+	$(MODEL_LIB)(geo2ocean.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(limadv_2.o) \
+	$(MODEL_LIB)(limhdf_2.o) \
+	$(MODEL_LIB)(limistate_2.o) \
+	$(MODEL_LIB)(limmsh_2.o) \
+	$(MODEL_LIB)(limrhg_2.o) \
+	$(MODEL_LIB)(limrst_2.o) \
+	$(MODEL_LIB)(limtab_2.o) \
+	$(MODEL_LIB)(limthd_lac_2.o) \
+	$(MODEL_LIB)(limthd_zdf_2.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(thd_ice_2.o) \
+	$(MODEL_LIB)(tradmp.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	albedo.F90 \
 	cpl_oasis3.F90 \
+	cpl_oasis4.F90 \
 	daymod.F90 \
 	dianam.F90 \
@@ -6597,6 +6809,6 @@
 	ice_2.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
-	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -6615,45 +6827,4 @@
 	limthd_lac_2.F90 \
 	limthd_zdf_2.F90 \
-	$(MODEL_LIB)(albedo.o) \
-	$(MODEL_LIB)(cpl_oasis3.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(geo2ocean.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(limadv_2.o) \
-	$(MODEL_LIB)(limhdf_2.o) \
-	$(MODEL_LIB)(limistate_2.o) \
-	$(MODEL_LIB)(limmsh_2.o) \
-	$(MODEL_LIB)(limrhg_2.o) \
-	$(MODEL_LIB)(limrst_2.o) \
-	$(MODEL_LIB)(limtab_2.o) \
-	$(MODEL_LIB)(limthd_lac_2.o) \
-	$(MODEL_LIB)(limthd_zdf_2.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(thd_ice_2.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	oce.F90 \
 	par_ice_2.F90 \
@@ -6668,4 +6839,33 @@
 	tradmp.F90 \
 	zdfddm.F90 \
+	$(MODEL_LIB)(albedo.o) \
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_ice_2.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(iceini_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(limdia_2.o) \
+	$(MODEL_LIB)(limdmp_2.o) \
+	$(MODEL_LIB)(limdyn_2.o) \
+	$(MODEL_LIB)(limrst_2.o) \
+	$(MODEL_LIB)(limsbc_2.o) \
+	$(MODEL_LIB)(limthd_2.o) \
+	$(MODEL_LIB)(limtrp_2.o) \
+	$(MODEL_LIB)(limwri_2.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcblk_clio.o) \
+	$(MODEL_LIB)(sbcblk_core.o) \
+	$(MODEL_LIB)(sbccpl.o) \
 	albedo.F90 \
 	c1d.F90 \
@@ -6688,16 +6888,40 @@
 	limtrp_2.F90 \
 	limwri_2.F90 \
+	oce.F90 \
+	par_ice_2.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	sbcblk_clio.F90 \
+	sbcblk_core.F90 \
+	sbccpl.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	sbcice_lim_2.F90
+$(MODEL_LIB)(sbcmod.o) :	\
 	$(MODEL_LIB)(albedo.o) \
 	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(closea.o) \
+	$(MODEL_LIB)(cpl_oasis3.o) \
+	$(MODEL_LIB)(cpl_oasis4.o) \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_ice_2.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(geo2ocean.o) \
 	$(MODEL_LIB)(ice_2.o) \
 	$(MODEL_LIB)(iceini_2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(limdia_2.o) \
 	$(MODEL_LIB)(limdmp_2.o) \
@@ -6710,116 +6934,25 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcblk_clio.o) \
 	$(MODEL_LIB)(sbcblk_core.o) \
 	$(MODEL_LIB)(sbccpl.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	oce.F90 \
-	par_ice_2.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbcblk_clio.F90 \
-	sbcblk_core.F90 \
-	sbccpl.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	sbcice_lim_2.F90
-$(MODEL_LIB)(sbcice_lim.o) :	\
-	albedo.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	fldread.F90 \
-	ice_2.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(albedo.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(sbcssr.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
-	oce.F90 \
-	par_ice_2.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	zdfddm.F90 \
-	albedo.F90 \
-	c1d.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(albedo.o) \
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbcblk_clio.o) \
-	$(MODEL_LIB)(sbcblk_core.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbcblk_clio.F90 \
-	sbcblk_core.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	sbcice_lim.F90
-$(MODEL_LIB)(sbcmod.o) :	\
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zpshde.o) \
 	albedo.F90 \
 	c1d.F90 \
 	closea.F90 \
 	cpl_oasis3.F90 \
+	cpl_oasis4.F90 \
 	daymod.F90 \
 	dom_ice_2.F90 \
@@ -6831,6 +6964,6 @@
 	iceini_2.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
-	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -6847,51 +6980,4 @@
 	limtrp_2.F90 \
 	limwri_2.F90 \
-	$(MODEL_LIB)(albedo.o) \
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(closea.o) \
-	$(MODEL_LIB)(cpl_oasis3.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_ice_2.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(geo2ocean.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(iceini_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(limdia_2.o) \
-	$(MODEL_LIB)(limdmp_2.o) \
-	$(MODEL_LIB)(limdyn_2.o) \
-	$(MODEL_LIB)(limrst_2.o) \
-	$(MODEL_LIB)(limsbc_2.o) \
-	$(MODEL_LIB)(limthd_2.o) \
-	$(MODEL_LIB)(limtrp_2.o) \
-	$(MODEL_LIB)(limwri_2.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbcblk_clio.o) \
-	$(MODEL_LIB)(sbcblk_core.o) \
-	$(MODEL_LIB)(sbccpl.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(sbcssr.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zpshde.o) \
 	oce.F90 \
 	par_ice_2.F90 \
@@ -6901,9 +6987,9 @@
 	prtctl.F90 \
 	restart.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
 	sbcblk_clio.F90 \
 	sbcblk_core.F90 \
 	sbccpl.F90 \
-	sbc_ice.F90 \
-	sbc_oce.F90 \
 	sbcrnf.F90 \
 	sbcssr.F90 \
@@ -6912,10 +6998,4 @@
 	zdfmxl.F90 \
 	zpshde.F90 \
-	closea.F90 \
-	cpl_oasis3.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
 	$(MODEL_LIB)(closea.o) \
 	$(MODEL_LIB)(cpl_oasis3.o) \
@@ -6928,4 +7008,6 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcana.o) \
 	$(MODEL_LIB)(sbcblk_clio.o) \
@@ -6935,15 +7017,21 @@
 	$(MODEL_LIB)(sbcfwb.o) \
 	$(MODEL_LIB)(sbcice_if.o) \
+	$(MODEL_LIB)(sbcice_lim.o) \
 	$(MODEL_LIB)(sbcice_lim_2.o) \
-	$(MODEL_LIB)(sbcice_lim.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
 	$(MODEL_LIB)(sbcssm.o) \
 	$(MODEL_LIB)(sbcssr.o) \
+	closea.F90 \
+	cpl_oasis3.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
 	oce.F90 \
 	phycst.F90 \
 	prtctl.F90 \
 	restart.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
 	sbcana.F90 \
 	sbcblk_clio.F90 \
@@ -6952,9 +7040,7 @@
 	sbcflx.F90 \
 	sbcfwb.F90 \
-	sbc_ice.F90 \
 	sbcice_if.F90 \
+	sbcice_lim.F90 \
 	sbcice_lim_2.F90 \
-	sbcice_lim.F90 \
-	sbc_oce.F90 \
 	sbcrnf.F90 \
 	sbcssm.F90 \
@@ -6963,35 +7049,30 @@
 	KEY_CPP \
 	sbcmod.F90
-$(MODEL_LIB)(sbc_oce.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	lbclnk.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	sbc_oce.F90
 $(MODEL_LIB)(sbcrnf.o) :	\
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(geo2ocean.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	daymod.F90 \
 	dom_oce.F90 \
 	geo2ocean.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
-	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -7000,68 +7081,37 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbc_oce.F90 \
+	$(MODEL_LIB)(closea.o) \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(geo2ocean.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	closea.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	fldread.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	sbcrnf.F90
+$(MODEL_LIB)(sbcssm.o) :	\
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	sbc_oce.F90 \
-	closea.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	fldread.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	$(MODEL_LIB)(closea.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	phycst.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90
-$(MODEL_LIB)(sbcssm.o) :	\
-	c1d.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -7078,4 +7128,16 @@
 	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zpshde.o) \
+	c1d.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -7088,16 +7150,16 @@
 	zdfmxl.F90 \
 	zpshde.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	daymod.F90 \
 	dom_oce.F90 \
 	in_out_manager.F90 \
 	iom.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
 	oce.F90 \
 	prtctl.F90 \
@@ -7108,4 +7170,26 @@
 	sbcssm.F90
 $(MODEL_LIB)(sbcssr.o) :	\
+	$(MODEL_LIB)(closea.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(geo2ocean.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	closea.F90 \
 	daymod.F90 \
@@ -7114,6 +7198,6 @@
 	geo2ocean.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
-	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -7123,33 +7207,22 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	$(MODEL_LIB)(closea.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbc_oce.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(geo2ocean.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	sbc_oce.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
 	daymod.F90 \
 	dom_oce.F90 \
@@ -7159,15 +7232,4 @@
 	lbclnk.F90 \
 	lib_mpp.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
 	oce.F90 \
 	phycst.F90 \
@@ -7177,10 +7239,12 @@
 	KEY_CPP \
 	sbcssr.F90
+$(MODEL_LIB)(sol_oce.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	KEY_CPP \
+	sol_oce.F90
 $(MODEL_LIB)(solmat.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -7192,12 +7256,13 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	obc_par.F90 \
 	oce.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -7208,4 +7273,8 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(sol_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	obc_oce.F90 \
 	oce.F90 \
@@ -7214,32 +7283,21 @@
 	KEY_CPP \
 	solmat.F90
-$(MODEL_LIB)(sol_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	KEY_CPP \
-	sol_oce.F90
 $(MODEL_LIB)(solpcg.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -7248,4 +7306,8 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(sol_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	oce.F90 \
 	sol_oce.F90 \
@@ -7254,24 +7316,20 @@
 	solpcg.F90
 $(MODEL_LIB)(solsor.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -7281,4 +7339,8 @@
 	$(MODEL_LIB)(sol_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	oce.F90 \
 	sol_oce.F90 \
@@ -7286,10 +7348,4 @@
 	solsor.F90
 $(MODEL_LIB)(solver.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -7305,4 +7361,10 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(sol_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	obc_oce.F90 \
 	obc_par.F90 \
@@ -7312,4 +7374,14 @@
 	phycst.F90 \
 	sol_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(solmat.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	dom_oce.F90 \
 	dynspg_oce.F90 \
@@ -7317,36 +7389,12 @@
 	lbclnk.F90 \
 	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(solmat.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	obc_oce.F90 \
 	oce.F90 \
+	sol_oce.F90 \
 	solmat.F90 \
-	sol_oce.F90 \
 	zdf_oce.F90 \
 	KEY_CPP \
 	solver.F90
 $(MODEL_LIB)(sshwzv.o) :	\
-	bdy_oce.F90 \
-	c1d.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(c1d.o) \
@@ -7354,8 +7402,8 @@
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -7374,4 +7422,18 @@
 	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zpshde.o) \
+	bdy_oce.F90 \
+	c1d.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	obc_oce.F90 \
 	obc_par.F90 \
@@ -7385,4 +7447,18 @@
 	zdfmxl.F90 \
 	zpshde.F90 \
+	$(MODEL_LIB)(cla_div.o) \
+	$(MODEL_LIB)(divcur.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domvvl.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	cla_div.F90 \
 	divcur.F90 \
@@ -7392,18 +7468,4 @@
 	iom.F90 \
 	lbclnk.F90 \
-	$(MODEL_LIB)(cla_div.o) \
-	$(MODEL_LIB)(divcur.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
 	obc_oce.F90 \
 	obc_par.F90 \
@@ -7417,71 +7479,74 @@
 	KEY_CPP \
 	sshwzv.F90
-$(MODEL_LIB)(step_c1d.o) :	\
-	agrif_opa_interp.F90 \
-	agrif_opa_update.F90 \
-	bdytra.F90 \
-	c1d.F90 \
-	closea.F90 \
-	cpl_oasis3.F90 \
-	daymod.F90 \
-	diadimg.F90 \
-	diahth.F90 \
-	dianam.F90 \
-	diawri.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	dynhpg.F90 \
-	dynspg_oce.F90 \
-	dynzdf_exp.F90 \
-	dynzdf_imp.F90 \
-	eosbn2.F90 \
-	fldread.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	limwri_2.F90 \
+$(MODEL_LIB)(step.o) :	\
 	$(MODEL_LIB)(agrif_opa_interp.o) \
 	$(MODEL_LIB)(agrif_opa_update.o) \
+	$(MODEL_LIB)(albedo.o) \
+	$(MODEL_LIB)(bdy_oce.o) \
+	$(MODEL_LIB)(bdydta.o) \
+	$(MODEL_LIB)(bdydyn.o) \
+	$(MODEL_LIB)(bdytides.o) \
 	$(MODEL_LIB)(bdytra.o) \
 	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(cla_div.o) \
 	$(MODEL_LIB)(closea.o) \
 	$(MODEL_LIB)(cpl_oasis3.o) \
+	$(MODEL_LIB)(cpl_oasis4.o) \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(diadimg.o) \
 	$(MODEL_LIB)(diahth.o) \
 	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(diawri.o) \
+	$(MODEL_LIB)(divcur.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domvvl.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(dynadv.o) \
+	$(MODEL_LIB)(dynadv_cen2.o) \
+	$(MODEL_LIB)(dynadv_ubs.o) \
 	$(MODEL_LIB)(dynhpg.o) \
+	$(MODEL_LIB)(dynkeg.o) \
+	$(MODEL_LIB)(dynldf_bilap.o) \
+	$(MODEL_LIB)(dynldf_bilapg.o) \
+	$(MODEL_LIB)(dynldf_iso.o) \
+	$(MODEL_LIB)(dynldf_lap.o) \
+	$(MODEL_LIB)(dynspg_exp.o) \
+	$(MODEL_LIB)(dynspg_flt.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(dynspg_ts.o) \
+	$(MODEL_LIB)(dynzad.o) \
 	$(MODEL_LIB)(dynzdf_exp.o) \
 	$(MODEL_LIB)(dynzdf_imp.o) \
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(flo4rk.o) \
+	$(MODEL_LIB)(flo_oce.o) \
+	$(MODEL_LIB)(floblk.o) \
+	$(MODEL_LIB)(flodom.o) \
+	$(MODEL_LIB)(flowri.o) \
+	$(MODEL_LIB)(geo2ocean.o) \
+	$(MODEL_LIB)(ice_2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(lbcnfd.o) \
 	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(limwri_2.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(obcdyn_bt.o) \
 	$(MODEL_LIB)(obctra.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(obcvol.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice_2.o) \
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
@@ -7489,4 +7554,6 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcana.o) \
 	$(MODEL_LIB)(sbcblk_clio.o) \
@@ -7496,139 +7563,47 @@
 	$(MODEL_LIB)(sbcfwb.o) \
 	$(MODEL_LIB)(sbcice_if.o) \
+	$(MODEL_LIB)(sbcice_lim.o) \
 	$(MODEL_LIB)(sbcice_lim_2.o) \
-	$(MODEL_LIB)(sbcice_lim.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbcmod.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
 	$(MODEL_LIB)(sbcssm.o) \
 	$(MODEL_LIB)(sbcssr.o) \
 	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(traadv_cen2.o) \
+	$(MODEL_LIB)(traadv_eiv.o) \
+	$(MODEL_LIB)(traadv_muscl.o) \
+	$(MODEL_LIB)(traadv_muscl2.o) \
+	$(MODEL_LIB)(traadv_qck.o) \
+	$(MODEL_LIB)(traadv_tvd.o) \
+	$(MODEL_LIB)(traadv_ubs.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(traldf_bilap.o) \
+	$(MODEL_LIB)(traldf_bilapg.o) \
+	$(MODEL_LIB)(traldf_iso.o) \
+	$(MODEL_LIB)(traldf_lap.o) \
 	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trazdf.o) \
 	$(MODEL_LIB)(trazdf_exp.o) \
 	$(MODEL_LIB)(trazdf_imp.o) \
 	$(MODEL_LIB)(trc_oce.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
 	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmld_rst.o) \
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfbfr.o) \
 	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfkpp.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdftke.o) \
 	$(MODEL_LIB)(zdftke_old.o) \
 	$(MODEL_LIB)(zpshde.o) \
-	obctra.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	sbcana.F90 \
-	sbcblk_clio.F90 \
-	sbcblk_core.F90 \
-	sbccpl.F90 \
-	sbcflx.F90 \
-	sbcfwb.F90 \
-	sbc_ice.F90 \
-	sbcice_if.F90 \
-	sbcice_lim_2.F90 \
-	sbcice_lim.F90 \
-	sbcmod.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	sbcssm.F90 \
-	sbcssr.F90 \
-	sol_oce.F90 \
-	traqsr.F90 \
-	trazdf_exp.F90 \
-	trazdf_imp.F90 \
-	trc_oce.F90 \
-	trdmld_oce.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdfddm.F90 \
-	zdfkpp.F90 \
-	zdfmxl.F90 \
-	zdf_oce.F90 \
-	zdftke.F90 \
-	zdftke_old.F90 \
-	zpshde.F90 \
-	daymod.F90 \
-	diawri_c1d.F90 \
-	diawri.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtatem.F90 \
-	dyncor_c1d.F90 \
-	dynnxt_c1d.F90 \
-	dynzdf.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(diawri_c1d.o) \
-	$(MODEL_LIB)(diawri.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(dyncor_c1d.o) \
-	$(MODEL_LIB)(dynnxt_c1d.o) \
-	$(MODEL_LIB)(dynzdf.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbcmod.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(stpctl.o) \
-	$(MODEL_LIB)(tranpc.o) \
-	$(MODEL_LIB)(tranxt.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trasbc.o) \
-	$(MODEL_LIB)(trazdf.o) \
-	$(MODEL_LIB)(zdfbfr.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfevd.o) \
-	$(MODEL_LIB)(zdfkpp.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfric.o) \
-	$(MODEL_LIB)(zdftke.o) \
-	oce.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	sbcmod.F90 \
-	sbcrnf.F90 \
-	stpctl.F90 \
-	tranpc.F90 \
-	tranxt.F90 \
-	traqsr.F90 \
-	trasbc.F90 \
-	trazdf.F90 \
-	zdfbfr.F90 \
-	zdfddm.F90 \
-	zdfevd.F90 \
-	zdfkpp.F90 \
-	zdfmxl.F90 \
-	zdf_oce.F90 \
-	zdfric.F90 \
-	zdftke.F90 \
-	domzgr_substitute.h90 \
-	zdfddm_substitute.h90 \
-	KEY_CPP \
-	step_c1d.F90
-$(MODEL_LIB)(step.o) :	\
 	agrif_opa_interp.F90 \
 	agrif_opa_update.F90 \
 	albedo.F90 \
+	bdy_oce.F90 \
 	bdydta.F90 \
 	bdydyn.F90 \
-	bdy_oce.F90 \
 	bdytides.F90 \
 	bdytra.F90 \
@@ -7637,4 +7612,5 @@
 	closea.F90 \
 	cpl_oasis3.F90 \
+	cpl_oasis4.F90 \
 	daymod.F90 \
 	diadimg.F90 \
@@ -7646,6 +7622,6 @@
 	dtasal.F90 \
 	dtatem.F90 \
+	dynadv.F90 \
 	dynadv_cen2.F90 \
-	dynadv.F90 \
 	dynadv_ubs.F90 \
 	dynhpg.F90 \
@@ -7665,13 +7641,13 @@
 	fldread.F90 \
 	flo4rk.F90 \
+	flo_oce.F90 \
 	floblk.F90 \
 	flodom.F90 \
-	flo_oce.F90 \
 	flowri.F90 \
 	geo2ocean.F90 \
 	ice_2.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
-	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -7685,126 +7661,8 @@
 	lib_print.f90 \
 	limwri_2.F90 \
-	$(MODEL_LIB)(agrif_opa_interp.o) \
-	$(MODEL_LIB)(agrif_opa_update.o) \
-	$(MODEL_LIB)(albedo.o) \
-	$(MODEL_LIB)(bdydta.o) \
-	$(MODEL_LIB)(bdydyn.o) \
-	$(MODEL_LIB)(bdy_oce.o) \
-	$(MODEL_LIB)(bdytides.o) \
-	$(MODEL_LIB)(bdytra.o) \
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(cla_div.o) \
-	$(MODEL_LIB)(closea.o) \
-	$(MODEL_LIB)(cpl_oasis3.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(diadimg.o) \
-	$(MODEL_LIB)(diahth.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(divcur.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(dynadv_cen2.o) \
-	$(MODEL_LIB)(dynadv.o) \
-	$(MODEL_LIB)(dynadv_ubs.o) \
-	$(MODEL_LIB)(dynhpg.o) \
-	$(MODEL_LIB)(dynkeg.o) \
-	$(MODEL_LIB)(dynldf_bilapg.o) \
-	$(MODEL_LIB)(dynldf_bilap.o) \
-	$(MODEL_LIB)(dynldf_iso.o) \
-	$(MODEL_LIB)(dynldf_lap.o) \
-	$(MODEL_LIB)(dynspg_exp.o) \
-	$(MODEL_LIB)(dynspg_flt.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynspg_ts.o) \
-	$(MODEL_LIB)(dynzad.o) \
-	$(MODEL_LIB)(dynzdf_exp.o) \
-	$(MODEL_LIB)(dynzdf_imp.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(flo4rk.o) \
-	$(MODEL_LIB)(floblk.o) \
-	$(MODEL_LIB)(flodom.o) \
-	$(MODEL_LIB)(flo_oce.o) \
-	$(MODEL_LIB)(flowri.o) \
-	$(MODEL_LIB)(geo2ocean.o) \
-	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(limwri_2.o) \
-	$(MODEL_LIB)(obcdyn_bt.o) \
-	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obctra.o) \
-	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice_2.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbcana.o) \
-	$(MODEL_LIB)(sbcblk_clio.o) \
-	$(MODEL_LIB)(sbcblk_core.o) \
-	$(MODEL_LIB)(sbccpl.o) \
-	$(MODEL_LIB)(sbcflx.o) \
-	$(MODEL_LIB)(sbcfwb.o) \
-	$(MODEL_LIB)(sbcice_if.o) \
-	$(MODEL_LIB)(sbcice_lim_2.o) \
-	$(MODEL_LIB)(sbcice_lim.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(sbcssm.o) \
-	$(MODEL_LIB)(sbcssr.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(traadv_cen2.o) \
-	$(MODEL_LIB)(traadv_eiv.o) \
-	$(MODEL_LIB)(traadv_muscl2.o) \
-	$(MODEL_LIB)(traadv_muscl.o) \
-	$(MODEL_LIB)(traadv_qck.o) \
-	$(MODEL_LIB)(traadv_tvd.o) \
-	$(MODEL_LIB)(traadv_ubs.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(traldf_bilapg.o) \
-	$(MODEL_LIB)(traldf_bilap.o) \
-	$(MODEL_LIB)(traldf_iso.o) \
-	$(MODEL_LIB)(traldf_lap.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trazdf_exp.o) \
-	$(MODEL_LIB)(trazdf_imp.o) \
-	$(MODEL_LIB)(trazdf.o) \
-	$(MODEL_LIB)(trc_oce.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmld_rst.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfkpp.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdftke.o) \
-	$(MODEL_LIB)(zdftke_old.o) \
-	$(MODEL_LIB)(zpshde.o) \
-	obcdyn_bt.F90 \
-	obcdyn.F90 \
 	obc_oce.F90 \
 	obc_par.F90 \
+	obcdyn.F90 \
+	obcdyn_bt.F90 \
 	obctra.F90 \
 	obcvol.F90 \
@@ -7816,4 +7674,6 @@
 	prtctl.F90 \
 	restart.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
 	sbcana.F90 \
 	sbcblk_clio.F90 \
@@ -7822,9 +7682,7 @@
 	sbcflx.F90 \
 	sbcfwb.F90 \
-	sbc_ice.F90 \
 	sbcice_if.F90 \
+	sbcice_lim.F90 \
 	sbcice_lim_2.F90 \
-	sbcice_lim.F90 \
-	sbc_oce.F90 \
 	sbcrnf.F90 \
 	sbcssm.F90 \
@@ -7833,6 +7691,6 @@
 	traadv_cen2.F90 \
 	traadv_eiv.F90 \
+	traadv_muscl.F90 \
 	traadv_muscl2.F90 \
-	traadv_muscl.F90 \
 	traadv_qck.F90 \
 	traadv_tvd.F90 \
@@ -7844,6 +7702,6 @@
 	traldf_lap.F90 \
 	traqsr.F90 \
+	trazdf.F90 \
 	trazdf_exp.F90 \
-	trazdf.F90 \
 	trazdf_imp.F90 \
 	trc_oce.F90 \
@@ -7854,47 +7712,15 @@
 	trdmod_oce.F90 \
 	trdvor_oce.F90 \
+	zdf_oce.F90 \
+	zdfbfr.F90 \
 	zdfddm.F90 \
 	zdfkpp.F90 \
 	zdfmxl.F90 \
-	zdf_oce.F90 \
 	zdftke.F90 \
 	zdftke_old.F90 \
 	zpshde.F90 \
-	agrif_opa_sponge.F90 \
-	bdydta.F90 \
-	bdy_par.F90 \
-	cla.F90 \
-	cpl_oasis3.F90 \
-	daymod.F90 \
-	diafwb.F90 \
-	diagap.F90 \
-	diahdy.F90 \
-	diahth.F90 \
-	diaptr.F90 \
-	diawri.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtatem.F90 \
-	dynadv.F90 \
-	dynhpg.F90 \
-	dynldf.F90 \
-	dynnxt.F90 \
-	dynspg.F90 \
-	dynspg_oce.F90 \
-	dynvor.F90 \
-	dynzdf.F90 \
-	eosbn2.F90 \
-	floats.F90 \
-	flo_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldfeiv.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
 	$(MODEL_LIB)(agrif_opa_sponge.o) \
+	$(MODEL_LIB)(bdy_par.o) \
 	$(MODEL_LIB)(bdydta.o) \
-	$(MODEL_LIB)(bdy_par.o) \
 	$(MODEL_LIB)(cla.o) \
 	$(MODEL_LIB)(cpl_oasis3.o) \
@@ -7910,4 +7736,5 @@
 	$(MODEL_LIB)(dtatem.o) \
 	$(MODEL_LIB)(dynadv.o) \
+	$(MODEL_LIB)(dynbfr.o) \
 	$(MODEL_LIB)(dynhpg.o) \
 	$(MODEL_LIB)(dynldf.o) \
@@ -7918,6 +7745,6 @@
 	$(MODEL_LIB)(dynzdf.o) \
 	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(flo_oce.o) \
 	$(MODEL_LIB)(floats.o) \
-	$(MODEL_LIB)(flo_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -7927,6 +7754,6 @@
 	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
 	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(obc_par.o) \
 	$(MODEL_LIB)(obcrad.o) \
 	$(MODEL_LIB)(obcrst.o) \
@@ -7954,4 +7781,5 @@
 	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfbfr.o) \
 	$(MODEL_LIB)(zdfddm.o) \
@@ -7959,5 +7787,4 @@
 	$(MODEL_LIB)(zdfkpp.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfric.o) \
 	$(MODEL_LIB)(zdftke.o) \
@@ -7965,6 +7792,40 @@
 	$(MODEL_LIB)(zdftmx.o) \
 	$(MODEL_LIB)(zpshde.o) \
+	agrif_opa_sponge.F90 \
+	bdy_par.F90 \
+	bdydta.F90 \
+	cla.F90 \
+	cpl_oasis3.F90 \
+	daymod.F90 \
+	diafwb.F90 \
+	diagap.F90 \
+	diahdy.F90 \
+	diahth.F90 \
+	diaptr.F90 \
+	diawri.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtatem.F90 \
+	dynadv.F90 \
+	dynbfr.F90 \
+	dynhpg.F90 \
+	dynldf.F90 \
+	dynnxt.F90 \
+	dynspg.F90 \
+	dynspg_oce.F90 \
+	dynvor.F90 \
+	dynzdf.F90 \
+	eosbn2.F90 \
+	flo_oce.F90 \
+	floats.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldfeiv.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	obc_par.F90 \
 	obcdta.F90 \
-	obc_par.F90 \
 	obcrad.F90 \
 	obcrst.F90 \
@@ -7992,4 +7853,5 @@
 	trdmod_oce.F90 \
 	trdvor.F90 \
+	zdf_oce.F90 \
 	zdfbfr.F90 \
 	zdfddm.F90 \
@@ -7997,5 +7859,4 @@
 	zdfkpp.F90 \
 	zdfmxl.F90 \
-	zdf_oce.F90 \
 	zdfric.F90 \
 	zdftke.F90 \
@@ -8008,82 +7869,38 @@
 	KEY_CPP \
 	step.F90
-$(MODEL_LIB)(stpctl.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	oce.F90 \
-	sol_oce.F90 \
-	stpctl.F90
-$(MODEL_LIB)(thd_ice_2.o) :	\
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	$(MODEL_LIB)(par_ice_2.o) \
-	par_ice_2.F90 \
-	KEY_CPP \
-	thd_ice_2.F90
-$(MODEL_LIB)(traadv_cen2.o) :	\
-	c1d.F90 \
-	closea.F90 \
-	cpl_oasis3.F90 \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	fldread.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+$(MODEL_LIB)(step_c1d.o) :	\
+	$(MODEL_LIB)(agrif_opa_interp.o) \
+	$(MODEL_LIB)(agrif_opa_update.o) \
+	$(MODEL_LIB)(bdytra.o) \
 	$(MODEL_LIB)(c1d.o) \
 	$(MODEL_LIB)(closea.o) \
 	$(MODEL_LIB)(cpl_oasis3.o) \
 	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(diadimg.o) \
+	$(MODEL_LIB)(diahth.o) \
 	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(diawri.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domvvl.o) \
+	$(MODEL_LIB)(dynhpg.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(dynzdf_exp.o) \
+	$(MODEL_LIB)(dynzdf_imp.o) \
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(fldread.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(limwri_2.o) \
+	$(MODEL_LIB)(obctra.o) \
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -8092,4 +7909,6 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcana.o) \
 	$(MODEL_LIB)(sbcblk_clio.o) \
@@ -8099,8 +7918,329 @@
 	$(MODEL_LIB)(sbcfwb.o) \
 	$(MODEL_LIB)(sbcice_if.o) \
+	$(MODEL_LIB)(sbcice_lim.o) \
 	$(MODEL_LIB)(sbcice_lim_2.o) \
+	$(MODEL_LIB)(sbcmod.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(sbcssm.o) \
+	$(MODEL_LIB)(sbcssr.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trazdf_exp.o) \
+	$(MODEL_LIB)(trazdf_imp.o) \
+	$(MODEL_LIB)(trc_oce.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfbfr.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfkpp.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdftke.o) \
+	$(MODEL_LIB)(zdftke_old.o) \
+	$(MODEL_LIB)(zpshde.o) \
+	agrif_opa_interp.F90 \
+	agrif_opa_update.F90 \
+	bdytra.F90 \
+	c1d.F90 \
+	closea.F90 \
+	cpl_oasis3.F90 \
+	daymod.F90 \
+	diadimg.F90 \
+	diahth.F90 \
+	dianam.F90 \
+	diawri.F90 \
+	dom_oce.F90 \
+	domvvl.F90 \
+	dynhpg.F90 \
+	dynspg_oce.F90 \
+	dynzdf_exp.F90 \
+	dynzdf_imp.F90 \
+	eosbn2.F90 \
+	fldread.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	limwri_2.F90 \
+	obctra.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
+	sbcana.F90 \
+	sbcblk_clio.F90 \
+	sbcblk_core.F90 \
+	sbccpl.F90 \
+	sbcflx.F90 \
+	sbcfwb.F90 \
+	sbcice_if.F90 \
+	sbcice_lim.F90 \
+	sbcice_lim_2.F90 \
+	sbcmod.F90 \
+	sbcrnf.F90 \
+	sbcssm.F90 \
+	sbcssr.F90 \
+	sol_oce.F90 \
+	traqsr.F90 \
+	trazdf_exp.F90 \
+	trazdf_imp.F90 \
+	trc_oce.F90 \
+	trdmld_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	zdfbfr.F90 \
+	zdfddm.F90 \
+	zdfkpp.F90 \
+	zdfmxl.F90 \
+	zdftke.F90 \
+	zdftke_old.F90 \
+	zpshde.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(diawri.o) \
+	$(MODEL_LIB)(diawri_c1d.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(dyncor_c1d.o) \
+	$(MODEL_LIB)(dynnxt_c1d.o) \
+	$(MODEL_LIB)(dynzdf.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbcmod.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(stpctl.o) \
+	$(MODEL_LIB)(tranpc.o) \
+	$(MODEL_LIB)(tranxt.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trasbc.o) \
+	$(MODEL_LIB)(trazdf.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfbfr.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfevd.o) \
+	$(MODEL_LIB)(zdfkpp.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdfric.o) \
+	$(MODEL_LIB)(zdftke.o) \
+	daymod.F90 \
+	diawri.F90 \
+	diawri_c1d.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtatem.F90 \
+	dyncor_c1d.F90 \
+	dynnxt_c1d.F90 \
+	dynzdf.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbcmod.F90 \
+	sbcrnf.F90 \
+	stpctl.F90 \
+	tranpc.F90 \
+	tranxt.F90 \
+	traqsr.F90 \
+	trasbc.F90 \
+	trazdf.F90 \
+	zdf_oce.F90 \
+	zdfbfr.F90 \
+	zdfddm.F90 \
+	zdfevd.F90 \
+	zdfkpp.F90 \
+	zdfmxl.F90 \
+	zdfric.F90 \
+	zdftke.F90 \
+	domzgr_substitute.h90 \
+	zdfddm_substitute.h90 \
+	KEY_CPP \
+	step_c1d.F90
+$(MODEL_LIB)(stpctl.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	sol_oce.F90 \
+	stpctl.F90
+$(MODEL_LIB)(thd_ice_2.o) :	\
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_ice_2.o) \
+	par_ice_2.F90 \
+	KEY_CPP \
+	thd_ice_2.F90
+$(MODEL_LIB)(traadv.o) :	\
+	$(MODEL_LIB)(closea.o) \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcmod.o) \
+	$(MODEL_LIB)(sbcrnf.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	closea.F90 \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbc_oce.F90 \
+	sbcmod.F90 \
+	sbcrnf.F90 \
+	trabbl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(traadv_cen2.o) \
+	$(MODEL_LIB)(traadv_eiv.o) \
+	$(MODEL_LIB)(traadv_muscl.o) \
+	$(MODEL_LIB)(traadv_muscl2.o) \
+	$(MODEL_LIB)(traadv_qck.o) \
+	$(MODEL_LIB)(traadv_tvd.o) \
+	$(MODEL_LIB)(traadv_ubs.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	traadv_cen2.F90 \
+	traadv_eiv.F90 \
+	traadv_muscl.F90 \
+	traadv_muscl2.F90 \
+	traadv_qck.F90 \
+	traadv_tvd.F90 \
+	traadv_ubs.F90 \
+	trabbl.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	traadv.F90
+$(MODEL_LIB)(traadv_cen2.o) :	\
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(closea.o) \
+	$(MODEL_LIB)(cpl_oasis3.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(fldread.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcana.o) \
+	$(MODEL_LIB)(sbcblk_clio.o) \
+	$(MODEL_LIB)(sbcblk_core.o) \
+	$(MODEL_LIB)(sbccpl.o) \
+	$(MODEL_LIB)(sbcflx.o) \
+	$(MODEL_LIB)(sbcfwb.o) \
+	$(MODEL_LIB)(sbcice_if.o) \
 	$(MODEL_LIB)(sbcice_lim.o) \
-	$(MODEL_LIB)(sbc_ice.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(sbcice_lim_2.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
 	$(MODEL_LIB)(sbcssm.o) \
@@ -8114,8 +8254,27 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zpshde.o) \
+	c1d.F90 \
+	closea.F90 \
+	cpl_oasis3.F90 \
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	fldread.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -8124,4 +8283,6 @@
 	prtctl.F90 \
 	restart.F90 \
+	sbc_ice.F90 \
+	sbc_oce.F90 \
 	sbcana.F90 \
 	sbcblk_clio.F90 \
@@ -8130,9 +8291,7 @@
 	sbcflx.F90 \
 	sbcfwb.F90 \
-	sbc_ice.F90 \
 	sbcice_if.F90 \
+	sbcice_lim.F90 \
 	sbcice_lim_2.F90 \
-	sbcice_lim.F90 \
-	sbc_oce.F90 \
 	sbcrnf.F90 \
 	sbcssm.F90 \
@@ -8146,17 +8305,8 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
+	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfmxl.F90 \
-	zdf_oce.F90 \
 	zpshde.F90 \
-	closea.F90 \
-	diaptr.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
 	$(MODEL_LIB)(closea.o) \
 	$(MODEL_LIB)(diaptr.o) \
@@ -8171,6 +8321,6 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcmod.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcrnf.o) \
 	$(MODEL_LIB)(trabbl.o) \
@@ -8178,9 +8328,18 @@
 	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	closea.F90 \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	oce.F90 \
 	prtctl.F90 \
 	restart.F90 \
+	sbc_oce.F90 \
 	sbcmod.F90 \
-	sbc_oce.F90 \
 	sbcrnf.F90 \
 	trabbl.F90 \
@@ -8193,4 +8352,20 @@
 	traadv_cen2.F90
 $(MODEL_LIB)(traadv_eiv.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -8203,26 +8378,16 @@
 	ldftra_oce.F90 \
 	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	zdfmxl.F90 \
+	$(MODEL_LIB)(oce.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -8230,10 +8395,4 @@
 	ldfslp.F90 \
 	ldftra_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
 	oce.F90 \
 	domzgr_substitute.h90 \
@@ -8243,105 +8402,5 @@
 	KEY_CPP \
 	traadv_eiv.F90
-$(MODEL_LIB)(traadv.o) :	\
-	closea.F90 \
-	diaptr.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(closea.o) \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbcmod.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	sbcmod.F90 \
-	sbc_oce.F90 \
-	sbcrnf.F90 \
-	trabbl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdf_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	ldftra_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(traadv_cen2.o) \
-	$(MODEL_LIB)(traadv_eiv.o) \
-	$(MODEL_LIB)(traadv_muscl2.o) \
-	$(MODEL_LIB)(traadv_muscl.o) \
-	$(MODEL_LIB)(traadv_qck.o) \
-	$(MODEL_LIB)(traadv_tvd.o) \
-	$(MODEL_LIB)(traadv_ubs.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	oce.F90 \
-	prtctl.F90 \
-	traadv_cen2.F90 \
-	traadv_eiv.F90 \
-	traadv_muscl2.F90 \
-	traadv_muscl.F90 \
-	traadv_qck.F90 \
-	traadv_tvd.F90 \
-	traadv_ubs.F90 \
-	trabbl.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traadv.F90
-$(MODEL_LIB)(traadv_muscl2.o) :	\
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+$(MODEL_LIB)(traadv_muscl.o) :	\
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -8370,4 +8429,15 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -8385,10 +8455,4 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	diaptr.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
 	$(MODEL_LIB)(diaptr.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -8402,4 +8466,10 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	oce.F90 \
 	prtctl.F90 \
@@ -8410,17 +8480,6 @@
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	traadv_muscl2.F90
-$(MODEL_LIB)(traadv_muscl.o) :	\
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	traadv_muscl.F90
+$(MODEL_LIB)(traadv_muscl2.o) :	\
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -8449,4 +8508,15 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -8464,10 +8534,4 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	diaptr.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
 	$(MODEL_LIB)(diaptr.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -8481,4 +8545,10 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	oce.F90 \
 	prtctl.F90 \
@@ -8489,17 +8559,6 @@
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	traadv_muscl.F90
+	traadv_muscl2.F90
 $(MODEL_LIB)(traadv_qck.o) :	\
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -8528,4 +8587,15 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -8543,10 +8613,4 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	diaptr.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
 	$(MODEL_LIB)(diaptr.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -8560,4 +8624,10 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	oce.F90 \
 	prtctl.F90 \
@@ -8570,15 +8640,4 @@
 	traadv_qck.F90
 $(MODEL_LIB)(traadv_tvd.o) :	\
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -8607,4 +8666,15 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -8622,10 +8692,4 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	diaptr.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
 	$(MODEL_LIB)(diaptr.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -8639,4 +8703,10 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	oce.F90 \
 	prtctl.F90 \
@@ -8649,13 +8719,4 @@
 	traadv_tvd.F90
 $(MODEL_LIB)(traadv_ubs.o) :	\
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbcnfd.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -8680,4 +8741,13 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbcnfd.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -8693,10 +8763,4 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	diaptr.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
 	$(MODEL_LIB)(diaptr.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -8709,4 +8773,10 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	oce.F90 \
 	prtctl.F90 \
@@ -8718,14 +8788,4 @@
 	traadv_ubs.F90
 $(MODEL_LIB)(trabbc.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -8751,4 +8811,14 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -8764,7 +8834,4 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -8775,4 +8842,7 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -8784,96 +8854,6 @@
 	trabbc.F90
 $(MODEL_LIB)(trabbl.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(trdicp.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	trdicp.F90 \
-	trdicp_oce.F90 \
-	trdmld.F90 \
-	trdmld_oce.F90 \
-	trdmod_oce.F90 \
-	trdvor.F90 \
-	trdvor_oce.F90 \
-	zdfddm.F90 \
-	zdf_oce.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	oce.F90 \
-	prtctl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	eosbn2.F90 \
-	iom.F90 \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(oce.o) \
-	oce.F90 \
-	domzgr_substitute.h90 \
-	trabbl_adv.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	trabbl.F90
-$(MODEL_LIB)(tradmp.o) :	\
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbcnfd.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
@@ -8894,4 +8874,11 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -8908,55 +8895,43 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
+	zdfddm.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	phycst.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
 	prtctl.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
-	zdfmxl.F90 \
-	zdf_oce.F90 \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce.o) \
+	eosbn2.F90 \
+	iom.F90 \
+	oce.F90 \
 	domzgr_substitute.h90 \
+	trabbl_adv.h90 \
 	vectopt_loop_substitute.h90 \
-	$(IOIPSL_LIB) \
-	KEY_CPP \
-	tradmp.F90
-$(MODEL_LIB)(traldf_bilap.o) :	\
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	KEY_CPP \
+	trabbl.F90
+$(MODEL_LIB)(tradmp.o) :	\
 	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -8975,6 +8950,18 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -8990,123 +8977,37 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
-	zdfmxl.F90 \
 	zdf_oce.F90 \
-	diaptr.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
-	oce.F90 \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtatem.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	phycst.F90 \
 	prtctl.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	zdfmxl.F90 \
 	domzgr_substitute.h90 \
-	ldfeiv_substitute.h90 \
-	ldftra_substitute.h90 \
 	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traldf_bilap.F90
-$(MODEL_LIB)(traldf_bilapg.o) :	\
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(trdicp.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	trdicp.F90 \
-	trdicp_oce.F90 \
-	trdmld.F90 \
-	trdmld_oce.F90 \
-	trdmod_oce.F90 \
-	trdvor.F90 \
-	trdvor_oce.F90 \
-	zdfmxl.F90 \
-	zdf_oce.F90 \
-	diaptr.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	oce.F90 \
-	prtctl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	domzgr_substitute.h90 \
-	ldfeiv_substitute.h90 \
-	ldftra_substitute.h90 \
-	KEY_CPP \
-	traldf_bilapg.F90
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	tradmp.F90
 $(MODEL_LIB)(traldf.o) :	\
-	diaptr.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(diaptr.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -9137,9 +9038,21 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfkpp.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdftke.o) \
 	$(MODEL_LIB)(zdftke_old.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	domvvl.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9158,15 +9071,9 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
+	zdf_oce.F90 \
 	zdfkpp.F90 \
 	zdfmxl.F90 \
-	zdf_oce.F90 \
 	zdftke.F90 \
 	zdftke_old.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -9178,6 +9085,6 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(traldf_bilap.o) \
 	$(MODEL_LIB)(traldf_bilapg.o) \
-	$(MODEL_LIB)(traldf_bilap.o) \
 	$(MODEL_LIB)(traldf_iso.o) \
 	$(MODEL_LIB)(traldf_lap.o) \
@@ -9185,6 +9092,12 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -9197,21 +9110,11 @@
 	trdmod.F90 \
 	trdmod_oce.F90 \
+	zdf_oce.F90 \
 	zdfddm.F90 \
-	zdf_oce.F90 \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	traldf.F90
-$(MODEL_LIB)(traldf_iso.o) :	\
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+$(MODEL_LIB)(traldf_bilap.o) :	\
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -9220,4 +9123,5 @@
 	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
 	$(MODEL_LIB)(ldfdyn_oce.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
@@ -9229,75 +9133,4 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(trdicp.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	trdicp.F90 \
-	trdicp_oce.F90 \
-	trdmld.F90 \
-	trdmld_oce.F90 \
-	trdmod_oce.F90 \
-	trdvor.F90 \
-	trdvor_oce.F90 \
-	zdfmxl.F90 \
-	zdf_oce.F90 \
-	diaptr.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	prtctl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	ldftra_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traldf_iso.F90
-$(MODEL_LIB)(traldf_lap.o) :	\
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(trdicp.o) \
@@ -9309,8 +9142,21 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
+	$(MODEL_LIB)(zdfmxl.o) \
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
 	sbc_oce.F90 \
 	trdicp.F90 \
@@ -9322,11 +9168,10 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	diaptr.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldftra_oce.F90 \
+	zdfmxl.F90 \
 	$(MODEL_LIB)(diaptr.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -9334,4 +9179,10 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
 	oce.F90 \
 	prtctl.F90 \
@@ -9339,18 +9190,18 @@
 	trdmod_oce.F90 \
 	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
 	ldftra_substitute.h90 \
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
-	traldf_lap.F90
-$(MODEL_LIB)(tranpc.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
+	traldf_bilap.F90
+$(MODEL_LIB)(traldf_bilapg.o) :	\
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -9369,6 +9220,17 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9384,34 +9246,234 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
-	zdfddm.F90 \
 	zdf_oce.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	KEY_CPP \
+	traldf_bilapg.F90
+$(MODEL_LIB)(traldf_iso.o) :	\
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdf_oce.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
+	diaptr.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	prtctl.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
 	zdf_oce.F90 \
 	domzgr_substitute.h90 \
+	ldftra_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	traldf_iso.F90
+$(MODEL_LIB)(traldf_lap.o) :	\
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
+	ldftra_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	traldf_lap.F90
+$(MODEL_LIB)(tranpc.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdf_oce.F90 \
+	zdfddm.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
 	KEY_CPP \
 	tranpc.F90
 $(MODEL_LIB)(tranxt.o) :	\
-	bdy_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -9438,4 +9500,12 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	bdy_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	obc_oce.F90 \
 	oce.F90 \
@@ -9454,4 +9524,20 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
+	$(MODEL_LIB)(agrif_opa_interp.o) \
+	$(MODEL_LIB)(agrif_opa_update.o) \
+	$(MODEL_LIB)(bdytra.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domvvl.o) \
+	$(MODEL_LIB)(dynhpg.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(obctra.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	agrif_opa_interp.F90 \
 	agrif_opa_update.F90 \
@@ -9463,20 +9549,4 @@
 	in_out_manager.F90 \
 	lbclnk.F90 \
-	$(MODEL_LIB)(agrif_opa_interp.o) \
-	$(MODEL_LIB)(agrif_opa_update.o) \
-	$(MODEL_LIB)(bdytra.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(dynhpg.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(obctra.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	obctra.F90 \
 	oce.F90 \
@@ -9491,25 +9561,12 @@
 	tranxt.F90
 $(MODEL_LIB)(traqsr.o) :	\
-	daymod.F90 \
-	dom_oce.F90 \
-	geo2ocean.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(geo2ocean.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -9530,4 +9587,17 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	geo2ocean.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9543,8 +9613,4 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	dom_oce.F90 \
-	fldread.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(fldread.o) \
@@ -9558,4 +9624,8 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	dom_oce.F90 \
+	fldread.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -9570,17 +9640,8 @@
 	traqsr.F90
 $(MODEL_LIB)(trasbc.o) :	\
-	dom_oce.F90 \
-	fldread.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(fldread.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -9602,4 +9663,11 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	fldread.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9618,6 +9686,4 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -9629,4 +9695,6 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -9640,82 +9708,5 @@
 	KEY_CPP \
 	trasbc.F90
-$(MODEL_LIB)(trazdf_exp.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(trdicp.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	trdicp.F90 \
-	trdicp_oce.F90 \
-	trdmld.F90 \
-	trdmld_oce.F90 \
-	trdmod_oce.F90 \
-	trdvor.F90 \
-	trdvor_oce.F90 \
-	zdf_oce.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	in_out_manager.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	prtctl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdfddm.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	zdfddm_substitute.h90 \
-	KEY_CPP \
-	trazdf_exp.F90
 $(MODEL_LIB)(trazdf.o) :	\
-	dom_oce.F90 \
-	domvvl.F90 \
-	dynzdf_exp.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	ldfslp.F90 \
-	ldftra.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domvvl.o) \
@@ -9747,7 +9738,21 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfbfr.o) \
 	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	domvvl.F90 \
+	dynzdf_exp.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	ldfslp.F90 \
+	ldftra.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9766,13 +9771,8 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
+	zdf_oce.F90 \
+	zdfbfr.F90 \
 	zdfddm.F90 \
 	zdfmxl.F90 \
-	zdf_oce.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domvvl.o) \
@@ -9789,8 +9789,14 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfkpp.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdftke.o) \
 	$(MODEL_LIB)(zdftke_old.o) \
+	dom_oce.F90 \
+	domvvl.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -9801,6 +9807,6 @@
 	trdmod.F90 \
 	trdmod_oce.F90 \
+	zdf_oce.F90 \
 	zdfkpp.F90 \
-	zdf_oce.F90 \
 	zdftke.F90 \
 	zdftke_old.F90 \
@@ -9810,20 +9816,8 @@
 	KEY_CPP \
 	trazdf.F90
-$(MODEL_LIB)(trazdf_imp.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldfslp.o) \
+$(MODEL_LIB)(trazdf_exp.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -9842,6 +9836,11 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9857,6 +9856,90 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domvvl.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	dom_oce.F90 \
+	domvvl.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	zdfddm.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	zdfddm_substitute.h90 \
+	KEY_CPP \
+	trazdf_exp.F90
+$(MODEL_LIB)(trazdf_imp.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdf_oce.F90 \
 	zdfmxl.F90 \
-	zdf_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domvvl.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	dom_oce.F90 \
 	domvvl.F90 \
@@ -9866,23 +9949,10 @@
 	ldftra.F90 \
 	ldftra_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	prtctl.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
+	zdf_oce.F90 \
 	zdfddm.F90 \
-	zdf_oce.F90 \
 	domzgr_substitute.h90 \
 	ldftra_substitute.h90 \
@@ -9892,15 +9962,15 @@
 	trazdf_imp.F90
 $(MODEL_LIB)(trc_oce.o) :	\
-	lib_print.f90 \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	par_oce.F90 \
 	domzgr_substitute.h90 \
@@ -9908,8 +9978,4 @@
 	trc_oce.F90
 $(MODEL_LIB)(trdicp.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -9924,4 +9990,8 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_print.f90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -9932,4 +10002,14 @@
 	trdvor_oce.F90 \
 	zdfddm.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	dom_oce.F90 \
 	eosbn2.F90 \
@@ -9938,14 +10018,4 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	phycst.F90 \
@@ -9964,16 +10034,4 @@
 	trdicp_oce.F90
 $(MODEL_LIB)(trdmld.o) :	\
-	c1d.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(c1d.o) \
 	$(MODEL_LIB)(daymod.o) \
@@ -9998,8 +10056,20 @@
 	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zpshde.o) \
+	c1d.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -10012,8 +10082,25 @@
 	trdmod_oce.F90 \
 	trdvor_oce.F90 \
+	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfmxl.F90 \
-	zdf_oce.F90 \
 	zpshde.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(diadimg.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(trdmld_rst.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	daymod.F90 \
 	diadimg.F90 \
@@ -10024,21 +10111,4 @@
 	ldfslp.F90 \
 	ldftra_oce.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(diadimg.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(trdmld_rst.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	phycst.F90 \
@@ -10047,7 +10117,7 @@
 	trdmld_rst.F90 \
 	trdmod_oce.F90 \
+	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfmxl.F90 \
-	zdf_oce.F90 \
 	domzgr_substitute.h90 \
 	ldftra_substitute.h90 \
@@ -10064,23 +10134,12 @@
 	trdmld_oce.F90
 $(MODEL_LIB)(trdmld_rst.o) :	\
-	c1d.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(c1d.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -10098,4 +10157,15 @@
 	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zpshde.o) \
+	c1d.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -10110,8 +10180,4 @@
 	zdfmxl.F90 \
 	zpshde.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -10120,4 +10186,8 @@
 	$(MODEL_LIB)(restart.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
 	restart.F90 \
 	trdmod_oce.F90 \
@@ -10125,16 +10195,4 @@
 	trdmld_rst.F90
 $(MODEL_LIB)(trdmod.o) :	\
-	daymod.F90 \
-	diadimg.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(diadimg.o) \
@@ -10160,7 +10218,19 @@
 	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
+	daymod.F90 \
+	diadimg.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -10174,10 +10244,7 @@
 	trdmod_oce.F90 \
 	trdvor_oce.F90 \
+	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfmxl.F90 \
-	zdf_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldftra_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -10191,4 +10258,7 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldftra_oce.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -10215,11 +10285,4 @@
 	trdmod_oce.F90
 $(MODEL_LIB)(trdvor.o) :	\
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -10239,4 +10302,11 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -10249,4 +10319,15 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	daymod.F90 \
 	dianam.F90 \
@@ -10255,20 +10336,9 @@
 	lbclnk.F90 \
 	ldfdyn_oce.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	phycst.F90 \
 	trdmod_oce.F90 \
+	zdf_oce.F90 \
 	zdfmxl.F90 \
-	zdf_oce.F90 \
 	domzgr_substitute.h90 \
 	ldfdyn_substitute.h90 \
@@ -10284,71 +10354,26 @@
 	KEY_CPP \
 	trdvor_oce.F90
+$(MODEL_LIB)(zdf_oce.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	KEY_CPP \
+	zdf_oce.F90
 $(MODEL_LIB)(zdfbfr.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	prtctl.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	zdfbfr.F90
-$(MODEL_LIB)(zdfddm.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	prtctl.F90 \
-	zdf_oce.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	zdfddm.F90
-$(MODEL_LIB)(zdfevd.o) :	\
-	dom_oce.F90 \
-	eosbn2.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
 	in_out_manager.F90 \
 	iom_def.F90 \
@@ -10360,4 +10385,59 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	zdfbfr.F90
+$(MODEL_LIB)(zdfddm.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	zdf_oce.F90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	zdfddm.F90
+$(MODEL_LIB)(zdfevd.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
@@ -10378,41 +10458,10 @@
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	trdmod.F90 \
-	zdfddm.F90 \
-	zdf_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(zdfkpp.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	zdfkpp.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	zdfevd.F90
-$(MODEL_LIB)(zdfini.o) :	\
-	c1d.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	dynzdf_exp.F90 \
+	dom_oce.F90 \
 	eosbn2.F90 \
 	in_out_manager.F90 \
 	iom_def.F90 \
-	iom.F90 \
 	iom_ioipsl.F90 \
 	iom_nf90.F90 \
@@ -10420,7 +10469,33 @@
 	lbclnk.F90 \
 	lbcnfd.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_print.f90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	trdmod.F90 \
+	zdf_oce.F90 \
+	zdfddm.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfkpp.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	zdf_oce.F90 \
+	zdfkpp.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	zdfevd.F90
+$(MODEL_LIB)(zdfini.o) :	\
 	$(MODEL_LIB)(c1d.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -10429,8 +10504,8 @@
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
 	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -10450,9 +10525,26 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfbfr.o) \
 	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfkpp.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zpshde.o) \
+	c1d.F90 \
+	dom_oce.F90 \
+	domvvl.F90 \
+	dynzdf_exp.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -10466,9 +10558,26 @@
 	trdmod.F90 \
 	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	zdfbfr.F90 \
 	zdfddm.F90 \
 	zdfkpp.F90 \
 	zdfmxl.F90 \
-	zdf_oce.F90 \
 	zpshde.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(tranpc.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfevd.o) \
+	$(MODEL_LIB)(zdfkpp.o) \
+	$(MODEL_LIB)(zdfric.o) \
+	$(MODEL_LIB)(zdftke.o) \
+	$(MODEL_LIB)(zdftke_old.o) \
 	in_out_manager.F90 \
 	iom.F90 \
@@ -10477,27 +10586,11 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(tranpc.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfevd.o) \
-	$(MODEL_LIB)(zdfkpp.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfric.o) \
-	$(MODEL_LIB)(zdftke.o) \
-	$(MODEL_LIB)(zdftke_old.o) \
 	par_oce.F90 \
 	restart.F90 \
 	tranpc.F90 \
+	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfevd.F90 \
 	zdfkpp.F90 \
-	zdf_oce.F90 \
 	zdfric.F90 \
 	zdftke.F90 \
@@ -10505,11 +10598,4 @@
 	zdfini.F90
 $(MODEL_LIB)(zdfkpp.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -10529,6 +10615,13 @@
 	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -10541,28 +10634,28 @@
 	trdmod_oce.F90 \
 	trdvor.F90 \
+	zdf_oce.F90 \
 	zdfddm.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	trdmod.F90 \
 	zdf_oce.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	trdmod.F90 \
 	zdfddm.F90 \
-	zdf_oce.F90 \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -10571,4 +10664,15 @@
 	zdfkpp.F90
 $(MODEL_LIB)(zdfmxl.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -10580,6 +10684,57 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	zdfmxl.F90
+$(MODEL_LIB)(zdfric.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	zdfric.F90
+$(MODEL_LIB)(zdftke.o) :	\
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
@@ -10587,227 +10742,23 @@
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	prtctl.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	zdfmxl.F90
-$(MODEL_LIB)(zdf_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	KEY_CPP \
-	zdf_oce.F90
-$(MODEL_LIB)(zdfric.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	zdfric.F90
-$(MODEL_LIB)(zdftke.o) :	\
-	c1d.F90 \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	iom_def.F90 \
-	iom.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zpshde.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	trdmld_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	zdf_oce.F90 \
-	zpshde.F90 \
-	dom_oce.F90 \
-	domvvl.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	sbc_oce.F90 \
-	zdfmxl.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	zdftke.F90
-$(MODEL_LIB)(zdftke_old.o) :	\
 	c1d.F90 \
 	dom_oce.F90 \
-	domvvl.F90 \
 	eosbn2.F90 \
 	in_out_manager.F90 \
-	iom_def.F90 \
-	iom.F90 \
-	iom_ioipsl.F90 \
-	iom_nf90.F90 \
-	iom_rstdimg.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	$(MODEL_LIB)(c1d.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom_def.o) \
-	$(MODEL_LIB)(iom_ioipsl.o) \
-	$(MODEL_LIB)(iom_nf90.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(iom_rstdimg.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zpshde.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sbc_oce.F90 \
-	trdmld_oce.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	zdf_oce.F90 \
-	zpshde.F90 \
-	dom_oce.F90 \
-	dynzdf_exp.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynzdf_exp.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(trazdf_exp.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	sbc_oce.F90 \
-	trazdf_exp.F90 \
-	zdfmxl.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	zdftke_old.F90
-$(MODEL_LIB)(zdftmx.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
+	iom.F90 \
 	iom_def.F90 \
 	iom_ioipsl.F90 \
@@ -10818,6 +10769,52 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	trdmld_oce.F90 \
+	zdf_oce.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zpshde.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domvvl.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfbfr.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dom_oce.F90 \
+	domvvl.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbc_oce.F90 \
+	zdf_oce.F90 \
+	zdfbfr.F90 \
+	zdfmxl.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	zdftke.F90
+$(MODEL_LIB)(zdftke_old.o) :	\
+	$(MODEL_LIB)(c1d.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domvvl.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
@@ -10833,11 +10830,111 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zpshde.o) \
+	c1d.F90 \
+	dom_oce.F90 \
+	domvvl.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sbc_oce.F90 \
+	trdmld_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
 	zdfddm.F90 \
+	zdfmxl.F90 \
+	zpshde.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynzdf_exp.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	$(MODEL_LIB)(trazdf_exp.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dom_oce.F90 \
+	dynzdf_exp.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	sbc_oce.F90 \
+	trazdf_exp.F90 \
+	zdf_oce.F90 \
+	zdfmxl.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	zdftke_old.F90
+$(MODEL_LIB)(zdftmx.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom_def.o) \
+	$(MODEL_LIB)(iom_ioipsl.o) \
+	$(MODEL_LIB)(iom_nf90.o) \
+	$(MODEL_LIB)(iom_rstdimg.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbcnfd.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	zdfddm.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	dom_oce.F90 \
 	eosbn2.F90 \
@@ -10845,13 +10942,4 @@
 	iom.F90 \
 	lbclnk.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	oce.F90 \
 	phycst.F90 \
@@ -10863,9 +10951,4 @@
 	zdftmx.F90
 $(MODEL_LIB)(zpshde.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -10879,4 +10962,9 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(zdfddm.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -10885,14 +10973,14 @@
 	prtctl.F90 \
 	zdfddm.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	dom_oce.F90 \
 	eosbn2.F90 \
 	in_out_manager.F90 \
 	lbclnk.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
 	oce.F90 \
 	phycst.F90 \
