Index: trunk/CONFIG/GYRE/EXP00/namelist
===================================================================
--- trunk/CONFIG/GYRE/EXP00/namelist	(revision 1519)
+++ trunk/CONFIG/GYRE/EXP00/namelist	(revision 1528)
@@ -9,5 +9,5 @@
 !!              7 - dynamics         (nam_dynadv, nam_dynvor, nam_dynhpg, namflg, nam_dynspg, nam_dynldf)
 !!              8 - Verical physics  (namzdf, namnpc, namric, namtke, namkpp, namddm, namtmx)
-!!              9 - diagnostics      (namtrd, namgap, namspr, namflo, namptr)
+!!              9 - diagnostics      (namtrd, namgap, namflo, namptr)
 !!              9 - miscellaneous    (namsol, nam_mpp, nam_mpp_dyndist, namctl)
 !!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
@@ -463,5 +463,4 @@
 !                          !  filtered free surface                     ("key_dynspg_flt")
 !                          !  split-explicit free surface               ("key_dynspg_ts")
-!                          !  rigid-lid                                 ("key_dynspg_rl")
 
 !-----------------------------------------------------------------------
@@ -603,6 +602,4 @@
    resmax      =  1.e-10   !  absolute precision for the SOR solver
    sor         =  1.96     !  optimal coefficient for SOR solver (to be adjusted with the domain)
-   epsisl      =  1.e-10   !  absolute precision on stream function solver
-   nmisl       =   4000    !  maximum pcg iterations for island                            ("key_islands")
    rnu         =      1.   !  strength of the additional force used in filtered free surface
 /
@@ -642,5 +639,4 @@
 !!   namtrd       dynamics and/or tracer trends                         ("key_trddyn","key_trdtra","key_trdmld")
 !!   namgap       level mean model-data gap                             ("key_diagap")
-!!   namspr       surface pressure diagnosed in rigid-lid               ("key_diaspr")
 !!   namflo       float parameters                                      ("key_float")
 !!   namptr       Poleward Transport Diagnostics
@@ -667,11 +663,4 @@
 /
 !-----------------------------------------------------------------------
-&namspr       !   surface pressure diagnostic
-!-----------------------------------------------------------------------
-   nmaxp      =   1000     !  maximum of iterations for the solver
-   epsp       =  1.e-3     !  absolute precision of the solver
-   niterp     =    400     !  number of iteration done by the solver
-/
-!-----------------------------------------------------------------------
 &namflo       !   float parameters                                      ("key_float")
 !-----------------------------------------------------------------------
Index: trunk/CONFIG/GYRE/scripts/BB_make
===================================================================
--- trunk/CONFIG/GYRE/scripts/BB_make	(revision 1519)
+++ trunk/CONFIG/GYRE/scripts/BB_make	(revision 1528)
@@ -93,5 +93,4 @@
      key_bdy \
      key_c1d \
-     key_cfg_1d \
      key_coupled \
      key_cpl_albedo \
@@ -113,5 +112,4 @@
      key_dynspg_exp \
      key_dynspg_flt \
-     key_dynspg_rl \
      key_dynspg_ts \
      key_eel_r2 \
@@ -126,5 +124,4 @@
      key_gyre \
      key_iomput \
-     key_islands \
      key_kppcustom \
      key_kpplktb \
@@ -203,5 +200,4 @@
 		$(MODEL_LIB)(dianam.o)\
 		$(MODEL_LIB)(diaptr.o)\
-		$(MODEL_LIB)(diaspr.o)\
 		$(MODEL_LIB)(diawri.o)\
 		$(MODEL_LIB)(diawri_c1d.o)\
@@ -236,5 +232,4 @@
 		$(MODEL_LIB)(dynspg_flt.o)\
 		$(MODEL_LIB)(dynspg_oce.o)\
-		$(MODEL_LIB)(dynspg_rl.o)\
 		$(MODEL_LIB)(dynspg_ts.o)\
 		$(MODEL_LIB)(dynvor.o)\
@@ -253,5 +248,4 @@
 		$(MODEL_LIB)(geo2ocean.o)\
 		$(MODEL_LIB)(ice_2.o)\
-		$(MODEL_LIB)(ice_oce.o)\
 		$(MODEL_LIB)(iceini_2.o)\
 		$(MODEL_LIB)(in_out_manager.o)\
@@ -292,6 +286,4 @@
 		$(MODEL_LIB)(obc_oce.o)\
 		$(MODEL_LIB)(obc_par.o)\
-		$(MODEL_LIB)(obccli.o)\
-		$(MODEL_LIB)(obcdom.o)\
 		$(MODEL_LIB)(obcdta.o)\
 		$(MODEL_LIB)(obcdyn.o)\
@@ -301,5 +293,4 @@
 		$(MODEL_LIB)(obcrad.o)\
 		$(MODEL_LIB)(obcrst.o)\
-		$(MODEL_LIB)(obcspg.o)\
 		$(MODEL_LIB)(obctra.o)\
 		$(MODEL_LIB)(obcvol.o)\
@@ -330,5 +321,4 @@
 		$(MODEL_LIB)(sol_oce.o)\
 		$(MODEL_LIB)(solfet.o)\
-		$(MODEL_LIB)(solisl.o)\
 		$(MODEL_LIB)(solmat.o)\
 		$(MODEL_LIB)(solpcg.o)\
@@ -560,5 +550,5 @@
 	$(MODEL_LIB)(par_oce.o) \
 	in_out_manager.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -600,5 +590,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	bdy_oce.F90 \
 	bdy_par.F90 \
@@ -612,5 +601,5 @@
 	iom_rstdimg.F90 \
 	lbclnk.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -619,5 +608,4 @@
 	prtctl.F90 \
 	restart.F90 \
-	zdfddm.F90 \
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(bdytides.o) \
@@ -663,5 +651,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -705,5 +693,4 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	bdy_oce.F90 \
 	bdy_par.F90 \
@@ -719,10 +706,9 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	zdfddm.F90 \
+	lib_print.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(bdytides.o) \
@@ -762,5 +748,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	bdy_par.F90 \
 	dom_oce.F90 \
@@ -774,5 +759,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -781,5 +766,4 @@
 	prtctl.F90 \
 	restart.F90 \
-	zdfddm.F90 \
 	$(MODEL_LIB)(bdy_oce.o) \
 	$(MODEL_LIB)(bdy_par.o) \
@@ -817,5 +801,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -847,5 +831,5 @@
 	lbclnk.F90 \
 	lbcnfd.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -885,5 +869,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -920,5 +904,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -949,5 +933,4 @@
 	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obccli.o) \
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -963,8 +946,7 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	obc_oce.F90 \
 	obc_par.F90 \
-	obccli.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -1023,5 +1005,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -1055,5 +1037,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -1084,5 +1066,5 @@
 	iom.F90 \
 	lbcnfd.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -1110,5 +1092,5 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -1136,6 +1118,6 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zpshde.o) \
 	c1d.F90 \
@@ -1150,5 +1132,5 @@
 	lbclnk.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -1156,6 +1138,6 @@
 	phycst.F90 \
 	trdmld_oce.F90 \
