Index: /trunk/CONFIG/ORCA2_LIM/scripts/BB_make
===================================================================
--- /trunk/CONFIG/ORCA2_LIM/scripts/BB_make	(revision 245)
+++ /trunk/CONFIG/ORCA2_LIM/scripts/BB_make	(revision 246)
@@ -42,5 +42,4 @@
      key_eel_r6 \
      key_esopa \
-     key_fdir \
      key_feti \
      key_floats \
@@ -80,9 +79,8 @@
      key_traldf_eiv \
      key_trc_pisces \
-     key_trd_vor \
      key_trddyn \
-     key_trddyn_new \
      key_trdmld \
      key_trdtra \
+     key_trdvor \
      key_vectopt_loop \
      key_vectopt_memory \
@@ -107,4 +105,5 @@
 		$(MODEL_LIB)(cpl_oce.o)\
 		$(MODEL_LIB)(daymod.o)\
+		$(MODEL_LIB)(diadimg.o)\
 		$(MODEL_LIB)(diafwb.o)\
 		$(MODEL_LIB)(diagap.o)\
@@ -116,6 +115,4 @@
 		$(MODEL_LIB)(diawri.o)\
 		$(MODEL_LIB)(divcur.o)\
-		$(MODEL_LIB)(dom_ice.o)\
-		$(MODEL_LIB)(dom_oce.o)\
 		$(MODEL_LIB)(domain.o)\
 		$(MODEL_LIB)(domcfg.o)\
@@ -125,4 +122,6 @@
 		$(MODEL_LIB)(domwri.o)\
 		$(MODEL_LIB)(domzgr.o)\
+		$(MODEL_LIB)(dom_ice.o)\
+		$(MODEL_LIB)(dom_oce.o)\
 		$(MODEL_LIB)(dtasal.o)\
 		$(MODEL_LIB)(dtasst.o)\
@@ -131,6 +130,6 @@
 		$(MODEL_LIB)(dynhpg_atsk.o)\
 		$(MODEL_LIB)(dynkeg.o)\
+		$(MODEL_LIB)(dynldf_bilapg.o)\
 		$(MODEL_LIB)(dynldf_bilap.o)\
-		$(MODEL_LIB)(dynldf_bilapg.o)\
 		$(MODEL_LIB)(dynldf_iso.o)\
 		$(MODEL_LIB)(dynldf_lap.o)\
@@ -147,19 +146,19 @@
 		$(MODEL_LIB)(eosbn2.o)\
 		$(MODEL_LIB)(flo4rk.o)\
-		$(MODEL_LIB)(flo_oce.o)\
 		$(MODEL_LIB)(floats.o)\
 		$(MODEL_LIB)(floblk.o)\
 		$(MODEL_LIB)(flodom.o)\
 		$(MODEL_LIB)(flowri.o)\
-		$(MODEL_LIB)(flx_oce.o)\
+		$(MODEL_LIB)(flo_oce.o)\
 		$(MODEL_LIB)(flxblk.o)\
 		$(MODEL_LIB)(flxfwb.o)\
 		$(MODEL_LIB)(flxmod.o)\
 		$(MODEL_LIB)(flxrnf.o)\
+		$(MODEL_LIB)(flx_oce.o)\
 		$(MODEL_LIB)(geo2ocean.o)\
+		$(MODEL_LIB)(iceini.o)\
+		$(MODEL_LIB)(icestp.o)\
 		$(MODEL_LIB)(ice.o)\
 		$(MODEL_LIB)(ice_oce.o)\
-		$(MODEL_LIB)(iceini.o)\
-		$(MODEL_LIB)(icestp.o)\
 		$(MODEL_LIB)(in_out_manager.o)\
 		$(MODEL_LIB)(istate.o)\
@@ -172,5 +171,4 @@
 		$(MODEL_LIB)(ldftra_oce.o)\
 		$(MODEL_LIB)(lib_feti.o)\
-		$(MODEL_LIB)(lib_io_fdir.o)\
 		$(MODEL_LIB)(lib_mpp.o)\
 		$(MODEL_LIB)(limadv.o)\
@@ -190,6 +188,4 @@
 		$(MODEL_LIB)(limwri.o)\
 		$(MODEL_LIB)(mppini.o)\
-		$(MODEL_LIB)(obc_oce.o)\
-		$(MODEL_LIB)(obc_par.o)\
 		$(MODEL_LIB)(obccli.o)\
 		$(MODEL_LIB)(obcdom.o)\
@@ -202,6 +198,8 @@
 		$(MODEL_LIB)(obctra.o)\
 		$(MODEL_LIB)(obcvol.o)\
+		$(MODEL_LIB)(obc_oce.o)\
+		$(MODEL_LIB)(obc_par.o)\
+		$(MODEL_LIB)(ocesbc.o)\
 		$(MODEL_LIB)(oce.o)\
-		$(MODEL_LIB)(ocesbc.o)\
 		$(MODEL_LIB)(ocfzpt.o)\
 		$(MODEL_LIB)(opa.o)\
@@ -212,5 +210,4 @@
 		$(MODEL_LIB)(restart.o)\
 		$(MODEL_LIB)(sms.o)\
-		$(MODEL_LIB)(sol_oce.o)\
 		$(MODEL_LIB)(solfet.o)\
 		$(MODEL_LIB)(solisl.o)\
@@ -219,4 +216,5 @@
 		$(MODEL_LIB)(solsor.o)\
 		$(MODEL_LIB)(solver.o)\
+		$(MODEL_LIB)(sol_oce.o)\
 		$(MODEL_LIB)(step.o)\
 		$(MODEL_LIB)(stpctl.o)\
@@ -225,12 +223,12 @@
 		$(MODEL_LIB)(traadv_cen2.o)\
 		$(MODEL_LIB)(traadv_ctl.o)\
+		$(MODEL_LIB)(traadv_muscl2.o)\
 		$(MODEL_LIB)(traadv_muscl.o)\
-		$(MODEL_LIB)(traadv_muscl2.o)\
 		$(MODEL_LIB)(traadv_tvd.o)\
 		$(MODEL_LIB)(trabbc.o)\
 		$(MODEL_LIB)(trabbl.o)\
 		$(MODEL_LIB)(tradmp.o)\
+		$(MODEL_LIB)(traldf_bilapg.o)\
 		$(MODEL_LIB)(traldf_bilap.o)\
-		$(MODEL_LIB)(traldf_bilapg.o)\
 		$(MODEL_LIB)(traldf_iso.o)\
 		$(MODEL_LIB)(traldf_iso_zps.o)\
@@ -244,14 +242,15 @@
 		$(MODEL_LIB)(trazdf_iso.o)\
 		$(MODEL_LIB)(trazdf_iso_vopt.o)\
+		$(MODEL_LIB)(trcstp.o)\
 		$(MODEL_LIB)(trc_oce.o)\
-		$(MODEL_LIB)(trcstp.o)\
-		$(MODEL_LIB)(trddyn.o)\
-		$(MODEL_LIB)(trddyn_oce.o)\
+		$(MODEL_LIB)(trdicp.o)\
+		$(MODEL_LIB)(trdicp_oce.o)\
 		$(MODEL_LIB)(trdmld.o)\
-		$(MODEL_LIB)(trdtra.o)\
-		$(MODEL_LIB)(trdtra_oce.o)\
+		$(MODEL_LIB)(trdmld_oce.o)\
+		$(MODEL_LIB)(trdmod.o)\
+		$(MODEL_LIB)(trdmod_oce.o)\
 		$(MODEL_LIB)(trdvor.o)\
+		$(MODEL_LIB)(trdvor_oce.o)\
 		$(MODEL_LIB)(wzvmod.o)\
-		$(MODEL_LIB)(zdf_oce.o)\
 		$(MODEL_LIB)(zdfbfr.o)\
 		$(MODEL_LIB)(zdfddm.o)\
@@ -261,4 +260,5 @@
 		$(MODEL_LIB)(zdfric.o)\
 		$(MODEL_LIB)(zdftke.o)\
+		$(MODEL_LIB)(zdf_oce.o)\
 		$(MODEL_LIB)(zpshde.o)
 #
