Index: trunk/CONFIG/GYRE/scripts/BB_make
===================================================================
--- trunk/CONFIG/GYRE/scripts/BB_make	(revision 429)
+++ trunk/CONFIG/GYRE/scripts/BB_make	(revision 438)
@@ -4,11 +4,14 @@
 #-Q- sxnec  # Compiler options for NEMO (IDRIS SX5-NEC) 
 #-Q- sxnec  F_O = -dw -Wf\"-A idbl4\" -sx5 -ftrace -C vopt -Wf"-init stack=nan" -Wl"-f nan" -Wf"-P nh" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce
+#-Q- sxnec  F_F = $(F_O)
 #-Q- sxnec  L_X = $(L_O) $(L_C) -ftrace
 #-Q- sx6nec  # Compiler options NEMO (CEA SX6-NEC) 
 #-Q- sx6nec  F_O = -size_t64 -dw -Wf\"-A dbl4\" -sx6 -C vopt -Wf"-P nh" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce
 #-Q- sx6nec  F_O = -size_t64 -dw -Wf\"-A dbl4\" -sx6 -ftrace -C vopt -Wf"-init stack=nan" -Wl"-f nan" -Wf"-P nh" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce
+#-Q- sx6nec  F_F = $(F_O)
 #-Q- sx6nec  L_X = $(L_O) $(L_C) -ftrace
 #-Q- sxdkrz  # Compiler options for NEMO (DKRZ SX6-NEC) 
 #-Q- sxdkrz  F_O = -ew -sx6 -ftrace -C vopt -Wf"-init stack=nan" -Wl"-f nan" -Wf"-P nh" -Wf"-pvctl noassume loopcnt=10000" -L transform -I $(MODDIR) -I $(MODDIR)/oce
+#-Q- sxdkrz  F_F = $(F_O)
 #-Q- sxdkrz  L_X = $(L_O) $(L_C) -ftrace
 #-Q- eshpux  # Compiler options for NEMO (Earth Simulator)
@@ -17,7 +20,9 @@
 #-Q- eshpux  # regular options!
 #-Q- eshpux  F_O = $(FTRACE) -Wf,-A idbl4 -C vopt -P stack -Wf"-P nh" -Wf,-pvctl noassume loopcnt=10000 -L transform -Wf,-pvctl nomsg -Wf"-O nomsg" -I $(MODDIR) -I $(MODDIR)/oce
+#-Q- eshpux  F_F = $(F_O)
 #-Q- eshpux  L_X = $(L_O)
 #-Q- linux  # Compiler options for NEMO (pgf version)
 #-Q- linux  F_O = -Mlist -O3 -byteswapio -r8  -I $(MODDIR) -I$(MODDIR)/oce
+#-Q- linux  F_F = $(F_O)
 #-Q- linux  L_X = -r8 -O3
 #-Q- lxiv7  # Compiler options for NEMO (ifc version)
@@ -26,14 +31,18 @@
 #-Q- lxiv8  # Compiler options for NEMO (ifort version)
 #-Q- lxiv8  F_O = -O3 -r8  -I $(MODDIR) -I$(MODDIR)/oce
+#-Q- lxiv8  F_F = $(F_O) 
 #-Q- lxiv8  L_X = -r8 -O3
 #-Q- g95  # Compiler options for NEMO (g95 version)
 #-Q- g95  F_O = -O3 -fno-second-underscore -r8 -funroll-all-loops -I $(MODDIR) -I $(MODDIR)/oce
+#-Q- g95  F_F = $(F_O)
 #-Q- g95  L_X = -r8 -O3
 #-Q- aix    # Compiler options for NEMO (aix version)
 #-Q- aix    F_O = -O3 -qsave -qrealsize=8 -qsuffix=f=f90 -qsuffix=cpp=F90 -qextname -qsource -q64 -qlargepage -qmaxmem=-1 -I $(MODDIR) -I $(MODDIR)/oce
+#-Q- aix    F_F = -O3 -qsave -qrealsize=8 -qsuffix=f=f -qsuffix=cpp=F -qfixed -qextname -qsource -q64 -qlargepage -qmaxmem=-1 -I $(MODDIR) -I $(MODDIR)/oce
 #-Q- aix   L_O = $(F_P) -q64 -O3
 #-Q- aix   L_X = $(L_O) $(L_C) 
 #-Q- osxxlf    # Compiler options for NEMO (osxxlf version)
 #-Q- osxxlf    F_O = -O3 -qsave -qrealsize=8 -qsuffix=f=f90 -qsuffix=cpp=F90 -qsource -qmaxmem=-1 -I $(MODDIR) -I $(MODDIR)/oce
+#-Q- osxxlf    F_F = -O3 -qsave -qrealsize=8 -qsuffix=f=f -qsuffix=cpp=F -qfixed -qsource -qmaxmem=-1 -I $(MODDIR) -I $(MODDIR)/oce
 #-Q- osxxlf    L_X = -qrealsize=8 -O3
 PREF=
@@ -75,4 +84,5 @@
      key_dimgout \
      key_dtasal \
+     key_dtasss \
      key_dtasst \
      key_dtatem \
@@ -144,4 +154,5 @@
 		$(MODEL_LIB)(agrif_opa_sponge.o)\
 		$(MODEL_LIB)(agrif_opa_update.o)\
+		$(MODEL_LIB)(agrif_user.o)\
 		$(MODEL_LIB)(albedo.o)\
 		$(MODEL_LIB)(blk_oce.o)\
@@ -163,7 +174,9 @@
 		$(MODEL_LIB)(diaptr.o)\
 		$(MODEL_LIB)(diaspr.o)\
+		$(MODEL_LIB)(diawri.o)\
 		$(MODEL_LIB)(diawri1d.o)\
-		$(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)\
@@ -173,7 +186,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)(dtasss.o)\
 		$(MODEL_LIB)(dtasst.o)\
 		$(MODEL_LIB)(dtatem.o)\
@@ -182,10 +194,10 @@
 		$(MODEL_LIB)(dynhpg_atsk.o)\
 		$(MODEL_LIB)(dynkeg.o)\
+		$(MODEL_LIB)(dynldf_bilap.o)\
 		$(MODEL_LIB)(dynldf_bilapg.o)\
-		$(MODEL_LIB)(dynldf_bilap.o)\
 		$(MODEL_LIB)(dynldf_iso.o)\
 		$(MODEL_LIB)(dynldf_lap.o)\
+		$(MODEL_LIB)(dynnxt.o)\
 		$(MODEL_LIB)(dynnxt1d.o)\
-		$(MODEL_LIB)(dynnxt.o)\
 		$(MODEL_LIB)(dynspg.o)\
 		$(MODEL_LIB)(dynspg_exp.o)\
@@ -205,23 +217,23 @@
 		$(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)(flo_oce.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)(geo2ocean.o)\
-		$(MODEL_LIB)(iceini.o)\
-		$(MODEL_LIB)(icestp1d.o)\
-		$(MODEL_LIB)(icestp.o)\
 		$(MODEL_LIB)(ice.o)\
 		$(MODEL_LIB)(ice_oce.o)\
+		$(MODEL_LIB)(iceini.o)\
+		$(MODEL_LIB)(icestp.o)\
+		$(MODEL_LIB)(icestp1d.o)\
+		$(MODEL_LIB)(in_out_manager.o)\
 		$(MODEL_LIB)(ini1d.o)\
 		$(MODEL_LIB)(initrc.o)\
-		$(MODEL_LIB)(in_out_manager.o)\
 		$(MODEL_LIB)(istate.o)\
 		$(MODEL_LIB)(lbclnk.o)\
@@ -251,4 +263,6 @@
 		$(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)\
@@ -263,8 +277,6 @@
 		$(MODEL_LIB)(obctra.o)\
 		$(MODEL_LIB)(obcvol.o)\
-		$(MODEL_LIB)(obc_oce.o)\
-		$(MODEL_LIB)(obc_par.o)\
+		$(MODEL_LIB)(oce.o)\
 		$(MODEL_LIB)(ocesbc.o)\
-		$(MODEL_LIB)(oce.o)\
 		$(MODEL_LIB)(ocfzpt.o)\
 		$(MODEL_LIB)(opa.o)\
@@ -276,4 +288,5 @@
 		$(MODEL_LIB)(restart.o)\
 		$(MODEL_LIB)(sms.o)\
+		$(MODEL_LIB)(sol_oce.o)\
 		$(MODEL_LIB)(solfet.o)\
 		$(MODEL_LIB)(solisl.o)\
@@ -283,7 +296,6 @@
 		$(MODEL_LIB)(solsor_e.o)\
 		$(MODEL_LIB)(solver.o)\
-		$(MODEL_LIB)(sol_oce.o)\
+		$(MODEL_LIB)(step.o)\
 		$(MODEL_LIB)(step1d.o)\
-		$(MODEL_LIB)(step.o)\
 		$(MODEL_LIB)(stpctl.o)\
 		$(MODEL_LIB)(taumod.o)\
@@ -291,12 +303,12 @@
 		$(MODEL_LIB)(traadv_cen2.o)\
 		$(MODEL_LIB)(traadv_ctl.o)\
+		$(MODEL_LIB)(traadv_muscl.o)\
 		$(MODEL_LIB)(traadv_muscl2.o)\
-		$(MODEL_LIB)(traadv_muscl.o)\
 		$(MODEL_LIB)(traadv_tvd.o)\
 		$(MODEL_LIB)(trabbc.o)\
 		$(MODEL_LIB)(trabbl.o)\
 		$(MODEL_LIB)(tradmp.o)\
+		$(MODEL_LIB)(traldf_bilap.o)\
 		$(MODEL_LIB)(traldf_bilapg.o)\
-		$(MODEL_LIB)(traldf_bilap.o)\
 		$(MODEL_LIB)(traldf_iso.o)\
 		$(MODEL_LIB)(traldf_iso_zps.o)\
@@ -310,6 +322,6 @@
 		$(MODEL_LIB)(trazdf_iso.o)\
 		$(MODEL_LIB)(trazdf_iso_vopt.o)\
+		$(MODEL_LIB)(trc_oce.o)\
 		$(MODEL_LIB)(trcstp.o)\
-		$(MODEL_LIB)(trc_oce.o)\
 		$(MODEL_LIB)(trdicp.o)\
 		$(MODEL_LIB)(trdicp_oce.o)\
@@ -321,4 +333,5 @@
 		$(MODEL_LIB)(trdvor_oce.o)\
 		$(MODEL_LIB)(wzvmod.o)\
+		$(MODEL_LIB)(zdf_oce.o)\
 		$(MODEL_LIB)(zdfbfr.o)\
 		$(MODEL_LIB)(zdfddm.o)\
@@ -329,5 +342,4 @@
 		$(MODEL_LIB)(zdfric.o)\
 		$(MODEL_LIB)(zdftke.o)\
-		$(MODEL_LIB)(zdf_oce.o)\
 		$(MODEL_LIB)(zpshde.o)
 
@@ -482,5 +494,5 @@
 # rules for the .F files
 .F.a :           
-		@$(F_C) $(P_P) $(F_O) \
+		@$(F_C) $(P_P) $(F_F) \
 #-Q- fjvpp		-Z $*.L \
 #-Q- sxnec		-R2 \
@@ -523,5 +535,220 @@
 		@if [ -f $(PREF)$*.L ] ; then mv $*.L $(TMP) ; fi
 