-	zdf_oce.F90 \
 	zdfddm.F90 \
+	zdfmxl.F90 \
 	zpshde.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -1186,5 +1168,5 @@
 	in_out_manager.F90 \
 	iom.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -1215,5 +1197,5 @@
 	lbclnk.F90 \
 	lbcnfd.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -1256,5 +1238,5 @@
 	lbclnk.F90 \
 	lbcnfd.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -1289,5 +1271,5 @@
 	$(MODEL_LIB)(par_oce.o) \
 	in_out_manager.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -1304,57 +1286,6 @@
 	diahdy.F90
 $(MODEL_LIB)(diahth.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 \
-	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 \
-	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)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
@@ -1362,16 +1293,9 @@
 	$(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) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	iom_def.F90 \
 	iom_ioipsl.F90 \
@@ -1379,6 +1303,34 @@
 	iom_rstdimg.F90 \
 	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_print.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)(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 \
@@ -1386,75 +1338,17 @@
 	prtctl.F90 \
 	restart.F90 \
-	zdfddm.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)(oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.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)(diaspr.o) :	\
-	$(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) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	sol_oce.F90 \
-	zdf_oce.F90 \
-	$(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)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	KEY_CPP \
-	diaspr.F90
-$(MODEL_LIB)(diawri.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	phycst.F90 \
+	KEY_CPP \
+	dianam.F90
+$(MODEL_LIB)(diaptr.o) :	\
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(fldread.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -1465,7 +1359,5 @@
 	$(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_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
@@ -1473,15 +1365,6 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sbcrnf.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	daymod.F90 \
 	dom_oce.F90 \
-	fldread.F90 \
 	in_out_manager.F90 \
 	iom.F90 \
@@ -1492,7 +1375,5 @@
 	lbclnk.F90 \
 	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -1500,19 +1381,87 @@
 	prtctl.F90 \
 	restart.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)(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_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) \
+	daymod.F90 \
+	dianam.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 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.F90 \
 	zdf_oce.F90 \
-	zdfddm.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(diadimg.o) \
 	$(MODEL_LIB)(diahth.o) \
 	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(diaspr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -1520,4 +1469,5 @@
 	$(MODEL_LIB)(ldfdyn_oce.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(limwri_2.o) \
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
@@ -1533,7 +1483,5 @@
 	diahth.F90 \
 	dianam.F90 \
-	diaspr.F90 \
-	dom_oce.F90 \
-	ice_oce.F90 \
+	dom_oce.F90 \
 	in_out_manager.F90 \
 	iom.F90 \
@@ -1541,4 +1489,5 @@
 	ldfdyn_oce.F90 \
 	ldftra_oce.F90 \
+	limwri_2.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -1564,10 +1513,8 @@
 	$(MODEL_LIB)(diahth.o) \
 	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(diaspr.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynzdf_exp.o) \
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -1578,5 +1525,7 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.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) \
@@ -1610,10 +1559,8 @@
 	diahth.F90 \
 	dianam.F90 \
-	diaspr.F90 \
 	dom_oce.F90 \
 	dynzdf_exp.F90 \
 	eosbn2.F90 \
 	fldread.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	iom.F90 \
@@ -1623,6 +1570,8 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
+	lib_print.F90 \
+	limwri_2.F90 \
+	oce.F90 \
+	par_ice_2.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -1654,5 +1603,4 @@
 	$(MODEL_LIB)(diawri.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -1673,5 +1621,4 @@
 	diawri.F90 \
 	dom_oce.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	lbclnk.F90 \
@@ -1708,5 +1655,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	obc_par.F90 \
 	oce.F90 \
@@ -1760,5 +1707,4 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(solisl.o) \
 	c1d.F90 \
 	closea.F90 \
@@ -1770,5 +1716,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	obc_oce.F90 \
 	oce.F90 \
@@ -1777,5 +1723,4 @@
 	phycst.F90 \
 	sbc_oce.F90 \
-	solisl.F90 \
 	$(MODEL_LIB)(closea.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -1786,5 +1731,4 @@
 	$(MODEL_LIB)(domwri.o) \
 	$(MODEL_LIB)(domzgr.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -1800,5 +1744,4 @@
 	domwri.F90 \
 	domzgr.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	lib_mpp.F90 \
@@ -1813,40 +1756,22 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.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)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(solisl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	phycst.F90 \
-	solisl.F90 \
+	$(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) :	\
@@ -1862,5 +1787,4 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -1871,8 +1795,7 @@
 	lbclnk.F90 \
 	lbcnfd.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	zdfddm.F90 \
+	lib_print.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -1890,48 +1813,34 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.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)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	$(MODEL_LIB)(oce.o) \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	obc_oce.F90 \
-	obc_par.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.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)(solisl.o) \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	oce.F90 \
-	solisl.F90 \
+	oce.F90 \
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
@@ -1941,5 +1850,5 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -1968,5 +1877,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -2004,5 +1913,4 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -2014,9 +1922,8 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	zdfddm.F90 \
+	lib_print.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -2033,5 +1940,4 @@
 	$(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) \
@@ -2042,17 +1948,10 @@
 	$(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)(sbc_oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(sbc_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	iom_def.F90 \
 	iom_ioipsl.F90 \
@@ -2062,15 +1961,9 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	sbc_oce.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	zdfddm.F90 \
+	lib_print.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	sbc_oce.F90 \
 	$(MODEL_LIB)(c1d.o) \
 	$(MODEL_LIB)(closea.o) \
@@ -2081,5 +1974,4 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(solisl.o) \
 	c1d.F90 \
 	closea.F90 \
@@ -2090,5 +1982,4 @@
 	lib_mpp.F90 \
 	oce.F90 \
-	solisl.F90 \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -2113,5 +2004,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -2124,5 +2014,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -2131,5 +2021,4 @@
 	prtctl.F90 \
 	restart.F90 \
-	zdfddm.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -2167,5 +2056,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -2178,5 +2066,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -2185,5 +2073,4 @@
 	prtctl.F90 \
 	restart.F90 \
-	zdfddm.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -2205,6 +2092,4 @@
 $(MODEL_LIB)(dynadv.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynspg_rl.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -2218,9 +2103,7 @@
 	$(MODEL_LIB)(trdmod_oce.o) \
 	dom_oce.F90 \
-	dynspg_oce.F90 \
-	dynspg_rl.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -2249,23 +2132,12 @@
 	$(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)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solisl.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(solver.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) \
@@ -2278,23 +2150,12 @@
 	dom_oce.F90 \
 	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	restart.F90 \
-	sbc_oce.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solisl.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	solver.F90 \
+	lib_print.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
 	trdicp.F90 \
 	trdicp_oce.F90 \
@@ -2306,6 +2167,4 @@
 	zdf_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynspg_rl.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -2314,6 +2173,4 @@
 	$(MODEL_LIB)(trdmod_oce.o) \
 	dom_oce.F90 \
-	dynspg_oce.F90 \
-	dynspg_rl.F90 \
 	in_out_manager.F90 \
 	oce.F90 \
@@ -2328,24 +2185,13 @@
 	$(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)(lbcnfd.o) \
 	$(MODEL_LIB)(ldftra_oce.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)(restart.o) \
-	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solisl.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(solver.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) \
@@ -2358,24 +2204,13 @@
 	dom_oce.F90 \
 	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	ldfdyn_oce.F90 \
+	lbcnfd.F90 \
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	restart.F90 \
-	sbc_oce.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solisl.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	solver.F90 \
+	lib_print.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sbc_oce.F90 \
 	trdicp.F90 \
 	trdicp_oce.F90 \
@@ -2387,6 +2222,4 @@
 	zdf_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynspg_rl.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -2396,6 +2229,4 @@
 	$(MODEL_LIB)(trdmod_oce.o) \
 	dom_oce.F90 \
-	dynspg_oce.F90 \
-	dynspg_rl.F90 \
 	in_out_manager.F90 \
 	lbclnk.F90 \
@@ -2418,5 +2249,5 @@
 	in_out_manager.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -2459,5 +2290,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -2516,5 +2347,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -2579,5 +2410,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -2655,5 +2486,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -2719,5 +2550,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -2790,5 +2621,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -2860,5 +2691,5 @@
 	ldfdyn_oce.F90 \
 	ldftra_oce.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -2903,5 +2734,9 @@
 	$(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) \
@@ -2912,5 +2747,4 @@
 	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obccli.o) \
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -2923,14 +2757,17 @@
 	daymod.F90 \
 	dom_oce.F90 \
+	dynadv_cen2.F90 \
+	dynadv_ubs.F90 \
+	dynkeg.F90 \
 	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	dynzad.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.F90 \
 	obc_oce.F90 \
 	obc_par.F90 \
-	obccli.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -2945,4 +2782,5 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domvvl.o) \
+	$(MODEL_LIB)(dynadv.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -2961,4 +2799,5 @@
 	dom_oce.F90 \
 	domvvl.F90 \
+	dynadv.F90 \
 	dynspg_oce.F90 \
 	in_out_manager.F90 \
@@ -2987,5 +2826,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -3019,5 +2858,4 @@
 	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -3038,5 +2876,4 @@
 	$(MODEL_LIB)(sol_oce.o) \
 	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solisl.o) \
 	$(MODEL_LIB)(solmat.o) \
 	$(MODEL_LIB)(solpcg.o) \
@@ -3066,8 +2903,7 @@
 	iom.F90 \
 	lbclnk.F90 \
-	ldfdyn_oce.F90 \
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	obc_oce.F90 \
 	obc_par.F90 \
@@ -3085,5 +2921,4 @@
 	sol_oce.F90 \
 	solfet.F90 \
-	solisl.F90 \
 	solmat.F90 \
 	solpcg.F90 \
@@ -3102,5 +2937,4 @@
 	$(MODEL_LIB)(dynspg_flt.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynspg_rl.o) \
 	$(MODEL_LIB)(dynspg_ts.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -3114,5 +2948,4 @@
 	dynspg_flt.F90 \
 	dynspg_oce.F90 \
-	dynspg_rl.F90 \
 	dynspg_ts.F90 \
 	in_out_manager.F90 \
@@ -3144,5 +2977,4 @@
 	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obccli.o) \
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -3150,6 +2982,6 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zpshde.o) \
 	c1d.F90 \
@@ -3167,8 +2999,7 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	obc_oce.F90 \
 	obc_par.F90 \
-	obccli.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -3176,6 +3007,6 @@
 	phycst.F90 \
 	trdmld_oce.F90 \
-	zdf_oce.F90 \
 	zdfddm.F90 \
+	zdfmxl.F90 \
 	zpshde.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -3230,5 +3061,4 @@
 	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obccli.o) \
 	$(MODEL_LIB)(obcdyn.o) \
 	$(MODEL_LIB)(obcvol.o) \
@@ -3240,5 +3070,4 @@
 	$(MODEL_LIB)(sol_oce.o) \
 	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solisl.o) \
 	$(MODEL_LIB)(solmat.o) \
 	$(MODEL_LIB)(solpcg.o) \
@@ -3247,4 +3076,5 @@
 	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zpshde.o) \
 	bdy_oce.F90 \
@@ -3265,8 +3095,7 @@
 	lib_feti.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	obc_oce.F90 \
 	obc_par.F90 \
-	obccli.F90 \
 	obcdyn.F90 \
 	obcvol.F90 \
@@ -3278,5 +3107,4 @@
 	sol_oce.F90 \
 	solfet.F90 \
-	solisl.F90 \
 	solmat.F90 \
 	solpcg.F90 \
@@ -3285,4 +3113,5 @@
 	zdf_oce.F90 \
 	zdfddm.F90 \
+	zdfmxl.F90 \
 	zpshde.F90 \
 	$(MODEL_LIB)(agrif_opa_interp.o) \
@@ -3350,106 +3179,4 @@
 	KEY_CPP \
 	dynspg_oce.F90
-$(MODEL_LIB)(dynspg_rl.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.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)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solisl.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)(zpshde.o) \
-	c1d.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 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solisl.F90 \
-	solmat.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	trdmld_oce.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zpshde.F90 \
-	$(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)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solisl.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(solver.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	oce.F90 \
-	phycst.F90 \
-	restart.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solisl.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	solver.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	obc_vectopt_loop_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynspg_rl.F90
 $(MODEL_LIB)(dynspg_ts.o) :	\
 	$(MODEL_LIB)(bdy_oce.o) \
@@ -3474,5 +3201,4 @@
 	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obccli.o) \
 	$(MODEL_LIB)(obcdta.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -3485,6 +3211,6 @@
 	$(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 \
@@ -3506,8 +3232,7 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	obc_oce.F90 \
 	obc_par.F90 \
-	obccli.F90 \
 	obcdta.F90 \
 	oce.F90 \
@@ -3520,6 +3245,6 @@
 	trdmod.F90 \
 	trdmod_oce.F90 \
-	zdf_oce.F90 \
 	zdfddm.F90 \
+	zdfmxl.F90 \
 	zpshde.F90 \
 	$(MODEL_LIB)(bdy_oce.o) \
@@ -3604,5 +3329,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -3663,5 +3388,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -3697,4 +3422,5 @@
 $(MODEL_LIB)(dynzdf.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domvvl.o) \
 	$(MODEL_LIB)(dynzdf_exp.o) \
 	$(MODEL_LIB)(eosbn2.o) \
@@ -3725,4 +3451,5 @@
 	$(MODEL_LIB)(zdfmxl.o) \
 	dom_oce.F90 \
+	domvvl.F90 \
 	dynzdf_exp.F90 \
 	eosbn2.F90 \
@@ -3732,5 +3459,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -3793,5 +3520,5 @@
 	in_out_manager.F90 \
 	lbclnk.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -3822,5 +3549,5 @@
 	in_out_manager.F90 \
 	lbclnk.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -3856,5 +3583,5 @@
 	lbclnk.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -3891,5 +3618,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -3900,5 +3626,5 @@
 	iom_rstdimg.F90 \
 	lbclnk.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -3906,5 +3632,4 @@
 	prtctl.F90 \
 	restart.F90 \
-	zdfddm.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -3928,5 +3653,5 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -3992,5 +3717,5 @@
 	in_out_manager.F90 \
 	lbcnfd.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -4020,5 +3745,5 @@
 	in_out_manager.F90 \
 	lbcnfd.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -4051,5 +3776,5 @@
 	iom.F90 \
 	lbcnfd.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -4085,5 +3810,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -4107,11 +3832,4 @@
 	KEY_CPP \
 	ice_2.F90
-$(MODEL_LIB)(ice_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	KEY_CPP \
-	ice_oce.F90
 $(MODEL_LIB)(iceini_2.o) :	\
 	$(MODEL_LIB)(daymod.o) \
@@ -4120,5 +3838,4 @@
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -4137,9 +3854,8 @@
 	eosbn2.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_ice_2.F90 \
@@ -4152,5 +3868,4 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(limistate_2.o) \
@@ -4163,5 +3878,4 @@
 	dom_oce.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	limistate_2.F90 \
@@ -4179,8 +3893,7 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	KEY_CPP \
+	lib_print.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
 	in_out_manager.F90
 $(MODEL_LIB)(iom.o) :	\
@@ -4195,6 +3908,4 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -4203,10 +3914,8 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	prtctl.F90 \
-	zdf_oce.F90 \
+	lib_print.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -4216,5 +3925,4 @@
 	$(MODEL_LIB)(iom_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -4224,5 +3932,4 @@
 	iom_rstdimg.F90 \
 	lbclnk.F90 \
-	zdfddm.F90 \
 	KEY_CPP \
 	iom.F90
@@ -4237,5 +3944,5 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -4261,5 +3968,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -4287,5 +3994,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -4316,5 +4023,4 @@
 	$(MODEL_LIB)(dynspg_flt.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynspg_rl.o) \
 	$(MODEL_LIB)(dynspg_ts.o) \
 	$(MODEL_LIB)(dynvor.o) \
@@ -4354,4 +4060,5 @@
 	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zpshde.o) \
 	agrif_opa_interp.F90 \
@@ -4370,5 +4077,4 @@
 	dynspg_flt.F90 \
 	dynspg_oce.F90 \
-	dynspg_rl.F90 \
 	dynspg_ts.F90 \
 	dynvor.F90 \
@@ -4383,5 +4089,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	obc_oce.F90 \
 	obc_par.F90 \
@@ -4408,4 +4114,5 @@
 	zdf_oce.F90 \
 	zdfddm.F90 \
+	zdfmxl.F90 \
 	zpshde.F90 \
 	$(MODEL_LIB)(c1d.o) \
@@ -4429,5 +4136,4 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(solisl.o) \
 	$(MODEL_LIB)(wzvmod.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
@@ -4453,5 +4159,4 @@
 	phycst.F90 \
 	restart.F90 \
-	solisl.F90 \
 	wzvmod.F90 \
 	zdf_oce.F90 \
@@ -4472,5 +4177,5 @@
 	in_out_manager.F90 \
 	lbcnfd.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -4492,5 +4197,5 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -4524,5 +4229,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -4572,4 +4277,8 @@
 	$(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) \
@@ -4591,4 +4300,8 @@
 	in_out_manager.F90 \
 	iom.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
 	lbclnk.F90 \
 	lbcnfd.F90 \
@@ -4596,5 +4309,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -4606,4 +4319,5 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfslp.o) \
@@ -4616,4 +4330,5 @@
 	dom_oce.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	lbclnk.F90 \
 	ldfslp.F90 \
@@ -4631,4 +4346,5 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lbcnfd.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -4641,7 +4357,8 @@
 	dom_oce.F90 \
 	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	iom.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -4693,5 +4410,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -4755,5 +4472,5 @@
 	dom_oce.F90 \
 	in_out_manager.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -4786,5 +4503,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_ice_2.F90 \
@@ -4793,5 +4510,5 @@
 	$(MODEL_LIB)(dom_ice_2.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(ice_2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -4799,5 +4516,5 @@
 	dom_ice_2.F90 \
 	dom_oce.F90 \
-	ice_oce.F90 \
+	ice_2.F90 \
 	in_out_manager.F90 \
 	lbclnk.F90 \
@@ -4810,5 +4527,4 @@
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -4826,9 +4542,8 @@
 	eosbn2.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_ice_2.F90 \
@@ -4841,5 +4556,4 @@
 	$(MODEL_LIB)(dom_ice_2.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(limistate_2.o) \
@@ -4850,5 +4564,4 @@
 	dom_ice_2.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	limistate_2.F90 \
@@ -4882,5 +4595,4 @@
 	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
 	dom_oce.F90 \
@@ -4895,5 +4607,5 @@
 	lbclnk.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_ice_2.F90 \
@@ -4906,10 +4618,8 @@
 	trdmod_oce.F90 \
 	zdf_oce.F90 \
-	zdfddm.F90 \
 	zdfmxl.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -4920,5 +4630,4 @@
 	dom_oce.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	iom.F90 \
@@ -4934,5 +4643,4 @@
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -4952,11 +4660,10 @@
 	eosbn2.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_ice_2.F90 \
@@ -4969,5 +4676,4 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -4981,5 +4687,4 @@
 	dom_oce.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	lbclnk.F90 \
@@ -5007,5 +4712,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_ice_2.F90 \
@@ -5014,5 +4719,4 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -5021,5 +4725,4 @@
 	dom_oce.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	lbclnk.F90 \
@@ -5056,5 +4759,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_ice_2.F90 \
@@ -5067,5 +4770,4 @@
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -5077,5 +4779,4 @@
 	eosbn2.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	iom.F90 \
@@ -5100,5 +4801,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_ice_2.F90 \
@@ -5131,5 +4832,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_ice_2.F90 \
@@ -5138,5 +4839,4 @@
 	$(MODEL_LIB)(dom_ice_2.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -5148,5 +4848,4 @@
 	dom_ice_2.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	lbclnk.F90 \
@@ -5175,5 +4874,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -5184,5 +4882,5 @@
 	iom_rstdimg.F90 \
 	lbclnk.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_ice_2.F90 \
 	par_kind.F90 \
@@ -5191,5 +4889,4 @@
 	prtctl.F90 \
 	restart.F90 \
-	zdfddm.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(ice_2.o) \
@@ -5209,4 +4906,8 @@
 	$(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) \
@@ -5220,8 +4921,12 @@
 	dom_oce.F90 \
 	in_out_manager.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_ice_2.F90 \
@@ -5232,8 +4937,7 @@
 	$(MODEL_LIB)(cpl_oasis3.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(par_oce.o) \
@@ -5245,8 +4949,7 @@
 	cpl_oasis3.F90 \
 	dom_oce.F90 \
-	dynspg_oce.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
 	lbclnk.F90 \
 	par_oce.F90 \
@@ -5267,6 +4970,9 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.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) \
@@ -5283,10 +4989,13 @@
 	dom_oce.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.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 \
@@ -5300,6 +5009,6 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(limtab_2.o) \
@@ -5315,6 +5024,6 @@
 	dom_oce.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
 	lbclnk.F90 \
 	limtab_2.F90 \
@@ -5334,5 +5043,4 @@
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -5346,5 +5054,4 @@
 	eosbn2.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	iom.F90 \
@@ -5356,5 +5063,4 @@
 	phycst.F90 \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(limistate_2.o) \
 	$(MODEL_LIB)(par_oce.o) \
@@ -5362,5 +5068,4 @@
 	$(MODEL_LIB)(thd_ice_2.o) \
 	ice_2.F90 \
-	ice_oce.F90 \
 	limistate_2.F90 \
 	par_oce.F90 \
@@ -5374,5 +5079,4 @@
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -5388,9 +5092,8 @@
 	eosbn2.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_ice_2.F90 \
@@ -5400,5 +5103,4 @@
 	$(MODEL_LIB)(cpl_oasis3.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(limistate_2.o) \
@@ -5408,5 +5110,4 @@
 	cpl_oasis3.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	limistate_2.F90 \
@@ -5421,5 +5122,4 @@
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -5439,11 +5139,10 @@
 	eosbn2.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_ice_2.F90 \
@@ -5457,5 +5156,4 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -5469,5 +5167,4 @@
 	dom_oce.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	lbclnk.F90 \
@@ -5500,5 +5197,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	daymod.F90 \
 	dom_oce.F90 \
@@ -5512,5 +5208,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_ice_2.F90 \
@@ -5520,5 +5216,4 @@
 	prtctl.F90 \
 	restart.F90 \
-	zdfddm.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -5526,5 +5221,4 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -5538,5 +5232,4 @@
 	dom_oce.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	iom.F90 \
@@ -5636,5 +5329,5 @@
 	in_out_manager.F90 \
 	lbcnfd.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -5676,51 +5369,4 @@
 	KEY_CPP \
 	obc_par.F90
-$(MODEL_LIB)(obccli.o) :	\
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	in_out_manager.F90 \
-	obc_par.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	obc_oce.F90 \
-	oce.F90 \
-	phycst.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	obccli.F90
-$(MODEL_LIB)(obcdom.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbcnfd.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(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 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	oce.F90 \
-	phycst.F90 \
-	KEY_CPP \
-	obcdom.F90
 $(MODEL_LIB)(obcdta.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
@@ -5735,5 +5381,4 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obc_par.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -5743,5 +5388,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -5754,34 +5398,30 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
+	obc_par.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)(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 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	iom.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	obc_oce.F90 \
-	obc_par.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	zdfddm.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)(obccli.o) \
-	$(MODEL_LIB)(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 \
-	obccli.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -5796,37 +5436,31 @@
 	$(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)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	$(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 \
-	obc_par.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.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)(obccli.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 \
-	obccli.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -5839,37 +5473,31 @@
 	$(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)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbcnfd.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	$(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 \
-	obc_par.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.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)(obccli.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 \
-	obccli.F90 \
 	oce.F90 \
 	phycst.F90 \
@@ -5886,5 +5514,4 @@
 	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obccli.o) \
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(par_oce.o) \
@@ -5899,5 +5526,4 @@
 	obc_oce.F90 \
 	obc_par.F90 \
-	obccli.F90 \
 	oce.F90 \
 	par_oce.F90 \
@@ -5937,5 +5563,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	obc_oce.F90 \
 	obc_par.F90 \
@@ -5950,5 +5576,4 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obcdom.o) \
 	$(MODEL_LIB)(obcrst.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -5960,5 +5585,4 @@
 	lib_mpp.F90 \
 	obc_oce.F90 \
-	obcdom.F90 \
 	obcrst.F90 \
 	oce.F90 \
@@ -5981,5 +5605,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	obc_par.F90 \
 	oce.F90 \
@@ -6022,5 +5646,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	obc_par.F90 \
 	oce.F90 \
@@ -6048,5 +5672,5 @@
 	KEY_CPP \
 	obcrst.F90
-$(MODEL_LIB)(obcspg.o) :	\
+$(MODEL_LIB)(obctra.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -6062,41 +5686,5 @@
 	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)(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 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	oce.F90 \
-	phycst.F90 \
-	obc_vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	obcspg.F90
-$(MODEL_LIB)(obctra.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 \
+	lib_print.F90 \
 	obc_par.F90 \
 	oce.F90 \
@@ -6133,5 +5721,5 @@
 	lbclnk.F90 \
 	lbcnfd.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	obc_par.F90 \
 	par_kind.F90 \
@@ -6160,5 +5748,4 @@
 	$(MODEL_LIB)(par_oce.o) \
 	par_oce.F90 \
-	KEY_CPP \
 	oce.F90
 $(MODEL_LIB)(opa.o) :	\
@@ -6180,5 +5767,4 @@
 	$(MODEL_LIB)(dianam.o) \
 	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(diaspr.o) \
 	$(MODEL_LIB)(diawri.o) \
 	$(MODEL_LIB)(diawri_c1d.o) \
@@ -6209,5 +5795,4 @@
 	$(MODEL_LIB)(flo_oce.o) \
 	$(MODEL_LIB)(floats.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -6227,9 +5812,7 @@
 	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obcdom.o) \
 	$(MODEL_LIB)(obcdta.o) \
 	$(MODEL_LIB)(obcrad.o) \
 	$(MODEL_LIB)(obcrst.o) \
-	$(MODEL_LIB)(obcspg.o) \
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -6243,5 +5826,4 @@
 	$(MODEL_LIB)(sbcrnf.o) \
 	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solisl.o) \
 	$(MODEL_LIB)(stpctl.o) \
 	$(MODEL_LIB)(traadv.o) \
@@ -6293,5 +5875,4 @@
 	dianam.F90 \
 	diaptr.F90 \
-	diaspr.F90 \
 	diawri.F90 \
 	diawri_c1d.F90 \
@@ -6322,5 +5903,4 @@
 	flo_oce.F90 \
 	floats.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	iom.F90 \
@@ -6336,13 +5916,11 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oasis4_date.F90 \
 	obc_oce.F90 \
 	obc_par.F90 \
-	obcdom.F90 \
 	obcdta.F90 \
 	obcrad.F90 \
 	obcrst.F90 \
-	obcspg.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -6356,5 +5934,4 @@
 	sbcrnf.F90 \
 	sol_oce.F90 \
-	solisl.F90 \
 	stpctl.F90 \
 	traadv.F90 \
@@ -6487,5 +6064,5 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -6506,5 +6083,5 @@
 	in_out_manager.F90 \
 	lbcnfd.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -6520,4 +6097,5 @@
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(iom_def.o) \
 	$(MODEL_LIB)(iom_ioipsl.o) \
@@ -6531,8 +6109,10 @@
 	$(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_ioipsl.F90 \
@@ -6540,10 +6120,11 @@
 	iom_rstdimg.F90 \
 	lbclnk.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
+	lib_print.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	zdf_oce.F90 \
 	zdfddm.F90 \
 	$(MODEL_LIB)(c1d.o) \
@@ -6555,5 +6136,6 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zpshde.o) \
 	c1d.F90 \
@@ -6565,5 +6147,6 @@
 	phycst.F90 \
 	trdmld_oce.F90 \
-	zdf_oce.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
 	zpshde.F90 \
 	vectopt_loop_substitute.h90 \
@@ -6572,6 +6155,10 @@
 $(MODEL_LIB)(sbc_ice.o) :	\
 	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.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 \
@@ -6621,5 +6208,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -6669,5 +6256,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	daymod.F90 \
 	dom_oce.F90 \
@@ -6682,5 +6268,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_ice_2.F90 \
@@ -6690,5 +6276,4 @@
 	prtctl.F90 \
 	restart.F90 \
-	zdfddm.F90 \
 	$(MODEL_LIB)(albedo.o) \
 	$(MODEL_LIB)(daymod.o) \
@@ -6696,12 +6281,12 @@
 	$(MODEL_LIB)(fldread.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_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)(phycst.o) \
-	$(MODEL_LIB)(prtctl.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 \
@@ -6710,12 +6295,12 @@
 	fldread.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.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 \
@@ -6737,4 +6322,5 @@
 	$(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) \
@@ -6742,5 +6328,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	daymod.F90 \
 	dom_oce.F90 \
@@ -6755,6 +6340,7 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
+	lib_print.F90 \
+	oce.F90 \
+	par_ice_2.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -6762,28 +6348,27 @@
 	prtctl.F90 \
 	restart.F90 \
-	zdfddm.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(ice_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)(phycst.o) \
-	$(MODEL_LIB)(prtctl.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 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.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 \
@@ -6811,6 +6396,6 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zpshde.o) \
 	c1d.F90 \
@@ -6826,5 +6411,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_ice_2.F90 \
@@ -6833,6 +6418,6 @@
 	phycst.F90 \
 	trdmld_oce.F90 \
-	zdf_oce.F90 \
 	zdfddm.F90 \
+	zdfmxl.F90 \
 	zpshde.F90 \
 	$(MODEL_LIB)(albedo.o) \
@@ -6841,5 +6426,4 @@
 	$(MODEL_LIB)(geo2ocean.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -6857,5 +6441,4 @@
 	geo2ocean.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	iom.F90 \
@@ -6891,5 +6474,4 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	daymod.F90 \
 	dom_oce.F90 \
@@ -6904,5 +6486,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -6911,5 +6493,4 @@
 	prtctl.F90 \
 	restart.F90 \
-	zdfddm.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -6960,5 +6541,5 @@
 	lbclnk.F90 \
 	lbcnfd.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -7015,5 +6596,5 @@
 	iom_rstdimg.F90 \
 	lbclnk.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -7047,5 +6628,4 @@
 	$(MODEL_LIB)(fldread.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -7059,4 +6639,5 @@
 	$(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) \
@@ -7064,4 +6645,5 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
@@ -7071,5 +6653,4 @@
 	fldread.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	iom.F90 \
@@ -7081,6 +6662,7 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
+	lib_print.F90 \
+	oce.F90 \
+	par_ice_2.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -7088,4 +6670,5 @@
 	prtctl.F90 \
 	restart.F90 \
+	sbc_ice.F90 \
 	sbc_oce.F90 \
 	zdfddm.F90 \
@@ -7095,5 +6678,4 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -7112,5 +6694,4 @@
 	dom_oce.F90 \
 	eosbn2.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	iom.F90 \
@@ -7135,9 +6716,7 @@
 	$(MODEL_LIB)(dom_ice_2.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
 	$(MODEL_LIB)(fldread.o) \
 	$(MODEL_LIB)(geo2ocean.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -7177,9 +6756,7 @@
 	dom_ice_2.F90 \
 	dom_oce.F90 \
-	dynspg_oce.F90 \
 	fldread.F90 \
 	geo2ocean.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	iom.F90 \
@@ -7191,5 +6768,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	limadv_2.F90 \
 	limhdf_2.F90 \
@@ -7220,5 +6797,4 @@
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(iceini_2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -7250,5 +6826,4 @@
 	eosbn2.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
 	iceini_2.F90 \
 	in_out_manager.F90 \
@@ -7289,5 +6864,4 @@
 	$(MODEL_LIB)(geo2ocean.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(iceini_2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -7322,6 +6896,6 @@
 	$(MODEL_LIB)(sbcrnf.o) \
 	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zpshde.o) \
 	albedo.F90 \
@@ -7336,5 +6910,4 @@
 	geo2ocean.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
 	iceini_2.F90 \
 	in_out_manager.F90 \
@@ -7346,5 +6919,5 @@
 	lbclnk.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	limdia_2.F90 \
 	limdmp_2.F90 \
@@ -7369,6 +6942,6 @@
 	sbcrnf.F90 \
 	trdmld_oce.F90 \
-	zdf_oce.F90 \
 	zdfddm.F90 \
+	zdfmxl.F90 \
 	zpshde.F90 \
 	$(MODEL_LIB)(closea.o) \
@@ -7376,5 +6949,4 @@
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -7383,4 +6955,5 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcana.o) \
@@ -7400,5 +6973,4 @@
 	daymod.F90 \
 	dom_oce.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	iom.F90 \
@@ -7407,4 +6979,5 @@
 	prtctl.F90 \
 	restart.F90 \
+	sbc_ice.F90 \
 	sbc_oce.F90 \
 	sbcana.F90 \
@@ -7443,5 +7016,4 @@
 	$(MODEL_LIB)(restart.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	daymod.F90 \
 	dom_oce.F90 \
@@ -7455,5 +7027,5 @@
 	lbclnk.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -7463,5 +7035,4 @@
 	restart.F90 \
 	sbc_oce.F90 \
-	zdfddm.F90 \
 	$(MODEL_LIB)(closea.o) \
 	$(MODEL_LIB)(daymod.o) \
@@ -7501,6 +7072,6 @@
 	$(MODEL_LIB)(restart.o) \
 	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zpshde.o) \
 	c1d.F90 \
@@ -7515,5 +7086,5 @@
 	lbclnk.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -7523,6 +7094,6 @@
 	restart.F90 \
 	trdmld_oce.F90 \
-	zdf_oce.F90 \
 	zdfddm.F90 \
+	zdfmxl.F90 \
 	zpshde.F90 \
 	$(MODEL_LIB)(daymod.o) \
@@ -7568,5 +7139,4 @@
 	$(MODEL_LIB)(restart.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	closea.F90 \
 	daymod.F90 \
@@ -7583,5 +7153,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -7591,5 +7161,4 @@
 	restart.F90 \
 	sbc_oce.F90 \
-	zdfddm.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -7651,12 +7220,7 @@
 	KEY_CPP \
 	solfet.F90
-$(MODEL_LIB)(solisl.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)(solmat.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbcnfd.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -7666,62 +7230,9 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(zdf_oce.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 \
-	obc_par.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	sol_oce.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	oce.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	$(IOIPSL_LIB) \
-	KEY_CPP \
-	solisl.F90
-$(MODEL_LIB)(solmat.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 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbcnfd.F90 \
+	lib_mpp.F90 \
+	lib_print.F90 \
 	obc_par.F90 \
 	oce.F90 \
@@ -7761,5 +7272,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -7793,5 +7304,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -7815,5 +7326,4 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(lbcnfd.o) \
@@ -7828,15 +7338,11 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	lbclnk.F90 \
 	lbcnfd.F90 \
 	lib_feti.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	obc_oce.F90 \
 	obc_par.F90 \
@@ -7846,7 +7352,4 @@
 	phycst.F90 \
 	sol_oce.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
@@ -7857,5 +7360,4 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solisl.o) \
 	$(MODEL_LIB)(solmat.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
@@ -7868,5 +7370,4 @@
 	oce.F90 \
 	sol_oce.F90 \
-	solisl.F90 \
 	solmat.F90 \
 	zdf_oce.F90 \
@@ -7889,5 +7390,4 @@
 	$(MODEL_LIB)(diahth.o) \
 	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(diaspr.o) \
 	$(MODEL_LIB)(diawri.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -7906,5 +7406,4 @@
 	$(MODEL_LIB)(dynspg_flt.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynspg_rl.o) \
 	$(MODEL_LIB)(dynspg_ts.o) \
 	$(MODEL_LIB)(dynzad.o) \
@@ -7920,5 +7419,4 @@
 	$(MODEL_LIB)(geo2ocean.o) \
 	$(MODEL_LIB)(ice_2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -7934,7 +7432,7 @@
 	$(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)(obccli.o) \
 	$(MODEL_LIB)(obcdyn.o) \
 	$(MODEL_LIB)(obcdyn_bt.o) \
@@ -7962,8 +7460,4 @@
 	$(MODEL_LIB)(sbcssr.o) \
 	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solisl.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
 	$(MODEL_LIB)(traadv_cen2.o) \
 	$(MODEL_LIB)(traadv_eiv.o) \
@@ -8011,5 +7505,4 @@
 	diahth.F90 \
 	dianam.F90 \
-	diaspr.F90 \
 	diawri.F90 \
 	dom_oce.F90 \
@@ -8028,5 +7521,4 @@
 	dynspg_flt.F90 \
 	dynspg_oce.F90 \
-	dynspg_rl.F90 \
 	dynspg_ts.F90 \
 	dynzad.F90 \
@@ -8042,5 +7534,4 @@
 	geo2ocean.F90 \
 	ice_2.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	iom.F90 \
@@ -8055,8 +7546,8 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
+	limwri_2.F90 \
 	obc_oce.F90 \
 	obc_par.F90 \
-	obccli.F90 \
 	obcdyn.F90 \
 	obcdyn_bt.F90 \
@@ -8084,8 +7575,4 @@
 	sbcssr.F90 \
 	sol_oce.F90 \
-	solfet.F90 \
-	solisl.F90 \
-	solpcg.F90 \
-	solsor.F90 \
 	traadv_cen2.F90 \
 	traadv_eiv.F90 \
@@ -8130,5 +7617,4 @@
 	$(MODEL_LIB)(diahth.o) \
 	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(diaspr.o) \
 	$(MODEL_LIB)(diawri.o) \
 	$(MODEL_LIB)(divcur.o) \
@@ -8147,5 +7633,4 @@
 	$(MODEL_LIB)(flo_oce.o) \
 	$(MODEL_LIB)(floats.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -8159,5 +7644,4 @@
 	$(MODEL_LIB)(obcrad.o) \
 	$(MODEL_LIB)(obcrst.o) \
-	$(MODEL_LIB)(obcspg.o) \
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(prtctl.o) \
@@ -8207,5 +7691,4 @@
 	diahth.F90 \
 	diaptr.F90 \
-	diaspr.F90 \
 	diawri.F90 \
 	divcur.F90 \
@@ -8224,5 +7707,4 @@
 	flo_oce.F90 \
 	floats.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	iom.F90 \
@@ -8236,5 +7718,4 @@
 	obcrad.F90 \
 	obcrst.F90 \
-	obcspg.F90 \
 	oce.F90 \
 	prtctl.F90 \
@@ -8288,5 +7769,4 @@
 	$(MODEL_LIB)(diahth.o) \
 	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(diaspr.o) \
 	$(MODEL_LIB)(diawri.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -8297,5 +7777,4 @@
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -8310,4 +7789,5 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(limwri_2.o) \
 	$(MODEL_LIB)(obctra.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -8333,5 +7813,4 @@
 	$(MODEL_LIB)(sbcssr.o) \
 	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solisl.o) \
 	$(MODEL_LIB)(traqsr.o) \
 	$(MODEL_LIB)(trazdf_exp.o) \
@@ -8358,5 +7837,4 @@
 	diahth.F90 \
 	dianam.F90 \
-	diaspr.F90 \
 	diawri.F90 \
 	dom_oce.F90 \
@@ -8367,5 +7845,4 @@
 	eosbn2.F90 \
 	fldread.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	iom.F90 \
@@ -8379,5 +7856,6 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
+	limwri_2.F90 \
 	obctra.F90 \
 	oce.F90 \
@@ -8403,5 +7881,4 @@
 	sbcssr.F90 \
 	sol_oce.F90 \
-	solisl.F90 \
 	traqsr.F90 \
 	trazdf_exp.F90 \
@@ -8428,5 +7905,4 @@
 	$(MODEL_LIB)(dynzdf.o) \
 	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -8462,5 +7938,4 @@
 	dynzdf.F90 \
 	eosbn2.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	iom.F90 \
@@ -8495,7 +7970,5 @@
 	$(MODEL_LIB)(diahth.o) \
 	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(diaspr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -8506,5 +7979,5 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(limwri_2.o) \
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -8515,7 +7988,4 @@
 	$(MODEL_LIB)(sbcssr.o) \
 	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
@@ -8525,7 +7995,5 @@
 	diahth.F90 \
 	dianam.F90 \
-	diaspr.F90 \
-	dom_oce.F90 \
-	ice_oce.F90 \
+	dom_oce.F90 \
 	in_out_manager.F90 \
 	iom.F90 \
@@ -8535,6 +8003,6 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
+	lib_print.F90 \
+	limwri_2.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -8545,7 +8013,4 @@
 	sbcssr.F90 \
 	sol_oce.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.F90 \
 	zdf_oce.F90 \
 	zdfddm.F90 \
@@ -8559,5 +8024,4 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solisl.o) \
 	diawri.F90 \
 	dom_oce.F90 \
@@ -8568,5 +8032,4 @@
 	oce.F90 \
 	sol_oce.F90 \
-	solisl.F90 \
 	stpctl.F90
 $(MODEL_LIB)(thd_ice_2.o) :	\
@@ -8584,4 +8047,9 @@
 	$(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) \
@@ -8606,9 +8074,14 @@
 	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 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -8624,4 +8097,5 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -8637,4 +8111,5 @@
 	dom_oce.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	ldftra_oce.F90 \
 	oce.F90 \
@@ -8660,5 +8135,4 @@
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(fldread.o) \
-	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -8674,4 +8148,5 @@
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sbc_ice.o) \
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(sbcana.o) \
@@ -8704,5 +8179,4 @@
 	eosbn2.F90 \
 	fldread.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	iom.F90 \
@@ -8711,5 +8185,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -8718,4 +8192,5 @@
 	prtctl.F90 \
 	restart.F90 \
+	sbc_ice.F90 \
 	sbc_oce.F90 \
 	sbcana.F90 \
@@ -8782,4 +8257,8 @@
 	$(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) \
@@ -8794,8 +8273,12 @@
 	dom_oce.F90 \
 	in_out_manager.F90 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
 	lbclnk.F90 \
 	ldfdyn_oce.F90 \
 	ldftra_oce.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -8806,4 +8289,5 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
@@ -8811,4 +8295,5 @@
 	dom_oce.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	ldfslp.F90 \
 	ldftra_oce.F90 \
@@ -8857,5 +8342,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -8936,5 +8421,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9015,5 +8500,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9094,5 +8579,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9167,5 +8652,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9229,5 +8714,4 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -9239,9 +8723,70 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.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)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.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 \
+	in_out_manager.F90 \
+	iom.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	trabbc.F90
+$(MODEL_LIB)(trabbl.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 \
@@ -9255,25 +8800,40 @@
 	zdfddm.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(iom.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.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) \
 	dom_oce.F90 \
-	in_out_manager.F90 \
-	iom.F90 \
-	oce.F90 \
-	phycst.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
 	prtctl.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(iom.o) \
+	$(MODEL_LIB)(oce.o) \
+	eosbn2.F90 \
+	iom.F90 \
+	oce.F90 \
 	domzgr_substitute.h90 \
-	KEY_CPP \
-	trabbc.F90
-$(MODEL_LIB)(trabbl.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
+	trabbl_adv.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	trabbl.F90
+$(MODEL_LIB)(tradmp.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)(ldftra_oce.o) \
@@ -9294,11 +8854,17 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
+	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 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9315,87 +8881,4 @@
 	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)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(oce.o) \
-	eosbn2.F90 \
-	oce.F90 \
-	domzgr_substitute.h90 \
-	trabbl_adv.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	trabbl.F90
-$(MODEL_LIB)(tradmp.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)(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) \
-	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 \
-	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)(dtasal.o) \
@@ -9474,5 +8957,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9573,5 +9056,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9652,5 +9135,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9728,5 +9211,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9798,5 +9281,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9860,5 +9343,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -9923,5 +9406,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	obc_oce.F90 \
 	oce.F90 \
@@ -9999,5 +9482,4 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	daymod.F90 \
 	dom_oce.F90 \
@@ -10012,5 +9494,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -10026,5 +9508,4 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	zdfddm.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(fldread.o) \
@@ -10085,5 +9566,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -10169,5 +9650,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -10256,5 +9737,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -10327,5 +9808,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -10379,5 +9860,5 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -10411,5 +9892,5 @@
 	in_out_manager.F90 \
 	lbcnfd.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -10475,4 +9956,5 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zpshde.o) \
@@ -10488,5 +9970,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -10500,4 +9982,5 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
+	zdfddm.F90 \
 	zdfmxl.F90 \
 	zpshde.F90 \
@@ -10570,6 +10053,6 @@
 	$(MODEL_LIB)(trdmld_oce.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zpshde.o) \
 	c1d.F90 \
@@ -10583,5 +10066,5 @@
 	iom_rstdimg.F90 \
 	lbclnk.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -10593,6 +10076,6 @@
 	trdmld_oce.F90 \
 	trdvor_oce.F90 \
-	zdf_oce.F90 \
 	zdfddm.F90 \
+	zdfmxl.F90 \
 	zpshde.F90 \
 	$(MODEL_LIB)(daymod.o) \
@@ -10648,5 +10131,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -10724,5 +10207,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -10791,6 +10274,6 @@
 	$(MODEL_LIB)(sbc_oce.o) \
 	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zpshde.o) \
 	c1d.F90 \
@@ -10806,5 +10289,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	obc_par.F90 \
 	oce.F90 \
@@ -10814,6 +10297,6 @@
 	sbc_oce.F90 \
 	trdmld_oce.F90 \
-	zdf_oce.F90 \
 	zdfddm.F90 \
+	zdfmxl.F90 \
 	zpshde.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -10865,5 +10348,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -10897,5 +10380,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -10920,4 +10403,8 @@
 	$(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_rstdimg.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(lbcnfd.o) \
@@ -10936,8 +10423,12 @@
 	eosbn2.F90 \
 	in_out_manager.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 \
@@ -10951,4 +10442,5 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(iom.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(oce.o) \
@@ -10957,4 +10449,5 @@
 	dom_oce.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	lbclnk.F90 \
 	oce.F90 \
@@ -10966,4 +10459,5 @@
 $(MODEL_LIB)(zdfini.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domvvl.o) \
 	$(MODEL_LIB)(dynzdf_exp.o) \
 	$(MODEL_LIB)(eosbn2.o) \
@@ -10990,4 +10484,5 @@
 	$(MODEL_LIB)(zdfmxl.o) \
 	dom_oce.F90 \
+	domvvl.F90 \
 	dynzdf_exp.F90 \
 	eosbn2.F90 \
@@ -10998,5 +10493,5 @@
 	ldfdyn_oce.F90 \
 	ldftra_oce.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -11068,5 +10563,5 @@
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -11111,16 +10606,27 @@
 	$(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)(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 \
+	iom_def.F90 \
+	iom_ioipsl.F90 \
+	iom_nf90.F90 \
+	iom_rstdimg.F90 \
+	lbclnk.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)(iom.o) \
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(prtctl.o) \
@@ -11128,4 +10634,5 @@
 	dom_oce.F90 \
 	in_out_manager.F90 \
+	iom.F90 \
 	oce.F90 \
 	prtctl.F90 \
@@ -11147,5 +10654,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -11190,4 +10697,5 @@
 	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zpshde.o) \
 	c1d.F90 \
@@ -11204,5 +10712,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -11216,4 +10724,5 @@
 	zdf_oce.F90 \
 	zdfddm.F90 \
+	zdfmxl.F90 \
 	zpshde.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -11250,5 +10759,4 @@
 	$(MODEL_LIB)(c1d.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domvvl.o) \
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -11269,12 +10777,10 @@
 	$(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) \
 	c1d.F90 \
 	dom_oce.F90 \
-	domvvl.F90 \
 	eosbn2.F90 \
 	in_out_manager.F90 \
@@ -11287,5 +10793,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -11295,11 +10801,10 @@
 	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)(domvvl.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(iom.o) \
@@ -11310,9 +10815,8 @@
 	$(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 \
+	domvvl.F90 \
 	in_out_manager.F90 \
 	iom.F90 \
@@ -11323,5 +10827,4 @@
 	restart.F90 \
 	sbc_oce.F90 \
-	trazdf_exp.F90 \
 	zdf_oce.F90 \
 	zdfmxl.F90 \
@@ -11356,5 +10859,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
@@ -11401,5 +10904,5 @@
 	lbcnfd.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
+	lib_print.F90 \
 	oce.F90 \
 	par_kind.F90 \