@@ -369,4 +369,13 @@
 #
 $(MODEL_LIB)(albedo.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_ice.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -378,12 +387,14 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_ice.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	blk_oce.F90 \
+	cpl_oce.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	flx_oce.F90 \
+	ice.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
 	phycst.F90 \
 	$(MODEL_LIB)(blk_oce.o) \
@@ -398,4 +409,13 @@
 	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(phycst.o) \
+	albedo.F90
+$(MODEL_LIB)(blk_oce.o) :	\
+	par_kind.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	blk_oce.F90
+$(MODEL_LIB)(bulk.o) :	\
+	albedo.F90 \
 	blk_oce.F90 \
 	cpl_oce.F90 \
@@ -403,18 +423,12 @@
 	dom_oce.F90 \
 	flx_oce.F90 \
-	ice.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
 	oce.F90 \
 	ocfzpt.F90 \
-	phycst.F90 \
-	albedo.F90
-$(MODEL_LIB)(blk_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	blk_oce.F90
-$(MODEL_LIB)(bulk.o) :	\
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
 	$(MODEL_LIB)(albedo.o) \
 	$(MODEL_LIB)(blk_oce.o) \
@@ -431,12 +445,40 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	albedo.F90 \
+	blk_oce.F90 \
+	dom_oce.F90 \
+	flxblk.F90 \
+	flx_oce.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	phycst.F90 \
+	taumod.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flxblk.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(taumod.o) \
+	bulk.F90
+$(MODEL_LIB)(cla.o) :	\
 	blk_oce.F90 \
 	cpl_oce.F90 \
 	daymod.F90 \
 	dom_oce.F90 \
+	dtasal.F90 \
+	dtasst.F90 \
+	dtatem.F90 \
+	flxmod.F90 \
+	flxrnf.F90 \
 	flx_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	lib_print.f90 \
 	oce.F90 \
@@ -445,26 +487,6 @@
 	par_oce.F90 \
 	phycst.F90 \
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(flxblk.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(taumod.o) \
-	blk_oce.F90 \
-	dom_oce.F90 \
-	flx_oce.F90 \
-	flxblk.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	phycst.F90 \
 	taumod.F90 \
-	bulk.F90
-$(MODEL_LIB)(cla.o) :	\
+	tradmp.F90 \
 	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(cpl_oce.o) \
@@ -474,7 +496,7 @@
 	$(MODEL_LIB)(dtasst.o) \
 	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(flx_oce.o) \
 	$(MODEL_LIB)(flxmod.o) \
 	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(flx_oce.o) \
 	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -489,4 +511,21 @@
 	$(MODEL_LIB)(taumod.o) \
 	$(MODEL_LIB)(tradmp.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	ocesbc.F90 \
+	oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	cla.F90
+$(MODEL_LIB)(cla_div.o) :	\
 	blk_oce.F90 \
 	cpl_oce.F90 \
@@ -496,7 +535,7 @@
 	dtasst.F90 \
 	dtatem.F90 \
-	flx_oce.F90 \
 	flxmod.F90 \
 	flxrnf.F90 \
+	flx_oce.F90 \
 	ice_oce.F90 \
 	in_out_manager.F90 \
@@ -511,21 +550,4 @@
 	taumod.F90 \
 	tradmp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	cla.F90
-$(MODEL_LIB)(cla_div.o) :	\
 	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(cpl_oce.o) \
@@ -535,7 +557,7 @@
 	$(MODEL_LIB)(dtasst.o) \
 	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(flx_oce.o) \
 	$(MODEL_LIB)(flxmod.o) \
 	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(flx_oce.o) \
 	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -550,4 +572,20 @@
 	$(MODEL_LIB)(taumod.o) \
 	$(MODEL_LIB)(tradmp.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	ocesbc.F90 \
+	oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	cla_div.F90
+$(MODEL_LIB)(cla_dynspg.o) :	\
 	blk_oce.F90 \
 	cpl_oce.F90 \
@@ -557,7 +595,7 @@
 	dtasst.F90 \
 	dtatem.F90 \
-	flx_oce.F90 \
 	flxmod.F90 \
 	flxrnf.F90 \
+	flx_oce.F90 \
 	ice_oce.F90 \
 	in_out_manager.F90 \
@@ -565,4 +603,8 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
+	obccli.F90 \
+	obc_oce.F90 \
+	obc_par.F90 \
+	ocesbc.F90 \
 	oce.F90 \
 	ocfzpt.F90 \
@@ -570,22 +612,8 @@
 	par_oce.F90 \
 	phycst.F90 \
+	sol_oce.F90 \
 	taumod.F90 \
 	tradmp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	cla_div.F90
-$(MODEL_LIB)(cla_dynspg.o) :	\
+	zdf_oce.F90 \
 	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(cpl_oce.o) \
@@ -595,7 +623,7 @@
 	$(MODEL_LIB)(dtasst.o) \
 	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(flx_oce.o) \
 	$(MODEL_LIB)(flxmod.o) \
 	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(flx_oce.o) \
 	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -603,9 +631,9 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obccli.o) \
 	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obccli.o) \
-	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -616,4 +644,41 @@
 	$(MODEL_LIB)(tradmp.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obcdyn.F90 \
+	obcvol.F90 \
+	obc_oce.F90 \
+	ocesbc.F90 \
+	oce.F90 \
+	phycst.F90 \
+	solfet.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	sol_oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(obcvol.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	cla_dynspg.F90
+$(MODEL_LIB)(closea.o) :	\
 	blk_oce.F90 \
 	cpl_oce.F90 \
@@ -623,7 +688,7 @@
 	dtasst.F90 \
 	dtatem.F90 \
-	flx_oce.F90 \
 	flxmod.F90 \
 	flxrnf.F90 \
+	flx_oce.F90 \
 	ice_oce.F90 \
 	in_out_manager.F90 \
@@ -631,506 +696,460 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	obccli.F90 \
-	oce.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	taumod.F90 \
+	tradmp.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtasst.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(flxmod.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(tradmp.o) \
+	dom_oce.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	ocesbc.F90 \
+	oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	closea.F90
+$(MODEL_LIB)(cpl.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	cpl_oce.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	flx_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
 	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(phycst.o) \
+	../../../lib/libioipsl.a \
+	cpl.F90
+$(MODEL_LIB)(cpl_oce.o) :	\
+	par_kind.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	cpl_oce.F90
+$(MODEL_LIB)(daymod.o) :	\
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(phycst.o) \
+	daymod.F90
+$(MODEL_LIB)(diadimg.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	diadimg.F90
+$(MODEL_LIB)(diafwb.o) :	\
+	albedo.F90 \
+	blk_oce.F90 \
+	cpl_oce.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtasst.F90 \
+	dtatem.F90 \
+	flxmod.F90 \
+	flxrnf.F90 \
+	flx_oce.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	taumod.F90 \
+	tradmp.F90 \
+	$(MODEL_LIB)(albedo.o) \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtasst.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(flxmod.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(tradmp.o) \
+	blk_oce.F90 \
+	dom_oce.F90 \
+	flxblk.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	ocesbc.F90 \
+	oce.F90 \
+	phycst.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flxblk.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	diafwb.F90
+$(MODEL_LIB)(diagap.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtatem.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	domzgr_substitute.h90 \
+	../../../lib/libioipsl.a \
+	KEY_CPP \
+	diagap.F90
+$(MODEL_LIB)(diahdy.o) :	\
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	diahdy.F90
+$(MODEL_LIB)(diahth.o) :	\
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	diahth.F90
+$(MODEL_LIB)(dianam.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(phycst.o) \
+	dianam.F90
+$(MODEL_LIB)(diaptr.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	../../../lib/libioipsl.a \
+	KEY_CPP \
+	diaptr.F90
+$(MODEL_LIB)(diaspr.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.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)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	phycst.F90 \
+	solfet.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	sol_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)(solfet.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	diaspr.F90
+$(MODEL_LIB)(diawri.o) :	\
+	blk_oce.F90 \
+	cpl_oce.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtasst.F90 \
+	dtatem.F90 \
+	flxmod.F90 \
+	flxrnf.F90 \
+	flx_oce.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	solfet.F90 \
+	solpcg.F90 \
+	solsor.F90 \
 	sol_oce.F90 \
 	taumod.F90 \
 	tradmp.F90 \
 	zdf_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtasst.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(flxmod.o) \
 	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(solpcg.o) \
 	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	obcdyn.F90 \
-	obcvol.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	trddyn_oce.F90 \
-	trdtra_oce.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	cla_dynspg.F90
-$(MODEL_LIB)(closea.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(flxmod.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	flx_oce.F90 \
-	flxmod.F90 \
-	flxrnf.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	taumod.F90 \
-	tradmp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	dom_oce.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	closea.F90
-$(MODEL_LIB)(cpl.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(phycst.o) \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	flx_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	phycst.F90 \
-	../../../lib/libioipsl.a \
-	cpl.F90
-$(MODEL_LIB)(cpl_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	cpl_oce.F90
-$(MODEL_LIB)(daymod.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)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	phycst.F90 \
-	daymod.F90
-$(MODEL_LIB)(diafwb.o) :	\
-	$(MODEL_LIB)(albedo.o) \
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(flxmod.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	albedo.F90 \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	flx_oce.F90 \
-	flxmod.F90 \
-	flxrnf.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	taumod.F90 \
-	tradmp.F90 \
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flxblk.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	blk_oce.F90 \
-	dom_oce.F90 \
-	flxblk.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	phycst.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	diafwb.F90
-$(MODEL_LIB)(diagap.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	domzgr_substitute.h90 \
-	../../../lib/libioipsl.a \
-	KEY_CPP \
-	diagap.F90
-$(MODEL_LIB)(diahdy.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 \
-	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)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.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 \
-	dianam.F90
-$(MODEL_LIB)(diaptr.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.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 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	phycst.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	../../../lib/libioipsl.a \
-	KEY_CPP \
-	diaptr.F90
-$(MODEL_LIB)(diaspr.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lbclnk.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 \
-	diaspr.F90
-$(MODEL_LIB)(diawri.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(flxmod.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.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)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
 	$(MODEL_LIB)(taumod.o) \
 	$(MODEL_LIB)(tradmp.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
+	daymod.F90 \
+	diadimg.F90 \
+	diahth.F90 \
+	dianam.F90 \
+	diaspr.F90 \
+	dom_oce.F90 \
+	flxrnf.F90 \
 	flx_oce.F90 \
-	flxmod.F90 \
-	flxrnf.F90 \
 	ice_oce.F90 \
 	in_out_manager.F90 \
 	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	ocesbc.F90 \
 	oce.F90 \
 	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
 	phycst.F90 \
 	sol_oce.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.F90 \
 	taumod.F90 \
-	tradmp.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
 	zdf_oce.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)(flxrnf.o) \
 	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(flxrnf.o) \
 	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -1138,41 +1157,18 @@
 	$(MODEL_LIB)(ldfdyn_oce.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(sol_oce.o) \
 	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	diahth.F90 \
-	dianam.F90 \
-	diaspr.F90 \
-	dom_oce.F90 \
-	flx_oce.F90 \
-	flxrnf.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	ocfzpt.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
-	taumod.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
+	$(MODEL_LIB)(zdf_oce.o) \
+	dtasst.F90 \
+	lib_mpp.F90 \
 	$(MODEL_LIB)(dtasst.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
-	dtasst.F90 \
-	lib_mpp.F90 \
 	diawri_dimg.h90 \
-	diawri_fdir.h90 \
-	domzgr_substitute.h90 \
 	zdfddm_substitute.h90 \
 	../../../lib/libioipsl.a \
@@ -1180,4 +1176,12 @@
 	diawri.F90
 $(MODEL_LIB)(divcur.o) :	\
+	dom_oce.F90 \
+	in_out_manager.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) \
@@ -1190,10 +1194,7 @@
 	dom_oce.F90 \
 	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_par.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	lbclnk.F90 \
+	obc_oce.F90 \
+	oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -1201,34 +1202,31 @@
 	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	obc_oce.F90 \
-	oce.F90 \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	divcur.F90
-$(MODEL_LIB)(dom_ice.o) :	\
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	$(MODEL_LIB)(par_ice.o) \
-	par_ice.F90 \
-	dom_ice.F90
-$(MODEL_LIB)(dom_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	dom_oce.F90
 $(MODEL_LIB)(domain.o) :	\
+	blk_oce.F90 \
+	closea.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_fsc.F90 \
+	dynspg_fsc_atsk.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obc_oce.F90 \
+	ocesbc.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	solisl.F90 \
 	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(closea.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynspg_fsc.o) \
 	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
@@ -1239,6 +1237,6 @@
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
@@ -1247,28 +1245,20 @@
 	blk_oce.F90 \
 	closea.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	dynspg_fsc.F90 \
-	dynspg_fsc_atsk.F90 \
+	daymod.F90 \
+	domhgr.F90 \
+	dommsk.F90 \
+	domstp.F90 \
+	domwri.F90 \
+	domzgr.F90 \
+	dom_oce.F90 \
 	flxrnf.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	solisl.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	phycst.F90 \
 	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(closea.o) \
 	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domhgr.o) \
 	$(MODEL_LIB)(dommsk.o) \
@@ -1276,4 +1266,5 @@
 	$(MODEL_LIB)(domwri.o) \
 	$(MODEL_LIB)(domzgr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(flxrnf.o) \
 	$(MODEL_LIB)(ice_oce.o) \
@@ -1282,19 +1273,4 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	blk_oce.F90 \
-	closea.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	domhgr.F90 \
-	dommsk.F90 \
-	domstp.F90 \
-	domwri.F90 \
-	domzgr.F90 \
-	flxrnf.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	phycst.F90 \
 	domzgr_substitute.h90 \
 	../../../lib/libioipsl.a \
@@ -1302,202 +1278,952 @@
 	domain.F90
 $(MODEL_LIB)(domcfg.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obc_oce.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	solfet.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	sol_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.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)(solfet.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	phycst.F90 \
+	solisl.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) \
+	domcfg.F90
+$(MODEL_LIB)(domhgr.o) :	\
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(phycst.o) \
+	../../../lib/libioipsl.a \
+	domhgr.F90
+$(MODEL_LIB)(dommsk.o) :	\
+	cla_dynspg.F90 \
+	dom_oce.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obcdyn.F90 \
+	obcvol.F90 \
+	obc_oce.F90 \
+	obc_par.F90 \
+	ocesbc.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	solfet.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	sol_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(cla_dynspg.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(obcvol.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	dynspg_fsc.F90 \
+	dynspg_fsc_atsk.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	solisl.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_fsc.o) \
+	$(MODEL_LIB)(dynspg_fsc_atsk.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) \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dommsk.F90
+$(MODEL_LIB)(domstp.o) :	\
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	domstp.F90
+$(MODEL_LIB)(domwri.o) :	\
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	daymod.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	domwri_dimg.h90 \
+	../../../lib/libioipsl.a \
+	KEY_CPP \
+	domwri.F90
+$(MODEL_LIB)(domzgr.o) :	\
+	dom_oce.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obc_oce.F90 \
+	ocesbc.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	solfet.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	sol_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	closea.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	solisl.F90 \
+	$(MODEL_LIB)(closea.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(solisl.o) \
+	domzgr_substitute.h90 \
+	domzgr_s.h90 \
+	domzgr_zps.h90 \
+	vectopt_loop_substitute.h90 \
+	../../../lib/libioipsl.a \
+	KEY_CPP \
+	domzgr.F90
+$(MODEL_LIB)(dom_ice.o) :	\
+	par_oce.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_ice.F90 \
+	$(MODEL_LIB)(par_ice.o) \
+	dom_ice.F90
+$(MODEL_LIB)(dom_oce.o) :	\
+	par_kind.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90
+$(MODEL_LIB)(dtasal.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	domzgr_substitute.h90 \
+	../../../lib/libioipsl.a \
+	KEY_CPP \
+	dtasal.F90
+$(MODEL_LIB)(dtasst.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	../../../lib/libioipsl.a \
+	dtasst.F90
+$(MODEL_LIB)(dtatem.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	domzgr_substitute.h90 \
+	../../../lib/libioipsl.a \
+	KEY_CPP \
+	dtatem.F90
+$(MODEL_LIB)(dynhpg.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(trabbl.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) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	phycst.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynhpg.F90
+$(MODEL_LIB)(dynhpg_atsk.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(trabbl.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) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	phycst.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynhpg_atsk.F90
+$(MODEL_LIB)(dynkeg.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(trabbl.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) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynkeg.F90
+$(MODEL_LIB)(dynldf_bilapg.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(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)(trabbl.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	domzgr_substitute.h90 \
+	ldfdyn_substitute.h90 \
+	KEY_CPP \
+	dynldf_bilapg.F90
+$(MODEL_LIB)(dynldf_bilap.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.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)(trabbl.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) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	domzgr_substitute.h90 \
+	ldfdyn_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynldf_bilap.F90
+$(MODEL_LIB)(dynldf_iso.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	domzgr_substitute.h90 \
+	ldfdyn_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynldf_iso.F90
+$(MODEL_LIB)(dynldf_lap.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	domzgr_substitute.h90 \
+	ldfdyn_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynldf_lap.F90
+$(MODEL_LIB)(dynnxt.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obccli.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obccli.o) \
+	$(MODEL_LIB)(obc_oce.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 \
+	lbclnk.F90 \
+	obcdyn.F90 \
+	oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(oce.o) \
+	dynnxt.F90
+$(MODEL_LIB)(dynspg_fsc.o) :	\
+	blk_oce.F90 \
+	cpl_oce.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtasst.F90 \
+	dtatem.F90 \
+	flxmod.F90 \
+	flxrnf.F90 \
+	flx_oce.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obccli.F90 \
+	obcdyn.F90 \
+	obcvol.F90 \
+	obc_oce.F90 \
+	obc_par.F90 \
+	ocesbc.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	solfet.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	sol_oce.F90 \
+	taumod.F90 \
+	trabbl.F90 \
+	tradmp.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dtasal.o) \
 	$(MODEL_LIB)(dtasst.o) \
 	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(flxmod.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obccli.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(obcvol.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)(obc_par.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(solpcg.o) \
 	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(tradmp.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) \
+	cla_dynspg.F90 \
+	dom_oce.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obcdyn.F90 \
+	obcvol.F90 \
+	obc_oce.F90 \
+	ocesbc.F90 \
+	oce.F90 \
+	phycst.F90 \
+	solfet.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	sol_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(cla_dynspg.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(obcvol.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynspg_fsc.F90
+$(MODEL_LIB)(dynspg_fsc_atsk.o) :	\
+	blk_oce.F90 \
 	cpl_oce.F90 \
+	daymod.F90 \
 	dom_oce.F90 \
 	dtasal.F90 \
 	dtasst.F90 \
 	dtatem.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	flxmod.F90 \
+	flxrnf.F90 \
+	flx_oce.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obccli.F90 \
+	obcdyn.F90 \
+	obcvol.F90 \
 	obc_oce.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	sol_oce.F90 \
+	obc_par.F90 \
+	ocesbc.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.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 \
-	domcfg.F90
-$(MODEL_LIB)(domhgr.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)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	phycst.F90 \
-	../../../lib/libioipsl.a \
-	domhgr.F90
-$(MODEL_LIB)(dommsk.o) :	\
-	$(MODEL_LIB)(cla_dynspg.o) \
+	sol_oce.F90 \
+	taumod.F90 \
+	trabbl.F90 \
+	tradmp.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dtasal.o) \
 	$(MODEL_LIB)(dtasst.o) \
 	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(flxmod.o) \
 	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obccli.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(obcvol.o) \
 	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(solpcg.o) \
 	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(tradmp.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) \
 	cla_dynspg.F90 \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
+	dom_oce.F90 \
 	flxrnf.F90 \
 	in_out_manager.F90 \
 	lbclnk.F90 \
 	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	obc_par.F90 \
 	obcdyn.F90 \
 	obcvol.F90 \
-	oce.F90 \
+	obc_oce.F90 \
 	ocesbc.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
 	solfet.F90 \
 	solpcg.F90 \
 	solsor.F90 \
-	trddyn_oce.F90 \
-	trdtra_oce.F90 \
+	sol_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
 	zdf_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_fsc.o) \
-	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(cla_dynspg.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(obcvol.o) \
 	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(solisl.o) \
-	dom_oce.F90 \
-	dynspg_fsc.F90 \
-	dynspg_fsc_atsk.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	oce.F90 \
-	solisl.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dommsk.F90
-$(MODEL_LIB)(domstp.o) :	\
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	domstp.F90
-$(MODEL_LIB)(domwri.o) :	\
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	daymod.F90 \
-	lib_mpp.F90 \
-	domwri_dimg.h90 \
-	domwri_fdir.h90 \
-	../../../lib/libioipsl.a \
-	KEY_CPP \
-	domwri.F90
-$(MODEL_LIB)(domzgr.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(solpcg.o) \
 	$(MODEL_LIB)(solsor.o) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	flxrnf.F90 \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	dynspg_fsc_atsk.F90
+$(MODEL_LIB)(dynspg_rl.o) :	\
+	dom_oce.F90 \
 	in_out_manager.F90 \
 	lbclnk.F90 \
@@ -1505,385 +2231,22 @@
 	lib_print.f90 \
 	obc_oce.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	sol_oce.F90 \
+	obc_par.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
 	solfet.F90 \
 	solpcg.F90 \
 	solsor.F90 \
-	$(MODEL_LIB)(closea.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(solisl.o) \
-	closea.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	solisl.F90 \
-	domzgr_s.h90 \
-	domzgr_substitute.h90 \
-	domzgr_zps.h90 \
-	vectopt_loop_substitute.h90 \
-	../../../lib/libioipsl.a \
-	KEY_CPP \
-	domzgr.F90
-$(MODEL_LIB)(dtasal.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	domzgr_substitute.h90 \
-	dtasal_fdir.h90 \
-	../../../lib/libioipsl.a \
-	KEY_CPP \
-	dtasal.F90
-$(MODEL_LIB)(dtasst.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	../../../lib/libioipsl.a \
-	dtasst.F90
-$(MODEL_LIB)(dtatem.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	domzgr_substitute.h90 \
-	dtatem_fdir.h90 \
-	../../../lib/libioipsl.a \
-	KEY_CPP \
-	dtatem.F90
-$(MODEL_LIB)(dynhpg.o) :	\
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	phycst.F90 \
-	trddyn_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynhpg.F90
-$(MODEL_LIB)(dynhpg_atsk.o) :	\
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	phycst.F90 \
-	trddyn_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynhpg_atsk.F90
-$(MODEL_LIB)(dynkeg.o) :	\
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	trddyn_oce.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynkeg.F90
-$(MODEL_LIB)(dynldf_bilap.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	oce.F90 \
-	trddyn_oce.F90 \
-	domzgr_substitute.h90 \
-	ldfdyn_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynldf_bilap.F90
-$(MODEL_LIB)(dynldf_bilapg.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	oce.F90 \
-	trddyn_oce.F90 \
+	sol_oce.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	ldfdyn_substitute.h90 \
-	KEY_CPP \
-	dynldf_bilapg.F90
-$(MODEL_LIB)(dynldf_iso.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	trddyn_oce.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	ldfdyn_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynldf_iso.F90
-$(MODEL_LIB)(dynldf_lap.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	oce.F90 \
-	trddyn_oce.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	ldfdyn_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynldf_lap.F90
-$(MODEL_LIB)(dynnxt.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obccli.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 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	obccli.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	obcdyn.F90 \
-	oce.F90 \
-	dynnxt.F90
-$(MODEL_LIB)(dynspg_fsc.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(flxmod.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -1892,249 +2255,36 @@
 	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obccli.o) \
-	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(solpcg.o) \
 	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(trabbl.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) \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	flx_oce.F90 \
-	flxmod.F90 \
-	flxrnf.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
 	obc_oce.F90 \
-	obc_par.F90 \
-	obccli.F90 \
-	obcdyn.F90 \
-	obcvol.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
 	solfet.F90 \
+	solisl.F90 \
 	solpcg.F90 \
 	solsor.F90 \
-	taumod.F90 \
-	tradmp.F90 \
-	trddyn_oce.F90 \
-	trdtra_oce.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(cla_dynspg.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	cla_dynspg.F90 \
-	dom_oce.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	obcdyn.F90 \
-	obcvol.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	phycst.F90 \
 	sol_oce.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	trddyn_oce.F90 \
-	trdtra_oce.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynspg_fsc.F90
-$(MODEL_LIB)(dynspg_fsc_atsk.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(flxmod.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obccli.o) \
-	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(ocfzpt.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)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	flx_oce.F90 \
-	flxmod.F90 \
-	flxrnf.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	obccli.F90 \
-	obcdyn.F90 \
-	obcvol.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	taumod.F90 \
-	tradmp.F90 \
-	trddyn_oce.F90 \
-	trdtra_oce.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(cla_dynspg.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	cla_dynspg.F90 \
-	dom_oce.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	obcdyn.F90 \
-	obcvol.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	trddyn_oce.F90 \
-	trdtra_oce.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	dynspg_fsc_atsk.F90
-$(MODEL_LIB)(dynspg_rl.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.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)(sol_oce.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
 	zdf_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -2147,27 +2297,12 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sol_oce.o) \
 	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(solisl.o) \
 	$(MODEL_LIB)(solpcg.o) \
 	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	oce.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solisl.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	trddyn_oce.F90 \
-	zdf_oce.F90 \
 	domzgr_substitute.h90 \
 	obc_vectopt_loop_substitute.h90 \
@@ -2176,28 +2311,46 @@
 	dynspg_rl.F90
 $(MODEL_LIB)(dynvor.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	oce.F90 \
-	trddyn_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.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)(trabbl.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) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -2205,28 +2358,48 @@
 	dynvor.F90
 $(MODEL_LIB)(dynzad.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trabbl.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) \
+	dom_oce.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(flxrnf.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	dom_oce.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	trddyn_oce.F90 \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -2234,20 +2407,46 @@
 	dynzad.F90
 $(MODEL_LIB)(dynzdf_exp.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trabbl.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) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	phycst.F90 \
+	taumod.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -2255,13 +2454,7 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	phycst.F90 \
-	taumod.F90 \
-	trddyn_oce.F90 \
-	zdf_oce.F90 \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -2269,20 +2462,46 @@
 	dynzdf_exp.F90
 $(MODEL_LIB)(dynzdf_imp.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trabbl.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) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	phycst.F90 \
+	taumod.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -2290,13 +2509,7 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	phycst.F90 \
-	taumod.F90 \
-	trddyn_oce.F90 \
-	zdf_oce.F90 \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -2304,20 +2517,46 @@
 	dynzdf_imp.F90
 $(MODEL_LIB)(dynzdf_imp_atsk.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trabbl.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) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	phycst.F90 \
+	taumod.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -2325,13 +2564,7 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	phycst.F90 \
-	taumod.F90 \
-	trddyn_oce.F90 \
-	zdf_oce.F90 \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -2339,4 +2572,24 @@
 	dynzdf_imp_atsk.F90
 $(MODEL_LIB)(dynzdf_iso.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdfmxl.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -2350,17 +2603,23 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
 	ldftra_oce.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	zdfmxl.F90 \
+	oce.F90 \
+	phycst.F90 \
+	taumod.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -2370,15 +2629,7 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	phycst.F90 \
-	taumod.F90 \
-	trddyn_oce.F90 \
-	zdf_oce.F90 \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -2387,4 +2638,12 @@
 	dynzdf_iso.F90
 $(MODEL_LIB)(eosbn2.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -2397,18 +2656,10 @@
 	dom_oce.F90 \
 	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	zdf_oce.F90 \
+	phycst.F90 \
+	zdfddm.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	phycst.F90 \
-	zdfddm.F90 \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -2416,26 +2667,212 @@
 	eosbn2.F90
 $(MODEL_LIB)(flo4rk.o) :	\
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	flo_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(flo_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(oce.o) \
+	flo4rk.F90
+$(MODEL_LIB)(floats.o) :	\
+	daymod.F90 \
 	dom_oce.F90 \
 	flo_oce.F90 \
 	in_out_manager.F90 \
-	oce.F90 \
-	flo4rk.F90
+	lib_mpp.F90 \
+	oce.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flo_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	flo4rk.F90 \
+	floblk.F90 \
+	flodom.F90 \
+	flowri.F90 \
+	flo_oce.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(flo4rk.o) \
+	$(MODEL_LIB)(floblk.o) \
+	$(MODEL_LIB)(flodom.o) \
+	$(MODEL_LIB)(flowri.o) \
+	$(MODEL_LIB)(flo_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	../../../lib/libioipsl.a \
+	floats.F90
+$(MODEL_LIB)(floblk.o) :	\
+	dom_oce.F90 \
+	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)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	flo_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flo_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	floblk.F90
+$(MODEL_LIB)(flodom.o) :	\
+	dom_oce.F90 \
+	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)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	flo_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flo_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	flodom.F90
+$(MODEL_LIB)(flowri.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	flo_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flo_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	flowri.F90
 $(MODEL_LIB)(flo_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_oce.o) \
 	flo_oce.F90
-$(MODEL_LIB)(floats.o) :	\
+$(MODEL_LIB)(flxblk.o) :	\
+	blk_oce.F90 \
+	cpl_oce.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	flx_oce.F90 \
+	ice.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(ice.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	albedo.F90 \
+	blk_oce.F90 \
+	cpl_oce.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	flx_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(albedo.o) \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(phycst.o) \
+	flxblk.F90
+$(MODEL_LIB)(flxfwb.o) :	\
+	albedo.F90 \
+	blk_oce.F90 \
+	cpl_oce.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtasst.F90 \
+	dtatem.F90 \
+	flxmod.F90 \
+	flxrnf.F90 \
+	flx_oce.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	taumod.F90 \
+	tradmp.F90 \
+	$(MODEL_LIB)(albedo.o) \
+	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(cpl_oce.o) \
 	$(MODEL_LIB)(daymod.o) \
@@ -2444,265 +2881,41 @@
 	$(MODEL_LIB)(dtasst.o) \
 	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(flo_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(flxmod.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(tradmp.o) \
+	blk_oce.F90 \
 	cpl_oce.F90 \
 	daymod.F90 \
 	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	flo_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(flo4rk.o) \
-	$(MODEL_LIB)(flo_oce.o) \
-	$(MODEL_LIB)(floblk.o) \
-	$(MODEL_LIB)(flodom.o) \
-	$(MODEL_LIB)(flowri.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	flo4rk.F90 \
-	flo_oce.F90 \
-	floblk.F90 \
-	flodom.F90 \
-	flowri.F90 \
-	lib_mpp.F90 \
-	../../../lib/libioipsl.a \
-	floats.F90
-$(MODEL_LIB)(floblk.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flo_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	flo_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	phycst.F90 \
-	floblk.F90
-$(MODEL_LIB)(flodom.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flo_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	dom_oce.F90 \
-	flo_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	flodom.F90
-$(MODEL_LIB)(flowri.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flo_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	flo_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	flowri.F90
-$(MODEL_LIB)(flx_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	flx_oce.F90
-$(MODEL_LIB)(flxblk.o) :	\
+	flxblk.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	ocesbc.F90 \
+	oce.F90 \
+	phycst.F90 \
 	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(cpl_oce.o) \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	flx_oce.F90 \
-	ice.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(albedo.o) \
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(phycst.o) \
-	albedo.F90 \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	flx_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	phycst.F90 \
-	flxblk.F90
-$(MODEL_LIB)(flxfwb.o) :	\
-	$(MODEL_LIB)(albedo.o) \
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(flxmod.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	albedo.F90 \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	flx_oce.F90 \
-	flxmod.F90 \
-	flxrnf.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	taumod.F90 \
-	tradmp.F90 \
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(flxblk.o) \
 	$(MODEL_LIB)(flxrnf.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	flxblk.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	phycst.F90 \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -2710,64 +2923,55 @@
 	flxfwb.F90
 $(MODEL_LIB)(flxmod.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.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) \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.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) \
+	daymod.F90 \
+	dom_oce.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(phycst.o) \
+	blk_oce.F90 \
+	bulk.F90 \
 	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(phycst.o) \
-	daymod.F90 \
-	dom_oce.F90 \
 	flxrnf.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	phycst.F90 \
+	flx_oce.F90 \
+	ice_oce.F90 \
 	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(bulk.o) \
 	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(flxrnf.o) \
 	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(flxrnf.o) \
 	$(MODEL_LIB)(ice_oce.o) \
-	blk_oce.F90 \
-	bulk.F90 \
-	cpl_oce.F90 \
-	flx_oce.F90 \
-	flxrnf.F90 \
-	ice_oce.F90 \
 	domzgr_substitute.h90 \
 	flx_bulk_daily.h90 \
 	flx_bulk_monthly.h90 \
-	flx_bulk_monthly_fdir.h90 \
 	flx_coupled_ice.h90 \
 	flx_coupled_noice.h90 \
@@ -2776,79 +2980,84 @@
 	flxmod.F90
 $(MODEL_LIB)(flxrnf.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.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 \
-	$(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 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	phycst.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 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(phycst.o) \
 	flxrnf_ORCA_R05.h90 \
 	../../../lib/libioipsl.a \
 	KEY_CPP \
 	flxrnf.F90
+$(MODEL_LIB)(flx_oce.o) :	\
+	par_kind.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	flx_oce.F90
 $(MODEL_LIB)(geo2ocean.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	phycst.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(phycst.o) \
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	geo2ocean.F90
-$(MODEL_LIB)(ice.o) :	\
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	$(MODEL_LIB)(par_ice.o) \
+$(MODEL_LIB)(iceini.o) :	\
+	blk_oce.F90 \
+	daymod.F90 \
+	dom_ice.F90 \
+	dom_oce.F90 \
+	ice.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	ocfzpt.F90 \
 	par_ice.F90 \
-	ice.F90
-$(MODEL_LIB)(ice_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	blk_oce.F90 \
-	par_oce.F90 \
-	ice_oce.F90
-$(MODEL_LIB)(iceini.o) :	\
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
 	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(daymod.o) \
@@ -2866,18 +3075,13 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	blk_oce.F90 \
-	daymod.F90 \
-	dom_ice.F90 \
-	dom_oce.F90 \
+	dom_oce.F90 \
+	flx_oce.F90 \
 	ice.F90 \
 	ice_oce.F90 \
 	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	oce.F90 \
+	limistate.F90 \
+	limmsh.F90 \
+	limrst.F90 \
 	ocfzpt.F90 \
-	par_ice.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
 	phycst.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -2891,16 +3095,45 @@
 	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
+	iceini.F90
+$(MODEL_LIB)(icestp.o) :	\
+	albedo.F90 \
+	blk_oce.F90 \
+	cpl_oce.F90 \
+	daymod.F90 \
+	dianam.F90 \
+	dom_ice.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtasst.F90 \
+	dtatem.F90 \
+	flxblk.F90 \
+	flxmod.F90 \
+	flxrnf.F90 \
 	flx_oce.F90 \
+	iceini.F90 \
 	ice.F90 \
 	ice_oce.F90 \
 	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	limadv.F90 \
+	limhdf.F90 \
 	limistate.F90 \
 	limmsh.F90 \
+	limrhg.F90 \
 	limrst.F90 \
+	limtab.F90 \
+	limthd_lac.F90 \
+	limthd_zdf.F90 \
+	oce.F90 \
 	ocfzpt.F90 \
-	phycst.F90 \
-	iceini.F90
-$(MODEL_LIB)(icestp.o) :	\
+	par_ice.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	taumod.F90 \
+	thd_ice.F90 \
+	tradmp.F90 \
 	$(MODEL_LIB)(albedo.o) \
 	$(MODEL_LIB)(blk_oce.o) \
@@ -2913,11 +3146,11 @@
 	$(MODEL_LIB)(dtasst.o) \
 	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(flx_oce.o) \
 	$(MODEL_LIB)(flxblk.o) \
 	$(MODEL_LIB)(flxmod.o) \
 	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(iceini.o) \
 	$(MODEL_LIB)(ice.o) \
 	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(iceini.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -2942,43 +3175,25 @@
 	$(MODEL_LIB)(thd_ice.o) \
 	$(MODEL_LIB)(tradmp.o) \
-	albedo.F90 \
-	blk_oce.F90 \
 	cpl_oce.F90 \
 	daymod.F90 \
-	dianam.F90 \
 	dom_ice.F90 \
 	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
 	flx_oce.F90 \
-	flxblk.F90 \
-	flxmod.F90 \
-	flxrnf.F90 \
+	iceini.F90 \
 	ice.F90 \
 	ice_oce.F90 \
-	iceini.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	limadv.F90 \
-	limhdf.F90 \
-	limistate.F90 \
-	limmsh.F90 \
-	limrhg.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	limdia.F90 \
+	limdyn.F90 \
+	limflx.F90 \
 	limrst.F90 \
-	limtab.F90 \
-	limthd_lac.F90 \
-	limthd_zdf.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_ice.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	limthd.F90 \
+	limtrp.F90 \
+	limwri.F90 \
+	ocesbc.F90 \
+	oce.F90 \
 	phycst.F90 \
 	taumod.F90 \
-	thd_ice.F90 \
-	tradmp.F90 \
 	$(MODEL_LIB)(cpl_oce.o) \
 	$(MODEL_LIB)(daymod.o) \
@@ -2986,7 +3201,7 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(iceini.o) \
 	$(MODEL_LIB)(ice.o) \
 	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(iceini.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -2998,44 +3213,73 @@
 	$(MODEL_LIB)(limtrp.o) \
 	$(MODEL_LIB)(limwri.o) \
-	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(taumod.o) \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_ice.F90 \
-	dom_oce.F90 \
-	flx_oce.F90 \
-	ice.F90 \
-	ice_oce.F90 \
-	iceini.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	limdia.F90 \
-	limdyn.F90 \
-	limflx.F90 \
-	limrst.F90 \
-	limthd.F90 \
-	limtrp.F90 \
-	limwri.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	phycst.F90 \
-	taumod.F90 \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	icestp.F90
+$(MODEL_LIB)(ice.o) :	\
+	par_oce.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_ice.F90 \
+	$(MODEL_LIB)(par_ice.o) \
+	ice.F90
+$(MODEL_LIB)(ice_oce.o) :	\
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	blk_oce.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	ice_oce.F90
 $(MODEL_LIB)(in_out_manager.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
 	in_out_manager.F90
 $(MODEL_LIB)(istate.o) :	\
+	blk_oce.F90 \
+	cla_dynspg.F90 \
+	cpl_oce.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_fsc.F90 \
+	dynspg_fsc_atsk.F90 \
+	flxrnf.F90 \
+	flx_oce.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obcdyn.F90 \
+	obcvol.F90 \
+	obc_oce.F90 \
+	ocesbc.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	solfet.F90 \
+	solisl.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	sol_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdfddm.F90 \
+	zdftke.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(cla_dynspg.o) \
@@ -3045,6 +3289,6 @@
 	$(MODEL_LIB)(dynspg_fsc.o) \
 	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
+	$(MODEL_LIB)(flxrnf.o) \
 	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(flxrnf.o) \
 	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -3054,56 +3298,40 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obcdyn.o) \
 	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(solisl.o) \
 	$(MODEL_LIB)(solpcg.o) \
 	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdftke.o) \
-	blk_oce.F90 \
-	cla_dynspg.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
+	$(MODEL_LIB)(zdf_oce.o) \
+	daymod.F90 \
+	divcur.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtatem.F90 \
 	dynspg_fsc.F90 \
 	dynspg_fsc_atsk.F90 \
-	flx_oce.F90 \
-	flxrnf.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
+	dynspg_rl.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
 	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	obcdyn.F90 \
-	obcvol.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
+	oce.F90 \
+	phycst.F90 \
+	restart.F90 \
 	solisl.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	trddyn_oce.F90 \
-	trdtra_oce.F90 \
+	wzvmod.F90 \
 	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdftke.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(divcur.o) \
@@ -3124,22 +3352,4 @@
 	$(MODEL_LIB)(wzvmod.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	daymod.F90 \
-	divcur.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtatem.F90 \
-	dynspg_fsc.F90 \
-	dynspg_fsc_atsk.F90 \
-	dynspg_rl.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	phycst.F90 \
-	restart.F90 \
-	solisl.F90 \
-	wzvmod.F90 \
-	zdf_oce.F90 \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -3148,37 +3358,37 @@
 	istate.F90
 $(MODEL_LIB)(lbclnk.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	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)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
+	dom_oce.F90 \
+	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)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
 	lbclnk.F90
 $(MODEL_LIB)(ldfdyn.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -3192,20 +3402,12 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
+	dom_oce.F90 \
 	in_out_manager.F90 \
 	lbclnk.F90 \
 	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	zdfmxl.F90 \
+	ldfslp.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	phycst.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -3216,14 +3418,6 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	phycst.F90 \
+	ldftra_oce.F90 \
 	$(MODEL_LIB)(ldftra_oce.o) \
-	ldftra_oce.F90 \
 	domzgr_substitute.h90 \
 	ldfdyn_antarctic.h90 \
@@ -3236,10 +3430,23 @@
 	ldfdyn.F90
 $(MODEL_LIB)(ldfdyn_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_oce.o) \
 	ldfdyn_oce.F90
 $(MODEL_LIB)(ldfeiv.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	zdfmxl.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -3255,5 +3462,41 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
+	dom_oce.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	ldfeiv.F90
+$(MODEL_LIB)(ldfslp.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.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)(zdf_oce.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -3261,117 +3504,60 @@
 	ldfdyn_oce.F90 \
 	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	oce.F90 \
 	phycst.F90 \
 	zdfmxl.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	ldfslp.F90
+$(MODEL_LIB)(ldftra.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	phycst.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	ldfeiv.F90
-$(MODEL_LIB)(ldfslp.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.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)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	phycst.F90 \
-	zdfmxl.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	ldfslp.F90
-$(MODEL_LIB)(ldftra.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	phycst.F90 \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	domzgr_substitute.h90 \
 	ldftra_c1d.h90 \
@@ -3383,805 +3569,762 @@
 	ldftra.F90
 $(MODEL_LIB)(ldftra_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_oce.o) \
 	ldftra_oce.F90
 $(MODEL_LIB)(lib_feti.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(lib_mpp.o) \
+	lib_feti.F90
+$(MODEL_LIB)(lib_mpp.o) :	\
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	lib_mpp.F90
+$(MODEL_LIB)(lib_print.o) :	\
+	par_kind.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	lib_print.f90
+$(MODEL_LIB)(limadv.o) :	\
+	blk_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_ice.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_ice.F90 \
+	dom_oce.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	$(MODEL_LIB)(dom_ice.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	limadv.F90
+$(MODEL_LIB)(limdia.o) :	\
+	blk_oce.F90 \
+	dom_ice.F90 \
+	dom_oce.F90 \
+	flx_oce.F90 \
+	ice.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
+	limistate.F90 \
+	limmsh.F90 \
+	limrst.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_ice.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(dom_ice.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(ice.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(limistate.o) \
+	$(MODEL_LIB)(limmsh.o) \
+	$(MODEL_LIB)(limrst.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(par_ice.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dom_ice.F90 \
+	iceini.F90 \
+	ice.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	limistate.F90 \
+	par_ice.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_ice.o) \
+	$(MODEL_LIB)(iceini.o) \
+	$(MODEL_LIB)(ice.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(limistate.o) \
+	$(MODEL_LIB)(par_ice.o) \
+	$(MODEL_LIB)(phycst.o) \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	limdia.F90
+$(MODEL_LIB)(limdyn.o) :	\
+	blk_oce.F90 \
+	dom_ice.F90 \
+	dom_oce.F90 \
+	flx_oce.F90 \
+	ice.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	limistate.F90 \
+	limmsh.F90 \
+	limrst.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_ice.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(dom_ice.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(ice.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(limistate.o) \
+	$(MODEL_LIB)(limmsh.o) \
+	$(MODEL_LIB)(limrst.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(par_ice.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	dom_ice.F90 \
+	dom_oce.F90 \
+	iceini.F90 \
+	ice.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	limistate.F90 \
+	limrhg.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_ice.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(iceini.o) \
+	$(MODEL_LIB)(ice.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(limistate.o) \
+	$(MODEL_LIB)(limrhg.o) \
+	$(MODEL_LIB)(phycst.o) \
+	limdyn.F90
+$(MODEL_LIB)(limflx.o) :	\
+	albedo.F90 \
+	blk_oce.F90 \
+	cpl_oce.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	flx_oce.F90 \
+	ice.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_ice.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(albedo.o) \
+	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(ice.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(par_ice.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	albedo.F90 \
+	flxblk.F90 \
+	flx_oce.F90 \
+	ice.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ocfzpt.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(albedo.o) \
+	$(MODEL_LIB)(flxblk.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(ice.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	limflx.F90
+$(MODEL_LIB)(limhdf.o) :	\
+	blk_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_ice.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	ice.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(ice.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	limhdf.F90
+$(MODEL_LIB)(limistate.o) :	\
+	blk_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_ice.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_ice.F90 \
+	dom_oce.F90 \
+	ice.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_ice.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_ice.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(ice.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(par_ice.o) \
+	$(MODEL_LIB)(phycst.o) \
+	limistate.F90
+$(MODEL_LIB)(limmsh.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_ice.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)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_ice.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_ice.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(phycst.o) \
+	limmsh.F90
+$(MODEL_LIB)(limrhg.o) :	\
+	blk_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_ice.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_ice.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_ice.F90 \
+	ice.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_ice.o) \
+	$(MODEL_LIB)(ice.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	limrhg.F90
+$(MODEL_LIB)(limrst.o) :	\
+	blk_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_ice.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_ice.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	ice.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(ice.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	par_ice.F90 \
+	$(MODEL_LIB)(par_ice.o) \
+	limrst_dimg.h90 \
+	../../../lib/libioipsl.a \
+	KEY_CPP \
+	limrst.F90
+$(MODEL_LIB)(limtab.o) :	\
+	par_kind.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	limtab.F90
+$(MODEL_LIB)(limthd.o) :	\
+	blk_oce.F90 \
+	dom_oce.F90 \
+	flx_oce.F90 \
+	iceini.F90 \
+	ice.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	limistate.F90 \
+	limmsh.F90 \
+	limrst.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_ice.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	thd_ice.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(iceini.o) \
+	$(MODEL_LIB)(ice.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(limistate.o) \
+	$(MODEL_LIB)(limmsh.o) \
+	$(MODEL_LIB)(limrst.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(par_ice.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(thd_ice.o) \
+	dom_ice.F90 \
+	dom_oce.F90 \
+	flx_oce.F90 \
+	iceini.F90 \
+	ice.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	limtab.F90 \
+	limthd_lac.F90 \
+	limthd_zdf.F90 \
+	phycst.F90 \
+	thd_ice.F90 \
+	$(MODEL_LIB)(dom_ice.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(iceini.o) \
+	$(MODEL_LIB)(ice.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(limtab.o) \
+	$(MODEL_LIB)(limthd_lac.o) \
+	$(MODEL_LIB)(limthd_zdf.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(thd_ice.o) \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	limthd.F90
+$(MODEL_LIB)(limthd_lac.o) :	\
+	blk_oce.F90 \
+	dom_ice.F90 \
+	dom_oce.F90 \
+	flx_oce.F90 \
+	ice.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	limistate.F90 \
+	limmsh.F90 \
+	limrst.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_ice.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(dom_ice.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(ice.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(limistate.o) \
+	$(MODEL_LIB)(limmsh.o) \
+	$(MODEL_LIB)(limrst.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(par_ice.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	iceini.F90 \
+	ice_oce.F90 \
+	limistate.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	thd_ice.F90 \
+	$(MODEL_LIB)(iceini.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(limistate.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(thd_ice.o) \
+	limthd_lac.F90
+$(MODEL_LIB)(limthd_zdf.o) :	\
+	blk_oce.F90 \
+	dom_ice.F90 \
+	dom_oce.F90 \
+	flx_oce.F90 \
+	ice.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
+	limistate.F90 \
+	limmsh.F90 \
+	limrst.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_ice.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(dom_ice.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(ice.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(limistate.o) \
+	$(MODEL_LIB)(limmsh.o) \
+	$(MODEL_LIB)(limrst.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(par_ice.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	iceini.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	limistate.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	thd_ice.F90 \
+	$(MODEL_LIB)(iceini.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(limistate.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(thd_ice.o) \
+	limthd_zdf.F90
+$(MODEL_LIB)(limtrp.o) :	\
+	blk_oce.F90 \
+	dom_ice.F90 \
+	dom_oce.F90 \
+	flx_oce.F90 \
+	ice.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	limistate.F90 \
+	limmsh.F90 \
+	limrst.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_ice.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(dom_ice.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(ice.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(limistate.o) \
+	$(MODEL_LIB)(limmsh.o) \
+	$(MODEL_LIB)(limrst.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(par_ice.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dom_ice.F90 \
+	dom_oce.F90 \
+	iceini.F90 \
+	ice.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	limadv.F90 \
+	limhdf.F90 \
+	limistate.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_ice.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(iceini.o) \
+	$(MODEL_LIB)(ice.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(limadv.o) \
+	$(MODEL_LIB)(limhdf.o) \
+	$(MODEL_LIB)(limistate.o) \
+	$(MODEL_LIB)(phycst.o) \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	limtrp.F90
+$(MODEL_LIB)(limwri.o) :	\
+	blk_oce.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	flx_oce.F90 \
+	ice.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	limistate.F90 \
+	limmsh.F90 \
+	limrst.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_ice.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(ice.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(limistate.o) \
+	$(MODEL_LIB)(limmsh.o) \
+	$(MODEL_LIB)(limrst.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(par_ice.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dianam.F90 \
+	dom_ice.F90 \
+	dom_oce.F90 \
+	flx_oce.F90 \
+	iceini.F90 \
+	ice.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_ice.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(iceini.o) \
+	$(MODEL_LIB)(ice.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(phycst.o) \
+	diawri.F90 \
+	$(MODEL_LIB)(diawri.o) \
+	limwri_dimg.h90 \
+	../../../lib/libioipsl.a \
+	KEY_CPP \
+	limwri.F90
+$(MODEL_LIB)(model.o) :	\
+	cpl.F90 \
+	cpl_oce.F90 \
+	daymod.F90 \
+	diaptr.F90 \
+	domain.F90 \
+	domcfg.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtasst.F90 \
+	dtatem.F90 \
+	eosbn2.F90 \
+	flxfwb.F90 \
+	iceini.F90 \
+	in_out_manager.F90 \
+	istate.F90 \
+	ldfdyn.F90 \
+	ldftra.F90 \
+	lib_mpp.F90 \
+	mppini.F90 \
+	obcini.F90 \
+	obc_par.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	phycst.F90 \
+	solver.F90 \
+	step.F90 \
+	traqsr.F90 \
+	trdicp.F90 \
+	trdmld.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	zdfini.F90 \
+	zpshde.F90 \
+	$(MODEL_LIB)(cpl.o) \
+	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(domain.o) \
+	$(MODEL_LIB)(domcfg.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dtasal.o) \
 	$(MODEL_LIB)(dtasst.o) \
 	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	$(MODEL_LIB)(lib_mpp.o) \
-	lib_mpp.F90 \
-	lib_feti.F90
-$(MODEL_LIB)(lib_io_fdir.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	dom_oce.F90 \
-	lib_mpp.F90 \
-	lib_io_fdir.F90
-$(MODEL_LIB)(lib_mpp.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90
-$(MODEL_LIB)(lib_print.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	lib_print.f90
-$(MODEL_LIB)(limadv.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	blk_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_ice.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_ice.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	dom_ice.F90 \
-	dom_oce.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	limadv.F90
-$(MODEL_LIB)(limdia.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(dom_ice.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(limistate.o) \
-	$(MODEL_LIB)(limmsh.o) \
-	$(MODEL_LIB)(limrst.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_ice.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	blk_oce.F90 \
-	dom_ice.F90 \
-	dom_oce.F90 \
-	flx_oce.F90 \
-	ice.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	limistate.F90 \
-	limmsh.F90 \
-	limrst.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_ice.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_ice.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(iceini.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(limistate.o) \
-	$(MODEL_LIB)(par_ice.o) \
-	$(MODEL_LIB)(phycst.o) \
-	daymod.F90 \
-	dom_ice.F90 \
-	ice.F90 \
-	ice_oce.F90 \
-	iceini.F90 \
-	in_out_manager.F90 \
-	limistate.F90 \
-	par_ice.F90 \
-	phycst.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	limdia.F90
-$(MODEL_LIB)(limdyn.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_ice.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(limistate.o) \
-	$(MODEL_LIB)(limmsh.o) \
-	$(MODEL_LIB)(limrst.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_ice.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	dom_ice.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	flx_oce.F90 \
-	ice.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	limistate.F90 \
-	limmsh.F90 \
-	limrst.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_ice.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(dom_ice.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(iceini.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(limistate.o) \
-	$(MODEL_LIB)(limrhg.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_ice.F90 \
-	dom_oce.F90 \
-	ice.F90 \
-	ice_oce.F90 \
-	iceini.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	limistate.F90 \
-	limrhg.F90 \
-	phycst.F90 \
-	limdyn.F90
-$(MODEL_LIB)(limflx.o) :	\
-	$(MODEL_LIB)(albedo.o) \
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_ice.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	albedo.F90 \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	flx_oce.F90 \
-	ice.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_ice.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(albedo.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(flxblk.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	albedo.F90 \
-	flx_oce.F90 \
-	flxblk.F90 \
-	ice.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ocfzpt.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	limflx.F90
-$(MODEL_LIB)(limhdf.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_ice.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	dom_oce.F90 \
-	ice.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	limhdf.F90
-$(MODEL_LIB)(limistate.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	blk_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_ice.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_ice.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_ice.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_ice.F90 \
-	dom_oce.F90 \
-	ice.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_ice.F90 \
-	phycst.F90 \
-	limistate.F90
-$(MODEL_LIB)(limmsh.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_ice.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_ice.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_ice.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	phycst.F90 \
-	limmsh.F90
-$(MODEL_LIB)(limrhg.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_ice.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_ice.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_ice.F90 \
-	ice.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	limrhg.F90
-$(MODEL_LIB)(limrst.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_ice.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	blk_oce.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_ice.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	ice.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	$(MODEL_LIB)(par_ice.o) \
-	par_ice.F90 \
-	limrst_dimg.h90 \
-	limrst_fdir.h90 \
-	../../../lib/libioipsl.a \
-	KEY_CPP \
-	limrst.F90
-$(MODEL_LIB)(limtab.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	limtab.F90
-$(MODEL_LIB)(limthd.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(iceini.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(limistate.o) \
-	$(MODEL_LIB)(limmsh.o) \
-	$(MODEL_LIB)(limrst.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_ice.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(thd_ice.o) \
-	blk_oce.F90 \
-	dom_oce.F90 \
-	flx_oce.F90 \
-	ice.F90 \
-	ice_oce.F90 \
-	iceini.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	limistate.F90 \
-	limmsh.F90 \
-	limrst.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_ice.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	thd_ice.F90 \
-	$(MODEL_LIB)(dom_ice.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(iceini.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(limtab.o) \
-	$(MODEL_LIB)(limthd_lac.o) \
-	$(MODEL_LIB)(limthd_zdf.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(thd_ice.o) \
-	dom_ice.F90 \
-	dom_oce.F90 \
-	flx_oce.F90 \
-	ice.F90 \
-	ice_oce.F90 \
-	iceini.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	limtab.F90 \
-	limthd_lac.F90 \
-	limthd_zdf.F90 \
-	phycst.F90 \
-	thd_ice.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	limthd.F90
-$(MODEL_LIB)(limthd_lac.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(dom_ice.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(limistate.o) \
-	$(MODEL_LIB)(limmsh.o) \
-	$(MODEL_LIB)(limrst.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_ice.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	blk_oce.F90 \
-	dom_ice.F90 \
-	dom_oce.F90 \
-	flx_oce.F90 \
-	ice.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	limistate.F90 \
-	limmsh.F90 \
-	limrst.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_ice.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(iceini.o) \
-	$(MODEL_LIB)(limistate.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(thd_ice.o) \
-	ice_oce.F90 \
-	iceini.F90 \
-	limistate.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	thd_ice.F90 \
-	limthd_lac.F90
-$(MODEL_LIB)(limthd_zdf.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(dom_ice.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(limistate.o) \
-	$(MODEL_LIB)(limmsh.o) \
-	$(MODEL_LIB)(limrst.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_ice.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	blk_oce.F90 \
-	dom_ice.F90 \
-	dom_oce.F90 \
-	flx_oce.F90 \
-	ice.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	limistate.F90 \
-	limmsh.F90 \
-	limrst.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_ice.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(iceini.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(limistate.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(thd_ice.o) \
-	ice_oce.F90 \
-	iceini.F90 \
-	in_out_manager.F90 \
-	limistate.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	thd_ice.F90 \
-	limthd_zdf.F90
-$(MODEL_LIB)(limtrp.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_ice.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(limistate.o) \
-	$(MODEL_LIB)(limmsh.o) \
-	$(MODEL_LIB)(limrst.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_ice.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	dom_ice.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	flx_oce.F90 \
-	ice.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	limistate.F90 \
-	limmsh.F90 \
-	limrst.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_ice.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_ice.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(iceini.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(limadv.o) \
-	$(MODEL_LIB)(limhdf.o) \
-	$(MODEL_LIB)(limistate.o) \
-	$(MODEL_LIB)(phycst.o) \
-	daymod.F90 \
-	dom_ice.F90 \
-	dom_oce.F90 \
-	ice.F90 \
-	ice_oce.F90 \
-	iceini.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	limadv.F90 \
-	limhdf.F90 \
-	limistate.F90 \
-	phycst.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	limtrp.F90
-$(MODEL_LIB)(limwri.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(limistate.o) \
-	$(MODEL_LIB)(limmsh.o) \
-	$(MODEL_LIB)(limrst.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_ice.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	blk_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	flx_oce.F90 \
-	ice.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	limistate.F90 \
-	limmsh.F90 \
-	limrst.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_ice.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_ice.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(iceini.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(phycst.o) \
-	daymod.F90 \
-	dianam.F90 \
-	dom_ice.F90 \
-	dom_oce.F90 \
-	flx_oce.F90 \
-	ice.F90 \
-	ice_oce.F90 \
-	iceini.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(diawri.o) \
-	diawri.F90 \
-	limwri_dimg.h90 \
-	../../../lib/libioipsl.a \
-	KEY_CPP \
-	limwri.F90
-$(MODEL_LIB)(model.o) :	\
-	$(MODEL_LIB)(cpl.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domain.o) \
-	$(MODEL_LIB)(domcfg.o) \
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(flxfwb.o) \
@@ -4193,6 +4336,6 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(mppini.o) \
+	$(MODEL_LIB)(obcini.o) \
 	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obcini.o) \
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(ocfzpt.o) \
@@ -4201,70 +4344,32 @@
 	$(MODEL_LIB)(step.o) \
 	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trddyn.o) \
+	$(MODEL_LIB)(trdicp.o) \
 	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdtra.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(zdfini.o) \
 	$(MODEL_LIB)(zpshde.o) \
-	cpl.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	diaptr.F90 \
-	dom_oce.F90 \
-	domain.F90 \
-	domcfg.F90 \
-	eosbn2.F90 \
-	flxfwb.F90 \
-	iceini.F90 \
-	in_out_manager.F90 \
-	istate.F90 \
-	ldfdyn.F90 \
-	ldftra.F90 \
-	lib_mpp.F90 \
-	mppini.F90 \
-	obc_par.F90 \
-	obcini.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	phycst.F90 \
-	solver.F90 \
-	step.F90 \
-	traqsr.F90 \
-	trddyn.F90 \
-	trdmld.F90 \
-	trdtra.F90 \
-	trdvor.F90 \
-	zdfini.F90 \
-	zpshde.F90 \
+	opa.F90 \
 	$(MODEL_LIB)(opa.o) \
-	opa.F90 \
 	model.f90
 $(MODEL_LIB)(mppini.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	dom_oce.F90 \
+	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)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	sol_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(sol_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	sol_oce.F90 \
 	domzgr_substitute.h90 \
 	mppini_2.h90 \
@@ -4272,46 +4377,30 @@
 	KEY_CPP \
 	mppini.F90
-$(MODEL_LIB)(obc_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	par_kind.F90 \
-	par_oce.F90 \
+$(MODEL_LIB)(obccli.o) :	\
+	in_out_manager.F90 \
+	obc_par.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(obc_par.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	obc_par.F90 \
-	par_oce.F90 \
-	obc_oce.F90
-$(MODEL_LIB)(obc_par.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	obc_par_EEL_R5.h90 \
-	KEY_CPP \
-	obc_par.F90
-$(MODEL_LIB)(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 \
+	dom_oce.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.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)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
+	dom_oce.F90 \
+	in_out_manager.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_print.o) \
@@ -4319,14 +4408,10 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	obc_par.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -4335,17 +4420,28 @@
 	$(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 \
 	obcdom.F90
 $(MODEL_LIB)(obcdta.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obc_oce.F90 \
+	obc_par.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	solfet.F90 \
+	solisl.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	sol_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -4360,105 +4456,399 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sol_oce.o) \
 	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(solisl.o) \
 	$(MODEL_LIB)(solpcg.o) \
 	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_rl.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obccli.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_rl.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obccli.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	obc_vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	obcdta.F90
+$(MODEL_LIB)(obcdyn.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obc_oce.F90 \
+	obc_par.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.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) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obccli.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obccli.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	obcdyn.F90
+$(MODEL_LIB)(obcini.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obc_oce.F90 \
+	obc_par.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(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) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obcdom.F90 \
+	obcrst.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obcdom.o) \
+	$(MODEL_LIB)(obcrst.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	obc_vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	obcini.F90
+$(MODEL_LIB)(obcrad.o) :	\
+	dom_oce.F90 \
+	in_out_manager.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)(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 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.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) \
+	obc_vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	obcrad.F90
+$(MODEL_LIB)(obcrst.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obc_par.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	obcrst.F90
+$(MODEL_LIB)(obcspg.o) :	\
+	dom_oce.F90 \
+	in_out_manager.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)(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 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.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) \
+	obc_vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	obcspg.F90
+$(MODEL_LIB)(obctra.o) :	\
+	dom_oce.F90 \
+	in_out_manager.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)(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 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.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) \
+	obc_vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	obctra.F90
+$(MODEL_LIB)(obcvol.o) :	\
+	blk_oce.F90 \
 	cpl_oce.F90 \
+	daymod.F90 \
 	dom_oce.F90 \
 	dtasal.F90 \
 	dtasst.F90 \
 	dtatem.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
+	flxmod.F90 \
+	flxrnf.F90 \
+	flx_oce.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	obc_par.F90 \
 	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solisl.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	trddyn_oce.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_rl.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) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_rl.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	obccli.F90 \
-	oce.F90 \
-	phycst.F90 \
-	obc_vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	obcdta.F90
-$(MODEL_LIB)(obcdyn.o) :	\
+	ocfzpt.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	taumod.F90 \
+	tradmp.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dtasal.o) \
 	$(MODEL_LIB)(dtasst.o) \
 	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(flxmod.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(tradmp.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	ocesbc.F90 \
+	oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	domzgr_substitute.h90 \
+	obc_vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	obcvol.F90
+$(MODEL_LIB)(obc_oce.o) :	\
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	obc_par.F90 \
+	par_oce.F90 \
 	$(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)(par_oce.o) \
+	obc_oce.F90
+$(MODEL_LIB)(obc_par.o) :	\
+	par_kind.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	obc_par_EEL_R5.h90 \
+	KEY_CPP \
+	obc_par.F90
+$(MODEL_LIB)(ocesbc.o) :	\
+	blk_oce.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtatem.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	blk_oce.F90 \
 	cpl_oce.F90 \
+	daymod.F90 \
 	dom_oce.F90 \
 	dtasal.F90 \
 	dtasst.F90 \
 	dtatem.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.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)(obccli.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	obccli.F90 \
-	oce.F90 \
-	phycst.F90 \
-	obcdyn.F90
-$(MODEL_LIB)(obcini.o) :	\
+	flxmod.F90 \
+	flxrnf.F90 \
+	flx_oce.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	phycst.F90 \
+	taumod.F90 \
+	tradmp.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(cpl_oce.o) \
 	$(MODEL_LIB)(daymod.o) \
@@ -4467,261 +4857,108 @@
 	$(MODEL_LIB)(dtasst.o) \
 	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.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)(flxmod.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(tradmp.o) \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	ocesbc.F90
+$(MODEL_LIB)(oce.o) :	\
+	par_kind.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	oce.F90
+$(MODEL_LIB)(ocfzpt.o) :	\
+	par_oce.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	ocfzpt.F90
+$(MODEL_LIB)(opa.o) :	\
+	blk_oce.F90 \
+	cla.F90 \
+	cla_div.F90 \
+	closea.F90 \
+	cpl.F90 \
 	cpl_oce.F90 \
 	daymod.F90 \
+	diadimg.F90 \
+	diafwb.F90 \
+	diagap.F90 \
+	diahdy.F90 \
+	diahth.F90 \
+	dianam.F90 \
+	diaptr.F90 \
+	diaspr.F90 \
+	diawri.F90 \
+	divcur.F90 \
+	domhgr.F90 \
+	dommsk.F90 \
+	domstp.F90 \
+	domwri.F90 \
+	domzgr.F90 \
 	dom_oce.F90 \
 	dtasal.F90 \
 	dtasst.F90 \
 	dtatem.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	dynhpg.F90 \
+	dynhpg_atsk.F90 \
+	dynkeg.F90 \
+	dynldf_bilapg.F90 \
+	dynldf_bilap.F90 \
+	dynldf_iso.F90 \
+	dynldf_lap.F90 \
+	dynnxt.F90 \
+	dynspg_fsc.F90 \
+	dynspg_fsc_atsk.F90 \
+	dynspg_rl.F90 \
+	dynvor.F90 \
+	dynzad.F90 \
+	dynzdf_exp.F90 \
+	dynzdf_imp.F90 \
+	dynzdf_imp_atsk.F90 \
+	dynzdf_iso.F90 \
+	eosbn2.F90 \
+	floats.F90 \
+	flo_oce.F90 \
+	flxblk.F90 \
+	flxfwb.F90 \
+	flxmod.F90 \
+	flxrnf.F90 \
+	flx_oce.F90 \
+	icestp.F90 \
+	ice.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldfeiv.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	limistate.F90 \
+	limmsh.F90 \
+	limrst.F90 \
+	obcdom.F90 \
+	obcdta.F90 \
+	obcrad.F90 \
+	obcrst.F90 \
+	obcspg.F90 \
 	obc_oce.F90 \
 	obc_par.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.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)(obcdom.o) \
-	$(MODEL_LIB)(obcrst.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	obcdom.F90 \
-	obcrst.F90 \
-	oce.F90 \
-	phycst.F90 \
-	obc_vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	obcini.F90
-$(MODEL_LIB)(obcrad.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.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) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.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 \
-	obcrad.F90
-$(MODEL_LIB)(obcrst.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_par.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	oce.F90 \
-	phycst.F90 \
-	obcrst.F90
-$(MODEL_LIB)(obcspg.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.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) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.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)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.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) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.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 \
-	obctra.F90
-$(MODEL_LIB)(obcvol.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(flxmod.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	flx_oce.F90 \
-	flxmod.F90 \
-	flxrnf.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_par.F90 \
+	ocesbc.F90 \
 	oce.F90 \
 	ocfzpt.F90 \
@@ -4729,122 +4966,50 @@
 	par_oce.F90 \
 	phycst.F90 \
+	restart.F90 \
+	solisl.F90 \
+	solmat.F90 \
+	sol_oce.F90 \
+	stpctl.F90 \
 	taumod.F90 \
+	traadv_cen2.F90 \
+	traadv_ctl.F90 \
+	traadv_muscl2.F90 \
+	traadv_muscl.F90 \
+	traadv_tvd.F90 \
+	trabbc.F90 \
+	trabbl.F90 \
 	tradmp.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)(ocesbc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	phycst.F90 \
-	domzgr_substitute.h90 \
-	obc_vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	obcvol.F90
-$(MODEL_LIB)(oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	oce.F90
-$(MODEL_LIB)(ocesbc.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	trdtra_oce.F90 \
+	traldf_bilapg.F90 \
+	traldf_bilap.F90 \
+	traldf_iso.F90 \
+	traldf_iso_zps.F90 \
+	traldf_lap.F90 \
+	tranpc.F90 \
+	tranxt.F90 \
+	traqsr.F90 \
+	trasbc.F90 \
+	trazdf_exp.F90 \
+	trazdf_imp.F90 \
+	trazdf_iso.F90 \
+	trazdf_iso_vopt.F90 \
+	trcstp.F90 \
+	trc_oce.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	wzvmod.F90 \
+	zdfbfr.F90 \
+	zdfddm.F90 \
+	zdfevd.F90 \
+	zdfmxl.F90 \
+	zdfric.F90 \
+	zdftke.F90 \
 	zdf_oce.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(flxmod.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	flx_oce.F90 \
-	flxmod.F90 \
-	flxrnf.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	phycst.F90 \
-	taumod.F90 \
-	tradmp.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	ocesbc.F90
-$(MODEL_LIB)(ocfzpt.o) :	\
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	dom_oce.F90 \
-	oce.F90 \
-	ocfzpt.F90
-$(MODEL_LIB)(opa.o) :	\
+	zpshde.F90 \
 	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(cla.o) \
@@ -4854,4 +5019,5 @@
 	$(MODEL_LIB)(cpl_oce.o) \
 	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(diadimg.o) \
 	$(MODEL_LIB)(diafwb.o) \
 	$(MODEL_LIB)(diagap.o) \
@@ -4863,5 +5029,4 @@
 	$(MODEL_LIB)(diawri.o) \
 	$(MODEL_LIB)(divcur.o) \
-	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(domhgr.o) \
 	$(MODEL_LIB)(dommsk.o) \
@@ -4869,4 +5034,5 @@
 	$(MODEL_LIB)(domwri.o) \
 	$(MODEL_LIB)(domzgr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dtasal.o) \
 	$(MODEL_LIB)(dtasst.o) \
@@ -4875,6 +5041,6 @@
 	$(MODEL_LIB)(dynhpg_atsk.o) \
 	$(MODEL_LIB)(dynkeg.o) \
+	$(MODEL_LIB)(dynldf_bilapg.o) \
 	$(MODEL_LIB)(dynldf_bilap.o) \
-	$(MODEL_LIB)(dynldf_bilapg.o) \
 	$(MODEL_LIB)(dynldf_iso.o) \
 	$(MODEL_LIB)(dynldf_lap.o) \
@@ -4890,14 +5056,14 @@
 	$(MODEL_LIB)(dynzdf_iso.o) \
 	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(floats.o) \
 	$(MODEL_LIB)(flo_oce.o) \
-	$(MODEL_LIB)(floats.o) \
-	$(MODEL_LIB)(flx_oce.o) \
 	$(MODEL_LIB)(flxblk.o) \
 	$(MODEL_LIB)(flxfwb.o) \
 	$(MODEL_LIB)(flxmod.o) \
 	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(icestp.o) \
 	$(MODEL_LIB)(ice.o) \
 	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(icestp.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -4911,6 +5077,4 @@
 	$(MODEL_LIB)(limmsh.o) \
 	$(MODEL_LIB)(limrst.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
 	$(MODEL_LIB)(obcdom.o) \
 	$(MODEL_LIB)(obcdta.o) \
@@ -4918,6 +5082,8 @@
 	$(MODEL_LIB)(obcrst.o) \
 	$(MODEL_LIB)(obcspg.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
 	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -4925,19 +5091,19 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(sol_oce.o) \
 	$(MODEL_LIB)(solisl.o) \
 	$(MODEL_LIB)(solmat.o) \
+	$(MODEL_LIB)(sol_oce.o) \
 	$(MODEL_LIB)(stpctl.o) \
 	$(MODEL_LIB)(taumod.o) \
 	$(MODEL_LIB)(traadv_cen2.o) \
 	$(MODEL_LIB)(traadv_ctl.o) \
+	$(MODEL_LIB)(traadv_muscl2.o) \
 	$(MODEL_LIB)(traadv_muscl.o) \
-	$(MODEL_LIB)(traadv_muscl2.o) \
 	$(MODEL_LIB)(traadv_tvd.o) \
 	$(MODEL_LIB)(trabbc.o) \
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(tradmp.o) \
+	$(MODEL_LIB)(traldf_bilapg.o) \
 	$(MODEL_LIB)(traldf_bilap.o) \
-	$(MODEL_LIB)(traldf_bilapg.o) \
 	$(MODEL_LIB)(traldf_iso.o) \
 	$(MODEL_LIB)(traldf_iso_zps.o) \
@@ -4951,14 +5117,15 @@
 	$(MODEL_LIB)(trazdf_iso.o) \
 	$(MODEL_LIB)(trazdf_iso_vopt.o) \
+	$(MODEL_LIB)(trcstp.o) \
 	$(MODEL_LIB)(trc_oce.o) \
-	$(MODEL_LIB)(trcstp.o) \
-	$(MODEL_LIB)(trddyn.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
 	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdtra.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(wzvmod.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfbfr.o) \
 	$(MODEL_LIB)(zdfddm.o) \
@@ -4967,6 +5134,631 @@
 	$(MODEL_LIB)(zdfric.o) \
 	$(MODEL_LIB)(zdftke.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zpshde.o) \
+	cpl.F90 \
+	cpl_oce.F90 \
+	daymod.F90 \
+	diaptr.F90 \
+	domain.F90 \
+	domcfg.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtasst.F90 \
+	dtatem.F90 \
+	eosbn2.F90 \
+	flxfwb.F90 \
+	iceini.F90 \
+	in_out_manager.F90 \
+	istate.F90 \
+	ldfdyn.F90 \
+	ldftra.F90 \
+	lib_mpp.F90 \
+	mppini.F90 \
+	obcini.F90 \
+	obc_par.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	phycst.F90 \
+	solver.F90 \
+	step.F90 \
+	traqsr.F90 \
+	trdicp.F90 \
+	trdmld.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	zdfini.F90 \
+	zpshde.F90 \
+	$(MODEL_LIB)(cpl.o) \
+	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(domain.o) \
+	$(MODEL_LIB)(domcfg.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtasst.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(flxfwb.o) \
+	$(MODEL_LIB)(iceini.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(istate.o) \
+	$(MODEL_LIB)(ldfdyn.o) \
+	$(MODEL_LIB)(ldftra.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(mppini.o) \
+	$(MODEL_LIB)(obcini.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(solver.o) \
+	$(MODEL_LIB)(step.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(zdfini.o) \
+	$(MODEL_LIB)(zpshde.o) \
+	opa.F90
+$(MODEL_LIB)(par_ice.o) :	\
+	par_kind.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_ice.F90
+$(MODEL_LIB)(par_oce.o) :	\
+	par_kind.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	par_EEL_R2.h90 \
+	par_EEL_R5.h90 \
+	par_EEL_R6.h90 \
+	par_GYRE.h90 \
+	par_ORCA_R025.h90 \
+	par_ORCA_R05.h90 \
+	par_ORCA_R2.h90 \
+	par_ORCA_R4.h90 \
+	KEY_CPP \
+	par_oce.F90
+$(MODEL_LIB)(phycst.o) :	\
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	in_out_manager.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	phycst.F90
+$(MODEL_LIB)(restart.o) :	\
 	blk_oce.F90 \
+	cla_dynspg.F90 \
+	dom_oce.F90 \
+	dynzdf_exp.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obcdyn.F90 \
+	obcvol.F90 \
+	obc_oce.F90 \
+	ocesbc.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	solfet.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	sol_oce.F90 \
+	taumod.F90 \
+	trazdf_exp.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(cla_dynspg.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynzdf_exp.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(obcvol.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(trazdf_exp.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	blk_oce.F90 \
+	cpl_oce.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_fsc.F90 \
+	dynspg_fsc_atsk.F90 \
+	flx_oce.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	phycst.F90 \
+	sol_oce.F90 \
+	zdftke.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_fsc.o) \
+	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(zdftke.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	lib_mpp.F90 \
+	$(MODEL_LIB)(lib_mpp.o) \
+	restart_dimg.h90 \
+	../../../lib/libioipsl.a \
+	KEY_CPP \
+	restart.F90
+$(MODEL_LIB)(solfet.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	sol_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	solfet.F90
+$(MODEL_LIB)(solisl.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obc_par.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)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	solfet.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	sol_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)(solfet.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	../../../lib/libioipsl.a \
+	solisl.F90
+$(MODEL_LIB)(solmat.o) :	\
+	cla_dynspg.F90 \
+	dom_oce.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	obcdyn.F90 \
+	obcvol.F90 \
+	obc_oce.F90 \
+	obc_par.F90 \
+	ocesbc.F90 \
+	oce.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	solfet.F90 \
+	solisl.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	sol_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(cla_dynspg.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(obcvol.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solisl.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	dynspg_fsc.F90 \
+	dynspg_rl.F90 \
+	lib_feti.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	sol_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_fsc.o) \
+	$(MODEL_LIB)(dynspg_rl.o) \
+	$(MODEL_LIB)(lib_feti.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	solmat.F90
+$(MODEL_LIB)(solpcg.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	sol_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	solpcg.F90
+$(MODEL_LIB)(solsor.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	sol_oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	solsor.F90
+$(MODEL_LIB)(solver.o) :	\
+	cla_dynspg.F90 \
+	dom_oce.F90 \
+	dynspg_fsc.F90 \
+	dynspg_rl.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_feti.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obcdyn.F90 \
+	obcvol.F90 \
+	obc_oce.F90 \
+	obc_par.F90 \
+	ocesbc.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	solfet.F90 \
+	solisl.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	sol_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(cla_dynspg.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_fsc.o) \
+	$(MODEL_LIB)(dynspg_rl.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_feti.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(obcvol.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solisl.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	dynspg_fsc.F90 \
+	dynspg_fsc_atsk.F90 \
+	dynspg_rl.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	solisl.F90 \
+	solmat.F90 \
+	sol_oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_fsc.o) \
+	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
+	$(MODEL_LIB)(dynspg_rl.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) \
+	$(MODEL_LIB)(solmat.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	solver.F90
+$(MODEL_LIB)(sol_oce.o) :	\
+	par_kind.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	sol_oce.F90
+$(MODEL_LIB)(step.o) :	\
+	blk_oce.F90 \
+	cla_dynspg.F90 \
+	cpl_oce.F90 \
+	daymod.F90 \
+	diadimg.F90 \
+	diahth.F90 \
+	dianam.F90 \
+	diaptr.F90 \
+	diaspr.F90 \
+	diawri.F90 \
+	dom_ice.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtasst.F90 \
+	dtatem.F90 \
+	dynspg_fsc.F90 \
+	dynspg_fsc_atsk.F90 \
+	dynspg_rl.F90 \
+	dynzdf_exp.F90 \
+	eosbn2.F90 \
+	flo4rk.F90 \
+	floblk.F90 \
+	flodom.F90 \
+	flowri.F90 \
+	flo_oce.F90 \
+	flxblk.F90 \
+	flxmod.F90 \
+	flxrnf.F90 \
+	flx_oce.F90 \
+	iceini.F90 \
+	ice.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	limdia.F90 \
+	limdyn.F90 \
+	limflx.F90 \
+	limrst.F90 \
+	limthd.F90 \
+	limtrp.F90 \
+	limwri.F90 \
+	obccli.F90 \
+	obcdyn.F90 \
+	obctra.F90 \
+	obcvol.F90 \
+	obc_oce.F90 \
+	ocesbc.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	solfet.F90 \
+	solisl.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	sol_oce.F90 \
+	taumod.F90 \
+	traadv_muscl2.F90 \
+	traadv_muscl.F90 \
+	traadv_tvd.F90 \
+	trabbl.F90 \
+	tradmp.F90 \
+	traqsr.F90 \
+	trazdf_exp.F90 \
+	trc_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdftke.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(cla_dynspg.o) \
+	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(diadimg.o) \
+	$(MODEL_LIB)(diahth.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(diaspr.o) \
+	$(MODEL_LIB)(diawri.o) \
+	$(MODEL_LIB)(dom_ice.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtasst.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(dynspg_fsc.o) \
+	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
+	$(MODEL_LIB)(dynspg_rl.o) \
+	$(MODEL_LIB)(dynzdf_exp.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(flo4rk.o) \
+	$(MODEL_LIB)(floblk.o) \
+	$(MODEL_LIB)(flodom.o) \
+	$(MODEL_LIB)(flowri.o) \
+	$(MODEL_LIB)(flo_oce.o) \
+	$(MODEL_LIB)(flxblk.o) \
+	$(MODEL_LIB)(flxmod.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(flx_oce.o) \
+	$(MODEL_LIB)(iceini.o) \
+	$(MODEL_LIB)(ice.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(limdia.o) \
+	$(MODEL_LIB)(limdyn.o) \
+	$(MODEL_LIB)(limflx.o) \
+	$(MODEL_LIB)(limrst.o) \
+	$(MODEL_LIB)(limthd.o) \
+	$(MODEL_LIB)(limtrp.o) \
+	$(MODEL_LIB)(limwri.o) \
+	$(MODEL_LIB)(obccli.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(obctra.o) \
+	$(MODEL_LIB)(obcvol.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solisl.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(traadv_muscl2.o) \
+	$(MODEL_LIB)(traadv_muscl.o) \
+	$(MODEL_LIB)(traadv_tvd.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(tradmp.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trazdf_exp.o) \
+	$(MODEL_LIB)(trc_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdftke.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	cla.F90 \
 	cla_div.F90 \
@@ -4979,5 +5771,4 @@
 	diahdy.F90 \
 	diahth.F90 \
-	dianam.F90 \
 	diaptr.F90 \
 	diaspr.F90 \
@@ -4985,9 +5776,4 @@
 	divcur.F90 \
 	dom_oce.F90 \
-	domhgr.F90 \
-	dommsk.F90 \
-	domstp.F90 \
-	domwri.F90 \
-	domzgr.F90 \
 	dtasal.F90 \
 	dtasst.F90 \
@@ -4996,6 +5782,6 @@
 	dynhpg_atsk.F90 \
 	dynkeg.F90 \
+	dynldf_bilapg.F90 \
 	dynldf_bilap.F90 \
-	dynldf_bilapg.F90 \
 	dynldf_iso.F90 \
 	dynldf_lap.F90 \
@@ -5011,14 +5797,11 @@
 	dynzdf_iso.F90 \
 	eosbn2.F90 \
+	floats.F90 \
 	flo_oce.F90 \
-	floats.F90 \
-	flx_oce.F90 \
-	flxblk.F90 \
 	flxfwb.F90 \
 	flxmod.F90 \
 	flxrnf.F90 \
-	ice.F90 \
+	icestp.F90 \
 	ice_oce.F90 \
-	icestp.F90 \
 	in_out_manager.F90 \
 	lbclnk.F90 \
@@ -5027,38 +5810,25 @@
 	ldfslp.F90 \
 	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	limistate.F90 \
-	limmsh.F90 \
-	limrst.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	obcdom.F90 \
 	obcdta.F90 \
 	obcrad.F90 \
 	obcrst.F90 \
 	obcspg.F90 \
-	oce.F90 \
+	obc_par.F90 \
 	ocesbc.F90 \
+	oce.F90 \
 	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
 	restart.F90 \
-	sol_oce.F90 \
-	solisl.F90 \
-	solmat.F90 \
 	stpctl.F90 \
 	taumod.F90 \
 	traadv_cen2.F90 \
 	traadv_ctl.F90 \
+	traadv_muscl2.F90 \
 	traadv_muscl.F90 \
-	traadv_muscl2.F90 \
 	traadv_tvd.F90 \
 	trabbc.F90 \
 	trabbl.F90 \
 	tradmp.F90 \
+	traldf_bilapg.F90 \
 	traldf_bilap.F90 \
-	traldf_bilapg.F90 \
 	traldf_iso.F90 \
 	traldf_iso_zps.F90 \
@@ -5072,14 +5842,9 @@
 	trazdf_iso.F90 \
 	trazdf_iso_vopt.F90 \
-	trc_oce.F90 \
 	trcstp.F90 \
-	trddyn.F90 \
-	trddyn_oce.F90 \
+	trdicp.F90 \
 	trdmld.F90 \
-	trdtra.F90 \
-	trdtra_oce.F90 \
 	trdvor.F90 \
 	wzvmod.F90 \
-	zdf_oce.F90 \
 	zdfbfr.F90 \
 	zdfddm.F90 \
@@ -5088,673 +5853,6 @@
 	zdfric.F90 \
 	zdftke.F90 \
+	zdf_oce.F90 \
 	zpshde.F90 \
-	$(MODEL_LIB)(cpl.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(domain.o) \
-	$(MODEL_LIB)(domcfg.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(flxfwb.o) \
-	$(MODEL_LIB)(iceini.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(istate.o) \
-	$(MODEL_LIB)(ldfdyn.o) \
-	$(MODEL_LIB)(ldftra.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(mppini.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obcini.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(solver.o) \
-	$(MODEL_LIB)(step.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trddyn.o) \
-	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdtra.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(zdfini.o) \
-	$(MODEL_LIB)(zpshde.o) \
-	cpl.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	diaptr.F90 \
-	dom_oce.F90 \
-	domain.F90 \
-	domcfg.F90 \
-	eosbn2.F90 \
-	flxfwb.F90 \
-	iceini.F90 \
-	in_out_manager.F90 \
-	istate.F90 \
-	ldfdyn.F90 \
-	ldftra.F90 \
-	lib_mpp.F90 \
-	mppini.F90 \
-	obc_par.F90 \
-	obcini.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	phycst.F90 \
-	solver.F90 \
-	step.F90 \
-	traqsr.F90 \
-	trddyn.F90 \
-	trdmld.F90 \
-	trdtra.F90 \
-	trdvor.F90 \
-	zdfini.F90 \
-	zpshde.F90 \
-	opa.F90
-$(MODEL_LIB)(par_ice.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	par_ice.F90
-$(MODEL_LIB)(par_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	par_EEL_R2.h90 \
-	par_EEL_R5.h90 \
-	par_EEL_R6.h90 \
-	par_GYRE.h90 \
-	par_ORCA_R025.h90 \
-	par_ORCA_R05.h90 \
-	par_ORCA_R2.h90 \
-	par_ORCA_R4.h90 \
-	KEY_CPP \
-	par_oce.F90
-$(MODEL_LIB)(phycst.o) :	\
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	in_out_manager.F90 \
-	par_oce.F90 \
-	phycst.F90
-$(MODEL_LIB)(restart.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cla_dynspg.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynzdf_exp.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.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)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(trazdf_exp.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	blk_oce.F90 \
-	cla_dynspg.F90 \
-	dom_oce.F90 \
-	dynzdf_exp.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	obcdyn.F90 \
-	obcvol.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	taumod.F90 \
-	trazdf_exp.F90 \
-	trddyn_oce.F90 \
-	trdtra_oce.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_fsc.o) \
-	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdftke.o) \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_fsc.F90 \
-	dynspg_fsc_atsk.F90 \
-	flx_oce.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
-	zdf_oce.F90 \
-	zdftke.F90 \
-	$(MODEL_LIB)(lib_mpp.o) \
-	lib_mpp.F90 \
-	restart_dimg.h90 \
-	restart_fdir.h90 \
-	../../../lib/libioipsl.a \
-	KEY_CPP \
-	restart.F90
-$(MODEL_LIB)(sol_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	sol_oce.F90
-$(MODEL_LIB)(solfet.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	dom_oce.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	sol_oce.F90 \
-	solfet.F90
-$(MODEL_LIB)(solisl.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_par.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)(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 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	oce.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	solisl_fdir.h90 \
-	../../../lib/libioipsl.a \
-	KEY_CPP \
-	solisl.F90
-$(MODEL_LIB)(solmat.o) :	\
-	$(MODEL_LIB)(cla_dynspg.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.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)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	cla_dynspg.F90 \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	obcdyn.F90 \
-	obcvol.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solisl.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	trddyn_oce.F90 \
-	trdtra_oce.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_fsc.o) \
-	$(MODEL_LIB)(dynspg_rl.o) \
-	$(MODEL_LIB)(lib_feti.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	dom_oce.F90 \
-	dynspg_fsc.F90 \
-	dynspg_rl.F90 \
-	lib_feti.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	oce.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
-	solmat.F90
-$(MODEL_LIB)(solpcg.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.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) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	sol_oce.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	solpcg.F90
-$(MODEL_LIB)(solsor.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.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) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	sol_oce.F90 \
-	zdf_oce.F90 \
-	solsor.F90
-$(MODEL_LIB)(solver.o) :	\
-	$(MODEL_LIB)(cla_dynspg.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(dynspg_fsc.o) \
-	$(MODEL_LIB)(dynspg_rl.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_feti.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.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)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	cla_dynspg.F90 \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	dynspg_fsc.F90 \
-	dynspg_rl.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_feti.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	obcdyn.F90 \
-	obcvol.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solisl.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	trddyn_oce.F90 \
-	trdtra_oce.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_fsc.o) \
-	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
-	$(MODEL_LIB)(dynspg_rl.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solisl.o) \
-	$(MODEL_LIB)(solmat.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	dynspg_fsc.F90 \
-	dynspg_fsc_atsk.F90 \
-	dynspg_rl.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	oce.F90 \
-	sol_oce.F90 \
-	solisl.F90 \
-	solmat.F90 \
-	zdf_oce.F90 \
-	solver.F90
-$(MODEL_LIB)(step.o) :	\
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cla_dynspg.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(diahth.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(diaspr.o) \
-	$(MODEL_LIB)(diawri.o) \
-	$(MODEL_LIB)(dom_ice.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(dynspg_fsc.o) \
-	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
-	$(MODEL_LIB)(dynspg_rl.o) \
-	$(MODEL_LIB)(dynzdf_exp.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(flo4rk.o) \
-	$(MODEL_LIB)(flo_oce.o) \
-	$(MODEL_LIB)(floblk.o) \
-	$(MODEL_LIB)(flodom.o) \
-	$(MODEL_LIB)(flowri.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(flxblk.o) \
-	$(MODEL_LIB)(flxmod.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(iceini.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(limdia.o) \
-	$(MODEL_LIB)(limdyn.o) \
-	$(MODEL_LIB)(limflx.o) \
-	$(MODEL_LIB)(limrst.o) \
-	$(MODEL_LIB)(limthd.o) \
-	$(MODEL_LIB)(limtrp.o) \
-	$(MODEL_LIB)(limwri.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obccli.o) \
-	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obctra.o) \
-	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(ocfzpt.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)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(traadv_muscl.o) \
-	$(MODEL_LIB)(traadv_muscl2.o) \
-	$(MODEL_LIB)(traadv_tvd.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trazdf_exp.o) \
-	$(MODEL_LIB)(trc_oce.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdftke.o) \
-	blk_oce.F90 \
-	cla_dynspg.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	diahth.F90 \
-	dianam.F90 \
-	diaptr.F90 \
-	diaspr.F90 \
-	diawri.F90 \
-	dom_ice.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	dynspg_fsc.F90 \
-	dynspg_fsc_atsk.F90 \
-	dynspg_rl.F90 \
-	dynzdf_exp.F90 \
-	eosbn2.F90 \
-	flo4rk.F90 \
-	flo_oce.F90 \
-	floblk.F90 \
-	flodom.F90 \
-	flowri.F90 \
-	flx_oce.F90 \
-	flxblk.F90 \
-	flxmod.F90 \
-	flxrnf.F90 \
-	ice.F90 \
-	ice_oce.F90 \
-	iceini.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	limdia.F90 \
-	limdyn.F90 \
-	limflx.F90 \
-	limrst.F90 \
-	limthd.F90 \
-	limtrp.F90 \
-	limwri.F90 \
-	obc_oce.F90 \
-	obccli.F90 \
-	obcdyn.F90 \
-	obctra.F90 \
-	obcvol.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solisl.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	taumod.F90 \
-	traadv_muscl.F90 \
-	traadv_muscl2.F90 \
-	traadv_tvd.F90 \
-	trabbl.F90 \
-	tradmp.F90 \
-	traqsr.F90 \
-	trazdf_exp.F90 \
-	trc_oce.F90 \
-	trddyn_oce.F90 \
-	trdtra_oce.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	zdftke.F90 \
 	$(MODEL_LIB)(cla.o) \
 	$(MODEL_LIB)(cla_div.o) \
@@ -5778,6 +5876,6 @@
 	$(MODEL_LIB)(dynhpg_atsk.o) \
 	$(MODEL_LIB)(dynkeg.o) \
+	$(MODEL_LIB)(dynldf_bilapg.o) \
 	$(MODEL_LIB)(dynldf_bilap.o) \
-	$(MODEL_LIB)(dynldf_bilapg.o) \
 	$(MODEL_LIB)(dynldf_iso.o) \
 	$(MODEL_LIB)(dynldf_lap.o) \
@@ -5793,11 +5891,11 @@
 	$(MODEL_LIB)(dynzdf_iso.o) \
 	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(floats.o) \
 	$(MODEL_LIB)(flo_oce.o) \
-	$(MODEL_LIB)(floats.o) \
 	$(MODEL_LIB)(flxfwb.o) \
 	$(MODEL_LIB)(flxmod.o) \
 	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(icestp.o) \
 	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(icestp.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -5806,11 +5904,11 @@
 	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
 	$(MODEL_LIB)(obcdta.o) \
 	$(MODEL_LIB)(obcrad.o) \
 	$(MODEL_LIB)(obcrst.o) \
 	$(MODEL_LIB)(obcspg.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
 	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(restart.o) \
@@ -5819,12 +5917,12 @@
 	$(MODEL_LIB)(traadv_cen2.o) \
 	$(MODEL_LIB)(traadv_ctl.o) \
+	$(MODEL_LIB)(traadv_muscl2.o) \
 	$(MODEL_LIB)(traadv_muscl.o) \
-	$(MODEL_LIB)(traadv_muscl2.o) \
 	$(MODEL_LIB)(traadv_tvd.o) \
 	$(MODEL_LIB)(trabbc.o) \
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(tradmp.o) \
+	$(MODEL_LIB)(traldf_bilapg.o) \
 	$(MODEL_LIB)(traldf_bilap.o) \
-	$(MODEL_LIB)(traldf_bilapg.o) \
 	$(MODEL_LIB)(traldf_iso.o) \
 	$(MODEL_LIB)(traldf_iso_zps.o) \
@@ -5839,10 +5937,8 @@
 	$(MODEL_LIB)(trazdf_iso_vopt.o) \
 	$(MODEL_LIB)(trcstp.o) \
-	$(MODEL_LIB)(trddyn.o) \
+	$(MODEL_LIB)(trdicp.o) \
 	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdtra.o) \
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(wzvmod.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfbfr.o) \
 	$(MODEL_LIB)(zdfddm.o) \
@@ -5851,100 +5947,6 @@
 	$(MODEL_LIB)(zdfric.o) \
 	$(MODEL_LIB)(zdftke.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zpshde.o) \
-	cla.F90 \
-	cla_div.F90 \
-	closea.F90 \
-	cpl.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	diafwb.F90 \
-	diagap.F90 \
-	diahdy.F90 \
-	diahth.F90 \
-	diaptr.F90 \
-	diaspr.F90 \
-	diawri.F90 \
-	divcur.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	dynhpg.F90 \
-	dynhpg_atsk.F90 \
-	dynkeg.F90 \
-	dynldf_bilap.F90 \
-	dynldf_bilapg.F90 \
-	dynldf_iso.F90 \
-	dynldf_lap.F90 \
-	dynnxt.F90 \
-	dynspg_fsc.F90 \
-	dynspg_fsc_atsk.F90 \
-	dynspg_rl.F90 \
-	dynvor.F90 \
-	dynzad.F90 \
-	dynzdf_exp.F90 \
-	dynzdf_imp.F90 \
-	dynzdf_imp_atsk.F90 \
-	dynzdf_iso.F90 \
-	eosbn2.F90 \
-	flo_oce.F90 \
-	floats.F90 \
-	flxfwb.F90 \
-	flxmod.F90 \
-	flxrnf.F90 \
-	ice_oce.F90 \
-	icestp.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldfeiv.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	obc_par.F90 \
-	obcdta.F90 \
-	obcrad.F90 \
-	obcrst.F90 \
-	obcspg.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	ocfzpt.F90 \
-	restart.F90 \
-	stpctl.F90 \
-	taumod.F90 \
-	traadv_cen2.F90 \
-	traadv_ctl.F90 \
-	traadv_muscl.F90 \
-	traadv_muscl2.F90 \
-	traadv_tvd.F90 \
-	trabbc.F90 \
-	trabbl.F90 \
-	tradmp.F90 \
-	traldf_bilap.F90 \
-	traldf_bilapg.F90 \
-	traldf_iso.F90 \
-	traldf_iso_zps.F90 \
-	traldf_lap.F90 \
-	tranpc.F90 \
-	tranxt.F90 \
-	traqsr.F90 \
-	trasbc.F90 \
-	trazdf_exp.F90 \
-	trazdf_imp.F90 \
-	trazdf_iso.F90 \
-	trazdf_iso_vopt.F90 \
-	trcstp.F90 \
-	trddyn.F90 \
-	trdmld.F90 \
-	trdtra.F90 \
-	trdvor.F90 \
-	wzvmod.F90 \
-	zdf_oce.F90 \
-	zdfbfr.F90 \
-	zdfddm.F90 \
-	zdfevd.F90 \
-	zdfmxl.F90 \
-	zdfric.F90 \
-	zdftke.F90 \
-	zpshde.F90 \
 	domzgr_substitute.h90 \
 	zdfddm_substitute.h90 \
@@ -5952,15 +5954,42 @@
 	step.F90
 $(MODEL_LIB)(stpctl.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
+	daymod.F90 \
+	diadimg.F90 \
+	diahth.F90 \
+	dianam.F90 \
+	diaspr.F90 \
+	dom_oce.F90 \
+	flxrnf.F90 \
+	flx_oce.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obc_oce.F90 \
+	ocesbc.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	solfet.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	sol_oce.F90 \
+	taumod.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.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)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(flxrnf.o) \
 	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(flxrnf.o) \
 	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -5971,51 +6000,26 @@
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(ocfzpt.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)(solpcg.o) \
 	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(sol_oce.o) \
 	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	cpl_oce.F90 \
-	daymod.F90 \
-	diahth.F90 \
-	dianam.F90 \
-	diaspr.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	flx_oce.F90 \
-	flxrnf.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
+	$(MODEL_LIB)(zdf_oce.o) \
+	diawri.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	solisl.F90 \
 	sol_oce.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	taumod.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
 	$(MODEL_LIB)(diawri.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -6024,68 +6028,87 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(solisl.o) \
 	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(solisl.o) \
-	diawri.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	sol_oce.F90 \
-	solisl.F90 \
 	stpctl.F90
 $(MODEL_LIB)(taumod.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.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) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(phycst.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	phycst.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.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) \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(phycst.o) \
+	cpl_oce.F90 \
+	geo2ocean.F90 \
 	$(MODEL_LIB)(cpl_oce.o) \
 	$(MODEL_LIB)(geo2ocean.o) \
-	cpl_oce.F90 \
-	geo2ocean.F90 \
 	tau_coupled.h90 \
 	tau_coupled_ice.h90 \
 	tau_forced_daily.h90 \
 	tau_forced_monthly.h90 \
-	tau_forced_monthly_fdir.h90 \
 	KEY_CPP \
 	taumod.F90
 $(MODEL_LIB)(thd_ice.o) :	\
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_ice.F90 \
 	$(MODEL_LIB)(par_ice.o) \
-	par_ice.F90 \
 	thd_ice.F90
 $(MODEL_LIB)(traadv_cen2.o) :	\
+	cla_dynspg.F90 \
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obcdyn.F90 \
+	obcvol.F90 \
+	obc_oce.F90 \
+	ocesbc.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	solfet.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	sol_oce.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(cla_dynspg.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
 	$(MODEL_LIB)(flxrnf.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -6094,27 +6117,109 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obcdyn.o) \
 	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(solpcg.o) \
 	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_fsc.F90 \
+	dynspg_fsc_atsk.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	trabbl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_fsc.o) \
+	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	oce.F90 \
+	$(MODEL_LIB)(oce.o) \
+	domzgr_substitute.h90 \
+	traadv_cen2_atsk.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	traadv_cen2.F90
+$(MODEL_LIB)(traadv_ctl.o) :	\
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_fsc.F90 \
+	dynspg_fsc_atsk.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	trabbl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_fsc.o) \
+	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	traadv_muscl2.F90 \
+	traadv_muscl.F90 \
+	traadv_tvd.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(traadv_muscl2.o) \
+	$(MODEL_LIB)(traadv_muscl.o) \
+	$(MODEL_LIB)(traadv_tvd.o) \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	traadv_ctl.F90
+$(MODEL_LIB)(traadv_muscl2.o) :	\
 	cla_dynspg.F90 \
-	cpl_oce.F90 \
 	daymod.F90 \
 	dianam.F90 \
 	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
 	flxrnf.F90 \
 	in_out_manager.F90 \
@@ -6123,131 +6228,89 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	obc_oce.F90 \
 	obcdyn.F90 \
 	obcvol.F90 \
-	oce.F90 \
+	obc_oce.F90 \
 	ocesbc.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
 	solfet.F90 \
 	solpcg.F90 \
 	solsor.F90 \
-	trddyn_oce.F90 \
-	trdtra_oce.F90 \
+	sol_oce.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_fsc.o) \
-	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
+	$(MODEL_LIB)(cla_dynspg.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(flxrnf.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	dynspg_fsc.F90 \
-	dynspg_fsc_atsk.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	trabbl.F90 \
-	trdtra_oce.F90 \
-	$(MODEL_LIB)(oce.o) \
-	oce.F90 \
-	domzgr_substitute.h90 \
-	traadv_cen2_atsk.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traadv_cen2.F90
-$(MODEL_LIB)(traadv_ctl.o) :	\
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_fsc.o) \
-	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	dynspg_fsc.F90 \
-	dynspg_fsc_atsk.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	trabbl.F90 \
-	trdtra_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(traadv_muscl.o) \
-	$(MODEL_LIB)(traadv_muscl2.o) \
-	$(MODEL_LIB)(traadv_tvd.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	traadv_muscl.F90 \
-	traadv_muscl2.F90 \
-	traadv_tvd.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traadv_ctl.F90
-$(MODEL_LIB)(traadv_muscl.o) :	\
-	$(MODEL_LIB)(cla_dynspg.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obcdyn.o) \
 	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(solpcg.o) \
 	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_fsc.F90 \
+	dynspg_fsc_atsk.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	trabbl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_fsc.o) \
+	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	traadv_muscl2.F90
+$(MODEL_LIB)(traadv_muscl.o) :	\
 	cla_dynspg.F90 \
-	cpl_oce.F90 \
 	daymod.F90 \
 	dianam.F90 \
 	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
 	flxrnf.F90 \
 	in_out_manager.F90 \
@@ -6256,52 +6319,30 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	obc_oce.F90 \
 	obcdyn.F90 \
 	obcvol.F90 \
-	oce.F90 \
+	obc_oce.F90 \
 	ocesbc.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
 	solfet.F90 \
 	solpcg.F90 \
 	solsor.F90 \
-	trddyn_oce.F90 \
-	trdtra_oce.F90 \
+	sol_oce.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_fsc.o) \
-	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	dynspg_fsc.F90 \
-	dynspg_fsc_atsk.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	trabbl.F90 \
-	trdtra_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traadv_muscl.F90
-$(MODEL_LIB)(traadv_muscl2.o) :	\
 	$(MODEL_LIB)(cla_dynspg.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
 	$(MODEL_LIB)(flxrnf.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -6310,27 +6351,57 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obcdyn.o) \
 	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(solpcg.o) \
 	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_fsc.F90 \
+	dynspg_fsc_atsk.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	trabbl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_fsc.o) \
+	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	traadv_muscl.F90
+$(MODEL_LIB)(traadv_tvd.o) :	\
 	cla_dynspg.F90 \
-	cpl_oce.F90 \
 	daymod.F90 \
 	dianam.F90 \
 	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
 	flxrnf.F90 \
 	in_out_manager.F90 \
@@ -6339,52 +6410,30 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
-	obc_oce.F90 \
 	obcdyn.F90 \
 	obcvol.F90 \
-	oce.F90 \
+	obc_oce.F90 \
 	ocesbc.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
 	solfet.F90 \
 	solpcg.F90 \
 	solsor.F90 \
-	trddyn_oce.F90 \
-	trdtra_oce.F90 \
+	sol_oce.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
 	zdf_oce.F90 \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_fsc.o) \
-	$(MODEL_LIB)(dynspg_fsc_atsk.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	dynspg_fsc.F90 \
-	dynspg_fsc_atsk.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	trabbl.F90 \
-	trdtra_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traadv_muscl2.F90
-$(MODEL_LIB)(traadv_tvd.o) :	\
 	$(MODEL_LIB)(cla_dynspg.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
 	$(MODEL_LIB)(flxrnf.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -6393,48 +6442,37 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(obcdyn.o) \
 	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(obc_oce.o) \
 	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(solpcg.o) \
 	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	cla_dynspg.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	obcdyn.F90 \
-	obcvol.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	trddyn_oce.F90 \
-	trdtra_oce.F90 \
-	zdf_oce.F90 \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_fsc.F90 \
+	dynspg_fsc_atsk.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	trabbl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
 	$(MODEL_LIB)(diaptr.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -6446,15 +6484,6 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	dynspg_fsc.F90 \
-	dynspg_fsc_atsk.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	trabbl.F90 \
-	trdtra_oce.F90 \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -6462,20 +6491,20 @@
 	traadv_tvd.F90
 $(MODEL_LIB)(trabbc.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 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	domzgr_substitute.h90 \
 	../../../lib/libioipsl.a \
@@ -6483,26 +6512,34 @@
 	trabbc.F90
 $(MODEL_LIB)(trabbl.o) :	\
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	trdtra_oce.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	trdicp_oce.F90 \
+	trdmld_oce.F90 \
+	trdvor_oce.F90 \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	trdmod_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	eosbn2.F90 \
+	flxrnf.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(flxrnf.o) \
 	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(ocfzpt.o) \
-	eosbn2.F90 \
-	flxrnf.F90 \
-	lbclnk.F90 \
-	ocfzpt.F90 \
 	domzgr_substitute.h90 \
 	trabbl_adv.h90 \
@@ -6511,27 +6548,46 @@
 	trabbl.F90
 $(MODEL_LIB)(tradmp.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(trabbl.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) \
-	cpl_oce.F90 \
-	daymod.F90 \
 	dom_oce.F90 \
 	dtasal.F90 \
-	dtasst.F90 \
 	dtatem.F90 \
 	in_out_manager.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	phycst.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdfmxl.F90 \
 	zdf_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -6542,17 +6598,8 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	phycst.F90 \
-	trdtra_oce.F90 \
-	zdf_oce.F90 \
-	zdfmxl.F90 \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -6560,5 +6607,27 @@
 	KEY_CPP \
 	tradmp.F90
-$(MODEL_LIB)(traldf_bilap.o) :	\
+$(MODEL_LIB)(traldf_bilapg.o) :	\
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdfmxl.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -6574,5 +6643,37 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	KEY_CPP \
+	traldf_bilapg.F90
+$(MODEL_LIB)(traldf_bilap.o) :	\
 	daymod.F90 \
 	dianam.F90 \
@@ -6588,5 +6689,44 @@
 	par_oce.F90 \
 	phycst.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
 	zdfmxl.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(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)(trabbl.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
 	$(MODEL_LIB)(diaptr.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -6596,13 +6736,6 @@
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	trdtra_oce.F90 \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
 	domzgr_substitute.h90 \
 	ldfeiv_substitute.h90 \
@@ -6611,5 +6744,27 @@
 	KEY_CPP \
 	traldf_bilap.F90
-$(MODEL_LIB)(traldf_bilapg.o) :	\
+$(MODEL_LIB)(traldf_iso.o) :	\
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdfmxl.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -6625,83 +6780,29 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
+	diaptr.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
 	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	zdfmxl.F90 \
+	oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
 	$(MODEL_LIB)(diaptr.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	trdtra_oce.F90 \
-	domzgr_substitute.h90 \
-	ldfeiv_substitute.h90 \
-	ldftra_substitute.h90 \
-	KEY_CPP \
-	traldf_bilapg.F90
-$(MODEL_LIB)(traldf_iso.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	trdtra_oce.F90 \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
 	domzgr_substitute.h90 \
 	ldfeiv_substitute.h90 \
@@ -6711,4 +6812,26 @@
 	traldf_iso.F90
 $(MODEL_LIB)(traldf_iso_zps.o) :	\
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdfmxl.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -6724,19 +6847,22 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
+	diaptr.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
 	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	zdfmxl.F90 \
+	oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(diaptr.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -6745,14 +6871,7 @@
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	trdtra_oce.F90 \
-	zdf_oce.F90 \
 	domzgr_substitute.h90 \
 	ldfeiv_substitute.h90 \
@@ -6762,4 +6881,23 @@
 	traldf_iso_zps.F90
 $(MODEL_LIB)(traldf_lap.o) :	\
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -6773,15 +6911,19 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	daymod.F90 \
-	dianam.F90 \
+	$(MODEL_LIB)(trabbl.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) \
+	diaptr.F90 \
 	dom_oce.F90 \
 	in_out_manager.F90 \
 	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
+	oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
 	$(MODEL_LIB)(diaptr.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -6789,11 +6931,6 @@
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	trdtra_oce.F90 \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
 	domzgr_substitute.h90 \
 	ldftra_substitute.h90 \
@@ -6802,22 +6939,45 @@
 	traldf_lap.F90
 $(MODEL_LIB)(tranpc.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.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) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdfddm.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.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)(trabbl.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
 	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	zdfddm.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
@@ -6825,15 +6985,20 @@
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	oce.F90 \
-	trdtra_oce.F90 \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
 	domzgr_substitute.h90 \
 	KEY_CPP \
 	tranpc.F90
 $(MODEL_LIB)(tranxt.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obc_oce.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -6849,11 +7014,7 @@
 	in_out_manager.F90 \
 	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obc_oce.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
+	obctra.F90 \
+	oce.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -6862,12 +7023,37 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	obctra.F90 \
-	oce.F90 \
-	zdf_oce.F90 \
 	tranxt.F90
 $(MODEL_LIB)(traqsr.o) :	\
+	blk_oce.F90 \
+	cpl_oce.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtasst.F90 \
+	dtatem.F90 \
+	flxmod.F90 \
+	flxrnf.F90 \
+	flx_oce.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sms.F90 \
+	taumod.F90 \
+	trabbl.F90 \
+	tradmp.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
 	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(cpl_oce.o) \
@@ -6877,7 +7063,7 @@
 	$(MODEL_LIB)(dtasst.o) \
 	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(flx_oce.o) \
 	$(MODEL_LIB)(flxmod.o) \
 	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(flx_oce.o) \
 	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -6892,5 +7078,34 @@
 	$(MODEL_LIB)(sms.o) \
 	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(tradmp.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) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ocesbc.F90 \
+	oce.F90 \
+	phycst.F90 \
+	trc_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trc_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	traqsr.F90
+$(MODEL_LIB)(trasbc.o) :	\
 	blk_oce.F90 \
 	cpl_oce.F90 \
@@ -6900,7 +7115,7 @@
 	dtasst.F90 \
 	dtatem.F90 \
-	flx_oce.F90 \
 	flxmod.F90 \
 	flxrnf.F90 \
+	flx_oce.F90 \
 	ice_oce.F90 \
 	in_out_manager.F90 \
@@ -6908,4 +7123,5 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
+	ocesbc.F90 \
 	oce.F90 \
 	ocfzpt.F90 \
@@ -6913,26 +7129,16 @@
 	par_oce.F90 \
 	phycst.F90 \
-	sms.F90 \
 	taumod.F90 \
+	trabbl.F90 \
 	tradmp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(trc_oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	phycst.F90 \
 	trc_oce.F90 \
-	trdtra_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traqsr.F90
-$(MODEL_LIB)(trasbc.o) :	\
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
 	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(cpl_oce.o) \
@@ -6942,7 +7148,7 @@
 	$(MODEL_LIB)(dtasst.o) \
 	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(flx_oce.o) \
 	$(MODEL_LIB)(flxmod.o) \
 	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(flx_oce.o) \
 	$(MODEL_LIB)(ice_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -6950,6 +7156,6 @@
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -6957,46 +7163,31 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(tradmp.o) \
 	$(MODEL_LIB)(trc_oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	flx_oce.F90 \
-	flxmod.F90 \
-	flxrnf.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
 	ocesbc.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	taumod.F90 \
-	tradmp.F90 \
-	trc_oce.F90 \
-	trdtra_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
+	oce.F90 \
+	phycst.F90 \
+	traqsr.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	ocesbc.F90 \
-	phycst.F90 \
-	traqsr.F90 \
-	trdtra_oce.F90 \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -7004,32 +7195,50 @@
 	trasbc.F90
 $(MODEL_LIB)(trazdf_exp.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	trabbl.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)(lbclnk.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(trabbl.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) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdfddm.F90 \
 	zdf_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	trdtra_oce.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
 	domzgr_substitute.h90 \
 	zdfddm_substitute.h90 \
@@ -7037,19 +7246,43 @@
 	trazdf_exp.F90
 $(MODEL_LIB)(trazdf_imp.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	trabbl.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)(lbclnk.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(trabbl.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) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdfddm.F90 \
 	zdf_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -7057,20 +7290,35 @@
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	trdtra_oce.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
 	domzgr_substitute.h90 \
+	zdfddm_substitute.h90 \
 	zdf.matrixsolver.h90 \
-	zdfddm_substitute.h90 \
 	KEY_CPP \
 	trazdf_imp.F90
 $(MODEL_LIB)(trazdf_iso.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -7084,19 +7332,24 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
 	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
+	oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdfddm.F90 \
 	zdf_oce.F90 \
-	zdfmxl.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -7105,24 +7358,37 @@
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	trdtra_oce.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
 	domzgr_substitute.h90 \
 	ldfeiv_substitute.h90 \
 	ldftra_substitute.h90 \
+	zdfddm_substitute.h90 \
 	zdf.matrixsolver.h90 \
-	zdfddm_substitute.h90 \
 	KEY_CPP \
 	trazdf_iso.F90
 $(MODEL_LIB)(trazdf_iso_vopt.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdicp_oce.F90 \
+	trdmld.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	trdvor_oce.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -7136,19 +7402,24 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
 	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
+	oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdfddm.F90 \
 	zdf_oce.F90 \
-	zdfmxl.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -7157,16 +7428,8 @@
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	trdtra_oce.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
 	domzgr_substitute.h90 \
 	ldfeiv_substitute.h90 \
@@ -7177,36 +7440,42 @@
 	trazdf_iso_vopt.F90
 $(MODEL_LIB)(trc_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	par_oce.F90 \
+	sms.F90 \
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(sms.o) \
-	par_oce.F90 \
-	sms.F90 \
 	trc_oce.F90
-$(MODEL_LIB)(trddyn.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
+$(MODEL_LIB)(trdicp.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trdicp_oce.F90 \
+	trdmld_oce.F90 \
+	trdvor_oce.F90 \
+	zdfddm.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	obc_par.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	zdfddm.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	phycst.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
@@ -7215,43 +7484,38 @@
 	$(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)(sol_oce.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	trdicp.F90
+$(MODEL_LIB)(trdicp_oce.o) :	\
+	par_kind.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	trdicp_oce.F90
+$(MODEL_LIB)(trdmld.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
 	ldfdyn_oce.F90 \
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
-	obc_oce.F90 \
-	oce.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
-	trddyn_oce.F90 \
-	trdtra_oce.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trdicp_oce.F90 \
+	trdmld_oce.F90 \
+	trdvor_oce.F90 \
+	zdfmxl.F90 \
 	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	trddyn.F90
-$(MODEL_LIB)(trddyn_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	trddyn_oce.F90
-$(MODEL_LIB)(trdmld.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(diahth.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(diaspr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
@@ -7261,378 +7525,396 @@
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
+	daymod.F90 \
+	diadimg.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	trdmod_oce.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(diadimg.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	diahth.F90 \
+	$(MODEL_LIB)(zdf_oce.o) \
+	domzgr_substitute.h90 \
+	ldftra_substitute.h90 \
+	zdfddm_substitute.h90 \
+	../../../lib/libioipsl.a \
+	KEY_CPP \
+	trdmld.F90
+$(MODEL_LIB)(trdmld_oce.o) :	\
+	par_kind.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	trdmld_oce.F90
+$(MODEL_LIB)(trdmod.o) :	\
+	daymod.F90 \
+	diadimg.F90 \
 	dianam.F90 \
-	diaspr.F90 \
-	dom_oce.F90 \
-	flx_oce.F90 \
-	flxrnf.F90 \
-	ice_oce.F90 \
+	dom_oce.F90 \
+	eosbn2.F90 \
 	in_out_manager.F90 \
 	lbclnk.F90 \
 	ldfdyn_oce.F90 \
+	ldfslp.F90 \
 	ldftra_oce.F90 \
 	lib_mpp.F90 \
 	lib_print.f90 \
 	oce.F90 \
-	ocesbc.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
-	taumod.F90 \
-	zdf_oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trdicp_oce.F90 \
+	trdmld_oce.F90 \
+	trdmod_oce.F90 \
+	trdvor_oce.F90 \
 	zdfddm.F90 \
 	zdfmxl.F90 \
-	$(MODEL_LIB)(daymod.o) \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(diadimg.o) \
 	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(diawri.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dianam.F90 \
-	diawri.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	phycst.F90 \
-	trdtra_oce.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfmxl.F90 \
-	domzgr_substitute.h90 \
-	ldftra_substitute.h90 \
-	trdmld_ncinit.h90 \
-	trdmld_ncwrite.h90 \
-	zdfddm_substitute.h90 \
-	../../../lib/libioipsl.a \
-	KEY_CPP \
-	trdmld.F90
-$(MODEL_LIB)(trdtra.o) :	\
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	cpl_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	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)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	trddyn_oce.F90 \
-	trdtra_oce.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	trdtra.F90
-$(MODEL_LIB)(trdtra_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	trdtra_oce.F90
-$(MODEL_LIB)(trdvor.o) :	\
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_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)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	zdf_oce.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	daymod.F90 \
-	dianam.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	oce.F90 \
-	phycst.F90 \
-	trddyn_oce.F90 \
-	zdf_oce.F90 \
-	zdfmxl.F90 \
-	domzgr_substitute.h90 \
-	ldfdyn_substitute.h90 \
-	trdvor_ncinit.h90 \
-	trdvor_ncwrite.h90 \
-	vectopt_loop_substitute.h90 \
-	../../../lib/libioipsl.a \
-	KEY_CPP \
-	trdvor.F90
-$(MODEL_LIB)(wzvmod.o) :	\
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	wzvmod.F90
-$(MODEL_LIB)(zdf_oce.o) :	\
-	$(MODEL_LIB)(par_kind.o) \
-	par_kind.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	par_oce.F90 \
-	zdf_oce.F90
-$(MODEL_LIB)(zdfbfr.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	oce.F90 \
-	zdf_oce.F90 \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	zdfbfr.F90
-$(MODEL_LIB)(zdfddm.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	oce.F90 \
-	zdf_oce.F90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	zdfddm.F90
-$(MODEL_LIB)(zdfevd.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	oce.F90 \
-	zdf_oce.F90 \
-	zdfevd.F90
-$(MODEL_LIB)(zdfini.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynzdf_exp.o) \
+	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(trazdf_exp.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	dynzdf_exp.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	taumod.F90 \
-	trazdf_exp.F90 \
-	trdtra_oce.F90 \
-	zdf_oce.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(ldfdyn_oce.o) \
 	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	trabbl.F90 \
+	trdicp.F90 \
+	trdmld.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	trdmod.F90
+$(MODEL_LIB)(trdmod_oce.o) :	\
+	par_oce.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	trdicp_oce.F90 \
+	trdmld_oce.F90 \
+	trdvor_oce.F90 \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	trdmod_oce.F90
+$(MODEL_LIB)(trdvor.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	trdicp_oce.F90 \
+	trdmld_oce.F90 \
+	trdvor_oce.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_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)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	daymod.F90 \
+	dianam.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	oce.F90 \
+	phycst.F90 \
+	trdmod_oce.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	domzgr_substitute.h90 \
+	ldfdyn_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	../../../lib/libioipsl.a \
+	KEY_CPP \
+	trdvor.F90
+$(MODEL_LIB)(trdvor_oce.o) :	\
+	par_kind.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	trdvor_oce.F90
+$(MODEL_LIB)(wzvmod.o) :	\
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	wzvmod.F90
+$(MODEL_LIB)(zdfbfr.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	zdfbfr.F90
+$(MODEL_LIB)(zdfddm.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	zdfddm.F90
+$(MODEL_LIB)(zdfevd.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	zdfevd.F90
+$(MODEL_LIB)(zdfini.o) :	\
+	dom_oce.F90 \
+	dynzdf_exp.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	taumod.F90 \
+	trazdf_exp.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdfmxl.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynzdf_exp.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(trazdf_exp.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	in_out_manager.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	par_oce.F90 \
+	tranpc.F90 \
+	zdfddm.F90 \
+	zdfevd.F90 \
+	zdfric.F90 \
+	zdftke.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(tranpc.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfevd.o) \
 	$(MODEL_LIB)(zdfric.o) \
 	$(MODEL_LIB)(zdftke.o) \
-	in_out_manager.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	par_oce.F90 \
-	tranpc.F90 \
-	zdf_oce.F90 \
-	zdfddm.F90 \
-	zdfevd.F90 \
-	zdfric.F90 \
-	zdftke.F90 \
+	$(MODEL_LIB)(zdf_oce.o) \
 	zdfini.F90
 $(MODEL_LIB)(zdfmxl.o) :	\
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	zdf_oce.F90 \
 	domzgr_substitute.h90 \
 	KEY_CPP \
 	zdfmxl.F90
 $(MODEL_LIB)(zdfric.o) :	\
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -7640,13 +7922,23 @@
 	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	oce.F90 \
-	zdf_oce.F90 \
 	domzgr_substitute.h90 \
 	KEY_CPP \
 	zdfric.F90
 $(MODEL_LIB)(zdftke.o) :	\
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	taumod.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdfddm.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -7660,23 +7952,17 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(trddyn_oce.o) \
-	$(MODEL_LIB)(trdtra_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
+	dom_oce.F90 \
+	dynzdf_exp.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
 	phycst.F90 \
 	taumod.F90 \
-	trddyn_oce.F90 \
-	trdtra_oce.F90 \
+	trazdf_exp.F90 \
 	zdf_oce.F90 \
-	zdfddm.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dynzdf_exp.o) \
@@ -7688,15 +7974,6 @@
 	$(MODEL_LIB)(trazdf_exp.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	dynzdf_exp.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	oce.F90 \
-	phycst.F90 \
-	taumod.F90 \
-	trazdf_exp.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(oce.o) \
-	oce.F90 \
+	oce.F90 \
+	$(MODEL_LIB)(oce.o) \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -7704,5 +7981,20 @@
 	KEY_CPP \
 	zdftke.F90
+$(MODEL_LIB)(zdf_oce.o) :	\
+	par_kind.F90 \
+	$(MODEL_LIB)(par_kind.o) \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	zdf_oce.F90
 $(MODEL_LIB)(zpshde.o) :	\
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	zdfddm.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -7715,12 +8007,10 @@
 	$(MODEL_LIB)(zdfddm.o) \
 	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	zdfddm.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	phycst.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
@@ -7730,11 +8020,4 @@
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	phycst.F90 \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -7768,43 +8051,43 @@
 	@echo CHECKING THE NUMBER AND NAMES OF SOURCE FILES 
 	@\$(RM) `ls | fgrep -v -f .patron` 
-	@check=`grep OCE_SRC .config`              ; \
+	@check=`grep OPA_SRC .config`              ; \
 	if [ -n "$$check" ] ; then                   \
-	echo "   use OCE_SRC files"                ; \
-	    ln -sf ../OCE_SRC/*.[Ffh]90          . ; \
-	    ln -sf ../OCE_SRC/DYN/*.[Ffh]90      . ; \
-	    ln -sf ../OCE_SRC/TRA/*.[Ffh]90      . ; \
-	    ln -sf ../OCE_SRC/TRD/*.[Ffh]90      . ; \
-	    ln -sf ../OCE_SRC/DIA/*.[Ffh]90      . ; \
-	    ln -sf ../OCE_SRC/DOM/*.[Ffh]90      . ; \
-	    ln -sf ../OCE_SRC/OBC/*.[Ffh]90      . ; \
-	    ln -sf ../OCE_SRC/FLO/*.[Ffh]90      . ; \
-	    ln -sf ../OCE_SRC/LDF/*.[Ffh]90      . ; \
-	    ln -sf ../OCE_SRC/ZDF/*.[Ffh]90      . ; \
-	    ln -sf ../OCE_SRC/SOL/*.[Ffh]90      . ; \
-	    ln -sf ../OCE_SRC/DTA/*.[Ffh]90      . ; \
-	    ln -sf ../OCE_SRC/SBC/*.[Ffh]90      . ; \
+	echo "   use OPA_SRC files"                ; \
+	    ln -sf ../OPA_SRC/*.[Ffh]90          . ; \
+	    ln -sf ../OPA_SRC/DYN/*.[Ffh]90      . ; \
+	    ln -sf ../OPA_SRC/TRA/*.[Ffh]90      . ; \
+	    ln -sf ../OPA_SRC/TRD/*.[Ffh]90      . ; \
+	    ln -sf ../OPA_SRC/DIA/*.[Ffh]90      . ; \
+	    ln -sf ../OPA_SRC/DOM/*.[Ffh]90      . ; \
+	    ln -sf ../OPA_SRC/OBC/*.[Ffh]90      . ; \
+	    ln -sf ../OPA_SRC/FLO/*.[Ffh]90      . ; \
+	    ln -sf ../OPA_SRC/LDF/*.[Ffh]90      . ; \
+	    ln -sf ../OPA_SRC/ZDF/*.[Ffh]90      . ; \
+	    ln -sf ../OPA_SRC/SOL/*.[Ffh]90      . ; \
+	    ln -sf ../OPA_SRC/DTA/*.[Ffh]90      . ; \
+	    ln -sf ../OPA_SRC/SBC/*.[Ffh]90      . ; \
   fi 
-	@check=`grep ICE_SRC .config`              ; \
+	@check=`grep LIM_SRC .config`              ; \
 	if [ -n "$$check" ] ; then                   \
-	echo "   use ICE_SRC files"                ; \
-      ln -sf ../ICE_SRC/*.[Ffh]90          . ; \
+	echo "   use LIM_SRC files"                ; \
+      ln -sf ../LIM_SRC/*.[Ffh]90          . ; \
   fi 
-	@check=`grep TRC_SRC .config`              ; \
+	@check=`grep TOP_SRC .config`              ; \
 	check2=`grep SRC_OFFLINE_TRC .config`      ; \
 	if ( [ -n "$$check" ] &&  [ -z "$$check2" ] ) ; then  \
-	echo "   use TRC_SRC files"                ; \
+	echo "   use TOP_SRC files"                ; \
       \$(RM) trcstp.F90                      ; \
       \$(RM) sms.F90                         ; \
-      ln -sf ../TRC_SRC/*.[Ffh]            . ; \
-      ln -sf ../TRC_SRC/*.[Ffh]90          . ; \
-      ln -sf ../TRC_SRC/SMS/*.[Ffh]        . ; \
-      ln -sf ../TRC_SRC/SMS/*.[Ffh]90      . ; \
-      ln -sf ../TRC_SRC/TRP/*.[Ffh]90      . ; \
+      ln -sf ../TOP_SRC/*.[Ffh]            . ; \
+      ln -sf ../TOP_SRC/*.[Ffh]90          . ; \
+      ln -sf ../TOP_SRC/SMS/*.[Ffh]        . ; \
+      ln -sf ../TOP_SRC/SMS/*.[Ffh]90      . ; \
+      ln -sf ../TOP_SRC/TRP/*.[Ffh]90      . ; \
   fi 
 	@check=`grep SRC_OFFLINE_TRC .config`      ; \
 	if [ -n "$$check" ] ; then                   \
-	echo "   use TRC_SRC and SRC_OFFLINE_TRC files"  ; \
-      ln -sf ../TRC_SRC/*.[Ffh]            . ; \
-      ln -sf ../TRC_SRC/SMS/*.[Ffh]        . ; \
+	echo "   use TOP_SRC and SRC_OFFLINE_TRC files"  ; \
+      ln -sf ../TOP_SRC/*.[Ffh]            . ; \
+      ln -sf ../TOP_SRC/SMS/*.[Ffh]        . ; \
       ln -sf ../SRC_OFFLINE_TRC/*.[Ffh]    . ; \
   fi 