+$(MODEL_LIB)(agrif_opa_interp.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)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sol_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	agrif_opa_interp.F90
+$(MODEL_LIB)(agrif_opa_sponge.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	oce.F90 \
+	par_oce.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	agrif_opa_sponge.F90
+$(MODEL_LIB)(agrif_opa_update.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)(ocesbc.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	ocesbc.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	prtctl.F90 \
+	$(MODEL_LIB)(cla_div.o) \
+	$(MODEL_LIB)(divcur.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(wzvmod.o) \
+	cla_div.F90 \
+	divcur.F90 \
+	dom_oce.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_oce.F90 \
+	wzvmod.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	agrif_opa_update.F90
+$(MODEL_LIB)(agrif_user.o) :	\
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(cla_div.o) \
+	$(MODEL_LIB)(cpl.o) \
+	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(divcur.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domain.o) \
+	$(MODEL_LIB)(domcfg.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtasss.o) \
+	$(MODEL_LIB)(dtasst.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(dyncor1d.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(flxfwb.o) \
+	$(MODEL_LIB)(iceini.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ini1d.o) \
+	$(MODEL_LIB)(initrc.o) \
+	$(MODEL_LIB)(istate.o) \
+	$(MODEL_LIB)(ldfdyn.o) \
+	$(MODEL_LIB)(ldftra.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(mppini.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(obcini.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)(prtctl.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(solver.o) \
+	$(MODEL_LIB)(step.o) \
+	$(MODEL_LIB)(step1d.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(wzvmod.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfini.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zpshde.o) \
+	blk_oce.F90 \
+	cla_div.F90 \
+	cpl.F90 \
+	cpl_oce.F90 \
+	daymod.F90 \
+	diaptr.F90 \
+	divcur.F90 \
+	dom_oce.F90 \
+	domain.F90 \
+	domcfg.F90 \
+	dtasal.F90 \
+	dtasss.F90 \
+	dtasst.F90 \
+	dtatem.F90 \
+	dyncor1d.F90 \
+	dynspg_oce.F90 \
+	eosbn2.F90 \
+	flxfwb.F90 \
+	iceini.F90 \
+	in_out_manager.F90 \
+	ini1d.F90 \
+	initrc.F90 \
+	istate.F90 \
+	ldfdyn.F90 \
+	ldftra.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	mppini.F90 \
+	obc_par.F90 \
+	obcini.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sol_oce.F90 \
+	solver.F90 \
+	step.F90 \
+	step1d.F90 \
+	traqsr.F90 \
+	trdicp.F90 \
+	trdmld.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	trdvor.F90 \
+	wzvmod.F90 \
+	zdf_oce.F90 \
+	zdfini.F90 \
+	zdfmxl.F90 \
+	zpshde.F90 \
+	$(MODEL_LIB)(agrif_opa_interp.o) \
+	$(MODEL_LIB)(agrif_opa_sponge.o) \
+	$(MODEL_LIB)(agrif_opa_update.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(opa.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(tradmp.o) \
+	agrif_opa_interp.F90 \
+	agrif_opa_sponge.F90 \
+	agrif_opa_update.F90 \
+	dom_oce.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	opa.F90 \
+	par_oce.F90 \
+	sol_oce.F90 \
+	tradmp.F90 \
+	$(AGRIF_LIB) \
+	KEY_CPP \
+	agrif_user.F90
 $(MODEL_LIB)(albedo.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) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -534,14 +761,15 @@
 	phycst.F90 \
 	prtctl.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) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.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)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(phycst.o) \
 	blk_oce.F90 \
 	cpl_oce.F90 \
@@ -555,4 +783,15 @@
 	ocfzpt.F90 \
 	phycst.F90 \
+	KEY_CPP \
+	albedo.F90
+$(MODEL_LIB)(blk_oce.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	KEY_CPP \
+	blk_oce.F90
+$(MODEL_LIB)(bulk.o) :	\
+	$(MODEL_LIB)(albedo.o) \
 	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(cpl_oce.o) \
@@ -560,18 +799,14 @@
 	$(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)(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)(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) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
 	albedo.F90 \
 	blk_oce.F90 \
@@ -590,4 +825,410 @@
 	phycst.F90 \
 	prtctl.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)(prtctl.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 \
+	prtctl.F90 \
+	taumod.F90 \
+	KEY_CPP \
+	bulk.F90
+$(MODEL_LIB)(cla.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)(prtctl.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 \
+	prtctl.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 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	cla.F90
+$(MODEL_LIB)(cla_div.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)(prtctl.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 \
+	prtctl.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) :	\
+	$(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)(dynspg_oce.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)(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)(prtctl.o) \
+	$(MODEL_LIB)(sol_oce.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 \
+	dynspg_oce.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 \
+	oce.F90 \
+	ocesbc.F90 \
+	ocfzpt.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sol_oce.F90 \
+	taumod.F90 \
+	tradmp.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)(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)(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 \
+	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)(prtctl.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 \
+	prtctl.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) \
+	$(MODEL_LIB)(prtctl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.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 \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	cpl.F90
+$(MODEL_LIB)(cpl_oce.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	KEY_CPP \
+	cpl_oce.F90
+$(MODEL_LIB)(ctlopn.o) :	\
+	$(AGRIF_LIB) \
+	KEY_CPP \
+	ctlopn.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)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	daymod.F90
+$(MODEL_LIB)(diadimg.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) \
+	$(MODEL_LIB)(prtctl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.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 \
+	KEY_CPP \
+	diadimg.F90
+$(MODEL_LIB)(diafwb.o) :	\
 	$(MODEL_LIB)(albedo.o) \
 	$(MODEL_LIB)(blk_oce.o) \
@@ -595,72 +1236,10 @@
 	$(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)(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)(prtctl.o) \
-	blk_oce.F90 \
-	dom_oce.F90 \
-	flxblk.F90 \
-	flx_oce.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	phycst.F90 \
-	prtctl.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)(prtctl.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 \
-	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 \
-	prtctl.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)(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) \
@@ -676,334 +1255,4 @@
 	$(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 \
-	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 \
-	prtctl.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)(prtctl.o) \
-	$(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 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	dynspg_oce.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 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	ocesbc.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	sol_oce.F90 \
-	taumod.F90 \
-	tradmp.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)(dynspg_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) \
-	$(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)(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)(prtctl.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(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 \
-	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 \
-	prtctl.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)(prtctl.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 \
-	prtctl.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) \
-	$(MODEL_LIB)(prtctl.o) \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	flx_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	ocfzpt.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) \
-	$(IOIPSL_LIB) \
-	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
-\
-	$(AGRIF_LIB) $(MODEL_LIB)(daymod.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.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 \
-	prtctl.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)(prtctl.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 \
@@ -1014,7 +1263,7 @@
 	dtasst.F90 \
 	dtatem.F90 \
+	flx_oce.F90 \
 	flxmod.F90 \
 	flxrnf.F90 \
-	flx_oce.F90 \
 	ice_oce.F90 \
 	in_out_manager.F90 \
@@ -1030,5 +1279,212 @@
 	taumod.F90 \
 	tradmp.F90 \
-	$(MODEL_LIB)(albedo.o) \
+	$(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)(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)(prtctl.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.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 \
+	$(IOIPSL_LIB) \
+	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) \
+	$(MODEL_LIB)(prtctl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	phycst.F90 \
+	KEY_CPP \
+	dianam.F90
+$(MODEL_LIB)(diaptr.o) :	\
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.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 \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	diaptr.F90
+$(MODEL_LIB)(diaspr.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	sol_oce.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	phycst.F90 \
+	sol_oce.F90 \
+	solfet.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	KEY_CPP \
+	diaspr.F90
+$(MODEL_LIB)(diawri.o) :	\
 	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(cpl_oce.o) \
@@ -1038,7 +1494,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) \
@@ -1052,212 +1508,131 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.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 \
-	dom_oce.F90 \
-	flxblk.F90 \
+	cpl_oce.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtasst.F90 \
+	dtatem.F90 \
+	flx_oce.F90 \
+	flxmod.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 \
-	prtctl.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)(prtctl.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 \
-	$(IOIPSL_LIB) \
-	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 \
-	prtctl.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)(prtctl.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 \
-	prtctl.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) \
-	$(MODEL_LIB)(prtctl.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 \
-	$(IOIPSL_LIB) \
-	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 \
+	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 \
+	prtctl.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 \
+	taumod.F90 \
+	tradmp.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)(flx_oce.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(ice_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)(ocesbc.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 \
+	diadimg.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 \
-	$(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) \
+	taumod.F90 \
+	zdf_oce.F90 \
+	zdfddm.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(dtasst.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	dtasst.F90 \
+	lib_mpp.F90 \
+	diawri_dimg.h90 \
+	zdfddm_substitute.h90 \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	diawri.F90
+$(MODEL_LIB)(diawri1d.o) :	\
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(cpl_oce.o) \
+	$(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)(dynzdf_exp.o) \
+	$(MODEL_LIB)(eosbn2.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)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(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)(prtctl.o) \
 	$(MODEL_LIB)(sol_oce.o) \
-	diaspr.F90
-$(MODEL_LIB)(diawri1d.o) :	\
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(traadv_ctl.o) \
+	$(MODEL_LIB)(tradmp.o) \
+	$(MODEL_LIB)(trazdf_exp.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	blk_oce.F90 \
 	cpl_oce.F90 \
@@ -1273,7 +1648,7 @@
 	dynzdf_exp.F90 \
 	eosbn2.F90 \
+	flx_oce.F90 \
 	flxmod.F90 \
 	flxrnf.F90 \
-	flx_oce.F90 \
 	ice_oce.F90 \
 	in_out_manager.F90 \
@@ -1283,6 +1658,6 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
+	oce.F90 \
 	ocesbc.F90 \
-	oce.F90 \
 	ocfzpt.F90 \
 	par_kind.F90 \
@@ -1295,45 +1670,27 @@
 	tradmp.F90 \
 	trazdf_exp.F90 \
+	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfmxl.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
 	$(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)(dynzdf_exp.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(flxmod.o) \
+	$(MODEL_LIB)(diawri.o) \
+	$(MODEL_LIB)(dom_oce.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)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(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) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(sol_oce.o) \
 	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(traadv_ctl.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	$(MODEL_LIB)(trazdf_exp.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfkpp.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdftke.o) \
 	daymod.F90 \
 	diahth.F90 \
@@ -1345,150 +1702,28 @@
 	in_out_manager.F90 \
 	lbclnk.F90 \
+	oce.F90 \
 	ocesbc.F90 \
-	oce.F90 \
 	ocfzpt.F90 \
 	phycst.F90 \
 	sol_oce.F90 \
 	taumod.F90 \
+	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfkpp.F90 \
 	zdfmxl.F90 \
 	zdftke.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(diahth.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(diawri.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.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)(zdfddm.o) \
-	$(MODEL_LIB)(zdfkpp.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdftke.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	zdfddm_substitute.h90 \
 	$(IOIPSL_LIB) \
 	KEY_CPP \
 	diawri1d.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 \
-	prtctl.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	sol_oce.F90 \
-	taumod.F90 \
-	tradmp.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)(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)(prtctl.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	$(MODEL_LIB)(zdf_oce.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 \
-	ocesbc.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	phycst.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)(flxrnf.o) \
-	$(MODEL_LIB)(flx_oce.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_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)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dtasst.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	diawri_dimg.h90 \
-	zdfddm_substitute.h90 \
-	$(IOIPSL_LIB) \
-	KEY_CPP \
-	diawri.F90
 $(MODEL_LIB)(divcur.o) :	\
+	$(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 \
@@ -1501,10 +1736,7 @@
 	$(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)(lbclnk.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -1512,14 +1744,41 @@
 	obc_oce.F90 \
 	oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
 	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 \
+	KEY_CPP \
+	dom_oce.F90
 $(MODEL_LIB)(domain.o) :	\
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(closea.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ini1d.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)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(solisl.o) \
 	blk_oce.F90 \
 	closea.F90 \
@@ -1528,12 +1787,12 @@
 	dynspg_oce.F90 \
 	flxrnf.F90 \
+	in_out_manager.F90 \
 	ini1d.F90 \
-	in_out_manager.F90 \
 	lbclnk.F90 \
 	lib_mpp.F90 \
 	lib_print.f90 \
 	obc_oce.F90 \
+	oce.F90 \
 	ocesbc.F90 \
-	oce.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -1545,22 +1804,19 @@
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(domhgr.o) \
+	$(MODEL_LIB)(dommsk.o) \
+	$(MODEL_LIB)(domstp.o) \
+	$(MODEL_LIB)(domwri.o) \
+	$(MODEL_LIB)(domzgr.o) \
 	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(ini1d.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)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(solisl.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	blk_oce.F90 \
 	closea.F90 \
 	daymod.F90 \
+	dom_oce.F90 \
 	domhgr.F90 \
 	dommsk.F90 \
@@ -1568,5 +1824,4 @@
 	domwri.F90 \
 	domzgr.F90 \
-	dom_oce.F90 \
 	flxrnf.F90 \
 	ice_oce.F90 \
@@ -1575,19 +1830,4 @@
 	oce.F90 \
 	phycst.F90 \
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(closea.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(domhgr.o) \
-	$(MODEL_LIB)(dommsk.o) \
-	$(MODEL_LIB)(domstp.o) \
-	$(MODEL_LIB)(domwri.o) \
-	$(MODEL_LIB)(domzgr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
 	domzgr_substitute.h90 \
 	$(IOIPSL_LIB) \
@@ -1595,4 +1835,16 @@
 	domain.F90
 $(MODEL_LIB)(domcfg.o) :	\
+	$(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)(sol_oce.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -1603,8 +1855,42 @@
 	par_kind.F90 \
 	par_oce.F90 \
+	sol_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)(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)(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_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(phycst.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	phycst.F90 \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	domhgr.F90
+$(MODEL_LIB)(dommsk.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -1612,40 +1898,12 @@
 	$(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)(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)(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) \
-	$(IOIPSL_LIB) \
-	domhgr.F90
-$(MODEL_LIB)(dommsk.o) :	\
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -1657,126 +1915,113 @@
 	par_kind.F90 \
 	par_oce.F90 \
+	sol_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)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(solisl.o) \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	solisl.F90 \
+	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 \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	domwri.F90
+$(MODEL_LIB)(domzgr.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)(obc_oce.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)(sol_oce.o) \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
+	dom_oce.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
 	obc_oce.F90 \
 	oce.F90 \
-	solisl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(solisl.o) \
-	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 \
-	$(IOIPSL_LIB) \
-	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 \
-	phycst.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sol_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)(phycst.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(closea.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ini1d.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 \
 	ini1d.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)(ini1d.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_s.h90 \
 	domzgr_substitute.h90 \
-	domzgr_s.h90 \
 	domzgr_zps.h90 \
 	vectopt_loop_substitute.h90 \
@@ -1784,60 +2029,83 @@
 	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 \
-	prtctl.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)(prtctl.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) \
+	$(MODEL_LIB)(prtctl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.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 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
 	domzgr_substitute.h90 \
 	$(IOIPSL_LIB) \
 	KEY_CPP \
 	dtasal.F90
+$(MODEL_LIB)(dtasss.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)(prtctl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.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 \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	dtasss.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 \
-	prtctl.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) \
-	$(MODEL_LIB)(prtctl.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)(prtctl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.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 \
@@ -1845,34 +2113,30 @@
 	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) \
 	$(IOIPSL_LIB) \
+	KEY_CPP \
 	dtasst.F90
 $(MODEL_LIB)(dtatem.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.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)(prtctl.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) \
+	$(MODEL_LIB)(prtctl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.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 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
 	domzgr_substitute.h90 \
 	$(IOIPSL_LIB) \
@@ -1880,30 +2144,45 @@
 	dtatem.F90
 $(MODEL_LIB)(dyncor1d.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	dyncor1d.F90
 $(MODEL_LIB)(dynhpg.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)(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 \
@@ -1923,4 +2202,23 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynhpg.F90
+$(MODEL_LIB)(dynhpg_atsk.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
@@ -1938,23 +2236,4 @@
 	dom_oce.F90 \
 	in_out_manager.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.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)(prtctl.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_mpp.F90 \
 	lib_print.f90 \
@@ -1972,4 +2251,23 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynhpg_atsk.F90
+$(MODEL_LIB)(dynkeg.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
@@ -1987,23 +2285,4 @@
 	dom_oce.F90 \
 	in_out_manager.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.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)(prtctl.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_mpp.F90 \
 	lib_print.f90 \
@@ -2021,4 +2300,20 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_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) \
@@ -2036,18 +2331,60 @@
 	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)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
 	oce.F90 \
 	prtctl.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
+	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)(prtctl.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) \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynkeg.F90
-$(MODEL_LIB)(dynldf_bilapg.o) :	\
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -2075,4 +2412,29 @@
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	ldfdyn_substitute.h90 \
+	KEY_CPP \
+	dynldf_bilapg.F90
+$(MODEL_LIB)(dynldf_iso.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -2096,81 +2458,4 @@
 	lbclnk.F90 \
 	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	oce.F90 \
-	prtctl.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)(prtctl.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 \
-	prtctl.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)(prtctl.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_mpp.F90 \
@@ -2192,4 +2477,30 @@
 	$(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)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	ldfdyn_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynldf_iso.F90
+$(MODEL_LIB)(dynldf_lap.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfdyn_oce.o) \
@@ -2213,30 +2524,4 @@
 	dom_oce.F90 \
 	in_out_manager.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	prtctl.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)(prtctl.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 \
@@ -2260,4 +2545,1178 @@
 	$(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)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldfdyn_oce.F90 \
+	ldfslp.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	ldfdyn_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynldf_lap.F90
+$(MODEL_LIB)(dynnxt.o) :	\
+	$(MODEL_LIB)(cla_div.o) \
+	$(MODEL_LIB)(divcur.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.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)(ocfzpt.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(wzvmod.o) \
+	cla_div.F90 \
+	divcur.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obc_oce.F90 \
+	obc_par.F90 \
+	obccli.F90 \
+	oce.F90 \
+	ocesbc.F90 \
+	ocfzpt.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sol_oce.F90 \
+	wzvmod.F90 \
+	$(MODEL_LIB)(agrif_opa_interp.o) \
+	$(MODEL_LIB)(agrif_opa_update.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(obcdyn_bt.o) \
+	$(MODEL_LIB)(obcvol.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	agrif_opa_interp.F90 \
+	agrif_opa_update.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	obc_oce.F90 \
+	obcdyn.F90 \
+	obcdyn_bt.F90 \
+	obcvol.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	$(AGRIF_LIB) \
+	KEY_CPP \
+	dynnxt.F90
+$(MODEL_LIB)(dynnxt1d.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)(prtctl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	KEY_CPP \
+	dynnxt1d.F90
+$(MODEL_LIB)(dynspg.o) :	\
+	$(MODEL_LIB)(agrif_opa_interp.o) \
+	$(MODEL_LIB)(cla_dynspg.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(dynvor.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)(lib_print.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(obcdta.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(obcfla.o) \
+	$(MODEL_LIB)(obcvol.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solisl.o) \
+	$(MODEL_LIB)(solmat.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(solsor_e.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) \
+	agrif_opa_interp.F90 \
+	cla_dynspg.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	dynvor.F90 \
+	flxrnf.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 \
+	obcdta.F90 \
+	obcdyn.F90 \
+	obcfla.F90 \
+	obcvol.F90 \
+	oce.F90 \
+	ocesbc.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sol_oce.F90 \
+	solfet.F90 \
+	solisl.F90 \
+	solmat.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	solsor_e.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)(dynspg_exp.o) \
+	$(MODEL_LIB)(dynspg_exp_jki.o) \
+	$(MODEL_LIB)(dynspg_flt.o) \
+	$(MODEL_LIB)(dynspg_flt_jki.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(dynspg_rl.o) \
+	$(MODEL_LIB)(dynspg_ts.o) \
+	$(MODEL_LIB)(dynspg_ts_jki.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	dom_oce.F90 \
+	dynspg_exp.F90 \
+	dynspg_exp_jki.F90 \
+	dynspg_flt.F90 \
+	dynspg_flt_jki.F90 \
+	dynspg_oce.F90 \
+	dynspg_rl.F90 \
+	dynspg_ts.F90 \
+	dynspg_ts_jki.F90 \
+	in_out_manager.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynspg.F90
+$(MODEL_LIB)(dynspg_exp.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)(dynspg_oce.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)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.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 \
+	dynspg_oce.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 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.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)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(obcdta.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	obc_par.F90 \
+	obcdta.F90 \
+	oce.F90 \
+	ocesbc.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynspg_exp.F90
+$(MODEL_LIB)(dynspg_exp_jki.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)(dynspg_oce.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)(oce.o) \
+	$(MODEL_LIB)(ocfzpt.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.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 \
+	dynspg_oce.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 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.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)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(obcdta.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	obc_par.F90 \
+	obcdta.F90 \
+	oce.F90 \
+	ocesbc.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynspg_exp_jki.F90
+$(MODEL_LIB)(dynspg_flt.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)(dynspg_oce.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_feti.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)(prtctl.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 \
+	dynspg_oce.F90 \
+	flx_oce.F90 \
+	flxmod.F90 \
+	flxrnf.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_feti.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 \
+	prtctl.F90 \
+	sol_oce.F90 \
+	solfet.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	taumod.F90 \
+	tradmp.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(agrif_opa_interp.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)(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)(prtctl.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solmat.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(solsor_e.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	agrif_opa_interp.F90 \
+	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 \
+	prtctl.F90 \
+	sol_oce.F90 \
+	solfet.F90 \
+	solmat.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	solsor_e.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	$(AGRIF_LIB) \
+	KEY_CPP \
+	dynspg_flt.F90
+$(MODEL_LIB)(dynspg_flt_jki.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)(dynspg_oce.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_feti.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)(prtctl.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 \
+	dynspg_oce.F90 \
+	flx_oce.F90 \
+	flxmod.F90 \
+	flxrnf.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_feti.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 \
+	prtctl.F90 \
+	sol_oce.F90 \
+	solfet.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	taumod.F90 \
+	tradmp.F90 \
+	zdf_oce.F90 \
+	$(MODEL_LIB)(agrif_opa_interp.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)(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)(prtctl.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solmat.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(solsor_e.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	agrif_opa_interp.F90 \
+	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 \
+	prtctl.F90 \
+	sol_oce.F90 \
+	solfet.F90 \
+	solmat.F90 \
+	solpcg.F90 \
+	solsor.F90 \
+	solsor_e.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	$(AGRIF_LIB) \
+	KEY_CPP \
+	dynspg_flt_jki.F90
+$(MODEL_LIB)(dynspg_oce.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	KEY_CPP \
+	dynspg_oce.F90
+$(MODEL_LIB)(dynspg_rl.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)(sol_oce.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	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 \
+	sol_oce.F90 \
+	solfet.F90 \
+	solpcg.F90 \
+	solsor.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)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(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)(solsor_e.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 \
+	solsor_e.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	obc_vectopt_loop_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynspg_rl.F90
+$(MODEL_LIB)(dynspg_ts.o) :	\
+	$(MODEL_LIB)(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)(dynspg_oce.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)(obcdta.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)(prtctl.o) \
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(tradmp.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	blk_oce.F90 \
+	cpl_oce.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtasst.F90 \
+	dtatem.F90 \
+	dynspg_oce.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 \
+	obcdta.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	taumod.F90 \
+	tradmp.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(dynvor.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(obcdta.o) \
+	$(MODEL_LIB)(obcfla.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	dynvor.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	obc_par.F90 \
+	obcdta.F90 \
+	obcfla.F90 \
+	oce.F90 \
+	ocesbc.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynspg_ts.F90
+$(MODEL_LIB)(dynspg_ts_jki.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)(dynspg_oce.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)(obcdta.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)(prtctl.o) \
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(tradmp.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	blk_oce.F90 \
+	cpl_oce.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtasst.F90 \
+	dtatem.F90 \
+	dynspg_oce.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 \
+	obcdta.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	taumod.F90 \
+	tradmp.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(dynvor.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(obcdta.o) \
+	$(MODEL_LIB)(obcfla.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	dynvor.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	obc_par.F90 \
+	obcdta.F90 \
+	obcfla.F90 \
+	oce.F90 \
+	ocesbc.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynspg_ts_jki.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) \
+	$(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 \
+	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)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynvor.F90
+$(MODEL_LIB)(dynzad.o) :	\
+	$(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) \
+	$(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) \
+	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 \
+	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)(flxrnf.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	dom_oce.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	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_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) \
+	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 \
+	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)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(taumod.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 \
+	prtctl.F90 \
+	taumod.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	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_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) \
+	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 \
+	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)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(taumod.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 \
+	prtctl.F90 \
+	taumod.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	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_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) \
+	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 \
+	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)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(taumod.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 \
+	prtctl.F90 \
+	taumod.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	dynzdf_imp_atsk.F90
+$(MODEL_LIB)(dynzdf_iso.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) \
@@ -2279,1164 +3738,4 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldfdyn_oce.F90 \
-	ldfslp.F90 \
-	oce.F90 \
-	prtctl.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)(prtctl.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)(dynnxt1d.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 \
-	prtctl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	dynnxt1d.F90
-$(MODEL_LIB)(dynnxt.o) :	\
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obccli.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	ocesbc.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obccli.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) \
-	agrif_opa_interp.F90 \
-	agrif_opa_update.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	obcdyn.F90 \
-	obcdyn_bt.F90 \
-	obcvol.F90 \
-	obc_oce.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	$(MODEL_LIB)(agrif_opa_interp.o) \
-	$(MODEL_LIB)(agrif_opa_update.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obcdyn_bt.o) \
-	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(AGRIF_LIB) \
-	dynnxt.F90
-$(MODEL_LIB)(dynspg.o) :	\
-	agrif_opa_interp.F90 \
-	cla_dynspg.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	dynvor.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	obcdta.F90 \
-	obcdyn.F90 \
-	obcfla.F90 \
-	obcvol.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	ocesbc.F90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	solfet.F90 \
-	solisl.F90 \
-	solmat.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	solsor_e.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 \
-	$(MODEL_LIB)(agrif_opa_interp.o) \
-	$(MODEL_LIB)(cla_dynspg.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynvor.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)(lib_print.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(obcdyn.o) \
-	$(MODEL_LIB)(obcfla.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)(prtctl.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solisl.o) \
-	$(MODEL_LIB)(solmat.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(solsor_e.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) \
-	dom_oce.F90 \
-	dynspg_exp.F90 \
-	dynspg_exp_jki.F90 \
-	dynspg_flt.F90 \
-	dynspg_flt_jki.F90 \
-	dynspg_oce.F90 \
-	dynspg_rl.F90 \
-	dynspg_ts.F90 \
-	dynspg_ts_jki.F90 \
-	in_out_manager.F90 \
-	obc_oce.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_exp.o) \
-	$(MODEL_LIB)(dynspg_exp_jki.o) \
-	$(MODEL_LIB)(dynspg_flt.o) \
-	$(MODEL_LIB)(dynspg_flt_jki.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynspg_rl.o) \
-	$(MODEL_LIB)(dynspg_ts.o) \
-	$(MODEL_LIB)(dynspg_ts_jki.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynspg.F90
-$(MODEL_LIB)(dynspg_exp.o) :	\
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	dynspg_oce.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 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.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)(dynspg_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) \
-	$(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)(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)(prtctl.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obcdta.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	ocesbc.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynspg_exp.F90
-$(MODEL_LIB)(dynspg_exp_jki.o) :	\
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	dynspg_oce.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 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.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)(dynspg_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) \
-	$(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)(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)(prtctl.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obcdta.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	ocesbc.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynspg_exp_jki.F90
-$(MODEL_LIB)(dynspg_flt.o) :	\
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	dynspg_oce.F90 \
-	flxmod.F90 \
-	flxrnf.F90 \
-	flx_oce.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_feti.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 \
-	prtctl.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	sol_oce.F90 \
-	taumod.F90 \
-	tradmp.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)(dynspg_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) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_feti.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)(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)(prtctl.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	agrif_opa_interp.F90 \
-	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 \
-	prtctl.F90 \
-	solfet.F90 \
-	solmat.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	solsor_e.F90 \
-	sol_oce.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(agrif_opa_interp.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)(ocesbc.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solmat.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(solsor_e.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
-	dynspg_flt.F90
-$(MODEL_LIB)(dynspg_flt_jki.o) :	\
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	dynspg_oce.F90 \
-	flxmod.F90 \
-	flxrnf.F90 \
-	flx_oce.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_feti.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 \
-	prtctl.F90 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	sol_oce.F90 \
-	taumod.F90 \
-	tradmp.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)(dynspg_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) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_feti.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)(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)(prtctl.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	agrif_opa_interp.F90 \
-	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 \
-	prtctl.F90 \
-	solfet.F90 \
-	solmat.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	solsor_e.F90 \
-	sol_oce.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(agrif_opa_interp.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)(ocesbc.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solmat.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(solsor_e.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	domzgr_substitute.h90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
-	dynspg_flt_jki.F90
-$(MODEL_LIB)(dynspg_oce.o) :	\
-	par_kind.F90 \
-	$(MODEL_LIB)(par_kind.o) \
-	par_oce.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	dynspg_oce.F90
-$(MODEL_LIB)(dynspg_rl.o) :	\
-	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 \
-	solfet.F90 \
-	solpcg.F90 \
-	solsor.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_oce.o) \
-	$(MODEL_LIB)(obc_par.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) \
-	$(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 \
-	solfet.F90 \
-	solisl.F90 \
-	solpcg.F90 \
-	solsor.F90 \
-	solsor_e.F90 \
-	sol_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)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solisl.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(solsor_e.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	domzgr_substitute.h90 \
-	obc_vectopt_loop_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynspg_rl.F90
-$(MODEL_LIB)(dynspg_ts.o) :	\
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	dynspg_oce.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 \
-	obcdta.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	taumod.F90 \
-	tradmp.F90 \
-	trdmod.F90 \
-	trdmod_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)(dynspg_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) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obccli.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(obc_oce.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)(prtctl.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	dynvor.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obcdta.F90 \
-	obcfla.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	ocesbc.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynvor.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(obcfla.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynspg_ts.F90
-$(MODEL_LIB)(dynspg_ts_jki.o) :	\
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	dynspg_oce.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 \
-	obcdta.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	taumod.F90 \
-	tradmp.F90 \
-	trdmod.F90 \
-	trdmod_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)(dynspg_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) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(obccli.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(obc_oce.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)(prtctl.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	dynvor.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obcdta.F90 \
-	obcfla.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	ocesbc.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynvor.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(obcfla.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynspg_ts_jki.F90
-$(MODEL_LIB)(dynvor.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 \
-	oce.F90 \
-	prtctl.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)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynvor.F90
-$(MODEL_LIB)(dynzad.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 \
-	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_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) \
-	dom_oce.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	prtctl.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)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynzad.F90
-$(MODEL_LIB)(dynzdf_exp.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 \
-	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_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) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	taumod.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynzdf_exp.F90
-$(MODEL_LIB)(dynzdf_imp.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 \
-	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_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) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	taumod.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynzdf_imp.F90
-$(MODEL_LIB)(dynzdf_imp_atsk.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 \
-	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_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) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	taumod.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	dynzdf_imp_atsk.F90
-$(MODEL_LIB)(dynzdf_iso.o) :	\
 	daymod.F90 \
 	dom_oce.F90 \
@@ -3461,26 +3760,15 @@
 	trdvor_oce.F90 \
 	zdfmxl.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)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(trdicp.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -3494,15 +3782,4 @@
 	trdmod_oce.F90 \
 	zdf_oce.F90 \
-	$(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)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -3511,4 +3788,14 @@
 	dynzdf_iso.F90
 $(MODEL_LIB)(eosbn2.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)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -3523,12 +3810,7 @@
 	$(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)(prtctl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -3536,9 +3818,4 @@
 	prtctl.F90 \
 	zdfddm.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(zdfddm.o) \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -3546,20 +3823,36 @@
 	eosbn2.F90
 $(MODEL_LIB)(flo4rk.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) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flo_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
 	dom_oce.F90 \
 	flo_oce.F90 \
 	in_out_manager.F90 \
 	oce.F90 \
+	KEY_CPP \
+	flo4rk.F90
+$(MODEL_LIB)(flo_oce.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	KEY_CPP \
+	flo_oce.F90
+$(MODEL_LIB)(floats.o) :	\
+	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(flo_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	flo4rk.F90
-$(MODEL_LIB)(floats.o) :	\
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	daymod.F90 \
 	dom_oce.F90 \
@@ -3570,37 +3863,36 @@
 	par_oce.F90 \
 	phycst.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(flo4rk.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)(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 \
-	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_mpp.F90 \
 	$(IOIPSL_LIB) \
+	KEY_CPP \
 	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) \
+	$(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_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 \
@@ -3609,22 +3901,22 @@
 	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) \
+	KEY_CPP \
 	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) \
+	$(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_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 \
@@ -3632,27 +3924,28 @@
 	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 \
-	prtctl.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)(prtctl.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) \
+	$(MODEL_LIB)(prtctl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.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 \
@@ -3661,20 +3954,31 @@
 	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 \
+	KEY_CPP \
+	flx_oce.F90
+$(MODEL_LIB)(flxblk.o) :	\
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(cpl_oce.o) \
 	$(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) :	\
-	par_kind.F90 \
-	$(MODEL_LIB)(par_kind.o) \
-	par_oce.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	flo_oce.F90
-$(MODEL_LIB)(flxblk.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) \
+	$(MODEL_LIB)(prtctl.o) \
 	blk_oce.F90 \
 	cpl_oce.F90 \
@@ -3693,4 +3997,5 @@
 	phycst.F90 \
 	prtctl.F90 \
+	$(MODEL_LIB)(albedo.o) \
 	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(cpl_oce.o) \
@@ -3698,13 +4003,8 @@
 	$(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)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.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)(prtctl.o) \
@@ -3721,4 +4021,7 @@
 	phycst.F90 \
 	prtctl.F90 \
+	KEY_CPP \
+	flxblk.F90
+$(MODEL_LIB)(flxfwb.o) :	\
 	$(MODEL_LIB)(albedo.o) \
 	$(MODEL_LIB)(blk_oce.o) \
@@ -3726,13 +4029,23 @@
 	$(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)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.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)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	flxblk.F90
-$(MODEL_LIB)(flxfwb.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(tradmp.o) \
 	albedo.F90 \
 	blk_oce.F90 \
@@ -3743,7 +4056,7 @@
 	dtasst.F90 \
 	dtatem.F90 \
+	flx_oce.F90 \
 	flxmod.F90 \
 	flxrnf.F90 \
-	flx_oce.F90 \
 	ice_oce.F90 \
 	in_out_manager.F90 \
@@ -3759,28 +4072,15 @@
 	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)(flxblk.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)(prtctl.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tradmp.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 \
@@ -3791,18 +4091,7 @@
 	in_out_manager.F90 \
 	lib_mpp.F90 \
+	oce.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)(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) \
+	phycst.F90 \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -3810,4 +4099,14 @@
 	flxfwb.F90
 $(MODEL_LIB)(flxmod.o) :	\
+	$(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) \
+	$(MODEL_LIB)(prtctl.o) \
 	daymod.F90 \
 	dom_oce.F90 \
@@ -3822,12 +4121,11 @@
 	$(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) \
-	$(MODEL_LIB)(prtctl.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 \
@@ -3839,25 +4137,16 @@
 	ocfzpt.F90 \
 	phycst.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(bulk.o) \
+	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(flx_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) \
+	$(MODEL_LIB)(ice_oce.o) \
 	blk_oce.F90 \
 	bulk.F90 \
 	cpl_oce.F90 \
+	flx_oce.F90 \
 	flxrnf.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)(ice_oce.o) \
 	domzgr_substitute.h90 \
 	flx_bulk_daily.h90 \
@@ -3869,18 +4158,22 @@
 	flxmod.F90
 $(MODEL_LIB)(flxrnf.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.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)(prtctl.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) \
+	$(MODEL_LIB)(prtctl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.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 \
@@ -3895,45 +4188,68 @@
 	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 \
 	$(IOIPSL_LIB) \
 	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) :	\
-	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) \
+	$(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 \
 	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) \
+	par_ice.F90 \
+	KEY_CPP \
+	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 \
+	KEY_CPP \
+	ice_oce.F90
 $(MODEL_LIB)(iceini.o) :	\
+	$(MODEL_LIB)(blk_oce.o) \
+	$(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)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.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) \
 	blk_oce.F90 \
 	daymod.F90 \
@@ -3951,18 +4267,14 @@
 	par_oce.F90 \
 	phycst.F90 \
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_ice.o) \
-	$(MODEL_LIB)(dom_oce.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)(oce.o) \
+	$(MODEL_LIB)(ini1d.o) \
+	$(MODEL_LIB)(limistate.o) \
+	$(MODEL_LIB)(limmsh.o) \
+	$(MODEL_LIB)(limrst.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_oce.F90 \
@@ -3970,6 +4282,6 @@
 	ice.F90 \
 	ice_oce.F90 \
+	in_out_manager.F90 \
 	ini1d.F90 \
-	in_out_manager.F90 \
 	limistate.F90 \
 	limmsh.F90 \
@@ -3977,17 +4289,48 @@
 	ocfzpt.F90 \
 	phycst.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
+	KEY_CPP \
+	iceini.F90
+$(MODEL_LIB)(icestp.o) :	\
+	$(MODEL_LIB)(albedo.o) \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dianam.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)(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)(ini1d.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(limadv.o) \
+	$(MODEL_LIB)(limhdf.o) \
 	$(MODEL_LIB)(limistate.o) \
 	$(MODEL_LIB)(limmsh.o) \
+	$(MODEL_LIB)(limrhg.o) \
 	$(MODEL_LIB)(limrst.o) \
+	$(MODEL_LIB)(limtab.o) \
+	$(MODEL_LIB)(limthd_lac.o) \
+	$(MODEL_LIB)(limthd_zdf.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(phycst.o) \
-	iceini.F90
-$(MODEL_LIB)(icestp1d.o) :	\
+	$(MODEL_LIB)(par_ice.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(thd_ice.o) \
+	$(MODEL_LIB)(tradmp.o) \
 	albedo.F90 \
 	blk_oce.F90 \
@@ -4000,13 +4343,13 @@
 	dtasst.F90 \
 	dtatem.F90 \
+	flx_oce.F90 \
 	flxblk.F90 \
 	flxmod.F90 \
 	flxrnf.F90 \
-	flx_oce.F90 \
-	iceini.F90 \
 	ice.F90 \
 	ice_oce.F90 \
+	iceini.F90 \
+	in_out_manager.F90 \
 	ini1d.F90 \
-	in_out_manager.F90 \
 	lbclnk.F90 \
 	lib_mpp.F90 \
@@ -4031,8 +4374,55 @@
 	thd_ice.F90 \
 	tradmp.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdfmxl.F90 \
-	zdf_oce.F90 \
+	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(daymod.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)(limdia.o) \
+	$(MODEL_LIB)(limdmp.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)(oce.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.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 \
+	limdmp.F90 \
+	limdyn.F90 \
+	limflx.F90 \
+	limrst.F90 \
+	limthd.F90 \
+	limtrp.F90 \
+	limwri.F90 \
+	oce.F90 \
+	ocesbc.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	taumod.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	icestp.F90
+$(MODEL_LIB)(icestp1d.o) :	\
 	$(MODEL_LIB)(albedo.o) \
 	$(MODEL_LIB)(blk_oce.o) \
@@ -4043,15 +4433,16 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtasss.o) \
 	$(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)(ini1d.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -4078,69 +4469,6 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	dom_ice.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtatem.F90 \
-	flxmod.F90 \
-	flxrnf.F90 \
-	flx_oce.F90 \
-	iceini.F90 \
-	ice.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	limdia.F90 \
-	limdyn.F90 \
-	limflx.F90 \
-	limrst.F90 \
-	limthd.F90 \
-	limtrp.F90 \
-	limwri.F90 \
-	ocesbc.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	taumod.F90 \
-	tradmp.F90 \
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_ice.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtatem.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)(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)(ocesbc.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	icestp1d.F90
-$(MODEL_LIB)(icestp.o) :	\
 	albedo.F90 \
 	blk_oce.F90 \
@@ -4151,15 +4479,16 @@
 	dom_oce.F90 \
 	dtasal.F90 \
+	dtasss.F90 \
 	dtasst.F90 \
 	dtatem.F90 \
+	flx_oce.F90 \
 	flxblk.F90 \
 	flxmod.F90 \
 	flxrnf.F90 \
-	flx_oce.F90 \
-	iceini.F90 \
 	ice.F90 \
 	ice_oce.F90 \
+	iceini.F90 \
+	in_out_manager.F90 \
 	ini1d.F90 \
-	in_out_manager.F90 \
 	lbclnk.F90 \
 	lib_mpp.F90 \
@@ -4184,57 +4513,53 @@
 	thd_ice.F90 \
 	tradmp.F90 \
-	$(MODEL_LIB)(albedo.o) \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	zdfmxl.F90 \
 	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(cpl_oce.o) \
 	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.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)(flxblk.o) \
+	$(MODEL_LIB)(flx_oce.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)(ini1d.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(limadv.o) \
-	$(MODEL_LIB)(limhdf.o) \
-	$(MODEL_LIB)(limistate.o) \
-	$(MODEL_LIB)(limmsh.o) \
-	$(MODEL_LIB)(limrhg.o) \
+	$(MODEL_LIB)(iceini.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(limdia.o) \
+	$(MODEL_LIB)(limdyn.o) \
+	$(MODEL_LIB)(limflx.o) \
 	$(MODEL_LIB)(limrst.o) \
-	$(MODEL_LIB)(limtab.o) \
-	$(MODEL_LIB)(limthd_lac.o) \
-	$(MODEL_LIB)(limthd_zdf.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(limthd.o) \
+	$(MODEL_LIB)(limtrp.o) \
+	$(MODEL_LIB)(limwri.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocesbc.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)(prtctl.o) \
 	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(thd_ice.o) \
 	$(MODEL_LIB)(tradmp.o) \
+	blk_oce.F90 \
 	cpl_oce.F90 \
 	daymod.F90 \
 	dom_ice.F90 \
 	dom_oce.F90 \
+	dtasal.F90 \
+	dtatem.F90 \
 	flx_oce.F90 \
-	iceini.F90 \
+	flxmod.F90 \
+	flxrnf.F90 \
 	ice.F90 \
 	ice_oce.F90 \
+	iceini.F90 \
 	in_out_manager.F90 \
 	lbclnk.F90 \
 	limdia.F90 \
-	limdmp.F90 \
 	limdyn.F90 \
 	limflx.F90 \
@@ -4243,79 +4568,78 @@
 	limtrp.F90 \
 	limwri.F90 \
+	oce.F90 \
 	ocesbc.F90 \
-	oce.F90 \
+	ocfzpt.F90 \
 	phycst.F90 \
 	prtctl.F90 \
 	taumod.F90 \
+	tradmp.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	icestp1d.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 \
+	in_out_manager.F90
+$(MODEL_LIB)(ini1d.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 \
+	KEY_CPP \
+	ini1d.F90
+$(MODEL_LIB)(initrc.o) :	\
+	initrc.F90
+$(MODEL_LIB)(istate.o) :	\
+	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(cpl_oce.o) \
 	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_ice.o) \
-	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_exp.o) \
+	$(MODEL_LIB)(dynspg_exp_jki.o) \
+	$(MODEL_LIB)(dynspg_flt.o) \
+	$(MODEL_LIB)(dynspg_flt_jki.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(dynspg_rl.o) \
+	$(MODEL_LIB)(dynspg_ts.o) \
+	$(MODEL_LIB)(dynspg_ts_jki.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)(limdia.o) \
-	$(MODEL_LIB)(limdmp.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)(ocesbc.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(taumod.o) \
-	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)(ini1d.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) \
-	ini1d.F90
-$(MODEL_LIB)(in_out_manager.o) :	\
-	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) :	\
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdftke.o) \
 	blk_oce.F90 \
 	cpl_oce.F90 \
@@ -4342,45 +4666,28 @@
 	phycst.F90 \
 	prtctl.F90 \
+	sol_oce.F90 \
 	solfet.F90 \
 	solpcg.F90 \
 	solsor.F90 \
-	sol_oce.F90 \
 	trdmod.F90 \
 	trdmod_oce.F90 \
+	zdf_oce.F90 \
 	zdfddm.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_exp.o) \
-	$(MODEL_LIB)(dynspg_exp_jki.o) \
-	$(MODEL_LIB)(dynspg_flt.o) \
-	$(MODEL_LIB)(dynspg_flt_jki.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynspg_rl.o) \
-	$(MODEL_LIB)(dynspg_ts.o) \
-	$(MODEL_LIB)(dynspg_ts_jki.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_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(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)(zdfddm.o) \
-	$(MODEL_LIB)(zdftke.o) \
+	$(MODEL_LIB)(divcur.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(dynspg.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(solisl.o) \
+	$(MODEL_LIB)(wzvmod.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
 	daymod.F90 \
@@ -4400,20 +4707,4 @@
 	wzvmod.F90 \
 	zdf_oce.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(divcur.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(dynspg.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(solisl.o) \
-	$(MODEL_LIB)(wzvmod.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -4422,24 +4713,38 @@
 	istate.F90
 $(MODEL_LIB)(lbclnk.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 \
-	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) \
+	$(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_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 \
+	KEY_CPP \
 	lbclnk.F90
 $(MODEL_LIB)(ldfdyn.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)(prtctl.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -4459,13 +4764,8 @@
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -4476,14 +4776,6 @@
 	oce.F90 \
 	phycst.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
 	ldftra_oce.F90 \
-	$(MODEL_LIB)(ldftra_oce.o) \
 	domzgr_substitute.h90 \
 	ldfdyn_antarctic.h90 \
@@ -4496,10 +4788,25 @@
 	ldfdyn.F90
 $(MODEL_LIB)(ldfdyn_oce.o) :	\
-	par_kind.F90 \
-	$(MODEL_LIB)(par_kind.o) \
-	par_oce.F90 \
-	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	KEY_CPP \
 	ldfdyn_oce.F90
 $(MODEL_LIB)(ldfeiv.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)(prtctl.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	daymod.F90 \
 	dom_oce.F90 \
@@ -4516,5 +4823,45 @@
 	prtctl.F90 \
 	zdfmxl.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	dom_oce.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.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)(prtctl.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 \
+	prtctl.F90 \
+	zdf_oce.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
@@ -4522,118 +4869,64 @@
 	$(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)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
 	dom_oce.F90 \
-	flxrnf.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	zdfmxl.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	ldfslp.F90
+$(MODEL_LIB)(ldftra.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)(prtctl.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 \
+	prtctl.F90 \
+	zdfmxl.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	dom_oce.F90 \
 	in_out_manager.F90 \
 	lbclnk.F90 \
 	ldfslp.F90 \
 	ldftra_oce.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.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) \
-	$(MODEL_LIB)(prtctl.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 \
-	prtctl.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)(prtctl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.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 \
-	prtctl.F90 \
-	zdfmxl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	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)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
+	lib_mpp.F90 \
+	oce.F90 \
+	phycst.F90 \
 	domzgr_substitute.h90 \
 	ldftra_c1d.h90 \
@@ -4645,34 +4938,50 @@
 	ldftra.F90
 $(MODEL_LIB)(ldftra_oce.o) :	\
-	par_kind.F90 \
-	$(MODEL_LIB)(par_kind.o) \
-	par_oce.F90 \
-	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	KEY_CPP \
 	ldftra_oce.F90
+$(MODEL_LIB)(lib_cray.o) :	\
+	lib_cray.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) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	$(MODEL_LIB)(lib_mpp.o) \
+	lib_mpp.F90 \
+	KEY_CPP \
 	lib_feti.F90
+$(MODEL_LIB)(lib_isml.o) :	\
+	lib_isml.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) \
+	$(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 \
+	KEY_CPP \
 	lib_mpp.F90
 $(MODEL_LIB)(lib_print.o) :	\
-	par_kind.F90 \
-	$(MODEL_LIB)(par_kind.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 \
@@ -4684,13 +4993,10 @@
 	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) \
+	$(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) \
+	$(MODEL_LIB)(prtctl.o) \
 	dom_ice.F90 \
 	dom_oce.F90 \
@@ -4699,12 +5005,27 @@
 	lbclnk.F90 \
 	prtctl.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) \
-	$(MODEL_LIB)(prtctl.o) \
+	KEY_CPP \
 	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)(ini1d.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) \
+	$(MODEL_LIB)(prtctl.o) \
 	blk_oce.F90 \
 	dom_ice.F90 \
@@ -4713,6 +5034,6 @@
 	ice.F90 \
 	ice_oce.F90 \
+	in_out_manager.F90 \
 	ini1d.F90 \
-	in_out_manager.F90 \
 	lbclnk.F90 \
 	lib_print.f90 \
@@ -4727,4 +5048,81 @@
 	phycst.F90 \
 	prtctl.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)(limdmp.o) :	\
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtasss.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) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	blk_oce.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtasss.F90 \
+	dtatem.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_ice.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	zdfmxl.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) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(tradmp.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	ice.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	tradmp.F90 \
+	vectopt_loop_substitute.h90 \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	limdmp.F90
+$(MODEL_LIB)(limdyn.o) :	\
 	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(dom_ice.o) \
@@ -4733,7 +5131,8 @@
 	$(MODEL_LIB)(ice.o) \
 	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(ini1d.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(limistate.o) \
@@ -4747,79 +5146,4 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.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)(limdmp.o) :	\
-	blk_oce.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_ice.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdfmxl.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(blk_oce.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)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_ice.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	ice.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	tradmp.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) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	vectopt_loop_substitute.h90 \
-	$(IOIPSL_LIB) \
-	KEY_CPP \
-	limdmp.F90
-$(MODEL_LIB)(limdyn.o) :	\
 	blk_oce.F90 \
 	dom_ice.F90 \
@@ -4828,6 +5152,6 @@
 	ice.F90 \
 	ice_oce.F90 \
+	in_out_manager.F90 \
 	ini1d.F90 \
-	in_out_manager.F90 \
 	lbclnk.F90 \
 	lib_mpp.F90 \
@@ -4843,18 +5167,42 @@
 	phycst.F90 \
 	prtctl.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) \
+	$(MODEL_LIB)(prtctl.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 \
+	prtctl.F90 \
+	KEY_CPP \
+	limdyn.F90
+$(MODEL_LIB)(limflx.o) :	\
+	$(MODEL_LIB)(albedo.o) \
 	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(dom_ice.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)(ice_oce.o) \
-	$(MODEL_LIB)(ini1d.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)(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) \
@@ -4864,30 +5212,4 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.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 \
-	prtctl.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) \
-	$(MODEL_LIB)(prtctl.o) \
-	limdyn.F90
-$(MODEL_LIB)(limflx.o) :	\
 	albedo.F90 \
 	blk_oce.F90 \
@@ -4909,14 +5231,228 @@
 	prtctl.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) \
+	$(MODEL_LIB)(prtctl.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 \
+	prtctl.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)(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_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)(prtctl.o) \
+	dom_oce.F90 \
+	ice.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	prtctl.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 \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	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 \
+	KEY_CPP \
+	limmsh.F90
+$(MODEL_LIB)(limrhg.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)(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) \
+	$(MODEL_LIB)(prtctl.o) \
+	dom_ice.F90 \
+	ice.F90 \
+	ice_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	KEY_CPP \
+	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) \
+	$(MODEL_LIB)(prtctl.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 \
+	prtctl.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 \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	limrst.F90
+$(MODEL_LIB)(limtab.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	KEY_CPP \
+	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)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(iceini.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ini1d.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) \
@@ -4925,223 +5461,85 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	albedo.F90 \
-	flxblk.F90 \
+	$(MODEL_LIB)(thd_ice.o) \
+	blk_oce.F90 \
+	dom_oce.F90 \
 	flx_oce.F90 \
 	ice.F90 \
 	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
+	iceini.F90 \
+	in_out_manager.F90 \
+	ini1d.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	limistate.F90 \
+	limmsh.F90 \
+	limrst.F90 \
+	oce.F90 \
 	ocfzpt.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	$(MODEL_LIB)(albedo.o) \
-	$(MODEL_LIB)(flxblk.o) \
+	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)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.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 \
+	$(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)(prtctl.o) \
+	$(MODEL_LIB)(thd_ice.o) \
+	dom_ice.F90 \
+	dom_oce.F90 \
+	flx_oce.F90 \
 	ice.F90 \
 	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	prtctl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
+	iceini.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	limtab.F90 \
+	limthd_lac.F90 \
+	limthd_zdf.F90 \
+	phycst.F90 \
+	prtctl.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)(lib_mpp.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	limhdf.F90
-$(MODEL_LIB)(limistate.o) :	\
+	$(MODEL_LIB)(ini1d.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_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 \
+	flx_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) \
-	$(IOIPSL_LIB) \
-	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 \
-	prtctl.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) \
-	$(MODEL_LIB)(prtctl.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 \
-	prtctl.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) \
-	$(MODEL_LIB)(prtctl.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 \
-	$(IOIPSL_LIB) \
-	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 \
 	ini1d.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
+	lbclnk.F90 \
 	limistate.F90 \
 	limmsh.F90 \
@@ -5153,14 +5551,28 @@
 	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 \
+	KEY_CPP \
+	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)(iceini.o) \
 	$(MODEL_LIB)(ice.o) \
 	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(ini1d.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(limistate.o) \
@@ -5173,38 +5585,4 @@
 	$(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 \
-	prtctl.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)(prtctl.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 \
@@ -5213,7 +5591,8 @@
 	ice.F90 \
 	ice_oce.F90 \
+	in_out_manager.F90 \
 	ini1d.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
+	lbclnk.F90 \
+	lib_print.f90 \
 	limistate.F90 \
 	limmsh.F90 \
@@ -5225,4 +5604,21 @@
 	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 \
+	KEY_CPP \
+	limthd_zdf.F90
+$(MODEL_LIB)(limtrp.o) :	\
 	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(dom_ice.o) \
@@ -5231,7 +5627,9 @@
 	$(MODEL_LIB)(ice.o) \
 	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(ini1d.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(limistate.o) \
 	$(MODEL_LIB)(limmsh.o) \
@@ -5243,18 +5641,5 @@
 	$(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) :	\
+	$(MODEL_LIB)(prtctl.o) \
 	blk_oce.F90 \
 	dom_ice.F90 \
@@ -5263,7 +5648,8 @@
 	ice.F90 \
 	ice_oce.F90 \
+	in_out_manager.F90 \
 	ini1d.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
 	lib_print.f90 \
 	limistate.F90 \
@@ -5276,13 +5662,44 @@
 	par_oce.F90 \
 	phycst.F90 \
+	prtctl.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)(dom_ice.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)(ini1d.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) \
@@ -5295,29 +5712,13 @@
 	$(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) :	\
+	$(MODEL_LIB)(prtctl.o) \
 	blk_oce.F90 \
-	dom_ice.F90 \
+	daymod.F90 \
 	dom_oce.F90 \
 	flx_oce.F90 \
 	ice.F90 \
 	ice_oce.F90 \
+	in_out_manager.F90 \
 	ini1d.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
 	lib_mpp.F90 \
 	lib_print.f90 \
@@ -5332,5 +5733,6 @@
 	phycst.F90 \
 	prtctl.F90 \
-	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dianam.o) \
 	$(MODEL_LIB)(dom_ice.o) \
 	$(MODEL_LIB)(dom_oce.o) \
@@ -5338,113 +5740,21 @@
 	$(MODEL_LIB)(ice.o) \
 	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(ini1d.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) \
-	$(MODEL_LIB)(prtctl.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 \
-	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 \
-	ini1d.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 \
-	prtctl.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)(ini1d.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)(prtctl.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) \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(diadimg.o) \
 	diadimg.F90 \
-	$(MODEL_LIB)(diadimg.o) \
 	limwri_dimg.h90 \
 	$(IOIPSL_LIB) \
@@ -5452,11 +5762,50 @@
 	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)(dtasal.o) \
+	$(MODEL_LIB)(dtasst.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(dyncor1d.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(flxfwb.o) \
+	$(MODEL_LIB)(iceini.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ini1d.o) \
+	$(MODEL_LIB)(initrc.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)(prtctl.o) \
+	$(MODEL_LIB)(solver.o) \
+	$(MODEL_LIB)(step.o) \
+	$(MODEL_LIB)(step1d.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) \
 	cpl.F90 \
 	cpl_oce.F90 \
 	daymod.F90 \
 	diaptr.F90 \
+	dom_oce.F90 \
 	domain.F90 \
 	domcfg.F90 \
-	dom_oce.F90 \
 	dtasal.F90 \
 	dtasst.F90 \
@@ -5467,7 +5816,7 @@
 	flxfwb.F90 \
 	iceini.F90 \
+	in_out_manager.F90 \
 	ini1d.F90 \
 	initrc.F90 \
-	in_out_manager.F90 \
 	istate.F90 \
 	ldfdyn.F90 \
@@ -5475,6 +5824,6 @@
 	lib_mpp.F90 \
 	mppini.F90 \
+	obc_par.F90 \
 	obcini.F90 \
-	obc_par.F90 \
 	oce.F90 \
 	ocfzpt.F90 \
@@ -5482,6 +5831,6 @@
 	prtctl.F90 \
 	solver.F90 \
+	step.F90 \
 	step1d.F90 \
-	step.F90 \
 	traqsr.F90 \
 	trdicp.F90 \
@@ -5491,651 +5840,753 @@
 	zdfini.F90 \
 	zpshde.F90 \
+	$(MODEL_LIB)(opa.o) \
+	opa.F90 \
+	model.f90
+$(MODEL_LIB)(mppini.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) \
+	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_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 \
+	$(IOIPSL_LIB) \
+	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)(obc_par.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	obc_par.F90 \
+	par_oce.F90 \
+	KEY_CPP \
+	obc_oce.F90
+$(MODEL_LIB)(obc_par.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	obc_par_EEL_R5.h90 \
+	KEY_CPP \
+	obc_par.F90
+$(MODEL_LIB)(obccli.o) :	\
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	in_out_manager.F90 \
+	obc_par.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	dom_oce.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	obccli.F90
+$(MODEL_LIB)(obcdom.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_print.f90 \
+	obc_par.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	KEY_CPP \
+	obcdom.F90
+$(MODEL_LIB)(obcdta.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(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) \
+	$(MODEL_LIB)(prtctl.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 \
+	prtctl.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obccli.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	obccli.F90 \
+	oce.F90 \
+	phycst.F90 \
+	domzgr_substitute.h90 \
+	obc_vectopt_loop_substitute.h90 \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	obcdta.F90
+$(MODEL_LIB)(obcdyn.o) :	\
+	$(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 \
+	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)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obccli.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	obccli.F90 \
+	oce.F90 \
+	phycst.F90 \
+	KEY_CPP \
+	obcdyn.F90
+$(MODEL_LIB)(obcdyn_bt.o) :	\
+	$(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 \
+	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)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obccli.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	obccli.F90 \
+	oce.F90 \
+	phycst.F90 \
+	KEY_CPP \
+	obcdyn_bt.F90
+$(MODEL_LIB)(obcfla.o) :	\
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(obccli.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	obc_par.F90 \
+	obccli.F90 \
+	oce.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obcdta.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	obc_oce.F90 \
+	obcdta.F90 \
+	oce.F90 \
+	phycst.F90 \
+	KEY_CPP \
+	obcfla.F90
+$(MODEL_LIB)(obcini.o) :	\
+	$(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) \
+	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)(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)(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 \
+	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)(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) \
+	$(MODEL_LIB)(prtctl.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 \
+	prtctl.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 \
+	KEY_CPP \
+	obcrst.F90
+$(MODEL_LIB)(obcspg.o) :	\
+	$(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 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obc_par.F90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
+	obc_vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	obcspg.F90
+$(MODEL_LIB)(obctra.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(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 \
+	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)(prtctl.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 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	taumod.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 \
+	KEY_CPP \
+	oce.F90
+$(MODEL_LIB)(ocesbc.o) :	\
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtasss.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)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	blk_oce.F90 \
+	daymod.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtasss.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 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.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)(prtctl.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 \
+	prtctl.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) :	\
+	$(MODEL_LIB)(agrif_opa_sponge.o) \
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(cla.o) \
+	$(MODEL_LIB)(cla_div.o) \
+	$(MODEL_LIB)(closea.o) \
 	$(MODEL_LIB)(cpl.o) \
 	$(MODEL_LIB)(cpl_oce.o) \
 	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(diadimg.o) \
+	$(MODEL_LIB)(diafwb.o) \
+	$(MODEL_LIB)(diagap.o) \
+	$(MODEL_LIB)(diahdy.o) \
+	$(MODEL_LIB)(diahth.o) \
+	$(MODEL_LIB)(dianam.o) \
 	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(domain.o) \
-	$(MODEL_LIB)(domcfg.o) \
-	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(diaspr.o) \
+	$(MODEL_LIB)(diawri.o) \
+	$(MODEL_LIB)(diawri1d.o) \
+	$(MODEL_LIB)(divcur.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domhgr.o) \
+	$(MODEL_LIB)(dommsk.o) \
+	$(MODEL_LIB)(domstp.o) \
+	$(MODEL_LIB)(domwri.o) \
+	$(MODEL_LIB)(domzgr.o) \
 	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtasss.o) \
 	$(MODEL_LIB)(dtasst.o) \
 	$(MODEL_LIB)(dtatem.o) \
 	$(MODEL_LIB)(dyncor1d.o) \
+	$(MODEL_LIB)(dynhpg.o) \
+	$(MODEL_LIB)(dynhpg_atsk.o) \
+	$(MODEL_LIB)(dynkeg.o) \
+	$(MODEL_LIB)(dynldf_bilap.o) \
+	$(MODEL_LIB)(dynldf_bilapg.o) \
+	$(MODEL_LIB)(dynldf_iso.o) \
+	$(MODEL_LIB)(dynldf_lap.o) \
+	$(MODEL_LIB)(dynnxt.o) \
+	$(MODEL_LIB)(dynnxt1d.o) \
+	$(MODEL_LIB)(dynspg.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(dynvor.o) \
+	$(MODEL_LIB)(dynzad.o) \
+	$(MODEL_LIB)(dynzdf_exp.o) \
+	$(MODEL_LIB)(dynzdf_imp.o) \
+	$(MODEL_LIB)(dynzdf_imp_atsk.o) \
+	$(MODEL_LIB)(dynzdf_iso.o) \
 	$(MODEL_LIB)(eosbn2.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)(iceini.o) \
+	$(MODEL_LIB)(flxmod.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(ice.o) \
+	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(icestp.o) \
+	$(MODEL_LIB)(icestp1d.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(ini1d.o) \
-	$(MODEL_LIB)(initrc.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)(lbclnk.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldfeiv.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.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)(obc_oce.o) \
 	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(obcdom.o) \
+	$(MODEL_LIB)(obcdta.o) \
+	$(MODEL_LIB)(obcrad.o) \
+	$(MODEL_LIB)(obcrst.o) \
+	$(MODEL_LIB)(obcspg.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocesbc.o) \
 	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(solver.o) \
-	$(MODEL_LIB)(step1d.o) \
-	$(MODEL_LIB)(step.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(solisl.o) \
+	$(MODEL_LIB)(solmat.o) \
+	$(MODEL_LIB)(stpctl.o) \
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(traadv_cen2.o) \
+	$(MODEL_LIB)(traadv_ctl.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_bilap.o) \
+	$(MODEL_LIB)(traldf_bilapg.o) \
+	$(MODEL_LIB)(traldf_iso.o) \
+	$(MODEL_LIB)(traldf_iso_zps.o) \
+	$(MODEL_LIB)(traldf_lap.o) \
+	$(MODEL_LIB)(tranpc.o) \
+	$(MODEL_LIB)(tranxt.o) \
 	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trasbc.o) \
+	$(MODEL_LIB)(trazdf_exp.o) \
+	$(MODEL_LIB)(trazdf_imp.o) \
+	$(MODEL_LIB)(trazdf_iso.o) \
+	$(MODEL_LIB)(trazdf_iso_vopt.o) \
+	$(MODEL_LIB)(trc_oce.o) \
+	$(MODEL_LIB)(trcstp.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)(zdfini.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(wzvmod.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfbfr.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfevd.o) \
+	$(MODEL_LIB)(zdfkpp.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdfric.o) \
+	$(MODEL_LIB)(zdftke.o) \
 	$(MODEL_LIB)(zpshde.o) \
-	opa.F90 \
-	$(MODEL_LIB)(opa.o) \
-	model.f90
-$(MODEL_LIB)(mppini.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 \
-	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) \
-	domzgr_substitute.h90 \
-	mppini_2.h90 \
-	$(IOIPSL_LIB) \
-	KEY_CPP \
-	mppini.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) \
-	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) \
-	domzgr_substitute.h90 \
-	KEY_CPP \
-	obccli.F90
-$(MODEL_LIB)(obcdom.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) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	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) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	obcdom.F90
-$(MODEL_LIB)(obcdta.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 \
-	prtctl.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) \
-	$(MODEL_LIB)(prtctl.o) \
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.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_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) \
-	domzgr_substitute.h90 \
-	obc_vectopt_loop_substitute.h90 \
-	$(IOIPSL_LIB) \
-	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 \
-	dynspg_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)(dynspg_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)(obcdyn_bt.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 \
-	dynspg_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)(dynspg_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_bt.F90
-$(MODEL_LIB)(obcfla.o) :	\
-	daymod.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	obccli.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
-	oce.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obccli.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(obc_par.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	obcdta.F90 \
-	obc_oce.F90 \
-	oce.F90 \
-	phycst.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	obcfla.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 \
-	prtctl.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) \
-	$(MODEL_LIB)(prtctl.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 \
-	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 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.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)(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)(prtctl.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)(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 \
-	prtctl.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)(prtctl.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 \
-	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 \
-	prtctl.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)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.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) :	\
 	agrif_opa_sponge.F90 \
 	blk_oce.F90 \
@@ -6154,7 +6605,8 @@
 	diaptr.F90 \
 	diaspr.F90 \
+	diawri.F90 \
 	diawri1d.F90 \
-	diawri.F90 \
 	divcur.F90 \
+	dom_oce.F90 \
 	domhgr.F90 \
 	dommsk.F90 \
@@ -6162,6 +6614,6 @@
 	domwri.F90 \
 	domzgr.F90 \
-	dom_oce.F90 \
 	dtasal.F90 \
+	dtasss.F90 \
 	dtasst.F90 \
 	dtatem.F90 \
@@ -6170,10 +6622,10 @@
 	dynhpg_atsk.F90 \
 	dynkeg.F90 \
+	dynldf_bilap.F90 \
 	dynldf_bilapg.F90 \
-	dynldf_bilap.F90 \
 	dynldf_iso.F90 \
 	dynldf_lap.F90 \
+	dynnxt.F90 \
 	dynnxt1d.F90 \
-	dynnxt.F90 \
 	dynspg.F90 \
 	dynspg_oce.F90 \
@@ -6185,17 +6637,17 @@
 	dynzdf_iso.F90 \
 	eosbn2.F90 \
+	flo_oce.F90 \
 	floats.F90 \
-	flo_oce.F90 \
+	flx_oce.F90 \
 	flxblk.F90 \
 	flxfwb.F90 \
 	flxmod.F90 \
 	flxrnf.F90 \
-	flx_oce.F90 \
-	icestp1d.F90 \
-	icestp.F90 \
 	ice.F90 \
 	ice_oce.F90 \
+	icestp.F90 \
+	icestp1d.F90 \
+	in_out_manager.F90 \
 	ini1d.F90 \
-	in_out_manager.F90 \
 	lbclnk.F90 \
 	ldfdyn_oce.F90 \
@@ -6208,4 +6660,6 @@
 	limmsh.F90 \
 	limrst.F90 \
+	obc_oce.F90 \
+	obc_par.F90 \
 	obcdom.F90 \
 	obcdta.F90 \
@@ -6213,8 +6667,6 @@
 	obcrst.F90 \
 	obcspg.F90 \
-	obc_oce.F90 \
-	obc_par.F90 \
+	oce.F90 \
 	ocesbc.F90 \
-	oce.F90 \
 	ocfzpt.F90 \
 	par_kind.F90 \
@@ -6223,19 +6675,19 @@
 	prtctl.F90 \
 	restart.F90 \
+	sol_oce.F90 \
 	solisl.F90 \
 	solmat.F90 \
-	sol_oce.F90 \
 	stpctl.F90 \
 	taumod.F90 \
 	traadv_cen2.F90 \
 	traadv_ctl.F90 \
+	traadv_muscl.F90 \
 	traadv_muscl2.F90 \
-	traadv_muscl.F90 \
 	traadv_tvd.F90 \
 	trabbc.F90 \
 	trabbl.F90 \
 	tradmp.F90 \
+	traldf_bilap.F90 \
 	traldf_bilapg.F90 \
-	traldf_bilap.F90 \
 	traldf_iso.F90 \
 	traldf_iso_zps.F90 \
@@ -6249,6 +6701,6 @@
 	trazdf_iso.F90 \
 	trazdf_iso_vopt.F90 \
+	trc_oce.F90 \
 	trcstp.F90 \
-	trc_oce.F90 \
 	trdicp.F90 \
 	trdicp_oce.F90 \
@@ -6260,4 +6712,5 @@
 	trdvor_oce.F90 \
 	wzvmod.F90 \
+	zdf_oce.F90 \
 	zdfbfr.F90 \
 	zdfddm.F90 \
@@ -6267,136 +6720,43 @@
 	zdfric.F90 \
 	zdftke.F90 \
-	zdf_oce.F90 \
 	zpshde.F90 \
-	$(MODEL_LIB)(agrif_opa_sponge.o) \
-	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(cla.o) \
-	$(MODEL_LIB)(cla_div.o) \
-	$(MODEL_LIB)(closea.o) \
 	$(MODEL_LIB)(cpl.o) \
 	$(MODEL_LIB)(cpl_oce.o) \
 	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(diadimg.o) \
-	$(MODEL_LIB)(diafwb.o) \
-	$(MODEL_LIB)(diagap.o) \
-	$(MODEL_LIB)(diahdy.o) \
-	$(MODEL_LIB)(diahth.o) \
-	$(MODEL_LIB)(dianam.o) \
 	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(diaspr.o) \
-	$(MODEL_LIB)(diawri1d.o) \
-	$(MODEL_LIB)(diawri.o) \
-	$(MODEL_LIB)(divcur.o) \
-	$(MODEL_LIB)(domhgr.o) \
-	$(MODEL_LIB)(dommsk.o) \
-	$(MODEL_LIB)(domstp.o) \
-	$(MODEL_LIB)(domwri.o) \
-	$(MODEL_LIB)(domzgr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(domain.o) \
+	$(MODEL_LIB)(domcfg.o) \
 	$(MODEL_LIB)(dtasal.o) \
 	$(MODEL_LIB)(dtasst.o) \
 	$(MODEL_LIB)(dtatem.o) \
 	$(MODEL_LIB)(dyncor1d.o) \
-	$(MODEL_LIB)(dynhpg.o) \
-	$(MODEL_LIB)(dynhpg_atsk.o) \
-	$(MODEL_LIB)(dynkeg.o) \
-	$(MODEL_LIB)(dynldf_bilapg.o) \
-	$(MODEL_LIB)(dynldf_bilap.o) \
-	$(MODEL_LIB)(dynldf_iso.o) \
-	$(MODEL_LIB)(dynldf_lap.o) \
-	$(MODEL_LIB)(dynnxt1d.o) \
-	$(MODEL_LIB)(dynnxt.o) \
-	$(MODEL_LIB)(dynspg.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynvor.o) \
-	$(MODEL_LIB)(dynzad.o) \
-	$(MODEL_LIB)(dynzdf_exp.o) \
-	$(MODEL_LIB)(dynzdf_imp.o) \
-	$(MODEL_LIB)(dynzdf_imp_atsk.o) \
-	$(MODEL_LIB)(dynzdf_iso.o) \
 	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(floats.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)(icestp1d.o) \
-	$(MODEL_LIB)(icestp.o) \
-	$(MODEL_LIB)(ice.o) \
-	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(iceini.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(ini1d.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldfeiv.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.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)(obcdom.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(obcrad.o) \
-	$(MODEL_LIB)(obcrst.o) \
-	$(MODEL_LIB)(obcspg.o) \
-	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(initrc.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)(ocesbc.o) \
+	$(MODEL_LIB)(obcini.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)(prtctl.o) \
-	$(MODEL_LIB)(restart.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_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_iso.o) \
-	$(MODEL_LIB)(traldf_iso_zps.o) \
-	$(MODEL_LIB)(traldf_lap.o) \
-	$(MODEL_LIB)(tranpc.o) \
-	$(MODEL_LIB)(tranxt.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(solver.o) \
+	$(MODEL_LIB)(step.o) \
+	$(MODEL_LIB)(step1d.o) \
 	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trasbc.o) \
-	$(MODEL_LIB)(trazdf_exp.o) \
-	$(MODEL_LIB)(trazdf_imp.o) \
-	$(MODEL_LIB)(trazdf_iso.o) \
-	$(MODEL_LIB)(trazdf_iso_vopt.o) \
-	$(MODEL_LIB)(trcstp.o) \
-	$(MODEL_LIB)(trc_oce.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)(wzvmod.o) \
-	$(MODEL_LIB)(zdfbfr.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfevd.o) \
-	$(MODEL_LIB)(zdfkpp.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdfric.o) \
-	$(MODEL_LIB)(zdftke.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfini.o) \
 	$(MODEL_LIB)(zpshde.o) \
 	cpl.F90 \
@@ -6404,7 +6764,7 @@
 	daymod.F90 \
 	diaptr.F90 \
+	dom_oce.F90 \
 	domain.F90 \
 	domcfg.F90 \
-	dom_oce.F90 \
 	dtasal.F90 \
 	dtasst.F90 \
@@ -6415,7 +6775,7 @@
 	flxfwb.F90 \
 	iceini.F90 \
+	in_out_manager.F90 \
 	ini1d.F90 \
 	initrc.F90 \
-	in_out_manager.F90 \
 	istate.F90 \
 	ldfdyn.F90 \
@@ -6423,6 +6783,6 @@
 	lib_mpp.F90 \
 	mppini.F90 \
+	obc_par.F90 \
 	obcini.F90 \
-	obc_par.F90 \
 	oce.F90 \
 	ocfzpt.F90 \
@@ -6430,6 +6790,6 @@
 	prtctl.F90 \
 	solver.F90 \
+	step.F90 \
 	step1d.F90 \
-	step.F90 \
 	traqsr.F90 \
 	trdicp.F90 \
@@ -6439,53 +6799,17 @@
 	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)(dyncor1d.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(flxfwb.o) \
-	$(MODEL_LIB)(iceini.o) \
-	$(MODEL_LIB)(ini1d.o) \
-	$(MODEL_LIB)(initrc.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)(prtctl.o) \
-	$(MODEL_LIB)(solver.o) \
-	$(MODEL_LIB)(step1d.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) \
+	KEY_CPP \
 	opa.F90
 $(MODEL_LIB)(par_ice.o) :	\
-	par_kind.F90 \
-	$(MODEL_LIB)(par_kind.o) \
-	par_oce.F90 \
-	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
 	par_ice.F90
+$(MODEL_LIB)(par_kind.o) :	\
+	par_kind.F90
 $(MODEL_LIB)(par_oce.o) :	\
-	par_kind.F90 \
-	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
 	par_EEL_R2.h90 \
 	par_EEL_R5.h90 \
@@ -6499,34 +6823,49 @@
 	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) \
+	$(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)(prtctl.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 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.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_mpp.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
 	prtctl.F90
 $(MODEL_LIB)(restart.o) :	\
+	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynzdf_exp.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)(prtctl.o) \
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(traadv_ctl.o) \
+	$(MODEL_LIB)(trazdf_exp.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	blk_oce.F90 \
 	dom_oce.F90 \
@@ -6545,18 +6884,16 @@
 	zdf_oce.F90 \
 	$(MODEL_LIB)(blk_oce.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynzdf_exp.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)(prtctl.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(traadv_ctl.o) \
-	$(MODEL_LIB)(trazdf_exp.o) \
+	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.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 \
@@ -6570,36 +6907,37 @@
 	phycst.F90 \
 	sol_oce.F90 \
+	zdf_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_oce.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) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	lib_mpp.F90 \
 	restart_dimg.h90 \
 	$(IOIPSL_LIB) \
 	KEY_CPP \
 	restart.F90
+$(MODEL_LIB)(sms.o) :	\
+	sms.F90
+$(MODEL_LIB)(sol_oce.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	KEY_CPP \
+	sol_oce.F90
 $(MODEL_LIB)(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) \
+	$(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 \
+	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 \
@@ -6607,11 +6945,18 @@
 	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) \
+	KEY_CPP \
 	solfet.F90
 $(MODEL_LIB)(solisl.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_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 \
@@ -6627,13 +6972,11 @@
 	$(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)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(solfet.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -6641,146 +6984,155 @@
 	obc_oce.F90 \
 	oce.F90 \
+	sol_oce.F90 \
 	solfet.F90 \
 	solpcg.F90 \
 	solsor.F90 \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	solisl.F90
+$(MODEL_LIB)(solmat.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(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 \
+	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_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 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_feti.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	oce.F90 \
+	phycst.F90 \
 	sol_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
+	KEY_CPP \
+	solmat.F90
+$(MODEL_LIB)(solpcg.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)(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)(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)(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)(solsor_e.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)(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_e.F90
+$(MODEL_LIB)(solver.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_feti.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(sol_oce.o) \
 	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(solpcg.o) \
 	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(IOIPSL_LIB) \
-	solisl.F90
-$(MODEL_LIB)(solmat.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_feti.F90 \
-	lib_mpp.F90 \
-	obc_oce.F90 \
-	oce.F90 \
-	phycst.F90 \
-	sol_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.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)(solsor_e.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_e.F90
-$(MODEL_LIB)(solver.o) :	\
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -6795,116 +7147,33 @@
 	par_oce.F90 \
 	phycst.F90 \
+	sol_oce.F90 \
 	solfet.F90 \
 	solpcg.F90 \
 	solsor.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(solisl.o) \
+	$(MODEL_LIB)(solmat.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	obc_oce.F90 \
+	oce.F90 \
 	sol_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.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)(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) \
-	dom_oce.F90 \
-	dynspg_oce.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_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(obc_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(solisl.o) \
-	$(MODEL_LIB)(solmat.o) \
-	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
+	KEY_CPP \
 	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)(step1d.o) :	\
-	agrif_opa_interp.F90 \
-	agrif_opa_update.F90 \
-	blk_oce.F90 \
-	cpl_oce.F90 \
-	daymod.F90 \
-	diadimg.F90 \
-	diahth.F90 \
-	dianam.F90 \
-	diaspr.F90 \
-	diawri.F90 \
-	dom_ice.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	dynspg_oce.F90 \
-	dynzdf_exp.F90 \
-	eosbn2.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 \
-	obctra.F90 \
-	ocesbc.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	solisl.F90 \
-	sol_oce.F90 \
-	taumod.F90 \
-	traadv_ctl.F90 \
-	tradmp.F90 \
-	traqsr.F90 \
-	trazdf_exp.F90 \
-	trc_oce.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdfddm.F90 \
-	zdfkpp.F90 \
-	zdfmxl.F90 \
-	zdftke.F90 \
-	zdf_oce.F90 \
+$(MODEL_LIB)(step.o) :	\
 	$(MODEL_LIB)(agrif_opa_interp.o) \
 	$(MODEL_LIB)(agrif_opa_update.o) \
@@ -6915,4 +7184,5 @@
 	$(MODEL_LIB)(diahth.o) \
 	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(diaptr.o) \
 	$(MODEL_LIB)(diaspr.o) \
 	$(MODEL_LIB)(diawri.o) \
@@ -6920,16 +7190,29 @@
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtasss.o) \
 	$(MODEL_LIB)(dtasst.o) \
 	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(dynspg_exp.o) \
+	$(MODEL_LIB)(dynspg_exp_jki.o) \
+	$(MODEL_LIB)(dynspg_flt.o) \
+	$(MODEL_LIB)(dynspg_flt_jki.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(dynspg_rl.o) \
+	$(MODEL_LIB)(dynspg_ts.o) \
+	$(MODEL_LIB)(dynspg_ts_jki.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)(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) \
@@ -6940,4 +7223,5 @@
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(limdia.o) \
+	$(MODEL_LIB)(limdmp.o) \
 	$(MODEL_LIB)(limdyn.o) \
 	$(MODEL_LIB)(limflx.o) \
@@ -6946,7 +7230,12 @@
 	$(MODEL_LIB)(limtrp.o) \
 	$(MODEL_LIB)(limwri.o) \
+	$(MODEL_LIB)(obc_oce.o) \
+	$(MODEL_LIB)(obccli.o) \
+	$(MODEL_LIB)(obcdyn.o) \
+	$(MODEL_LIB)(obcdyn_bt.o) \
 	$(MODEL_LIB)(obctra.o) \
+	$(MODEL_LIB)(obcvol.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -6954,8 +7243,12 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(solfet.o) \
 	$(MODEL_LIB)(solisl.o) \
-	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(solpcg.o) \
+	$(MODEL_LIB)(solsor.o) \
 	$(MODEL_LIB)(taumod.o) \
 	$(MODEL_LIB)(traadv_ctl.o) \
+	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(tradmp.o) \
 	$(MODEL_LIB)(traqsr.o) \
@@ -6964,104 +7257,9 @@
 	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfkpp.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
 	$(MODEL_LIB)(zdftke.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	daymod.F90 \
-	diawri1d.F90 \
-	diawri.F90 \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtasst.F90 \
-	dtatem.F90 \
-	dyncor1d.F90 \
-	dynnxt1d.F90 \
-	dynzdf_exp.F90 \
-	dynzdf_imp.F90 \
-	dynzdf_imp_atsk.F90 \
-	dynzdf_iso.F90 \
-	eosbn2.F90 \
-	flxfwb.F90 \
-	flxmod.F90 \
-	flxrnf.F90 \
-	icestp1d.F90 \
-	ice_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfdyn_oce.F90 \
-	ldftra_oce.F90 \
-	ocesbc.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	prtctl.F90 \
-	restart.F90 \
-	stpctl.F90 \
-	taumod.F90 \
-	tranxt.F90 \
-	traqsr.F90 \
-	trasbc.F90 \
-	trazdf_exp.F90 \
-	trazdf_imp.F90 \
-	trazdf_iso.F90 \
-	trazdf_iso_vopt.F90 \
-	zdfbfr.F90 \
-	zdfddm.F90 \
-	zdfevd.F90 \
-	zdfkpp.F90 \
-	zdfmxl.F90 \
-	zdfric.F90 \
-	zdftke.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(diawri1d.o) \
-	$(MODEL_LIB)(diawri.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dtasal.o) \
-	$(MODEL_LIB)(dtasst.o) \
-	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(dyncor1d.o) \
-	$(MODEL_LIB)(dynnxt1d.o) \
-	$(MODEL_LIB)(dynzdf_exp.o) \
-	$(MODEL_LIB)(dynzdf_imp.o) \
-	$(MODEL_LIB)(dynzdf_imp_atsk.o) \
-	$(MODEL_LIB)(dynzdf_iso.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(flxfwb.o) \
-	$(MODEL_LIB)(flxmod.o) \
-	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(icestp1d.o) \
-	$(MODEL_LIB)(ice_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(ocfzpt.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(restart.o) \
-	$(MODEL_LIB)(stpctl.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tranxt.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trasbc.o) \
-	$(MODEL_LIB)(trazdf_exp.o) \
-	$(MODEL_LIB)(trazdf_imp.o) \
-	$(MODEL_LIB)(trazdf_iso.o) \
-	$(MODEL_LIB)(trazdf_iso_vopt.o) \
-	$(MODEL_LIB)(zdfbfr.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfevd.o) \
-	$(MODEL_LIB)(zdfkpp.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdfric.o) \
-	$(MODEL_LIB)(zdftke.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	domzgr_substitute.h90 \
-	zdfddm_substitute.h90 \
-	KEY_CPP \
-	step1d.F90
-$(MODEL_LIB)(step.o) :	\
 	agrif_opa_interp.F90 \
 	agrif_opa_update.F90 \
@@ -7078,4 +7276,5 @@
 	dom_oce.F90 \
 	dtasal.F90 \
+	dtasss.F90 \
 	dtasst.F90 \
 	dtatem.F90 \
@@ -7091,15 +7290,15 @@
 	eosbn2.F90 \
 	flo4rk.F90 \
+	flo_oce.F90 \
 	floblk.F90 \
 	flodom.F90 \
 	flowri.F90 \
-	flo_oce.F90 \
+	flx_oce.F90 \
 	flxblk.F90 \
 	flxmod.F90 \
 	flxrnf.F90 \
-	flx_oce.F90 \
-	iceini.F90 \
 	ice.F90 \
 	ice_oce.F90 \
+	iceini.F90 \
 	in_out_manager.F90 \
 	lbclnk.F90 \
@@ -7117,4 +7316,5 @@
 	limtrp.F90 \
 	limwri.F90 \
+	obc_oce.F90 \
 	obccli.F90 \
 	obcdyn.F90 \
@@ -7122,7 +7322,6 @@
 	obctra.F90 \
 	obcvol.F90 \
-	obc_oce.F90 \
+	oce.F90 \
 	ocesbc.F90 \
-	oce.F90 \
 	ocfzpt.F90 \
 	par_kind.F90 \
@@ -7130,9 +7329,9 @@
 	phycst.F90 \
 	prtctl.F90 \
+	sol_oce.F90 \
 	solfet.F90 \
 	solisl.F90 \
 	solpcg.F90 \
 	solsor.F90 \
-	sol_oce.F90 \
 	taumod.F90 \
 	traadv_ctl.F90 \
@@ -7144,94 +7343,106 @@
 	trdmod.F90 \
 	trdmod_oce.F90 \
+	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfkpp.F90 \
 	zdfmxl.F90 \
 	zdftke.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(agrif_opa_interp.o) \
-	$(MODEL_LIB)(agrif_opa_update.o) \
-	$(MODEL_LIB)(blk_oce.o) \
+	$(MODEL_LIB)(agrif_opa_sponge.o) \
+	$(MODEL_LIB)(cla.o) \
+	$(MODEL_LIB)(cla_div.o) \
+	$(MODEL_LIB)(closea.o) \
+	$(MODEL_LIB)(cpl.o) \
 	$(MODEL_LIB)(cpl_oce.o) \
 	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(diadimg.o) \
+	$(MODEL_LIB)(diafwb.o) \
+	$(MODEL_LIB)(diagap.o) \
+	$(MODEL_LIB)(diahdy.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)(divcur.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtasss.o) \
 	$(MODEL_LIB)(dtasst.o) \
 	$(MODEL_LIB)(dtatem.o) \
-	$(MODEL_LIB)(dynspg_exp.o) \
-	$(MODEL_LIB)(dynspg_exp_jki.o) \
-	$(MODEL_LIB)(dynspg_flt.o) \
-	$(MODEL_LIB)(dynspg_flt_jki.o) \
+	$(MODEL_LIB)(dynhpg.o) \
+	$(MODEL_LIB)(dynhpg_atsk.o) \
+	$(MODEL_LIB)(dynkeg.o) \
+	$(MODEL_LIB)(dynldf_bilap.o) \
+	$(MODEL_LIB)(dynldf_bilapg.o) \
+	$(MODEL_LIB)(dynldf_iso.o) \
+	$(MODEL_LIB)(dynldf_lap.o) \
+	$(MODEL_LIB)(dynnxt.o) \
+	$(MODEL_LIB)(dynspg.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynspg_rl.o) \
-	$(MODEL_LIB)(dynspg_ts.o) \
-	$(MODEL_LIB)(dynspg_ts_jki.o) \
+	$(MODEL_LIB)(dynvor.o) \
+	$(MODEL_LIB)(dynzad.o) \
 	$(MODEL_LIB)(dynzdf_exp.o) \
+	$(MODEL_LIB)(dynzdf_imp.o) \
+	$(MODEL_LIB)(dynzdf_imp_atsk.o) \
+	$(MODEL_LIB)(dynzdf_iso.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)(floats.o) \
+	$(MODEL_LIB)(flxfwb.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)(icestp.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldfeiv.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)(limdmp.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)(obcdyn_bt.o) \
-	$(MODEL_LIB)(obctra.o) \
-	$(MODEL_LIB)(obcvol.o) \
-	$(MODEL_LIB)(obc_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)(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)(prtctl.o) \
-	$(MODEL_LIB)(solfet.o) \
-	$(MODEL_LIB)(solisl.o) \
-	$(MODEL_LIB)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
-	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(restart.o) \
+	$(MODEL_LIB)(stpctl.o) \
 	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(traadv_cen2.o) \
 	$(MODEL_LIB)(traadv_ctl.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_bilap.o) \
+	$(MODEL_LIB)(traldf_bilapg.o) \
+	$(MODEL_LIB)(traldf_iso.o) \
+	$(MODEL_LIB)(traldf_iso_zps.o) \
+	$(MODEL_LIB)(traldf_lap.o) \
+	$(MODEL_LIB)(tranpc.o) \
+	$(MODEL_LIB)(tranxt.o) \
 	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trasbc.o) \
 	$(MODEL_LIB)(trazdf_exp.o) \
-	$(MODEL_LIB)(trc_oce.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trazdf_imp.o) \
+	$(MODEL_LIB)(trazdf_iso.o) \
+	$(MODEL_LIB)(trazdf_iso_vopt.o) \
+	$(MODEL_LIB)(trcstp.o) \
+	$(MODEL_LIB)(trdicp.o) \
+	$(MODEL_LIB)(trdmld.o) \
+	$(MODEL_LIB)(trdvor.o) \
+	$(MODEL_LIB)(wzvmod.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfbfr.o) \
 	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfevd.o) \
 	$(MODEL_LIB)(zdfkpp.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdfric.o) \
 	$(MODEL_LIB)(zdftke.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zpshde.o) \
 	agrif_opa_sponge.F90 \
 	cla.F90 \
@@ -7251,4 +7462,5 @@
 	dom_oce.F90 \
 	dtasal.F90 \
+	dtasss.F90 \
 	dtasst.F90 \
 	dtatem.F90 \
@@ -7256,6 +7468,6 @@
 	dynhpg_atsk.F90 \
 	dynkeg.F90 \
+	dynldf_bilap.F90 \
 	dynldf_bilapg.F90 \
-	dynldf_bilap.F90 \
 	dynldf_iso.F90 \
 	dynldf_lap.F90 \
@@ -7270,11 +7482,11 @@
 	dynzdf_iso.F90 \
 	eosbn2.F90 \
+	flo_oce.F90 \
 	floats.F90 \
-	flo_oce.F90 \
 	flxfwb.F90 \
 	flxmod.F90 \
 	flxrnf.F90 \
+	ice_oce.F90 \
 	icestp.F90 \
-	ice_oce.F90 \
 	in_out_manager.F90 \
 	lbclnk.F90 \
@@ -7283,11 +7495,11 @@
 	ldfslp.F90 \
 	ldftra_oce.F90 \
+	obc_par.F90 \
 	obcdta.F90 \
 	obcrad.F90 \
 	obcrst.F90 \
 	obcspg.F90 \
-	obc_par.F90 \
+	oce.F90 \
 	ocesbc.F90 \
-	oce.F90 \
 	ocfzpt.F90 \
 	prtctl.F90 \
@@ -7297,12 +7509,12 @@
 	traadv_cen2.F90 \
 	traadv_ctl.F90 \
+	traadv_muscl.F90 \
 	traadv_muscl2.F90 \
-	traadv_muscl.F90 \
 	traadv_tvd.F90 \
 	trabbc.F90 \
 	trabbl.F90 \
 	tradmp.F90 \
+	traldf_bilap.F90 \
 	traldf_bilapg.F90 \
-	traldf_bilap.F90 \
 	traldf_iso.F90 \
 	traldf_iso_zps.F90 \
@@ -7321,4 +7533,5 @@
 	trdvor.F90 \
 	wzvmod.F90 \
+	zdf_oce.F90 \
 	zdfbfr.F90 \
 	zdfddm.F90 \
@@ -7328,37 +7541,144 @@
 	zdfric.F90 \
 	zdftke.F90 \
-	zdf_oce.F90 \
 	zpshde.F90 \
-	$(MODEL_LIB)(agrif_opa_sponge.o) \
-	$(MODEL_LIB)(cla.o) \
-	$(MODEL_LIB)(cla_div.o) \
-	$(MODEL_LIB)(closea.o) \
-	$(MODEL_LIB)(cpl.o) \
+	domzgr_substitute.h90 \
+	zdfddm_substitute.h90 \
+	$(AGRIF_LIB) \
+	KEY_CPP \
+	step.F90
+$(MODEL_LIB)(step1d.o) :	\
+	$(MODEL_LIB)(agrif_opa_interp.o) \
+	$(MODEL_LIB)(agrif_opa_update.o) \
+	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(cpl_oce.o) \
 	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(diafwb.o) \
-	$(MODEL_LIB)(diagap.o) \
-	$(MODEL_LIB)(diahdy.o) \
+	$(MODEL_LIB)(diadimg.o) \
 	$(MODEL_LIB)(diahth.o) \
-	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dianam.o) \
 	$(MODEL_LIB)(diaspr.o) \
 	$(MODEL_LIB)(diawri.o) \
-	$(MODEL_LIB)(divcur.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)(dynhpg.o) \
-	$(MODEL_LIB)(dynhpg_atsk.o) \
-	$(MODEL_LIB)(dynkeg.o) \
-	$(MODEL_LIB)(dynldf_bilapg.o) \
-	$(MODEL_LIB)(dynldf_bilap.o) \
-	$(MODEL_LIB)(dynldf_iso.o) \
-	$(MODEL_LIB)(dynldf_lap.o) \
-	$(MODEL_LIB)(dynnxt.o) \
-	$(MODEL_LIB)(dynspg.o) \
 	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(dynvor.o) \
-	$(MODEL_LIB)(dynzad.o) \
+	$(MODEL_LIB)(dynzdf_exp.o) \
+	$(MODEL_LIB)(eosbn2.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)(obctra.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)(prtctl.o) \
+	$(MODEL_LIB)(sol_oce.o) \
+	$(MODEL_LIB)(solisl.o) \
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(traadv_ctl.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)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfkpp.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	$(MODEL_LIB)(zdftke.o) \
+	agrif_opa_interp.F90 \
+	agrif_opa_update.F90 \
+	blk_oce.F90 \
+	cpl_oce.F90 \
+	daymod.F90 \
+	diadimg.F90 \
+	diahth.F90 \
+	dianam.F90 \
+	diaspr.F90 \
+	diawri.F90 \
+	dom_ice.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtasst.F90 \
+	dtatem.F90 \
+	dynspg_oce.F90 \
+	dynzdf_exp.F90 \
+	eosbn2.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 \
+	obctra.F90 \
+	oce.F90 \
+	ocesbc.F90 \
+	ocfzpt.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	sol_oce.F90 \
+	solisl.F90 \
+	taumod.F90 \
+	traadv_ctl.F90 \
+	tradmp.F90 \
+	traqsr.F90 \
+	trazdf_exp.F90 \
+	trc_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	zdfddm.F90 \
+	zdfkpp.F90 \
+	zdfmxl.F90 \
+	zdftke.F90 \
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(diawri.o) \
+	$(MODEL_LIB)(diawri1d.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtasst.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(dyncor1d.o) \
+	$(MODEL_LIB)(dynnxt1d.o) \
 	$(MODEL_LIB)(dynzdf_exp.o) \
 	$(MODEL_LIB)(dynzdf_imp.o) \
@@ -7366,24 +7686,15 @@
 	$(MODEL_LIB)(dynzdf_iso.o) \
 	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(floats.o) \
-	$(MODEL_LIB)(flo_oce.o) \
 	$(MODEL_LIB)(flxfwb.o) \
 	$(MODEL_LIB)(flxmod.o) \
 	$(MODEL_LIB)(flxrnf.o) \
-	$(MODEL_LIB)(icestp.o) \
 	$(MODEL_LIB)(ice_oce.o) \
+	$(MODEL_LIB)(icestp1d.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
 	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldfeiv.o) \
-	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(obcdta.o) \
-	$(MODEL_LIB)(obcrad.o) \
-	$(MODEL_LIB)(obcrst.o) \
-	$(MODEL_LIB)(obcspg.o) \
-	$(MODEL_LIB)(obc_par.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(prtctl.o) \
@@ -7391,18 +7702,4 @@
 	$(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_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_iso.o) \
-	$(MODEL_LIB)(traldf_iso_zps.o) \
-	$(MODEL_LIB)(traldf_lap.o) \
-	$(MODEL_LIB)(tranpc.o) \
 	$(MODEL_LIB)(tranxt.o) \
 	$(MODEL_LIB)(traqsr.o) \
@@ -7412,9 +7709,5 @@
 	$(MODEL_LIB)(trazdf_iso.o) \
 	$(MODEL_LIB)(trazdf_iso_vopt.o) \
-	$(MODEL_LIB)(trcstp.o) \
-	$(MODEL_LIB)(trdicp.o) \
-	$(MODEL_LIB)(trdmld.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(wzvmod.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfbfr.o) \
 	$(MODEL_LIB)(zdfddm.o) \
@@ -7424,12 +7717,84 @@
 	$(MODEL_LIB)(zdfric.o) \
 	$(MODEL_LIB)(zdftke.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(MODEL_LIB)(zpshde.o) \
+	daymod.F90 \
+	diawri.F90 \
+	diawri1d.F90 \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtasst.F90 \
+	dtatem.F90 \
+	dyncor1d.F90 \
+	dynnxt1d.F90 \
+	dynzdf_exp.F90 \
+	dynzdf_imp.F90 \
+	dynzdf_imp_atsk.F90 \
+	dynzdf_iso.F90 \
+	eosbn2.F90 \
+	flxfwb.F90 \
+	flxmod.F90 \
+	flxrnf.F90 \
+	ice_oce.F90 \
+	icestp1d.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	ocesbc.F90 \
+	ocfzpt.F90 \
+	prtctl.F90 \
+	restart.F90 \
+	stpctl.F90 \
+	taumod.F90 \
+	tranxt.F90 \
+	traqsr.F90 \
+	trasbc.F90 \
+	trazdf_exp.F90 \
+	trazdf_imp.F90 \
+	trazdf_iso.F90 \
+	trazdf_iso_vopt.F90 \
+	zdf_oce.F90 \
+	zdfbfr.F90 \
+	zdfddm.F90 \
+	zdfevd.F90 \
+	zdfkpp.F90 \
+	zdfmxl.F90 \
+	zdfric.F90 \
+	zdftke.F90 \
 	domzgr_substitute.h90 \
 	zdfddm_substitute.h90 \
-	$(AGRIF_LIB) \
-	KEY_CPP \
-	step.F90
+	KEY_CPP \
+	step1d.F90
 $(MODEL_LIB)(stpctl.o) :	\
+	$(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)(flx_oce.o) \
+	$(MODEL_LIB)(flxrnf.o) \
+	$(MODEL_LIB)(ice_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)(obc_oce.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)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	daymod.F90 \
 	diadimg.F90 \
@@ -7438,6 +7803,6 @@
 	diaspr.F90 \
 	dom_oce.F90 \
+	flx_oce.F90 \
 	flxrnf.F90 \
-	flx_oce.F90 \
 	ice_oce.F90 \
 	in_out_manager.F90 \
@@ -7448,48 +7813,27 @@
 	lib_print.f90 \
 	obc_oce.F90 \
+	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 \
-	sol_oce.F90 \
 	taumod.F90 \
+	zdf_oce.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)(ice_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)(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)(solpcg.o) \
-	$(MODEL_LIB)(solsor.o) \
+	$(MODEL_LIB)(diawri.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(sol_oce.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(solisl.o) \
 	diawri.F90 \
 	dom_oce.F90 \
@@ -7499,35 +7843,31 @@
 	lib_mpp.F90 \
 	oce.F90 \
+	sol_oce.F90 \
 	solisl.F90 \
-	sol_oce.F90 \
-	$(MODEL_LIB)(diawri.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(solisl.o) \
-	$(MODEL_LIB)(sol_oce.o) \
 	stpctl.F90
 $(MODEL_LIB)(taumod.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.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)(prtctl.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) \
+	$(MODEL_LIB)(prtctl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	oce.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.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 \
@@ -7535,13 +7875,8 @@
 	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) \
+	$(MODEL_LIB)(cpl_oce.o) \
+	$(MODEL_LIB)(geo2ocean.o) \
 	cpl_oce.F90 \
 	geo2ocean.F90 \
-	$(MODEL_LIB)(cpl_oce.o) \
-	$(MODEL_LIB)(geo2ocean.o) \
 	tau_coupled.h90 \
 	tau_coupled_ice.h90 \
@@ -7551,10 +7886,31 @@
 	taumod.F90
 $(MODEL_LIB)(thd_ice.o) :	\
-	par_oce.F90 \
-	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	$(MODEL_LIB)(par_ice.o) \
 	par_ice.F90 \
-	$(MODEL_LIB)(par_ice.o) \
 	thd_ice.F90
 $(MODEL_LIB)(traadv_cen2.o) :	\
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(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) \
 	daymod.F90 \
 	dianam.F90 \
@@ -7578,4 +7934,50 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_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)(prtctl.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	flxrnf.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	prtctl.F90 \
+	trabbl.F90 \
+	trdmod.F90 \
+	trdmod_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)(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 \
+	traadv_ctl.F90
+$(MODEL_LIB)(traadv_muscl.o) :	\
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -7599,50 +8001,4 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	flxrnf.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	ocfzpt.F90 \
-	prtctl.F90 \
-	trabbl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_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)(prtctl.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) :	\
-	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) \
-	traadv_ctl.F90
-$(MODEL_LIB)(traadv_muscl2.o) :	\
 	daymod.F90 \
 	dianam.F90 \
@@ -7666,4 +8022,31 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trabbl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	traadv_muscl.F90
+$(MODEL_LIB)(traadv_muscl2.o) :	\
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -7687,31 +8070,4 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	trabbl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.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) :	\
 	daymod.F90 \
 	dianam.F90 \
@@ -7735,4 +8091,31 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trabbl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	traadv_muscl2.F90
+$(MODEL_LIB)(traadv_tvd.o) :	\
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -7756,31 +8139,4 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	trabbl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.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) :	\
 	daymod.F90 \
 	dianam.F90 \
@@ -7804,16 +8160,119 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynspg_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trabbl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	dynspg_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trabbl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	traadv_tvd.F90
+$(MODEL_LIB)(trabbc.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	domzgr_substitute.h90 \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	trabbc.F90
+$(MODEL_LIB)(trabbl.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	trdicp_oce.F90 \
+	trdmld_oce.F90 \
+	trdvor_oce.F90 \
+	zdfddm.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod_oce.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 \
+	oce.F90 \
+	ocfzpt.F90 \
+	domzgr_substitute.h90 \
+	trabbl_adv.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	trabbl.F90
+$(MODEL_LIB)(tradmp.o) :	\
 	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.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)(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)(ocfzpt.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(trabbl.o) \
@@ -7825,116 +8284,12 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	dynspg_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	trabbl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynspg_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traadv_tvd.F90
-$(MODEL_LIB)(trabbc.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	domzgr_substitute.h90 \
-	$(IOIPSL_LIB) \
-	KEY_CPP \
-	trabbc.F90
-$(MODEL_LIB)(trabbl.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	phycst.F90 \
-	prtctl.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_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	trdmod_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	eosbn2.F90 \
-	flxrnf.F90 \
-	lbclnk.F90 \
+	$(MODEL_LIB)(zdf_oce.o) \
+	daymod.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.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) \
-	domzgr_substitute.h90 \
-	trabbl_adv.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	trabbl.F90
-$(MODEL_LIB)(tradmp.o) :	\
-	daymod.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	oce.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -7949,12 +8304,49 @@
 	trdvor_oce.F90 \
 	zdf_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dtasal.o) \
+	$(MODEL_LIB)(dtasss.o) \
+	$(MODEL_LIB)(dtatem.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
+	dom_oce.F90 \
+	dtasal.F90 \
+	dtasss.F90 \
+	dtatem.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	zdfmxl.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	$(IOIPSL_LIB) \
+	KEY_CPP \
+	tradmp.F90
+$(MODEL_LIB)(traldf_bilap.o) :	\
 	$(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)(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)(prtctl.o) \
 	$(MODEL_LIB)(trabbl.o) \
@@ -7966,35 +8358,5 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	dtasal.F90 \
-	dtatem.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdfmxl.F90 \
-	zdf_oce.F90 \
-	$(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) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	$(IOIPSL_LIB) \
-	KEY_CPP \
-	tradmp.F90
-$(MODEL_LIB)(traldf_bilapg.o) :	\
 	daymod.F90 \
 	dianam.F90 \
@@ -8020,4 +8382,31 @@
 	trdvor_oce.F90 \
 	zdfmxl.F90 \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	traldf_bilap.F90
+$(MODEL_LIB)(traldf_bilapg.o) :	\
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -8043,30 +8432,4 @@
 	$(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 \
-	prtctl.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)(prtctl.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 \
@@ -8092,4 +8455,30 @@
 	trdvor_oce.F90 \
 	zdfmxl.F90 \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	KEY_CPP \
+	traldf_bilapg.F90
+$(MODEL_LIB)(traldf_iso.o) :	\
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -8115,31 +8504,4 @@
 	$(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 \
-	prtctl.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)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	domzgr_substitute.h90 \
-	ldfeiv_substitute.h90 \
-	ldftra_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traldf_bilap.F90
-$(MODEL_LIB)(traldf_iso.o) :	\
 	daymod.F90 \
 	dianam.F90 \
@@ -8165,4 +8527,29 @@
 	trdvor_oce.F90 \
 	zdfmxl.F90 \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	traldf_iso.F90
+$(MODEL_LIB)(traldf_iso_zps.o) :	\
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
@@ -8188,29 +8575,4 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	domzgr_substitute.h90 \
-	ldfeiv_substitute.h90 \
-	ldftra_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traldf_iso.F90
-$(MODEL_LIB)(traldf_iso_zps.o) :	\
 	daymod.F90 \
 	dianam.F90 \
@@ -8236,10 +8598,35 @@
 	trdvor_oce.F90 \
 	zdfmxl.F90 \
+	$(MODEL_LIB)(diaptr.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	traldf_iso_zps.F90
+$(MODEL_LIB)(traldf_lap.o) :	\
 	$(MODEL_LIB)(daymod.o) \
 	$(MODEL_LIB)(dianam.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
 	$(MODEL_LIB)(lib_mpp.o) \
@@ -8249,5 +8636,4 @@
 	$(MODEL_LIB)(par_oce.o) \
 	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(trdicp.o) \
@@ -8258,32 +8644,4 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfslp.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	domzgr_substitute.h90 \
-	ldfeiv_substitute.h90 \
-	ldftra_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traldf_iso_zps.F90
-$(MODEL_LIB)(traldf_lap.o) :	\
 	daymod.F90 \
 	dianam.F90 \
@@ -8305,15 +8663,35 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
-	$(MODEL_LIB)(daymod.o) \
-	$(MODEL_LIB)(dianam.o) \
+	$(MODEL_LIB)(diaptr.o) \
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(in_out_manager.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)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	diaptr.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
+	ldftra_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	traldf_lap.F90
+$(MODEL_LIB)(tranpc.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(trdicp.o) \
@@ -8324,26 +8702,5 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
-	diaptr.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	$(MODEL_LIB)(diaptr.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	domzgr_substitute.h90 \
-	ldftra_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	traldf_lap.F90
-$(MODEL_LIB)(tranpc.o) :	\
+	$(MODEL_LIB)(zdfddm.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -8365,13 +8722,98 @@
 	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)(prtctl.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
+	KEY_CPP \
+	tranpc.F90
+$(MODEL_LIB)(tranxt.o) :	\
+	$(MODEL_LIB)(cla_div.o) \
+	$(MODEL_LIB)(divcur.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)(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)(wzvmod.o) \
+	cla_div.F90 \
+	divcur.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	obc_oce.F90 \
+	oce.F90 \
+	ocfzpt.F90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	phycst.F90 \
+	sol_oce.F90 \
+	wzvmod.F90 \
+	$(MODEL_LIB)(agrif_opa_interp.o) \
+	$(MODEL_LIB)(agrif_opa_update.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(obctra.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	agrif_opa_interp.F90 \
+	agrif_opa_update.F90 \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	obctra.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	zdf_oce.F90 \
+	$(AGRIF_LIB) \
+	KEY_CPP \
+	tranxt.F90
+$(MODEL_LIB)(traqsr.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)(prtctl.o) \
+	$(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) \
@@ -8381,64 +8823,4 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	dom_oce.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) \
-	$(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 \
-	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) \
-	$(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)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	agrif_opa_interp.F90 \
-	agrif_opa_update.F90 \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	obctra.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(agrif_opa_interp.o) \
-	$(MODEL_LIB)(agrif_opa_update.o) \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(obctra.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	$(AGRIF_LIB) \
-	tranxt.F90
-$(MODEL_LIB)(traqsr.o) :	\
 	blk_oce.F90 \
 	cpl_oce.F90 \
@@ -8448,7 +8830,7 @@
 	dtasst.F90 \
 	dtatem.F90 \
+	flx_oce.F90 \
 	flxmod.F90 \
 	flxrnf.F90 \
-	flx_oce.F90 \
 	ice_oce.F90 \
 	in_out_manager.F90 \
@@ -8473,4 +8855,27 @@
 	trdvor.F90 \
 	trdvor_oce.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)(prtctl.o) \
+	$(MODEL_LIB)(trc_oce.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	ocesbc.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	trc_oce.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	traqsr.F90
+$(MODEL_LIB)(trasbc.o) :	\
 	$(MODEL_LIB)(blk_oce.o) \
 	$(MODEL_LIB)(cpl_oce.o) \
@@ -8480,7 +8885,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) \
@@ -8489,4 +8894,5 @@
 	$(MODEL_LIB)(lib_print.o) \
 	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocesbc.o) \
 	$(MODEL_LIB)(ocfzpt.o) \
 	$(MODEL_LIB)(par_kind.o) \
@@ -8494,38 +8900,16 @@
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(sms.o) \
 	$(MODEL_LIB)(taumod.o) \
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(tradmp.o) \
+	$(MODEL_LIB)(trc_oce.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) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ocesbc.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.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)(prtctl.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 \
@@ -8535,7 +8919,7 @@
 	dtasst.F90 \
 	dtatem.F90 \
+	flx_oce.F90 \
 	flxmod.F90 \
 	flxrnf.F90 \
-	flx_oce.F90 \
 	ice_oce.F90 \
 	in_out_manager.F90 \
@@ -8543,6 +8927,6 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
+	oce.F90 \
 	ocesbc.F90 \
-	oce.F90 \
 	ocfzpt.F90 \
 	par_kind.F90 \
@@ -8562,61 +8946,45 @@
 	trdvor.F90 \
 	trdvor_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)(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)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.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)(prtctl.o) \
-	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(traqsr.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	ocesbc.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	traqsr.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	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_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(trabbl.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	$(MODEL_LIB)(trc_oce.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) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ocesbc.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.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)(prtctl.o) \
-	$(MODEL_LIB)(traqsr.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	domzgr_substitute.h90 \
-	vectopt_loop_substitute.h90 \
-	KEY_CPP \
-	trasbc.F90
-$(MODEL_LIB)(trazdf_exp.o) :	\
+	$(MODEL_LIB)(zdf_oce.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -8639,11 +9007,36 @@
 	$(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)(prtctl.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	zdfddm.F90 \
+	domzgr_substitute.h90 \
+	zdfddm_substitute.h90 \
+	KEY_CPP \
+	trazdf_exp.F90
+$(MODEL_LIB)(trazdf_imp.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.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)(ocesbc.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(taumod.o) \
 	$(MODEL_LIB)(trabbl.o) \
 	$(MODEL_LIB)(trdicp.o) \
@@ -8655,25 +9048,5 @@
 	$(MODEL_LIB)(trdvor_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	prtctl.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)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	domzgr_substitute.h90 \
-	zdfddm_substitute.h90 \
-	KEY_CPP \
-	trazdf_exp.F90
-$(MODEL_LIB)(trazdf_imp.o) :	\
 	dom_oce.F90 \
 	eosbn2.F90 \
@@ -8682,6 +9055,6 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
+	oce.F90 \
 	ocesbc.F90 \
-	oce.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -8697,14 +9070,42 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
+	zdf_oce.F90 \
 	zdfddm.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfkpp.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
 	zdf_oce.F90 \
+	zdfddm.F90 \
+	zdfkpp.F90 \
+	domzgr_substitute.h90 \
+	zdf.matrixsolver.h90 \
+	zdfddm_substitute.h90 \
+	KEY_CPP \
+	trazdf_imp.F90
+$(MODEL_LIB)(trazdf_iso.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
 	$(MODEL_LIB)(in_out_manager.o) \
 	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.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)(ocesbc.o) \
-	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
@@ -8720,32 +9121,7 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdfddm.F90 \
-	zdfkpp.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfkpp.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	domzgr_substitute.h90 \
-	zdfddm_substitute.h90 \
-	zdf.matrixsolver.h90 \
-	KEY_CPP \
-	trazdf_imp.F90
-$(MODEL_LIB)(trazdf_iso.o) :	\
+	$(MODEL_LIB)(zdfmxl.o) \
 	dom_oce.F90 \
 	eosbn2.F90 \
@@ -8756,6 +9132,6 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
+	oce.F90 \
 	ocesbc.F90 \
-	oce.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -8771,7 +9147,39 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
+	zdf_oce.F90 \
 	zdfddm.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)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfkpp.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	ldfslp.F90 \
+	ldftra_oce.F90 \
+	oce.F90 \
+	prtctl.F90 \
+	trdmod.F90 \
+	trdmod_oce.F90 \
 	zdf_oce.F90 \
+	zdfddm.F90 \
+	zdfkpp.F90 \
+	domzgr_substitute.h90 \
+	ldfeiv_substitute.h90 \
+	ldftra_substitute.h90 \
+	zdf.matrixsolver.h90 \
+	zdfddm_substitute.h90 \
+	KEY_CPP \
+	trazdf_iso.F90
+$(MODEL_LIB)(trazdf_iso_vopt.o) :	\
 	$(MODEL_LIB)(dom_oce.o) \
 	$(MODEL_LIB)(eosbn2.o) \
@@ -8782,6 +9190,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)(par_kind.o) \
 	$(MODEL_LIB)(par_oce.o) \
@@ -8797,39 +9205,7 @@
 	$(MODEL_LIB)(trdvor.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ldfslp.F90 \
-	ldftra_oce.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	trdmod.F90 \
-	trdmod_oce.F90 \
-	zdfddm.F90 \
-	zdfkpp.F90 \
-	zdf_oce.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)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfkpp.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	domzgr_substitute.h90 \
-	ldfeiv_substitute.h90 \
-	ldftra_substitute.h90 \
-	zdfddm_substitute.h90 \
-	zdf.matrixsolver.h90 \
-	KEY_CPP \
-	trazdf_iso.F90
-$(MODEL_LIB)(trazdf_iso_vopt.o) :	\
 	dom_oce.F90 \
 	eosbn2.F90 \
@@ -8840,6 +9216,6 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
+	oce.F90 \
 	ocesbc.F90 \
-	oce.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -8855,33 +9231,19 @@
 	trdvor.F90 \
 	trdvor_oce.F90 \
+	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfmxl.F90 \
-	zdf_oce.F90 \
-	$(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)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(taumod.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)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdmod.o) \
 	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(trdvor.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfkpp.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -8893,19 +9255,7 @@
 	trdmod.F90 \
 	trdmod_oce.F90 \
+	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfkpp.F90 \
-	zdf_oce.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)(prtctl.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfkpp.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	domzgr_substitute.h90 \
 	ldfeiv_substitute.h90 \
@@ -8916,12 +9266,26 @@
 	trazdf_iso_vopt.F90
 $(MODEL_LIB)(trc_oce.o) :	\
-	par_kind.F90 \
-	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(sms.o) \
 	par_oce.F90 \
 	sms.F90 \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(sms.o) \
+	KEY_CPP \
 	trc_oce.F90
+$(MODEL_LIB)(trcstp.o) :	\
+	trcstp.F90
 $(MODEL_LIB)(trdicp.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) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -8936,6 +9300,44 @@
 	zdfddm.F90 \
 	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	ldfdyn_oce.F90 \
+	ldftra_oce.F90 \
+	lib_mpp.F90 \
+	oce.F90 \
+	phycst.F90 \
+	trdmod_oce.F90 \
+	zdf_oce.F90 \
+	domzgr_substitute.h90 \
+	vectopt_loop_substitute.h90 \
+	KEY_CPP \
+	trdicp.F90
+$(MODEL_LIB)(trdicp_oce.o) :	\
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	KEY_CPP \
+	trdicp_oce.F90
+$(MODEL_LIB)(trdmld.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) \
@@ -8945,36 +9347,6 @@
 	$(MODEL_LIB)(trdmld_oce.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	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) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(ldfdyn_oce.o) \
-	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
-	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) :	\
+	$(MODEL_LIB)(zdfmxl.o) \
 	daymod.F90 \
 	dom_oce.F90 \
@@ -8993,24 +9365,20 @@
 	trdmld_oce.F90 \
 	trdvor_oce.F90 \
+	zdf_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)(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)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	daymod.F90 \
 	diadimg.F90 \
@@ -9024,21 +9392,7 @@
 	phycst.F90 \
 	trdmod_oce.F90 \
+	zdf_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) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	domzgr_substitute.h90 \
 	ldftra_substitute.h90 \
@@ -9048,10 +9402,35 @@
 	trdmld.F90
 $(MODEL_LIB)(trdmld_oce.o) :	\
-	par_kind.F90 \
-	$(MODEL_LIB)(par_kind.o) \
-	par_oce.F90 \
-	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	KEY_CPP \
 	trdmld_oce.F90
 $(MODEL_LIB)(trdmod.o) :	\
+	$(MODEL_LIB)(daymod.o) \
+	$(MODEL_LIB)(diadimg.o) \
+	$(MODEL_LIB)(dianam.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)(ldfslp.o) \
+	$(MODEL_LIB)(ldftra_oce.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	daymod.F90 \
 	diadimg.F90 \
@@ -9075,31 +9454,15 @@
 	trdmod_oce.F90 \
 	trdvor_oce.F90 \
+	zdf_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)(eosbn2.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)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
+	$(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_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(trdvor.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -9110,12 +9473,4 @@
 	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 \
@@ -9123,14 +9478,32 @@
 	trdmod.F90
 $(MODEL_LIB)(trdmod_oce.o) :	\
-	par_oce.F90 \
-	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
+	$(MODEL_LIB)(trdicp_oce.o) \
+	$(MODEL_LIB)(trdmld_oce.o) \
+	$(MODEL_LIB)(trdvor_oce.o) \
 	trdicp_oce.F90 \
 	trdmld_oce.F90 \
 	trdvor_oce.F90 \
+	trdmod_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)(prtctl.o) \
 	$(MODEL_LIB)(trdicp_oce.o) \
 	$(MODEL_LIB)(trdmld_oce.o) \
 	$(MODEL_LIB)(trdvor_oce.o) \
-	trdmod_oce.F90
-$(MODEL_LIB)(trdvor.o) :	\
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	daymod.F90 \
 	dom_oce.F90 \
@@ -9149,24 +9522,18 @@
 	trdmld_oce.F90 \
 	trdvor_oce.F90 \
+	zdf_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)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(trdicp_oce.o) \
-	$(MODEL_LIB)(trdmld_oce.o) \
-	$(MODEL_LIB)(trdvor_oce.o) \
+	$(MODEL_LIB)(ldfslp.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	daymod.F90 \
 	dianam.F90 \
@@ -9179,18 +9546,6 @@
 	phycst.F90 \
 	trdmod_oce.F90 \
+	zdf_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 \
@@ -9200,48 +9555,61 @@
 	trdvor.F90
 $(MODEL_LIB)(trdvor_oce.o) :	\
-	par_kind.F90 \
-	$(MODEL_LIB)(par_kind.o) \
-	par_oce.F90 \
-	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	par_kind.F90 \
+	$(MODEL_LIB)(par_oce.o) \
+	par_oce.F90 \
 	trdvor_oce.F90
 $(MODEL_LIB)(wzvmod.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	oce.F90 \
-	prtctl.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lib_mpp.o) \
+	$(MODEL_LIB)(lib_print.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	oce.F90 \
+	prtctl.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 \
+	KEY_CPP \
+	zdf_oce.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) \
+	$(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)(prtctl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -9250,28 +9618,28 @@
 	prtctl.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)(prtctl.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) \
+	$(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)(prtctl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -9280,14 +9648,23 @@
 	prtctl.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)(prtctl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	vectopt_loop_substitute.h90 \
 	KEY_CPP \
 	zdfddm.F90
 $(MODEL_LIB)(zdfevd.o) :	\
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.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)(ocesbc.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	dom_oce.F90 \
 	eosbn2.F90 \
@@ -9296,6 +9673,6 @@
 	lib_mpp.F90 \
 	lib_print.f90 \
+	oce.F90 \
 	ocesbc.F90 \
-	oce.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -9303,37 +9680,45 @@
 	prtctl.F90 \
 	taumod.F90 \
+	zdf_oce.F90 \
 	zdfddm.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) \
+	$(MODEL_LIB)(zdfkpp.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
 	zdf_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.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)(prtctl.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	oce.F90 \
 	zdfkpp.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)(zdfkpp.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	domzgr_substitute.h90 \
 	KEY_CPP \
 	zdfevd.F90
 $(MODEL_LIB)(zdfini.o) :	\
+	$(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)(ocesbc.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(traadv_ctl.o) \
+	$(MODEL_LIB)(trazdf_exp.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(zdfkpp.o) \
+	$(MODEL_LIB)(zdfmxl.o) \
 	dom_oce.F90 \
 	dynzdf_exp.F90 \
@@ -9344,6 +9729,6 @@
 	ldftra_oce.F90 \
 	lib_print.f90 \
+	oce.F90 \
 	ocesbc.F90 \
-	oce.F90 \
 	par_kind.F90 \
 	par_oce.F90 \
@@ -9355,31 +9740,21 @@
 	trdmod.F90 \
 	trdmod_oce.F90 \
+	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfkpp.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)(in_out_manager.o) \
 	$(MODEL_LIB)(ldfdyn_oce.o) \
+	$(MODEL_LIB)(ldfslp.o) \
 	$(MODEL_LIB)(ldftra_oce.o) \
-	$(MODEL_LIB)(lib_print.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)(prtctl.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(traadv_ctl.o) \
-	$(MODEL_LIB)(trazdf_exp.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(lib_mpp.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)(zdfkpp.o) \
-	$(MODEL_LIB)(zdfmxl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfric.o) \
+	$(MODEL_LIB)(zdftke.o) \
 	in_out_manager.F90 \
 	ldfdyn_oce.F90 \
@@ -9389,4 +9764,5 @@
 	par_oce.F90 \
 	tranpc.F90 \
+	zdf_oce.F90 \
 	zdfddm.F90 \
 	zdfevd.F90 \
@@ -9394,20 +9770,32 @@
 	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)(lib_mpp.o) \
-	$(MODEL_LIB)(par_oce.o) \
-	$(MODEL_LIB)(tranpc.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdfevd.o) \
-	$(MODEL_LIB)(zdfkpp.o) \
-	$(MODEL_LIB)(zdfric.o) \
-	$(MODEL_LIB)(zdftke.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
+	KEY_CPP \
 	zdfini.F90
 $(MODEL_LIB)(zdfkpp.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)(prtctl.o) \
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(tradmp.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	blk_oce.F90 \
 	cpl_oce.F90 \
@@ -9417,7 +9805,7 @@
 	dtasst.F90 \
 	dtatem.F90 \
+	flx_oce.F90 \
 	flxmod.F90 \
 	flxrnf.F90 \
-	flx_oce.F90 \
 	ice_oce.F90 \
 	in_out_manager.F90 \
@@ -9433,53 +9821,28 @@
 	taumod.F90 \
 	tradmp.F90 \
+	zdf_oce.F90 \
 	zdfddm.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(ocesbc.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
+	dom_oce.F90 \
+	eosbn2.F90 \
+	in_out_manager.F90 \
+	lbclnk.F90 \
+	oce.F90 \
+	ocesbc.F90 \
+	phycst.F90 \
+	prtctl.F90 \
+	taumod.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)(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)(prtctl.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(tradmp.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	dom_oce.F90 \
-	eosbn2.F90 \
-	in_out_manager.F90 \
-	lbclnk.F90 \
-	ocesbc.F90 \
-	oce.F90 \
-	phycst.F90 \
-	prtctl.F90 \
-	taumod.F90 \
 	zdfddm.F90 \
-	zdf_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(ocesbc.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(zdfddm.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -9487,16 +9850,21 @@
 	zdfkpp.F90
 $(MODEL_LIB)(zdfmxl.o) :	\
-	dom_oce.F90 \
-	in_out_manager.F90 \
-	lib_mpp.F90 \
-	lib_print.f90 \
-	par_kind.F90 \
-	par_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_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)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	dom_oce.F90 \
+	in_out_manager.F90 \
+	lib_mpp.F90 \
+	lib_print.f90 \
+	par_kind.F90 \
+	par_oce.F90 \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -9504,27 +9872,27 @@
 	prtctl.F90 \
 	zdf_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
 	domzgr_substitute.h90 \
 	KEY_CPP \
 	zdfmxl.F90
 $(MODEL_LIB)(zdfric.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) \
+	$(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 \
@@ -9532,13 +9900,24 @@
 	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 \
 	zdfric.F90
 $(MODEL_LIB)(zdftke.o) :	\
+	$(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)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(phycst.o) \
+	$(MODEL_LIB)(prtctl.o) \
+	$(MODEL_LIB)(taumod.o) \
+	$(MODEL_LIB)(trdmod.o) \
+	$(MODEL_LIB)(trdmod_oce.o) \
+	$(MODEL_LIB)(zdf_oce.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	daymod.F90 \
 	dom_oce.F90 \
@@ -9555,21 +9934,16 @@
 	trdmod.F90 \
 	trdmod_oce.F90 \
+	zdf_oce.F90 \
 	zdfddm.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)(lib_mpp.o) \
-	$(MODEL_LIB)(lib_print.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(par_oce.o) \
+	$(MODEL_LIB)(dom_oce.o) \
+	$(MODEL_LIB)(dynzdf_exp.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
 	$(MODEL_LIB)(phycst.o) \
 	$(MODEL_LIB)(prtctl.o) \
 	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(trdmod.o) \
-	$(MODEL_LIB)(trdmod_oce.o) \
-	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(traadv_ctl.o) \
+	$(MODEL_LIB)(trazdf_exp.o) \
 	$(MODEL_LIB)(zdf_oce.o) \
 	dom_oce.F90 \
@@ -9584,17 +9958,6 @@
 	trazdf_exp.F90 \
 	zdf_oce.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(dynzdf_exp.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(phycst.o) \
-	$(MODEL_LIB)(prtctl.o) \
-	$(MODEL_LIB)(taumod.o) \
-	$(MODEL_LIB)(traadv_ctl.o) \
-	$(MODEL_LIB)(trazdf_exp.o) \
-	$(MODEL_LIB)(zdf_oce.o) \
-	oce.F90 \
-	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(oce.o) \
+	oce.F90 \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
@@ -9602,11 +9965,15 @@
 	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) :	\
+	$(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)(prtctl.o) \
+	$(MODEL_LIB)(zdfddm.o) \
 	dom_oce.F90 \
 	in_out_manager.F90 \
@@ -9620,13 +9987,10 @@
 	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)(prtctl.o) \
-	$(MODEL_LIB)(zdfddm.o) \
+	$(MODEL_LIB)(eosbn2.o) \
+	$(MODEL_LIB)(in_out_manager.o) \
+	$(MODEL_LIB)(lbclnk.o) \
+	$(MODEL_LIB)(oce.o) \
+	$(MODEL_LIB)(par_kind.o) \
+	$(MODEL_LIB)(phycst.o) \
 	dom_oce.F90 \
 	eosbn2.F90 \
@@ -9636,11 +10000,4 @@
 	par_kind.F90 \
 	phycst.F90 \
-	$(MODEL_LIB)(dom_oce.o) \
-	$(MODEL_LIB)(eosbn2.o) \
-	$(MODEL_LIB)(in_out_manager.o) \
-	$(MODEL_LIB)(lbclnk.o) \
-	$(MODEL_LIB)(oce.o) \
-	$(MODEL_LIB)(par_kind.o) \
-	$(MODEL_LIB)(phycst.o) \
 	domzgr_substitute.h90 \
 	vectopt_loop_substitute.h90 \
